This is the program i need to convert to C++...
unit MainU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,UsersU,BooksU, IssueU,StdCtrls, ComCtrls;
type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Label1: TLabel;
PageControl3: TPageControl;
TabSheet3: TTabSheet;
issueListbox: TListBox;
Label2: TLabel;
ReturnBtn: TButton;
issueBtn: TButton;
Button1: TButton;
UserCombo: TComboBox;
Label3: TLabel;
Label4: TLabel;
BookCombo: TComboBox;
TabSheet2: TTabSheet;
PageControl2: TPageControl;
TabSheet4: TTabSheet;
SearchListBox: TListBox;
Label5: TLabel;
AuthorEdit: TEdit;
SearchBtn: TButton;
Label6: TLabel;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure TabSheet1Show(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
procedure issueListboxClick(Sender: TObject);
procedure issueBtnClick(Sender: TObject);
procedure TabSheet3Show(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure ReturnBtnClick(Sender: TObject);
procedure UserComboChange(Sender: TObject);
procedure SearchBtnClick(Sender: TObject);
procedure AuthorEditChange(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
fUsers : TUsers;
fBooks : TBooks;
fIssue : TIssue;
public
{ Public declarations }
procedure refresh;
procedure resetAll;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// initialse variables
procedure TForm1.FormCreate(Sender: TObject);
begin
fUsers := TUsers.create;
fBooks := TBooks.create;
fIssue := TIssue.create;
// load users and books lists
fUsers.loadUsers;
fBooks.loadBooks;
end;
procedure TForm1.TabSheet1Show(Sender: TObject);
begin
refresh;
end;
procedure TForm1.TabSheet2Show(Sender: TObject);
begin
refresh;
end;
procedure TForm1.TabSheet3Show(Sender: TObject);
begin
refresh;
end;
procedure TForm1.UserComboChange(Sender: TObject);
begin
// if book and user selected then enable th issue button
if (UserCombo.ItemIndex > 0) and
(BookCombo.ItemIndex > 0) then
issueBtn.Enabled := true
else
issueBtn.Enabled := false;
end;
procedure TForm1.issueListboxClick(Sender: TObject);
begin
// if issued book selected then enable the retrun button
if issueListbox.ItemIndex > 0 then
ReturnBtn.Enabled := true
else
ReturnBtn.Enabled := false;
end;
procedure TForm1.issueBtnClick(Sender: TObject);
var tempUser:Tuser;
tempBook:TBook;
begin
if (BookCombo.ItemIndex <> -1) and
(UserCombo.ItemIndex <> -1) then
begin
if (UserCombo.ItemIndex <> 0) and
(BookCombo.ItemIndex <> 0) then
begin
tempUser := fUsers.getUserAt(UserCombo.ItemIndex-1);
tempBook := fBooks.getBookAt(BookCombo.ItemIndex-1);
fIssue.issueBook(tempUser,tempBook);
refresh;
end
else
MessageDlg('Invalid item chosen. First record is not user/book.',mtError,[mbok],0);
end;
end;
procedure TForm1.ReturnBtnClick(Sender: TObject);
var tempissueItem:TIssueItem;
begin
if (issueListbox.ItemIndex > 0) then
begin
tempissueItem := fIssue.getItemAt(issueListbox.ItemIndex-1);
fIssue.returnBook(tempissueItem.getUser,tempissueI tem.getBook);
refresh;
end
else
MessageDlg('Invalid item chosen. First record is not user/book.',mtError,[mbok],0);
end;
procedure TForm1.refresh;
begin
UserCombo.Items.Text := fUsers.toString;
BookCombo.Items.Text := fBooks.toString;
issueListbox.Items.Text := fIssue.toString;
resetAll;
end;
procedure TForm1.resetAll;
begin
UserCombo.ItemIndex := -1;
BookCombo.ItemIndex := -1;
issueListbox.ItemIndex := -1;
UserComboChange(nil);
issueListboxClick(nil);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
refresh;
end;
procedure TForm1.SearchBtnClick(Sender: TObject);
var tempStr:String;
begin
tempStr := fbooks.findBook(trim(AuthorEdit.Text));
SearchListBox.Items.Text := tempStr;
MessageDlg(inttostr(SearchListBox.count)+' match(es) found.',mtInformation,[mbok],0);
end;
procedure TForm1.AuthorEditChange(Sender: TObject);
begin
if trim(AuthorEdit.Text)<>'' then
SearchBtn.Enabled := true
else
SearchBtn.Enabled := false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
AuthorEdit.Clear;
SearchListBox.Clear;
end;
end.
Any help would be appreciated. thanks again...
Ragards
Nicolas
|