Ok, im making my first ever address book, and in Delphi 7. I have the following code:
But when i click my OK button, it errors. DOnt know the problem, anyone care to assist?Code:unit Details; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TfrmDetails = class(TForm) txtName: TEdit; lblName: TLabel; txtDateOfBirth: TEdit; lblDateOfBirth: TLabel; txtAddress: TMemo; lblAddress: TLabel; lblHomeNumber: TLabel; txtHomeNumber: TEdit; txtMobileNumber: TEdit; lblMobileNumber: TLabel; txtEmailAddress: TEdit; lblAIMContact: TLabel; txtNotes: TMemo; lblNotes: TLabel; cmdCancel: TBitBtn; cmdOK: TBitBtn; Procedure AddEntry(Fn,Ad,HP,M,E,N:string); procedure cmdCancelClick(Sender: TObject); procedure cmdOKClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var frmDetails: TfrmDetails; Rgn:THandle; implementation uses Main; {$R *.dfm} Procedure TfrmDetails.AddEntry(Fn,Ad,HP,M,E,N:string); begin if Not fileExists(QFileName) then rewrite(QFile) else if Not Edit then begin i:=Fsize; end else begin frmMain.cboNameList.Items.Delete(i); i:=Found; end; seek(QFile,i); with Entries do begin FullName:=Fn; Address:=ad; Hphone:=hp; Mobile:=m; Email:=E; Note:=N; write(QFile,Entries); end; closefile(QFile); reset(QFile); fsize:=filesize(QFile); frmMain.cboNameList.Items.add(txtName.text); i:=frmMain.cboNameList.Items.IndexOf(txtName.text); frmMain.cboNameList.ItemIndex:=i; end; procedure TfrmDetails.cmdCancelClick(Sender: TObject); begin Close; end; procedure TfrmDetails.cmdOKClick(Sender: TObject); var n:integer; begin if Not Edit then begin for n:=0 to frmMain.cboNameList.Items.count-1 do begin if txtName.text=frmMain.cboNameList.Items[n] then begin MessageBox(handle,'The name already exists! Type a different name.', 'Name Exists',MB_Ok); exit; end; end; end; AddEntry(txtName.text,txtAddress.text,txtHomeNumber.text,txtMobileNumber.text,txtEmailAddress.text,txtNotes.text); frmMain.seekRecord; if Rgn<>0 then DeleteObject(Rgn); frmDetails.Close; frmDetails.Release; end; end.





Reply With Quote