Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TValueListEditor oder ? (https://www.delphipraxis.net/87858-tvaluelisteditor-oder.html)

Bernd Nowak 6. Mär 2007 13:43


TValueListEditor oder ?
 
Hallo alle,
ich möchte ein kleines Programm schreiben welches mir eine INI Datei erstellt. Als ANfang muss der Benutzer ein Verzeichnis auswählen wobei ich die Unterverzeichnisse in eine Liste schreiben kann.

Die Liste der Unterverzeichnisse (nur die eine Ebene) ist kein Problem.

Ich würde aber gerne eine sichtbare Liste dem Benutzer zur Hand geben nach folgendem Schema:

(radiobutton) | Verzeichnisname | Beschreibung (vorgefüllt falls INI Datei Wert nicht vorhanden mit Verzeichnisname)

Mit dem Radiobutton sollte man einen Verzeichnisnamen als Default selektieren können.

Bisher bin ich soweit das ich den Default nicht als Radiobutton habe sondern als DropDown Menü ausserhalb dieser Liste. Auch kein Problem :)
Brauche ich also nur noch eine Liste mit 2 Spalten mit Inhalt string.
Gesucht und TValueListEditor gefunden. Wie fülle ich nun die Spalten (??? habe schon in der Hilfe von Delphi 7 geschaut finde aber keine Beispiele) bzw wie kann ich Spalte Verzeichnisnamen schützen und nur die Spalte Beschreibung editierbar machen ?
Wie erhalte ich danach Zugriff auf die einzelnen Spalten/Werte ?

Und last not least ist es einfach dem Benutzer die Möglichkeit zu geben die Zeilen bewegbar zu machen ?

Oder habt ihr ein besseres Objekt ?
Hatte mir mal VirtualTreeView heruntergeladen bin aber nicht so einfach damit klargekommen.
Danke schonmal :)

marabu 6. Mär 2007 15:54

Re: TValueListEditor oder ?
 
Hallo Bernd,

die Spalte mit den Schlüsselnamen kannst du vor direkten Änderungen durch den Benutzer schützen indem du FixedCols auf 1 setzt.

Einen Wert setzen bzw. hinzufügen kannst du u.a. so:

Delphi-Quellcode:
 
begin
  ValueListEditor.Values['KEY'] := 'VALUE';
  ShowMessage(ValueListEditor.Values['KEY']);
end;
Freundliche Grüße

Bernd Nowak 7. Mär 2007 11:52

Re: TValueListEditor oder ?
 
Danke Marabu !
Hat geklappt :dancer: Bei Listen kann ich ja clear benutzen um die Items zu löschen. Wie mache ich das bei TValueListEditor ? Und wie gehe ich eine unbekannte Anzahl Zeilen durch um diese speichern zu können. Habe eine TStringlist, die ich nun als KEY benutze. Einfach diese abarbeiten (enthält ja noch den KEY) da diese mir dann den VALUE zurückgibt.
Oder gibt es eine Möglichkeit die KEYS, die intern doch bestimmt einen eigenen Index haben, der Reihe nach abzuarbeiten ?

Bernd Nowak 7. Mär 2007 12:49

Re: TValueListEditor oder ?
 
Gefunden :)
Mittels ValueListEditor.Strings.Clear kann ich die Werte wieder löschen.

marabu 7. Mär 2007 12:58

Re: TValueListEditor oder ?
 
Und Iteration funktioniert so:

Delphi-Quellcode:
var
  i: Integer;
  key: string;
begin
  with VLE do
    for i := 1 to Pred(RowCount) do
    begin
      key := Keys[i];
      ShowMessage(Format('"%s" = "%s"', [key, Values[key]]));
    end;
end;
Freundliche Grüße


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 Uhr.

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