Avatar billede cyberlsn Nybegynder
12. oktober 2001 - 12:54 Der er 5 kommentarer og
1 løsning

Oversæt til C++

Jeg er igang med at lærer noget C++ programmering.
Men for at jeg bedre kan forstå det, skal jeg lige have hjælp til at oversætte følgende Pascal-koder:

Unit Unit1

Uses Windows, Buttons, forms;

interface
type
TForm1 = class(TForm);
TButton1 = TButton;
procedure FormCreate(sender: TOBject);

implementation

procedure TForm1.FormCreate(sender : TObject);
var
SomeVar : integer;
begin

end;

procedure TForm1.Button1Click(sender : TObject);
var
SomeVar : integer;
begin

end;

Håer i kan hjælpe mig!

Avatar billede borrisholt Novice
12. oktober 2001 - 12:59 #1
Det kommer an på hvilket GUI biblotek du benytter dig af ?

Jens B
Avatar billede soepro Nybegynder
12. oktober 2001 - 13:18 #2
C++ Builder:

USEINIT(\"..\\UNIT1.CPP\");

#include <windows.h>
#include <vcl.h>

class TForm1 : Tform
{
  public:
  TButton *TButton1;

  void __fastcall FormCreate(TObject* Sender);
  void __fastcall Button1Click(TObject* Sender);
}

void __fastcall Form1::FormCreate(TObject* Sender)
{
  int SomeVar;
  {
  };
} // FormCreate

void __fastcall Form1::Button1Click(TObject* Sender)
{
  int SomeVar;
  {
  };
}

\"Ordret\" oversat - men ... Normalt vil C++Builder ligesom du kender det fra Delphi generere koden til dig - selvfølgelig blot som C++ syntaks. Du kan bruge .dfm fra dit Delphi projekt direkte, og så \"blot\" skrive ObjectPascal koden om til C++ - men C++ Builder kan rent faktisk også compilere dine \"gamle\" Delphi forms !!! (Men Two-way tools virker selvsagt ikke.)
Avatar billede soepro Nybegynder
12. oktober 2001 - 13:18 #3
idet <vcl.h> dækker både TButton og TForm.
Avatar billede cyberlsn Nybegynder
12. oktober 2001 - 15:50 #4
Ja, ja! Jeg ved da godt, at C++ Builder selv generer koden til mig, men jeg skulle jo lige have et eksempel på, hvordan man benytter C++ seriøst, i stedet for eksemplerne fra bogen!
Eks:
Class MinKlasse
{

}
- men et eksempel, hvor man kan BRUGE den.

Men mange tak for hjælpen!

Avatar billede soepro Nybegynder
15. oktober 2001 - 09:21 #5
Vi har lavet en del eksempler her på eksperten omkring brugen af klasser til dette og hint - men du spurgte altså direkte på oversættelse af din Pascalkode.

Her er et af dem:
#include <conio.h>
#include <string.h>

class bil
{
  public:
    bil(char *, long);
    char* getbrand(void);
    long getvalue(void);
  private:
    char brand[31];
    long value;
};
bil::bil(char *name, long price)
{
  strncpy(brand, name, sizeof(brand)-1);
  value = price;
}
char* bil::getbrand(void)
{
  return brand;
}
long bil::getvalue(void)
{
  return value;
}

int main(void)
{
  bil testbil(\"Ford\", 75350);
  bil tbl[10] = { bil(\"Ford\", 75000),
                  bil(\"Opel\", 35000),
                  bil(\"Skoda\", 15000L),
                  bil(\"Mercedes\", 1750000),
                  bil(\"Volvo\", 205000),
                  bil(\"Saab\", 215000),
                  bil(\"Seat\", 85000),
                  bil(\"Chrysler\", 245000),
                  bil(\"Porche\", 500000),
                  bil(\"Ferrari\", 1500000)
                };

  for (int i=0; i < 10; i++)
    cprintf(\"bil nr. %d = %s, %lu\\r\\n\", i,
            tbl[i].getbrand(), tbl[i].getvalue());
  getch();
  return 0;
}

Du kan bruge \'søg\' funktionen til at finde flere. (Søg efter teksten \"class\".)
Avatar billede nomiz Nybegynder
22. oktober 2001 - 23:22 #6
ssssh
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester