Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi fahrzeugauswahl (https://www.delphipraxis.net/48171-fahrzeugauswahl.html)

kkkiwi 21. Jun 2005 17:13


fahrzeugauswahl
 
hallo ihr

eigentlcih sollte ich dieses programm zuhause fertig machen, aber leider funktioniert nun gar nichts mehr. :?

wäre nett wenn mir jemand helfen könnte

eigentlich sollte in der stringrid die daten der aus der in der radiogroup ausgewählten fahrzeuge eigetragen werden
wer nett wenn mir jemand helfen könnte

also hier ist das programm

Delphi-Quellcode:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
RadioGroup1: TRadioGroup;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private-Deklarationen } 
public
{ Public-Deklarationen } 
end;

var
Form1: TForm1;

Type Kfzart = (PKW, LKW, Motorrad);
Fahrzeugtyp = record
Baujahr:integer;
case KFZ: KFZart of
PKW: (Sitze:Byte);
LKW: (Achsen,Nutzlast: Integer);
Motorrad:(Seitenwagen: Boolean);


end;
var

KFZFELD: array[1..5] of fahrzeugtyp;
LAufvar:Byte;
Wahl:Char;



implementation


uses unit2, Unit1;

{$R *.dfm} 

procedure TForm1.FormCreate(Sender: TObject);
begin
Laufvar:=0;
end;





procedure TForm1.Button1Click(Sender: TObject);
begin

Laufvar:=laufvar+1;
Edit2.text:= inttostr(laufvar);
if Laufvar <= 5 then
begin
KFZFeld[Laufvar].Baujahr:=strtoint(edit1.text);

case Fahrzeugauswahl.ItemIndex of

0: begin
KFZFeld[Laufvar].KFZ:=PKW;
form2.label1.caption:='Anzahl der Sitze';
// KFZfelf[laufvar].sitze:=strtoint]
form2.edit2.text:='******************************';
form2.edit2.readonly:=true;
form2.showmodal;
form2.label3.caption:='';
form2.label4.caption:='';
end; {PKW} 

1: begin
KFZFeld[Laufvar].KFZ:=LKW;
form2.show;
form2.label1.caption:='Achsen';
form2.label2.caption:='Nutzlast';
form2.edit2.text:='';
form2.edit2.readonly:=false;
form2.label3.caption:='';
form2.label4.caption:='Tonnen';
end; {LKW} 

2: begin
KFZFeld[Laufvar].KFZ:=Motorrad;
form2.show;
form2.label1.caption:='Seitenwagen';
form2.label2.caption:='';
form2.edit2.text:='******************************';
form2.edit2.readonly:=true;
form2.label4.caption:='';
form2.label3.caption:='';
end;

end;
end; {MOTOrrad} 
end;//CASE



procedure TForm1.Button2Click(Sender: TObject);

var i: integer;
begin

Form1.stringgrid1.cells [0,0]:= 'Fahrzeuge';
Form1.stringgrid1.cells[0,1]:='PKW';
Form1.stringgrid1.cells[0,2]:='LKW';
Form1.stringgrid1.cells[0,3]:='Motorrad';
Form1.stringgrid1.cells[1,0]:='Baujahr';
Form1.stringgrid1.cells[2,0]:='Sitze';
Form1.stringgrid1.cells[3,0]:= 'Seitenwagen';
Form1.stringgrid1.cells[4,0]:= 'Achsen';
Form1.stringgrid1.cells[5,0]:= 'Nutzlast';

for i:=1 to 5 do
case KFZFeld[i].KFZ of Pkw:
begin
Form1.stringgrid1.cells [1,1]:=inttostr(KFZFeld[].Baujahr);
Form1.stringgrid1.cells[2,1]:=inttostr(KFZFeld[i].Baujahr);
end;
Lkw:
begin
Form1.stringgrid1.cells [1,2]:=inttostr(KFZFeld[2].Baujahr);
Form1.stringgrid1.cells [5,2]:=inttostr(KFZFeld[4].nutzlast);
Form1.stringgrid1.cells [4,2]:=inttostr(KFZFeld[4].Achsten)
end;
Motorrad
begin
Form1.stringgrid1.cells [1,3]:=inttostr(KFZFeld[5].Baujahr);
Form1.stringgrid1.cells [3,3]:=inttostr(KFZFeld[5].Seitenwagen
end;

end.
und 2. unit

Delphi-Quellcode:
unit Unit2;

interface

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

type
TForm2 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
private
{ Private-Deklarationen } 
public
{ Public-Deklarationen } 
end;

var
Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm} 

if modalresult= mrok
then begin
if form1.Fahrzeugauswahl.itemindex=0 then
begin
KFZFeld[laufvar].sitze:=strtoint(edit1.text);
form2.hide;
end
else
begin

KFZFeld[laufvar].Achsen:=strtoint(edit1.text);
KFZFeld[laufvar].Nutzlast:=strtoint(edit1.text);
form2.hide;
end;
end;
end;
end.


also schon mal danke im vorraus

jfheins 21. Jun 2005 17:30

Re: fahrzeugauswahl
 
Es wäre sicherlich hilfreich, wenn du uns sagen würdest, was genau nicht funktioniert ;)

kkkiwi 21. Jun 2005 17:40

Re: fahrzeugauswahl
 
also
wenn ich das programm starte dann bekomm ich in unit 2 immer die fehlermeldung:

Delphi-Quellcode:
      if modalresult= mrok


[Fehler] Unit2.pas(31): Deklaration erwartet, aber 'IF' gefunden

Aenogym 21. Jun 2005 17:49

Re: fahrzeugauswahl
 
hi,

ganz einfach: du schriebst code außerhalb einer function/procedure. das geht eben nicht ;)

aenogym

kkkiwi 21. Jun 2005 18:14

Re: fahrzeugauswahl
 
huhu
danke ;)
also ich hab jetzt ne

TForm2.FormCreate procedure... und es geht soweit...
bzw. nuja wie kann ich denn jetzt dafür sorgen dass in die tabelle nur werte für das fahrzeug eingetragne werden, das ich ausgewählt habe?

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);

var i: integer;
begin

Form1.stringgrid1.cells [0,0]:= 'Fahrzeuge';
Form1.stringgrid1.cells[0,1]:='PKW';
Form1.stringgrid1.cells[0,2]:='LKW';
Form1.stringgrid1.cells[0,3]:='Motorrad';
Form1.stringgrid1.cells[1,0]:='Baujahr';
Form1.stringgrid1.cells[2,0]:='Sitze';
Form1.stringgrid1.cells[3,0]:= 'Seitenwagen';
Form1.stringgrid1.cells[4,0]:= 'Achsen';
Form1.stringgrid1.cells[5,0]:= 'Nutzlast';

for i:=1 to 5 do
case KFZFeld[i].KFZ of Pkw:
begin
Form1.stringgrid1.cells [1,1]:=inttostr(KFZFeld[2].Baujahr); { hier bei dem Kfzfeld[2 usw] muss wohl was geändert werden}
Form1.stringgrid1.cells[2,1]:=inttostr(KFZFeld[2].Baujahr);
end;
Lkw:
begin
Form1.stringgrid1.cells [1,2]:=inttostr(KFZFeld[2].Baujahr);
Form1.stringgrid1.cells [5,2]:=inttostr(KFZFeld[4].nutzlast);
Form1.stringgrid1.cells [4,2]:=inttostr(KFZFeld[4].Achsen)
end;
Motorrad:
begin
Form1.stringgrid1.cells [1,3]:=inttostr(KFZFeld[5].Baujahr);

end;
            end;
            end;

wäre nett wenn jemand versuchen könnte das zu verstehn.. :wink:

Eine Stunde spaeter:

hm kann mir niemand weiter helfen?! :gruebel:

[edit=alcaeus]Push-Beitrag mit diesem zusammengefuehrt. Pushen erst nach 24 Stunden! Mfg, alcaeus[/edit]

generic 22. Jun 2005 08:43

Re: fahrzeugauswahl
 
Delphi-Quellcode:
uses Unit1;

{$R *.dfm}

if modalresult= mrok
then begin
if form1.Fahrzeugauswahl.itemindex=0 then
begin
KFZFeld[laufvar].sitze:=strtoint(edit1.text);
form2.hide;
end
else
begin

KFZFeld[laufvar].Achsen:=strtoint(edit1.text);
KFZFeld[laufvar].Nutzlast:=strtoint(edit1.text);
form2.hide;
end;

zwischen den resource einbinden und dem if fehlt etwas.

UND BITTE BITTE TU DER COMMUNITY EINEN GEFALLEN - RÜCK DEIN CODE EIN!

dann kann man bas besser lesen. danke

Object Pascal Style Guide
http://community.borland.com/article...,10280,00.html




Zitat:

bzw. nuja wie kann ich denn jetzt dafür sorgen dass in die tabelle nur werte für das fahrzeug eingetragne werden, das ich ausgewählt habe?
womit und wo wählst du den ein fahrzeug aus?
da gibt es doch sicherlich ein ereignis was du nutzen könntest?

kkkiwi 22. Jun 2005 21:08

Re: fahrzeugauswahl
 
hab die fehler inzwischen alle gefunden und das programm funktioniert..
aber dank an alle.. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz