Autor Beitrag
Lokke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Do 02.06.05 09:22 
Hi @All!

meine Frage wäre:

Ich habe ein ValueListEditor,

1.Spalte: Kunden-ID(fest) durchnummeriert von 1-18 und
2.Spalte: Kundenname, die über eine Picklist ausgewählt werden können.

Nun möchte ich wenn ich auf Button1click mache die Werte die aktuell ausgewähtl worden sind in ein Array speichern. Es müssen nicht alle Spalten unter Kundenname gefüllt werden aber Kunden-ID 1-18 muss, soll im Array stehen.
Bsp.

Kunden-ID Kundenname

1----------->Mustermann
2----------->Müllermeier
3----------->XYZ
4----------->
...
18---------->

Mein Array muss ja 2 Spalten haben. D.h. so was wie setlength(array,2), oder so. Wenn dann die Einstellungen gespeichert sind und ich am nächsten Tag Programm wieder starte soll meine gespeicherte Einstellung aus dem Array in mein ValueListEditor geladen werden. Das könnte ich ja unter
procedure TForm1.FormCreate(Sender: TObject); erzeugen.

Ich weiß nicht genau wie ich dieses Problem angehen soll. Wäre froh über einige Beispiele oder Anregungen :wink:

Danke im voraus.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 02.06.05 09:59 
Moin!

Ähm, ehrlich gesagt verstehe ich dein Problem nicht, weil deine Wunschvorstellung möglicherweise nicht das ist, was du geschrieben hast... ?

Was hast du davon, wenn du die Auswahlen in ein Array schreibst, dann sind diese beim nächsten Programmstart doch immernoch nicht wieder da.

Du kannst übrigens auf den Inhalt des ValueListEditors als Stringliste zugreifen:

ausblenden Delphi-Quelltext
1:
ValueListEditor1.Strings					


Damit hast du den kompletten Inhalt auf einmal. Ansonsten schau mal in die OH.

cu
Narses
Lokke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Do 02.06.05 10:15 
Moin,

also meine Wunschvorstellung ist, dass ich die Einträge die ich im ValueListEditor gemacht habe speichere,damit ich die Belegungen später wieder aufrufen kann, vielleicht in eine INI-Datei? und beim erneuten Programmstart sollen mir diese Belegungen im ValueListEditor gezeigt werden.

Ich hatte mir gedacht, dass ich vielleicht das ganze über ein array machen kann???
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 02.06.05 10:25 
Moin!

user profile iconLokke hat folgendes geschrieben:
die Eintrge die ich im ValueListEditor gemacht habe speichere,damit ich die Belegungen spter wieder aufrufen kann, vielleicht in eine INI-Datei? und beim erneuten Programmstart sollen mir diese Belegungen im ValueListEditor gezeigt werden.

Z.B. so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
// Speichern
ValueListEditor1.Strings.Delimiter := #255;
ValueListEditor1.Strings.QuoteChar := #254;
IniFile.WriteString('Section','Key',ValueListEditor1.Strings.DelimitedText);

// Laden
ValueListEditor1.Strings.Delimiter := #255;
ValueListEditor1.Strings.QuoteChar := #254;
ValueListEditor1.Strings.DelimitedText := IniFile.ReadString('Section','Key','');

Muss natürlich noch das "übliche" Zeuch drum rum. :wink:

cu
Narses
deccer
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 57



BeitragVerfasst: Do 02.06.05 10:26 
jaw, sollte da nich VLE.Items.SaveToFile() reichen?
is doch auch nich mehr als ne TStringList ...


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
var 
  xSL: TStringlist;

begin
  ...
  xSL.Add('key=' + Value);
  xSL.Add('key=' + Value);
  ...
  Value := xSL.Values['key']; 
  ...
end;


je nachdem was value iss dann dementsprechend mit den typkonvertierfunktionen basteln, IntToStr, StrToBool, FloatToStr, StrToIntDef, ...

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 02.06.05 10:37 
Moin!

Man(n) Lese und Schreibe, in dieser Reihenfolge... :mahn: :wink:

.SaveToFile ersetzt dann aber die INI-Datei, die er verwenden will, das wird wohl nicht so praktisch sein, was? :roll:

Und die Strings der Liste nicht als StringListe zu verarbeiten, sondern exzessive Typkonversionen anzustellen ist IMHO auch nicht wirklich einfacher. :wink: (hast du sogar selbst im 2. Satz geschrieben...)

cu
Narses
Lokke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Do 02.06.05 10:39 
@Narses danke, das würd glaub ich gehen, aber eine Frage hab ich noch, wegen dem Trennzeichen.


du hast ja #255, #254, ich hätte gerne "Enter" als Trennzeichen. Welche Nummer wird den dieser Taste zugewiesen?

Danke dir nochmals :D
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 02.06.05 10:43 
Moin!

user profile iconLokke hat folgendes geschrieben:
aber eine Frage hab ich noch, wegen dem Trennzeichen.
du hast ja #255, #254, ich hätte gerne "Enter" als Trennzeichen.

Lass es so stehen, sonst wird es nicht funktionieren, alles andere ist mehr Aufwand (man könnte ersatzweise auch .CommaText statt .DelimitedText nehmen, aber IniFile.Read/WriteString "frisst" die äusseren Anführungszeichen und macht so die Liste kaputt).

Wenn du die Strings wirklich einzeln in Schlüsseln ablegen willst, mußt du auch eine Schleife nehmen, die dann jeden einzelnen String des VLE schreibt und mit der Anzahl klar kommt... und... und... :wink:

cu
Narses
Lokke Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 54



BeitragVerfasst: Do 02.06.05 10:49 
@Narses,

du hast recht bei anderen Trennzeichen funz das nicht so. Ich bleib bei deiner Version denn es funktioniert supi :dance:

also danke dir nochmals

DANKE DANKE DANKE :flehan: