Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - String-List
Smartie - Mo 30.05.05 09:34
Titel: String-List
Hallo,
so wie ich das verstehe, kann ich nicht zwei verschiedene Datensätze nebeneinander in eine Stringlist setzen (Ich habe zwei Vektoren, der Eine beinhaltet die Variablennamen, der andere die Daten selbst).
Ok, dann muß ich das wohl über Zwei Stringlisten speicehrn.
Nur, wie mach ich das, den Inhalt eines Array of Variant in eine String-Liste zu speichern. Das ganze natürlich in eine txt-Datei, die, sollte sie schon existieren, gelöscht bzw. überschrieben werden soll.
Ich stehe grad irgendwie auf dem Schlauch.
Herzlichen Dank und lieben Gruß
Smartie
Lannes - Mo 30.05.05 11:46
Hallo,
wenn ich deine Frage richtig verstehe, müsste die StringList geignet sein.
Hier mal etwas Code zu
Names und
Values:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm1.Button2Click(Sender: TObject); var MySL : TStringList; begin MySL := TStringList.Create; try MySL.Add('Peter=12'); MySL.Add('Hans=21'); MySL.Add('Peter=16'); showmessage(MySL[1]); showmessage(MySL.Names[1]); showmessage(MySL.Values[MySL.Names[1]]); MySL.Values[MySL.Names[1]] := '100'; showmessage(MySL[1]); showmessage(MySL.Values['Hans']); Memo1.Lines.AddStrings(MySL); MySL.SaveToFile('c:\Temp\daten.txt'); finally MySL.Free; end; end; |
Um ein Array of Variant zu speichern hilft Dir
varTyp :
Delphi-Quelltext
1: 2:
| if VarType(MyArrOfVar[i]) = varString then |
Die Typen z.B. varString, varInteger ... findest Du in der Delphi-Hilfe unter "
VarType".
Heiko - Mo 30.05.05 12:03
Aber mit array zu arbeiten ist besser als mit StringLists.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| type TDaten=record Variablenname: String; Ziel: String; end;
var Daten: array of TDaten; ... |
Smartie - Mo 30.05.05 12:56
Heiko hat folgendes geschrieben: |
Aber mit array zu arbeiten ist besser als mit StringLists.
|
Ja, das Array exestiert bereits, genau genommen zwei, eines für die Daten, das andere für die Variablennamen.
Ich arbeite auch damit udn kan ndamit auch gut leben. aber mein Abteilungsleiter, der an dem Projekt mitarbeitet, möchte unbedingt die Daten in einer Stringlist.
Danke und lieben Gruß
Smartie
deccer - Mo 30.05.05 13:28
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| var xSL: TStringlist; aDaten: array of TDaten; iIndex: integer;
begin xSL := TStringlist.Create; for iIndex := 0 to High(aDaten) do xSL.Add(aDaten[iIndex].VariablenName + '=' + aDaten[iIndex].Wert); xSL.SaveToFile('daten.txt'); FreeAndNil(xSL); end;
// soweit das füllen :)
function GetVarValue(xSL: TStringlist; const VariableName: string): string; var iIndex: integer;
begin Result := ''; if not Assigned(xSL) then Exit; for iIndex := 0 to xSL.Count - 1 do if xSL.Values[VariableName] <> '' then begin Result := xSL.Values[VariableName]; Exit; end; end; |
alzaimar - Mo 30.05.05 13:50
@Heiko: Wieso sind Arrays besser? Ich bevorzuge, soweit es geht, die von Delphi bereitgestellten Klassen. Die TStringlist kann sortieren, sich speichern, laden usw. Alles, was ich mit einem Array erst mühsam selbst programmieren müsste.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!