Subject: Delphi to C++ conversion. Need help...
Posted By: Neeko Post Date: 12/18/2005 5:49:51 PM
Hi all,

I have a program written using Delphi?

Was wondering if anyone had any idea how to convert it to C++,
Thanks alot guys...

Regards
Nicolas

Reply By: Neeko Reply Date: 12/18/2005 6:05:38 PM
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,tempissueItem.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 By: vector Reply Date: 12/20/2005 12:51:26 AM
Don't know anything about Delphi...but did a google search and came across this link which may be useful
http://www.softempire.com/delphi-to-c-builder.html


Go to topic 37677

Return to index page 414
Return to index page 413
Return to index page 412
Return to index page 411
Return to index page 410
Return to index page 409
Return to index page 408
Return to index page 407
Return to index page 406
Return to index page 405