Thema: Delphi verkettungsproblem

Einzelnen Beitrag anzeigen

Florian_

Registriert seit: 15. Sep 2004
Ort: Merzig
5 Beiträge
 
#5

Re: verkettungsproblem

  Alt 5. Jan 2005, 20:26
hoi!

zum verständniss
diese liste

Code:
list :array[0..8] of string = ('Hersteller', 'Typ', 'Baujahr', 'Farbe',
                               'Türzahl', 'Motor', 'Hubraum', 'Leistung', 'Preis');
sollte eigentlich zuerst nur dafür da sein um die stringgridbeschriftung nicht von hand zu fuss zu machen sondern mithilfe einer schleife

Code:
for i := 0 to 8 do
  begin
  SG_AUSGABE.Cells[i,0] := list[i];
  end;
dies sind also die überschriften und werden so übernommen

nun sieht mein record so aus:

Code:
type
  TFahrzeug = record
    Hersteller : string;
    Typ       : string;
    Baujahr   : integer;
    Farbe     : string;
    Tuerzahl  : integer;
    Motor     : string;
    Hubraum   : real;
    Leistung  : real;
    Preis     : real;
  end;

und so gehts weiter

Code:
with Fahrzeug do
  begin
  Hersteller := ED_HER.Text;
  Typ       := ED_TYP.Text;
  Baujahr   := StrToInt(ED_BAU.Text);
  Farbe     := ED_FARB.Text;
  Tuerzahl  := StrToInt(ED_TUER.Text);
  Motor     := ED_MOTOR.Text;
  Hubraum   := StrToFloat(ED_HUB.Text);
  Leistung  := StrToFloat(ED_LEISTUNG.Text);
  Preis     := StrToFloat(ED_PREIS.Text);

da die namen gleich sind (record und liste) wollte ich mir ersparen 9 mal zu schreiben


Code:
SG_AUSGABE.Cells[0,puffer] := Fahrzueg.Hersteller;
SG_AUSGABE.Cells[1,puffer] := Fahrzueg.Typ;
usw.

sondern wollte es mit hilfe einer stringverknüpfung lösen

Code:
for i := 0 to 8 do
  begin
  SG_AUSGABE.Cells[i,puffer] := Fahrzeug + list[i];
  end;
dadurch ist auch der erwähnte fehler verursacht worden der mich zu dem posting gebracht hat
habe jetzt mit hilfe von deiner version paresy folgendes hinbekommen:
Code:
  for i := 0 to 8 do
    begin
    case i of
    0: SG_AUSGABE.Cells[i,puffer] := Hersteller;
    1: SG_AUSGABE.Cells[i,puffer] := Typ;
    2: SG_AUSGABE.Cells[i,puffer] := IntToStr(Baujahr);
    3: SG_AUSGABE.Cells[i,puffer] := Farbe;
    4: SG_AUSGABE.Cells[i,puffer] := IntToStr(Tuerzahl);
    5: SG_AUSGABE.Cells[i,puffer] := Motor;
    6: SG_AUSGABE.Cells[i,puffer] := FloatToStr(Hubraum);
    7: SG_AUSGABE.Cells[i,puffer] := FloatToStr(Leistung);
    8: SG_AUSGABE.Cells[i,puffer] := FloatToStr(Preis);
    end;
funtzt auch ist aber vom schreibaufwand eigentlich genauso wie wenn ich die cells einzeln fülle würde
hoffe das wa jetzt relativ verständlich

mfg
Linux Love:
unzip;strip;touch;finger;mount;fsck;more;yes;unmou nt;sleep
  Mit Zitat antworten Zitat