AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi VirtualTreeView Layout und Werte in INI speichern
Thema durchsuchen
Ansicht
Themen-Optionen

VirtualTreeView Layout und Werte in INI speichern

Ein Thema von Assertor · begonnen am 13. Okt 2007 · letzter Beitrag vom 14. Okt 2007
Antwort Antwort
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

VirtualTreeView Layout und Werte in INI speichern

  Alt 13. Okt 2007, 13:27
Hallo DPler,

ich überlege gerade, wie ich das Aussehen (also die Anordnung und Breite der Columns) und die einzelnen Zeilen sinnvoll in einer INI speichern kann.

Grund: Alle Programmeinstellungen der GUI werden in einer (Unicode) INI gespeichert. Bei den Zeilen wäre es ja möglich etwas in folgender Richtung zu machen:

Delphi-Quellcode:
[Datasets]
SetCount=7
Set1="234234","adfasf","asfasdf"
Set2...Set7
Nur mal ganz abstrakt. Ich habe schon etwas rumgesucht und gegoogelt - nur ne halbe Stunde/Stunde.

Gibt es da schon was fertiges? Auf Mikes Seite ist zwar ein INI Descendant, aber der ist hierfür vollkommen ungeeignet, da er Wertepaare horizontal auflistet, ich aber eine vertikale Anordnung der unterschiedlichen Werte habe. Zusätzlich behandelt dieser auch das Layout speichern nicht.

Und VST.LoadFrom/SaveToFile kenne ich, aber das ist etwas zu Binär

Gruß winkel79
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#2

Re: VirtualTreeView Layout und Werte in INI speichern

  Alt 13. Okt 2007, 14:36
schade das meine tutorials nicht bei google auffindbar sind?!

columns laden
columns speichern
  Mit Zitat antworten Zitat
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#3

Re: VirtualTreeView Layout und Werte in INI speichern

  Alt 14. Okt 2007, 14:00
Hallo Marcus,

Zitat von M. Hassmann:
schade das meine tutorials nicht bei google auffindbar sind?!
In der Tat. Die hab ich nicht bei Google gefunden. Ich habe aber auch nur in englisch gesucht - gewohnheit

Vielen Dank für die Beispiele. Ich habe Sie für mich noch etwas abgewandelt, so daß die Positionen der Spalten mitgespeichert werden.

Wer es gebrauchen kann:
Delphi-Quellcode:
procedure SaveGrid(AIniFile: TTntMemIniFile; ATreeView: TVirtualStringTree;
  GridName: WideString);
var
  iColNr : integer;
begin
  if Assigned(AIniFile) and Assigned(ATreeView) and
     (ATreeView.Header.Columns.Count > 0) then
  with AIniFile do
    for iColNr := 0 to ATreeview.Header.Columns.Count-1 do
    begin
      AIniFile.WriteInteger(GridName, 'ColWidth'+IntToStr(iColNr),
        ATreeView.Header.Columns[iColNr].Width);
      AIniFile.WriteInteger(GridName, 'Position'+IntToStr(iColNr),
        ATreeView.Header.Columns[iColNr].Position);
    end;
end;

procedure LoadGrid(AIniFile: TTntMemIniFile; ATreeView: TVirtualStringTree;
  GridName: WideString);
var
  iColNr : integer;
begin
  if Assigned(AIniFile) and Assigned(ATreeView) then
  with AIniFile do
    for iColNr := 0 to ATreeview.Header.Columns.Count-1 do
    begin
      ATreeView.Header.Columns[iColNr].Width := AIniFile.ReadInteger(
        GridName, 'ColWidth'+IntToStr(iColNr), ATreeView.Header.Columns[iColNr].Width);
      ATreeView.Header.Columns[iColNr].Position := AIniFile.ReadInteger(
        GridName, 'Position'+IntToStr(iColNr), ATreeView.Header.Columns[iColNr].Position);
    end;
end;
Vorher natürlich Grid und AIni zuweisen. Bei Bedarf TTntMemIni durch TMemIni o.ä. ersetzen. Ist ja nur ein Unicode Handler.

Jetzt fehlt nur noch das Lesen/Speichern der Nodes in INIs - Hat da auch schon wer etwas "erfunden"?

Gruß winkel79
Frederik
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#4

Re: VirtualTreeView Layout und Werte in INI speichern

  Alt 14. Okt 2007, 20:18
entweder du nutzt die nativen methoden.
oder du machst das mal selbst

musst doch nur die knotenliste durchlaufen und jeden record in eine datei ablegen.
beim neuerstellen des forms das ganze dann wieder laden.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 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