Einzelnen Beitrag anzeigen

Liam

Registriert seit: 21. Mai 2010
11 Beiträge
 
Turbo Delphi für Win32
 
#1

OOP - Neuling braucht ein bisschen Hilfe

  Alt 21. Mai 2010, 09:14
Hiho,

ich hab noch nicht lange OOP und ich brüte grade über einer Aufgabe und komme nicht weiter. Ich hab eine Radiogroup mit 4 EInträgen (wovon ich jewals immer den Titel wieder ausgeben will, z.B. Verbrennungsmotor)

Allerdings kommen (im Moment) 2 Fehlermeldungen: Nicht genügent wirkliche Parameter und Inkompatible Typen. Wie geb ich den Klassennahmn in der Memo aus? Und Hier muss auch noch eine Unit dazu, wo Alternativfahrzeuge (Elektro, Wasserstoff) definiert werden (soweit bin ich aber noch nicht).

Delphi-Quellcode:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, unit2, unit3;

type
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
    Memo1: TMemo;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Auto: TFahrzeug;
  M_Leistung: string;
  M_Bezeichnung: boolean;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
if RadioGroup1.itemindex=0 then
Auto:= TFahrzeug.create(Edit1.text, Radiogroup1.itemindex=0);
{If RadioGroup1.itemindex=1 then
Auto := TAlternativfahrzeug.create(Edit1.text,  Edit3.text);}

If Radiogroup1.itemindex=2 then
Auto:= THybridfahrzeug.create (Edit1.text, Edit2.text);
{If RadioGroup1.ItemIndex=3 then
Auto := TAlternativfahrzeug.create (Edit1.text, Edit3.text);}


//memo1.lines.add:=M_Leistung;

end;

end.
Delphi-Quellcode:
unit Unit2;
//Fahrzeug allgemein
interface
uses sysutils;
Type TFahrzeug = class (TObject)
  private
  public
   constructor create (M_Bezeichnung: string; M_Leistung: string);
   function getleistung: string;
   //function getMotorBezeichnung: string;
   //function getreichweite: integer; virtual; abstract;
end;
var Bezeichnung: string;
Leistung: string;
M_Leistung, M_Bezeichnung: string;


implementation

constructor TFahrzeug.create (M_Bezeichnung: string; M_Leistung: string);
begin
M_Bezeichnung :=Bezeichnung ;
M_Leistung :=Leistung ;
end;

function TFahrzeug.getleistung: string;
begin
   result := M_Leistung ;
end;

end.
Delphi-Quellcode:
unit Unit3;
//Fahrzeug Hybrid
interface
uses sysutils, unit2;
Type THybridfahrzeug = class (TFahrzeug)
  private
  public
   constructor create (M_Bezeichnung: string; M_Leistung, E_M_Leistung: string);
   //function getleistung: string; virtual;
   //function getMotorBezeichnung: string;
   //function getreichweite: string; virtual; abstract;
end;
var Bezeichnung: string;
Leistung, Zusatzleistung:string;
M_Leistung: string;


implementation

constructor THybridfahrzeug.create (M_Bezeichnung: string; M_Leistung,E_M_Leistung: string);
begin
inherited create (Bezeichnung, Leistung);
E_M_Leistung := Zusatzleistung;
end;



end.
MfG & Danke schonmal im Vorraus
Liam
  Mit Zitat antworten Zitat