📄 unitphonebook.pas
字号:
unit UnitPhoneBook;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, StdCtrls, Buttons;
type
TFormPhoneBook = class(TForm)
ListBox1: TListBox;
Edit1: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
procedure FormShow(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ListBox1Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
private
{ Private declarations }
slist:TStringlist;
public
{ Public declarations }
end;
var
FormPhoneBook: TFormPhoneBook;
implementation
uses UnitMain;
{$R *.DFM}
procedure TFormPhoneBook.FormShow(Sender: TObject);
var
s1,s2:string;
begin
s1:=FormMain.WaveFileDir+'PhoneBook1.Dat';
s2:=FormMain.WaveFileDir+'PhoneBook2.Dat';
if not fileexists(s1) then
begin
listbox1.Clear;
listbox1.Items.SaveToFile(s1);
listbox1.Items.SaveToFile(s2);
end;
listbox1.Items.LoadFromFile(s1);
slist:=Tstringlist.Create;
slist.LoadFromFile(s2);
if listbox1.Items.count<>slist.Count then
MessageDlg('电话号码薄错误.', mtInformation, [mbOk], 0);
ListBox1Click(Sender);
end;
procedure TFormPhoneBook.ListBox1DblClick(Sender: TObject);
begin
ListBox1Click(Sender);
close;
end;
procedure TFormPhoneBook.BitBtn2Click(Sender: TObject);
var
i:integer;
begin
i:=listbox1.ItemIndex;
if i=-1 then exit;
if listbox1.Items.count<>slist.Count then
begin
MessageDlg('电话号码薄错误.', mtInformation, [mbOk], 0);
exit;
end;
if messagedlg('真的删除吗?',mtconfirmation,[mbyes,mbno],0)=mrno then exit;
listbox1.items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.bak');
listbox1.Items.Delete(i);
listbox1.items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.dat');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.bak');
slist.Delete(i);
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.dat');
end;
procedure TFormPhoneBook.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
slist.free;
end;
procedure TFormPhoneBook.ListBox1Click(Sender: TObject);
var
i:integer;
begin
i:=listbox1.ItemIndex;
if i=-1 then
begin
edit1.text:='';
edit2.text:='';
exit;
end;
if listbox1.Items.count<>slist.Count then
begin
MessageDlg('电话号码薄错误.', mtInformation, [mbOk], 0);
exit;
end;
edit1.text:=listbox1.items[i];
edit2.text:=slist.Strings[i];
end;
procedure TFormPhoneBook.BitBtn3Click(Sender: TObject);
var
i:integer;
begin
i:=listbox1.ItemIndex;
if i=-1 then exit;
if listbox1.Items.count<>slist.Count then
begin
MessageDlg('电话号码薄错误.', mtInformation, [mbOk], 0);
exit;
end;
listbox1.Items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.bak');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.bak');
listbox1.items[i]:=trim(edit1.text);
slist.Strings[i]:=trim(edit2.text);
listbox1.Items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.Dat');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.Dat');
end;
procedure TFormPhoneBook.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure TFormPhoneBook.BitBtn1Click(Sender: TObject);
begin
if listbox1.Items.count<>slist.Count then
begin
MessageDlg('电话号码薄错误.', mtInformation, [mbOk], 0);
exit;
end;
edit1.text:=trim(edit1.text);
if edit1.text='' then exit;
if listbox1.Items.IndexOf(edit1.text)<>-1 then
begin
MessageDlg('已经存在.', mtInformation, [mbOk], 0);
exit;
end;
listbox1.Items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.bak');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.bak');
listbox1.items.add(trim(edit1.text));
edit1.text:='';
slist.add(trim(edit2.text));
edit2.text:='';
listbox1.Items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.Dat');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.Dat');
end;
procedure TFormPhoneBook.BitBtn5Click(Sender: TObject);
var
i:integer;
s:string;
begin
i:=listbox1.ItemIndex;
if i<=0 then exit;
if listbox1.Items.count<>slist.Count then
begin
MessageDlg('电话号码薄错误.', mtInformation, [mbOk], 0);
exit;
end;
listbox1.Items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.bak');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.bak');
s:=listbox1.items[i-1];
listbox1.items[i-1]:=listbox1.items[i];
listbox1.items[i]:=s;
s:=slist.Strings[i-1];
slist.Strings[i-1]:=slist.Strings[i];
slist.Strings[i]:=s;
listbox1.Items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.Dat');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.Dat');
listbox1.ItemIndex:=listbox1.ItemIndex-1;
end;
procedure TFormPhoneBook.BitBtn6Click(Sender: TObject);
var
i:integer;
s:string;
begin
i:=listbox1.ItemIndex;
if (i=-1)or(i>=Listbox1.items.count-1) then exit;
if listbox1.Items.count<>slist.Count then
begin
MessageDlg('电话号码薄错误.', mtInformation, [mbOk], 0);
exit;
end;
listbox1.Items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.bak');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.bak');
s:=listbox1.items[i+1];
listbox1.items[i+1]:=listbox1.items[i];
listbox1.items[i]:=s;
s:=slist.Strings[i+1];
slist.Strings[i+1]:=slist.Strings[i];
slist.Strings[i]:=s;
listbox1.Items.SaveToFile(FormMain.WaveFileDir+'PhoneBook1.Dat');
slist.SaveToFile(FormMain.WaveFileDir+'PhoneBook2.Dat');
listbox1.ItemIndex:=listbox1.ItemIndex+1;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -