?? faccount.pas
?? Delphi編寫的一個支持語法高亮顯示和很多語言的文本編輯器
?? PAS
字號:
??
unit fAccount;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, ImgList, inifiles, strUtils,
CorelButton;
type
TfrmAccount = class(TForm)
lstAccounts: TListView;
lblConnection: TLabel;
edtConnect: TEdit;
bvlSplit: TBevel;
lblURL: TLabel;
edtURL: TEdit;
lblUser: TLabel;
edtUser: TEdit;
lblPassword: TLabel;
edtPassword: TEdit;
lblPort: TLabel;
edtPort: TEdit;
chkAnonymous: TCheckBox;
gpTransfer: TGroupBox;
rdASCII: TRadioButton;
rdBinary: TRadioButton;
lblType: TLabel;
cmbServer: TComboBox;
gbFirewall: TGroupBox;
chkProxy: TCheckBox;
edtProxy: TEdit;
lblProxy: TLabel;
bvlMid: TBevel;
bvlBottom: TBevel;
btnSave: TCorelButton;
btnDelete: TCorelButton;
btnOK: TCorelButton;
btnCancel: TCorelButton;
imgMain: TImageList;
procedure FormCreate(Sender: TObject);
procedure LoadItems;
procedure btnSaveClick(Sender: TObject);
procedure chkProxyClick(Sender: TObject);
procedure chkAnonymousClick(Sender: TObject);
procedure lstAccountsClick(Sender: TObject);
procedure btnDeleteClick(Sender: TObject);
procedure btnOKClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure edtConnectEnter(Sender: TObject);
procedure edtConnectExit(Sender: TObject);
private
procedure SelAll(edt: TEdit);
{ Private declarations }
public
{ Public declarations }
end;
var
frmAccount: TfrmAccount;
implementation
uses fFTP;
{$R *.dfm}
procedure TfrmAccount.LoadItems;
var
SRec : TSearchRec;
b: Boolean;
lItem: TListItem;
begin
lstAccounts.Clear;
b:=(FindFirst(ExtractFilePath(Application.ExeName) + 'accounts\*.ftp',faAnyFile, SRec)=0);
while b do begin
lItem := TListView(lstAccounts).Items.Add;
lItem.caption := SRec.Name;
lItem.ImageIndex := 0;
b:=(FindNext(SRec)=0);
end;
end;
procedure TfrmAccount.FormCreate(Sender: TObject);
begin
LoadItems;
end;
procedure TfrmAccount.btnSaveClick(Sender: TObject);
var
ini: TIniFile;
tType: Integer;
begin
ini := TInifile.Create(ExtractFilePath(Application.ExeName) + 'accounts\' + edtConnect.Text + '.ftp');
ini.WriteString('FTP', 'URL', edtURL.Text);
ini.WriteString('FTP', 'Username', edtUser.Text);
ini.WriteString('FTP', 'Password', edtPassword.Text);
ini.WriteInteger('FTP', 'Port', StrToInt(edtPort.Text));
ini.WriteInteger('FTP', 'ServerType', cmbServer.ItemIndex);
if rdascii.Checked = true then
tType := 0
else
tType := 1;
ini.WriteInteger('FTP', 'TransferType', tType);
ini.WriteBool('FTP', 'UseProxy', chkProxy.Checked);
ini.WriteString('FTP', 'ProxyServer', edtProxy.Text);
LoadItems;
ini.Destroy
end;
procedure TfrmAccount.chkProxyClick(Sender: TObject);
begin
edtProxy.Enabled := chkProxy.Checked;
end;
procedure TfrmAccount.chkAnonymousClick(Sender: TObject);
begin
if chkAnonymous.Checked = True then begin
edtUser.Text := 'Anonymous';
edtPassword.Text := 'cedituser@cedit.net';
end;
end;
procedure TfrmAccount.lstAccountsClick(Sender: TObject);
var
ini: TIniFile;
tType: Integer;
begin
if lstAccounts.Selected = nil then exit;
ini := TInifile.Create(ExtractFilePath(Application.ExeName) + 'accounts\' + lstAccounts.Selected.Caption);
edtConnect.Text := LeftStr(lstAccounts.Selected.Caption, Length(lstAccounts.Selected.Caption)-4);
edtUrl.Text := ini.Readstring('FTP', 'URL', '');
edtUser.Text := ini.Readstring('FTP', 'Username', '');
edtPassword.Text := ini.Readstring('FTP', 'Password', '');
edtPort.Text := IntToStr(ini.ReadInteger('FTP', 'Port', 0));
tType := ini.ReadInteger('FTP', 'TransferType', 0);
if tType = 0 then
rdAScii.Checked := true
else
rdBinary.Checked := true;
chkProxy.Checked := ini.ReadBool('FTP', 'UseProxy', false);
edtProxy.Text := ini.ReadString('FTP', 'ProxyServer', '');
if (edtPassword.text='cedituser@cedit.net') and (edtUser.Text = 'Anonymous') then
chkAnonymous.Checked := True
else
chkAnonymous.Checked := false;
ini.Destroy
end;
procedure TfrmAccount.btnDeleteClick(Sender: TObject);
begin
if lstAccounts.Selected = nil then exit;
DeleteFile(ExtractFilePath(Application.ExeName) + 'accounts\' + lstAccounts.Selected.Caption);
LoadItems;
edtConnect.Text := '';
edtURl.Text := '';
edtUser.Text := '';
edtPassword.Text := '';
edtPort.Text := '';
cmbServer.ItemIndex := 0;
rdascii.Checked := True;
chkProxy.Checked := false;
edtProxy.Text := '';
chkAnonymous.Checked := false;
end;
procedure TfrmAccount.btnOKClick(Sender: TObject);
begin
{ close;
frmFTP.LoadItems;}
end;
procedure TfrmAccount.btnCancelClick(Sender: TObject);
begin
{ close;
frmFTP.LoadItems;}
end;
procedure TfrmAccount.edtConnectEnter(Sender: TObject);
begin
(Sender as TEdit).Color := 14073525;
SelAll((Sender as TEdit));
end;
procedure TfrmAccount.edtConnectExit(Sender: TObject);
begin
(Sender as TEDit).Color := clWindow
end;
procedure TfrmAccount.SelAll(edt: TEdit);
begin
edt.SelStart := 0;
edt.SelLength := Length(edt.Text);
end;
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -