Witam!
Poniekąd jako projekt w szkole mam napisać dowolny program w Delphi. POstanowiłem programik z silnikami samochodów i informacjami o nich ogarnąć. Programik ma wyglądać tak że po wyborze z menu serii samochodu (np. tak jak tu BMW E30) wyskakują mi silniki w róznych odmianach auta.
A po nakliknięćiu na pozycje z listboxa wyskakują mi dodatkowe informacje o nich. Dobra, teraz troche o strukturze mojego programu.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus, Grids;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
MainMenu1: TMainMenu;
Silniki1: TMenuItem;
BMW1: TMenuItem;
E301: TMenuItem;
E321: TMenuItem;
E341: TMenuItem;
E361: TMenuItem;
E381: TMenuItem;
ListBox1: TListBox;
procedure E301Click(Sender: TObject);
procedure E321Click(Sender: TObject);
procedure ListBox1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i:integer;
podstaw:string;
seria:string;
E30:array[0..17] of String = (('316: R4 1,8 l (1767 cm3), SOHC'), ('316i: R4 1,6 l (1596 cm3), SOHC'),('318: R4 1,8 l (1767 cm3), SOHC'), ('318i: R4 1,8 l (1796 cm3), SOHC'), ('318iS: R4 1,8 l (1796 cm3), SOHC'), ('320i: R6 2,0 l (1991 cm3), SOHC'), ('320iS: R4 2,0 l (1991 cm3), DOHC'), ('323i: R6 2,3 l (2316 cm3), SOHC'), ('325i: R6 2,5 l (2494 cm3), SOHC'), ('325is: R6 2,7 l (2693 cm3), SOHC'), ('325e: R6 2,7 l (2693 cm3), SOHC'), ('333i: R6 3,2 l (3210 cm3), SOHC'), ('M3: R4 2,3 l (2302 cm3), DOHC'), ('M3 Evo II: R4 2,3 l (2302 cm3), DOHC'), (''), ('324d: R6 2,4 l (2443 cm3), SOHC'), ('324td: R6 2,4 l (2443 cm3), SOHC, turbo'), ('325td: R6 2,5 l (2498 cm3), SOHC, turbo'));
E32:array[0..4] of String = (('730i: R6 3,0 l (2986 cm3), SOHC'), ('730i: V8 3,0 l (2997 cm3), DOHC'), ('730i: R6 3,4 l (3430 cm3), SOHC'), ('740i: V8 4,0 l (3982 cm3), DOHC'), ('750i: V12 5,0 l (4988 cm3), SOHC'));
DE30:array[0..2] of String = (('V-max: 175km/h'), ('V-max: 180km/h'), ('V-max: 183km/h'));
DE32:array[0..4] of String = (('V-max: 225km/h'), ('V-max: 233km/h'), ('V-max: 238km/h'), ('V-max: 240km/h'), ('V-max: 249km/h'));
implementation
{$R *.dfm}
procedure TForm1.E301Click(Sender: TObject);
begin
seria:='DE30';
ListBox1.Clear;
for i:=0 to 17 do
ListBox1.Items.Add(E30[i]);
end;
procedure TForm1.E321Click(Sender: TObject);
begin
seria:='DE32';
ListBox1.Clear;
for i:=0 to 4 do
ListBox1.Items.Add(E32[i]);
end;
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
ShowMessage(DE32[ListBox1.ItemIndex] );
end;
end.
To mój program. Zmienne np. E30, E32 posiadają jakie wersje jakie posiadały silniki. Zmienne np. DE30, DE32 mają dane zawierać o prędkości maksymalnej, przyśpieszeniu itd. i będą w jakiejś formie wyświetlane. I tak jak mamy teraz w programie 'na sztywno' ShowMessage(DE32[ListBox1.ItemIndex] ); to takie cudo mi działa. Mam wybrane BMW E32 to klikając na odpowiedni silnik dane dobrze się wyświetlają, ale wiadomo, serii jest ogrom i tworzyć if'y albo case'y to jest nie na łeb więc po to stworzyłem zmienną "seria" i teraz chciałbym się dowiedzieć czy idzie to połączyć ze sobą jak np. w php ("echo $seria+$costam"). Pewnie zauważycie, że jestem początkujący w Delphi :P