View Single Post
  #2 (permalink)  
Old December 18th, 2005, 07:05 PM
Neeko Neeko is offline
Authorized User
 
Join Date: Dec 2005
Posts: 13
Thanks: 0
Thanked 0 Times in 0 Posts
Default

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

Reply With Quote