2017-10-27 3 views
-3

Ich habe ein einfaches Formular mit TstringGrid mit 2 Spalten, TStringColumn und TCheckColumn hinzugefügt. Ich habe viele Beispiele zum Speichern des Inhalts in einer Datei gesehen, wenn die Zellen Text oder Zahlen enthalten. Ich habe keine Beispiele zum Speichern mit einer gesehen. Ich gehe davon aus, dass ich jede CheckColumn Zelle prüfen, ihren Zustand bestimmen und einen Wert zuweisen muss, der in der Datei gespeichert werden kann. Oder vielleicht gibt es einen eleganteren Weg, dies zu tun.Inhalt speichern und laden TStringGrid

Zum Sortieren - wieder viele Beispiele mit Strings oder Zahlen, aber keine mit . Ich habe HeaderClick aktiviert. Auf der TStringColumn möchte ich alphabetisch sortieren - Auf der TCheckColumn - möchte ich überprüfte Artikel an der Spitze der Spalte.

Ich benutze Delphi 10.2.1 und werde für Android kompilieren.

+0

Bitte, * eine * Frage per Post. –

+0

Danke Tom - Sollte ich als separate Qs erneut einreichen oder auf Antworten warten - war mir die eine Frage per Postregel nicht bekannt :( – WobblyBob

+1

Da noch niemand auf diesen Beitrag geantwortet hat, lass die Datei speichern/laden aber entferne die Sortierung und poste sie als neue Frage Bitte lesen Sie dann [** Asking **] (http://stackoverflow.com/help/asking), um zu erfahren, worüber Sie nachfragen und wie Sie Ihre Frage stellen können, insbesondere [** Wie frage ich eine gute Frage **] (https://stackoverflow.com/help/how-to-ask) und alle verknüpften Dokumente Achten Sie darauf, dass Sie Code für das, was Sie bereits ausprobiert haben, beschreiben und zeigen und erklären, warum es nicht funktioniert hat –

Antwort

0

Ohne zu sagen, Sie sollten nicht von hier aus beginnen - ich werde nur die spezifische Frage beantworten; Um es einfach zu halten, würde ich: Speichern: Iterieren durch die Zeilen und nehmen Sie den Zustand der Kontrollkästchen und Präfix der Zeichenfolge Element mit BoolToStr (theCheckValue) + ':' + theContents der Zeichenfolge. Speichern Sie dann die Zeichenfolgenliste.

Laden: laden Sie in die stringList und dann iterieren Sie und brechen Sie die Zeichenfolge auseinander mit Pos auf der ':' und StrToBool den linken Teil, setzen Sie das markierte Element auf dieser Basis. Keine IDE bekommen, also nicht getestet, aber das wäre mein Ansatz als ein bisschen ein Hack.