📄 unit11.pas
字号:
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
lmdctrl, lmdstdcS, ComCtrls, ExtCtrls, StdCtrls, Buttons, tcpip;
type
Treform = class(TForm)
Image1: TImage;
StatusBar1: TStatusBar;
Image2: TImage;
LMDSimpleLabel1: TLMDSimpleLabel;
LMDSimpleLabel2: TLMDSimpleLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
ProgressBar1: TProgressBar;
Memo1: TMemo;
ftp: T_FTP;
StatusBar2: TStatusBar;
Bevel1: TBevel;
Panel1: TPanel;
Image4: TImage;
Image5: TImage;
regMemo: TMemo;
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure ftp_data(Sender:TObject; mode: t_ftp_mode; data:integer);
procedure FTPTrace(const s: String; level: TTraceLevel);
private
function makescreat(s:string) :string;
function showscreat(s:string) :string;
function strtoboolean(s:string) :boolean;
{ Private declarations }
public
{ Public declarations }
end;
var
reform: Treform;
implementation
uses Unit1;
{$R *.DFM}
var
uploadsize:integer;
size:word;
downloadfile:boolean;
y:word;
m:word;
d:word;
Fdate:Tdatetime;
procedure Treform.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure Treform.FormActivate(Sender: TObject);
begin
bitbtn1.Enabled:=true;
ProgressBar1.Position:=0;
StatusBar2.Panels[1].text:='';
StatusBar1.Panels[1].text:='';
form1.Enabled:=false;
LMDSimpleLabel1.Caption:='接收类别: '+form1.ComboBox1.Text;
LMDSimpleLabel2.Caption:='接收时间: '+datetostr(form1.DateTimePicker1.date);
{===========}
memo1.Lines.Clear;
memo1.Lines.LoadFromFile(form1.DirectoryListBox3.directory+'\dat\rdx0'+inttostr(form1.ComboBox1.ItemIndex)+'\id.txt');
ProgressBar1.Max:=memo1.Lines.Count;
ProgressBar1.Min:=0;
{===========}
end;
procedure Treform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form1.Enabled:=true;
screen.Cursor:=crarrow;
end;
procedure Treform.BitBtn1Click(Sender: TObject);
var i:integer;
filename:string;
begin
bitbtn1.Enabled:=false;
Fdate:=form1.DateTimePicker1.date;
DecodeDate(fdate,y,m,d);
{===============ftp==========}
{FTP }
ftp.hostname:=showscreat(trim(form1.hostsiteLabel.Caption));
ftp.Password:=showscreat(trim(form1.datpassLabel.Caption));
ftp.Port:=21;
ftp.Username:=showscreat(trim(form1.datuserLabel.Caption));
StatusBar1.Panels[1].text:=' 正在试图和服务器 '+ ftp.hostname+' 进行连接...';
try
ftp.login;
ftp.getdir('.');
ftp.changedir('report/dat0'+inttostr(form1.ComboBox1.ItemIndex));
ftp.getdir('.');
except
StatusBar1.Panels[1].text:=' 登陆FTP服务器 '+ ftp.hostname+' 失败,请重试!!!...';
ftp.abort;
ftp.logout;
exit;
end;
for i:=0 to memo1.Lines.Count-1 do
begin
StatusBar2.Panels[1].text:='正在接收 '+memo1.Lines[i]+'0'+inttostr(form1.ComboBox1.ItemIndex)+form1.deptname.caption+inttostr(y)+inttostr(m)+inttostr(d)+'.rdx'+'....';
// LMDSimpleLabel3.Caption:='正在接收 '+memo1.Lines[i]+form1.ComboBox1.Text+inttostr(y)+inttostr(m)+inttostr(d)+'.rdx'+'....';
filename:=memo1.Lines[i]+'0'+inttostr(form1.ComboBox1.ItemIndex)+form1.deptname.caption+{form1.ComboBox1.Text+}inttostr(y)+inttostr(m)+inttostr(d)+'.rdx';
{========================}
try
downloadfile:=false;
ftp.uri:=filename;
size:=0;
ftp.download;
TMemorystream(ftp.stream).savetofile(form1.DirectoryListBox3.directory+'\dat\temp0'+inttostr(form1.ComboBox1.ItemIndex)+'\'+filename);
form1.FileListBox3.update;
ftp.removefile(filename);
except
StatusBar2.Panels[1].text:='接收失败!';
end;
{========================}
ProgressBar1.Position:=i+1;
end;
{=======================recive personal data===}
form1.ClientDataSet1.Close;
form1.ClientDataSet1.LoadFromFile('C:\NewStar\Enterpirse\user\sysuser.dat');
form1.ClientDataSet1.Open;
form1.ClientDataSet1.First;
while not form1.ClientDataSet1.EOF do
begin
if form1.ClientDataSet1.fieldbyname('local').Value=true then
begin
try
ftp.abort;
ftp.logout;
ftp.login;
ftp.changedir('dat/regse');
filename:=trim(form1.nameLabel.Caption)+'p.reg';
ftp.uri:=filename;
size:=0;
ftp.download;
TMemorystream(ftp.stream).savetofile('C:\NewStar\Enterpirse\user\Update\common\'+trim(form1.nameLabel.Caption)+'p.reg');
regMemo.Lines.Clear;
regMemo.Lines.LoadFromFile('C:\NewStar\Enterpirse\user\Update\common\'+trim(form1.nameLabel.Caption)+'p.reg');
if trim(regMemo.Lines.Text)<>'' then
begin
form1.ClientDataSet1.Edit;
form1.ClientDataSet1.FieldByName('skyjy').Value:=strtoboolean(regmemo.Lines[0]);
form1.ClientDataSet1.FieldByName('skyfsjy').Value:=strtoboolean(regmemo.Lines[1]);
form1.ClientDataSet1.FieldByName('skydqjy').Value:=strtoboolean(regmemo.Lines[2]);
form1.ClientDataSet1.FieldByName('skyeditorjy').Value:=strtoboolean(regmemo.Lines[3]);
form1.ClientDataSet1.FieldByName('skyeditorjsjy').Value:=strtoboolean(regmemo.Lines[4]);
form1.ClientDataSet1.FieldByName('skyeditorfsjy').Value:=strtoboolean(regmemo.Lines[5]);
form1.ClientDataSet1.FieldByName('skyeditortjjy').Value:=strtoboolean(regmemo.Lines[6]);
form1.ClientDataSet1.FieldByName('skynetjy').Value:=strtoboolean(regmemo.Lines[7]);
form1.ClientDataSet1.FieldByName('skyserverjy').Value:=strtoboolean(regmemo.Lines[8]);
form1.ClientDataSet1.FieldByName('skyserver01jy').Value:=strtoboolean(regmemo.Lines[9]);
form1.ClientDataSet1.FieldByName('skyserver02jy').Value:=strtoboolean(regmemo.Lines[10]);
form1.ClientDataSet1.FieldByName('skyserver03jy').Value:=strtoboolean(regmemo.Lines[11]);
form1.ClientDataSet1.FieldByName('skyserver04jy').Value:=strtoboolean(regmemo.Lines[12]);
form1.ClientDataSet1.FieldByName('skyserver05jy').Value:=strtoboolean(regmemo.Lines[13]);
form1.ClientDataSet1.FieldByName('skyserver06jy').Value:=strtoboolean(regmemo.Lines[14]);
form1.ClientDataSet1.FieldByName('editorserverjy').Value:=strtoboolean(regmemo.Lines[15]);
form1.ClientDataSet1.FieldByName('ftpjy').Value:=strtoboolean(regmemo.Lines[16]);
form1.ClientDataSet1.FieldByName('ftpszjy').Value:=strtoboolean(regmemo.Lines[17]);
form1.ClientDataSet1.FieldByName('ftpxjwjjjy').Value:=strtoboolean(regmemo.Lines[18]);
form1.ClientDataSet1.FieldByName('ftpscjy').Value:=strtoboolean(regmemo.Lines[19]);
form1.ClientDataSet1.FieldByName('ftpxzjy').Value:=strtoboolean(regmemo.Lines[20]);
form1.ClientDataSet1.FieldByName('ftpjy').Value:=strtoboolean(regmemo.Lines[21]);
form1.ClientDataSet1.FieldByName('sqljy').Value:=strtoboolean(regmemo.Lines[22]);
form1.ClientDataSet1.FieldByName('nssqljy').Value:=strtoboolean(regmemo.Lines[23]);
form1.ClientDataSet1.FieldByName('WinArchiverjy').Value:=strtoboolean(regmemo.Lines[24]);
form1.ClientDataSet1.FieldByName('Winftpjy').Value:=strtoboolean(regmemo.Lines[25]);
form1.ClientDataSet1.FieldByName('skyimagejy').Value:=strtoboolean(regmemo.Lines[26]);
form1.ClientDataSet1.SaveToFile('C:\NewStar\Enterpirse\user\sysuser.dat');
end;
StatusBar1.Panels[1].text:='接收完毕...!';
screen.Cursor:=crDefault;
screen.Cursor:=crarrow;
ftp.abort;
ftp.logout;
close;
except
screen.Cursor:=crarrow;
ftp.abort;
ftp.logout;
close;
end;
end;
form1.ClientDataSet1.Next;
end;
{==============================================}
StatusBar2.Panels[1].text:='接收完毕...!';
screen.Cursor:=crDefault;
screen.Cursor:=crarrow;
ftp.abort;
ftp.logout;
close;
end;
procedure Treform.FTPTrace(const s: String; level: TTraceLevel);
begin
if ftp.busy then
begin
screen.Cursor:=crDefault;
end else
begin
screen.Cursor:=crHourGlass;
end;
case level of
tt_proto_sent, tt_proto_get: begin
if trim(s)<>'200 Type set to I.' then begin
if ftp.mode=tftp_upload then begin
StatusBar1.Panels[1].text:=' @NewStar正在发送数据....';
end else
begin
StatusBar1.Panels[1].text:=' @NewStar 正在处理命令...: '+s;
end;
end else
begin
uploadsize:=0;
StatusBar1.Panels[1].text:=' OK! 命令处理完毕!';
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -