AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TPanel im File abspeichern

Ein Thema von Glühwürmchen · begonnen am 25. Jul 2010 · letzter Beitrag vom 26. Jul 2010
Antwort Antwort
Benutzerbild von Glühwürmchen
Glühwürmchen

Registriert seit: 31. Okt 2003
Ort: Pfinztal
156 Beiträge
 
Delphi 2010 Professional
 
#1

TPanel im File abspeichern

  Alt 25. Jul 2010, 15:36
Delphi-Version: 2010
Hallo,

ich programmiere ein Tool, das mich beim lösen eines Logikrätsels unterstützt.

Kurz zur Definition von Logikrätsel:
Ein Bild, das in einer Matrix (vergleichbbar mit KO-System oder einer Tabelle) abgebildet wird (werden soll). Am linken und oberen Rand der Matrix stehen HinweisZahlen, die Auskunft geben, wie viele Felder der Matrix in der Zeile oder Spalte des Hinweises schwarz gefärbt werden müssen.
...

Mein Programm bietet also ein Formular, das jedes einzelne Feld der Matrix als TPanel darstellt. Klicke ich auf ein Panel, ändert es die Farbe.

Da die Lösung eines Logikrätsels viele Stunden in Anspruch nehmen kann, soll die Matrix abgespeichert werden können.
Mir schwebt vor, die Objekte vom Typ TPanel gleich komplett abzuspeichern, da mir das die Arbeit erspart, sie nach dem Laden erst wieder richtig bemalen und positionieren zu müssen (das Panel weiß ja, ich welchem Zustand es sich befindet).

Meine Idee war es, alle Panels der Matrix in eine Stringliste zu packen und diese mit sl.SaveToFile(...) abzuspeichern.
Funzt aber nicht, weil nur die Strings der Stringliste gespeichert werden und nicht die angehängten Objekte!

Was kann ich tun?
Gruß Glühwürmchen
<><
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: TPanel im File abspeichern

  Alt 25. Jul 2010, 15:39
Ich würde das Design von der Logik trennen. Sprich, du hast deine Daten, die du abspeicherst und eine Routine, die aus diesen Daten die Panels platziert/färbt.

Dann bist du nicht auf die Panels angewiesen und könntest später problemlos deine GUI z.B. mit TCanvas lösen (nur als Beispiel).
Dazu musst du dann nur die Routine anpassen, die die Daten verarbeitet.
  Mit Zitat antworten Zitat
Benutzerbild von Glühwürmchen
Glühwürmchen

Registriert seit: 31. Okt 2003
Ort: Pfinztal
156 Beiträge
 
Delphi 2010 Professional
 
#3

AW: TPanel im File abspeichern

  Alt 25. Jul 2010, 19:47
Hi Matze,

aus Deiner Antwort schließe ich, dass es keine direkte Möglichkeit von Delphi gibt, ein Objekt abzuspeichern, richtig?

In dem Fall werde ich beides selbstverständlich trennen.
Ich dachte halt nur, ich könnte hier zwei Fliegen mit einer Klappe schlagen...

~~~~~~~~~~~~

Danke, für Deine schnelle Antwort.

Gruß
Glüh
Gruß Glühwürmchen
<><
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TPanel im File abspeichern

  Alt 25. Jul 2010, 19:48
Gibt es schon, man sollte aber Design, Logik und Daten trennen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Glühwürmchen
Glühwürmchen

Registriert seit: 31. Okt 2003
Ort: Pfinztal
156 Beiträge
 
Delphi 2010 Professional
 
#5

AW: TPanel im File abspeichern

  Alt 25. Jul 2010, 22:08
Gibt es schon, man sollte aber Design, Logik und Daten trennen
Werte Kollegen,

es ist nett, dass Ihr mir klar machen wollt, wie ein sauberer Programmierstil aussieht, aber Ihr verschwendet meine und Eure Zeit.
Ich bin seit 2001 als Programmierer tätig und weiß grundsätzlich um diese Dinge.

Ich fände es nett, wenn Ihr mir eine Antwort auf meine Frage geben würdet, statt mich zu belehren, wie ich programmieren sollte.

Bitte schließt aus meiner vereinfachten Problemdarstellung nicht, dass ich einen Spaghetticode geschrieben habe, der völlig ohne Sinn und Struktur ist.
Ich versuchte lediglich das Ziel das ich erreichen will, mit einfachen Worten darzustellen.
Gruß Glühwürmchen
<><

Geändert von Glühwürmchen (25. Jul 2010 um 22:11 Uhr)
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#6

AW: TPanel im File abspeichern

  Alt 25. Jul 2010, 22:24
Soweit ich verstehe, willst du die Eigenschaften des TPanels in eine Datei speichern.
"Out of the box" geht das bei Delphi nur mit published Eigenschaften (also die aus dem Objekt Inspektor)
Wenn das reicht, kannst du das so machen:

Delphi-Quellcode:
var
 FStream: TStream;
...
..
.
FStream := TFileStream.Create(AppPath+'Panel1.raw',fmCreate);
FStream.WriteComponent(Panel1) ;
FreeAndNil(FStream) ;
Auslesen kannst du das dann wieder mit FStream.ReadComponent();

P.S.:
Fühl dich doch bitte nicht gleich angegriffen. Der Tipp der Logiktrennung ist sicher nicht böse gemeint gewesen.
  Mit Zitat antworten Zitat
Benutzerbild von Glühwürmchen
Glühwürmchen

Registriert seit: 31. Okt 2003
Ort: Pfinztal
156 Beiträge
 
Delphi 2010 Professional
 
#7

AW: TPanel im File abspeichern

  Alt 26. Jul 2010, 07:59
P.S.:
Fühl dich doch bitte nicht gleich angegriffen. Der Tipp der Logiktrennung ist sicher nicht böse gemeint gewesen.
Ja, ist eine Schwäche von mir.
Bitte entschuldigt meine Worte.

Danke für den Tip, ich werde es ausprobieren.
Gruß Glühwürmchen
<><
  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:06 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