AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

OOP - Neuling braucht ein bisschen Hilfe

Ein Thema von Liam · begonnen am 21. Mai 2010 · letzter Beitrag vom 23. Mai 2010
Antwort Antwort
Seite 2 von 2     12   
Liam

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

Re: OOP - Neuling braucht ein bisschen Hilfe

  Alt 21. Mai 2010, 21:02
Mit OOP hat das glaub ich nicht wirklich was zu tun. Aber das Programm läuft schonmal, was positiv ist. Nun muss ich die anderen Units so basteln, dass das eingegebene auch angezeigt wird. Hierbei nochmal eine Frage: Wie zeig ich die Klassenbezeichnung im Memo an?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: OOP - Neuling braucht ein bisschen Hilfe

  Alt 21. Mai 2010, 21:12
Delphi-Referenz durchsuchenTMemo.lines -> Delphi-Referenz durchsuchenTStrings.add

oder einmal deine Deplhi Hilfe bemühen.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Liam

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

Re: OOP - Neuling braucht ein bisschen Hilfe

  Alt 23. Mai 2010, 15:13
Ich hab wieder ein Problemchen, diesmal bei der Datenausgabe.
Ich hab in der Case-Anweisung die Motorbezeichnung gesetzt, jetzt will ich die auch ausgeben. Allerdings geht es nicht. Ich steh grad irgentwie voll aufm Schlauch

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;
    Ed_L_H: TEdit;
    Ed_Rw: TEdit;
    Ed_L_E: TEdit;
    Anlegen: TButton;
    procedure AnlegenClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

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

implementation

{$R *.dfm}

procedure TForm1.AnlegenClick(Sender: TObject);
 begin
  case Radiogroup1.itemindex of
   0:
    begin
     Bezeichnung := 'Verbrennungsmotor';
     Memo1.lines.Add(M_Bezeichnung);
    end;
   1 :
    begin
     M_Bezeichnung:= 'Elektromotor';
    end;
   2 :
    begin
     M_Bezeichnung:= 'Hybridantrieb';
    end;
   3 :
    begin
     M_Bezeichnung:= 'Wasserstoffantrieb';
    end;
  end;
  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; virtual;
   //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
  Bezeichnung := M_Bezeichnung ;
  M_Leistung :=Leistung ;
 end;

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


 function TFahrzeug.getMotorBezeichnung: string;
 begin
   result:= Bezeichnung;
 end;



end.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: OOP - Neuling braucht ein bisschen Hilfe

  Alt 23. Mai 2010, 15:19
Delphi-Quellcode:
  case Radiogroup1.itemindex of
   0:
    begin
     Bezeichnung := 'Verbrennungsmotor';
    end;
   1 :
    begin
     M_Bezeichnung:= 'Elektromotor';
    end;
   2 :
    begin
     M_Bezeichnung:= 'Hybridantrieb';
    end;
   3 :
    begin
     M_Bezeichnung:= 'Wasserstoffantrieb';
    end;
    else
    begin
     M_Bezeichnung:= ';
end;
if M_Bezeichnung <>
'' then
Memo1.lines.Add(M_Bezeichnung);
end;
Markus Kinzler
  Mit Zitat antworten Zitat
Liam

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

Re: OOP - Neuling braucht ein bisschen Hilfe

  Alt 23. Mai 2010, 19:03
Ich habs jetzt mal mit dieser Variante versucht:

Delphi-Quellcode:
procedure TForm1.AnlegenClick(Sender: TObject);
 begin
  case Radiogroup1.itemindex of
   0:
    begin
     Bezeichnung := 'Verbrennungsmotor';
     Auto:=TFahrzeug.create(Radiogroup1.Items.GetText, Ed_L_H.Text);
     Memo1.lines.Add := Auto.getDaten;
    end;
Delphi-Quellcode:
constructor TFahrzeug.create (M_Bezeichnung: string; M_Leistung: string);
 begin
  Bezeichnung := M_Bezeichnung ;
  Leistung :=M_Leistung ;
 end;

...


 function TFahrzeug.getDaten: string;
  begin
    result:= Bezeichnung + Leistung;
  end;
Hier hab ich jetzt wieder das anfangsproblem. Inkompatible Typen und nicht genügend wirkliche Parameter bei der Zeile Memo1.lines.Add := Auto.getDaten;

Und ich hab grad echt ein Brett vorm Kopf (wohl eher ne Bohle)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: OOP - Neuling braucht ein bisschen Hilfe

  Alt 23. Mai 2010, 20:19
Guten Abend,

Zitat von DelphiHilfe:
Lists the radio buttons in the radio group.

Class
TCustomRadioGroup

Syntax


property Items: TStrings read FItems write SetItems;


Description
Items holds a TStrings object that lists the captions of the radio buttons in the group. In TCustomRadioGroup descendants, where this property is published, radio buttons can be added or removed by editing the Items list from the Object Inspector.
Was Du vermutlich suchst ist das:
Zitat von DelphiHilfe:
Indicates which radio button in the group is currently selected.

Class
TCustomRadioGroup

Syntax


property ItemIndex: Integer read FItemIndex write SetItemIndex;


Description
ItemIndex holds the index of the selected radio button in the Items list. (The first button is 0.) The value of ItemIndex changes at runtime as the user selects radio buttons. If you want one of the buttons to appear selected when the application starts, assign that button to ItemIndex at design time; otherwise, leave ItemIndex set to the default value of -1, which means that no button is selected.
[edit] bzw. eine Kombination aus beiden.
Delphi-Quellcode:
begin
  case Radiogroup1.itemindex of
   0:
    begin
     Bezeichnung := 'Verbrennungsmotor';
     Auto:=TFahrzeug.create(Radiogroup1.Items[RadioGroup1.ItemIndex], Ed_L_H.Text); // oder auch
     // Auto:=TFahrzeug.create(Bezeichnung, Ed_L_H.Text); // oder auch
     //Auto:=TFahrzeug.create(Radiogroup1.Items[0], Ed_L_H.Text);

     Memo1.lines.Add := Auto.getDaten;
    end;
.. und gewöhn Dich mal an die Regel "eine Frage pro Thread"

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Liam

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

Re: OOP - Neuling braucht ein bisschen Hilfe

  Alt 23. Mai 2010, 23:13
Vielen vielen Dank
diese Variante hat mir geholfen:
Auto:=TFahrzeug.create(Radiogroup1.Items[0], Ed_L_H.Text);
Jetzt läuft alles. Die Ausgaben der Klasse und in ein Memo statt Edit bekomm ich auch noch irgentwie hin

Lg
Liam
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz