Delphi 11.1更新了如下内容:
1.新的IDE改进
高DPI的IDE
Delphi、C++Builder和RAD Studio IDE现在已经启用了高DPI。在运行时启用高DPI现在已经是一个运行时的选项了。所有在IDE中的窗体现在都支持高DPI。这包括一些动作比如当窗体从一个显示器被拖动到另一个显示器时的显示比例更改。包括:
l主窗体
l所有的停靠式窗体,比如Object Inspector、工程视图、结构视图、消息视图等等。当然也包括所有的属性编辑器。
l所有的对话框,比如新建项、IDE选项和工程选项、关于等
l所有的内容窗体比如编辑器、窗体设计器、历史等
IDE的样式(浅色、深色和山雾)已经更新为支持高DPI。
VCL窗体设计器的高DPI
在RAD Studio 11.0中,VCL窗体设计器可以处理三种不同方式的缩放。你可以在Tools->Options->User Interface>Form Designer>High DPI中自定义。这些可用的选项是自动(屏幕PPI)、低DPI(96DPI)以及用户可编辑(你可以设置一个指定的PPI值)。
服务代码:
[WebMethod]
public int UploadFile(byte[] fs, string FileName)
{
try
{
///定义并实例化一个内存流,以存放提交上来的字节数组。
///定义实际文件对象,保存上载的文件。
string FullFilename = Server.MapPath(“photo\\”) + FileName;
if (File.Exists(FullFilename))
{
File.Delete(FullFilename);
}
FileStream f = new FileStream(FullFilename, FileMode.Create, FileAccess.Write);
f.Write(fs, 0, fs.Length);
f.Close();
f = null;
return 1;
}
catch
{
return 2;
}
}
delphi客户端代码:
procedure TFrmUpLoad.btn2Click(Sender: TObject);
function ReadFile(fileName:string): TByteDynArray;
var
fs:TFileStream;
iSize:Int64;
begin
try
fs:=TFileStream.Create(fileName,fmOpenRead);
iSize:=fs.Seek(0,soFromEnd);
SetLength(Result,iSize);
fs.Seek(0,soFromBeginning);
fs.ReadBuffer(Result[0],iSize);
finally
fs.Free;
end;
end;
var
defWSDL,defURL,defSvc,defPrt :string;
MyWSUpFile:WSUpFileSoap;
fs: TByteDynArray;
fileName:string;
begin
fs:=ReadFile(edt1.Text);
defWSDL := ‘http://’+sysinfo.WZ+’/wsupfile.asmx?wsdl’;
defURL := ‘http://’+sysinfo.WZ+’/wsupfile.asmx’;
defSvc := ‘WSUpFile’;
defPrt := ‘WSUpFileSoap’;
HTTPRIO1.WSDLLocation:=defWSDL;
HTTPRIO1.Port:=defPrt;
HTTPRIO1.URL:=defURL;
HTTPRIO1.Service:=defSvc;
HTTPRIO1.HTTPWebNode.UseUTF8InHeader:=true;
fileName:=HYBH+ExtractFileExt(edt1.Text);
//注意这一行,可在程序运行中动态改变服务地址,以前俺就不知道这个。
MyWSUpFile:=GetWSUpFileSoap(True,defWSDL,HTTPRIO1);
//MyWSUpFile:=HTTPRIO1 as WSUpFileSoap;
try
try
case (MyWSUpFile.UploadFile(fs,fileName)) of
0:MyShowMessage(‘用户无权限’);
1:begin
FrmHYGL.ADOQuery1.Edit;
FrmHYGL.ADOQuery1.FieldByName(‘ZP’).AsString:=fileName;
FrmHYGL.ADOQuery1.Post;
MyShowMessage(‘上传成功’);
end;
2:MyShowMessage(‘上传失败’);
end;
finally
MyWSUpFile:=nil;
end;
except
MyShowMessage(‘调用web服务失败!’);
end;
end;
原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/76776.html