fclientmain.~pas
来自「Delphi开发webservice的一套例子」· ~PAS 代码 · 共 87 行
~PAS
87 行
unit fClientMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, CheckLst, ExtCtrls, MPlayer, Buttons, Rio,
SoapHTTPClient, Types;
type
TForm1 = class(TForm)
clbFiles: TCheckListBox;
bbtnGetFiles: TBitBtn;
bbtnPlay: TBitBtn;
MediaPlayer1: TMediaPlayer;
Panel1: TPanel;
HTTPRIO1: THTTPRIO;
procedure bbtnGetFilesClick(Sender: TObject);
procedure bbtnPlayClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses DynArrayDemoServerIntf;
{$R *.dfm}
procedure TForm1.bbtnGetFilesClick(Sender: TObject);
var
iFileCounter : Integer;
iCounter : Integer;
aIntf : IDynArrayDemoServer;
aviFiles: TStringDynArray;
begin
Screen.Cursor := crHourGlass;
try
iFileCounter := 0;
clbFiles.Items.Clear;
aIntf := Self.HTTPRIO1 as IDynArrayDemoServer;
aviFiles := aIntf.GetFileNames(iFileCounter);
clbFiles.Items.BeginUpdate;
try
for iCounter := 0 to iFileCounter - 1 do // Iterate
begin
clbFiles.Items.Add(aviFiles[iCounter])
end; // for
finally // wrap up
clbFiles.Items.EndUpdate;
end; // try/finally
finally // wrap up
aIntf := nil;
Screen.Cursor := crDefault;
end; // try/finally
end;
procedure TForm1.bbtnPlayClick(Sender: TObject);
var
sFileName : String;
iSize: Integer;
abFile: TByteDynArray;
ams: TMemoryStream;
aIntf : IDynArrayDemoServer;
begin
sFileName := clbFiles.Items[clbFiles.ItemIndex];
Screen.Cursor := crHourGlass;
try
SetLength(abFile, 0);
aIntf := Self.HTTPRIO1 as IDynArrayDemoServer;
abFile := aIntf.GetFileByDynArray(sFileName, iSize);
ams := TMemoryStream.Create;
try
ams.SetSize(iSize);
Move(abFile[0], ams.Memory^, iSize);
ams.SaveToFile(sFileName);
finally
ams.Free;
end;
Self.Caption := sFileName + '郎
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?