| Autor |
Beitrag |
elcomportal
      
Beiträge: 48
Win XP home
D5 standard
|
Verfasst: Mo 30.01.06 22:08
Hi,
ich habe mal wieder eine kleine Frage.
also ich habe ein Programm mit vielen CheckBoxen. Die werden für Einstellungen an spezieller Hardware verwendet. So, nun will ich die Zustände dieser CheckBoxen in einer Textdatei speichern.
mache ich so:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| for i:=1 to 100 do begin if TCheckBox(findComponent('CheckBox'+IntToStr(i))).checked = true then writeln(f,'1') else writeln(f,'0'); end; |
so nun will ich den Kram auch wieder einlesen und die Checkboxen wieder entsprechend setzen, ich dachte so: Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| for i:=1 to 100 do begin readln(f,s); if s ='1' then TCheckBox(findcomponent('CheckBox'+IntToStr(i))).checked := true; if s ='0' then TCheckBox(findcomponent('CheckBox'+IntToStr(i))).checked := false; end; |
Aber das geht nicht, wie muss ich das machen? Kann mir da bitte mal einer auf die Sprünge helfen?
Danke.
Mfg
Torsten
_________________ Starkstrom macht klein und hässlich
Zuletzt bearbeitet von elcomportal am Mo 30.01.06 22:11, insgesamt 1-mal bearbeitet
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 30.01.06 22:10
Moin!
Warum nicht INI-Dateien? Geht doch viel einfacher.
Such mal hier danach im Forum, gibt genug Beispiele dazu. Wenn du nicht klar/weiter kommst, kannste dich ja nochmal melden.
cu
Narses
|
|
elcomportal 
      
Beiträge: 48
Win XP home
D5 standard
|
Verfasst: Mo 30.01.06 22:16
Hi,
so schnell hatte ich noch nie eine Antwortbekommen!!
INI Dateien sind in der Grösse ja so begrenzt. Ich dachte da wären Textdateien besser. Aber hätte ich da nicht das selbe Problem?
Mfg
Torsten
_________________ Starkstrom macht klein und hässlich
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mo 30.01.06 22:28
Moin!
elcomportal hat folgendes geschrieben: | | INI Dateien sind in der Grösse ja so begrenzt. Ich dachte da wären Textdateien besser. |
Was willst du denn da speichern...  Wenn das wirklich soo viel ist, dann ist eine Datenbank aber sicherlich besser (kann ich mir aber nicht vorstellen).
elcomportal hat folgendes geschrieben: | | Aber hätte ich da nicht das selbe Problem? |
Ehrlichgesagt habe ich dein Problem noch nicht so richtig verstanden; du kannst auf jeden Fall in INI-Dateien sowas machen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var IniFile: TIniFile; i: Integer; begin IniFile := TIniFile.Create('irgendwo.ini'); IniFile.EraseSection('Settings'); [...] IniFile.WriteBool('Settings','RadioButton'+IntToStr(i),RadioButton1.Checked); [...] IniFile.Free;
IniFile.ReadBool('Settings','RadioButton'+IntToStr(i),RadioButton1.Checked); |
Das ganze jetzt noch etwas auf die FindComponent-Klamotte trimmen, fertig.
cu
Narses
|
|
elcomportal 
      
Beiträge: 48
Win XP home
D5 standard
|
Verfasst: Di 31.01.06 06:37
Hi,
na ja, das primäre Problem ist ja nicht die Datei und deren Handhabung, sondern das ich die CheckBoxen nicht mit TCheckBox(findcomponent('CheckBox'+IntToStr(i))).checked := true; gechecked kriege. Da kommt einfach kein Haken rein...
Mfg
Torsten
_________________ Starkstrom macht klein und hässlich
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 31.01.06 09:48
Moin!
Pack mal den Namen des Formulars mit rein, a la:
Delphi-Quelltext 1:
| TCheckBox(Form1.findcomponent('CheckBox'+IntToStr(i))).checked := true; |
cu
Narses
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Di 31.01.06 10:22
Hallo!
Daran wird´s nicht liegen. Hätte die Komponente nicht gefunden werden können, so wäre es zu einer Zugriffsschutzverletztung gekommen (Findkomponent liefert NIL, TCheckbox(NIL).Checked:=0 -> *AV*). Setze mal ein paar Breakpoints beim Einlesen der Datei und kucke dir die Werte von S an.
BTW: Eine Datenbank ist nicht immer zu empfehlen, wenn man größere Datenmengen hat, sondern eigentlich dann angesagt, wenn diese schnell und einfach auswertbar sein sollen.
Cu,
Udontknow
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Di 31.01.06 10:36
Moin!
Udontknow hat folgendes geschrieben: | | Daran wird´s nicht liegen. Hätte die Komponente nicht gefunden werden können, so wäre es zu einer Zugriffsschutzverletztung gekommen (Findkomponent liefert NIL, TCheckbox(NIL).Checked:=0 -> *AV*). Setze mal ein paar Breakpoints beim Einlesen der Datei und kucke dir die Werte von S an. |
Ich mach das immer mit ShowMessage(), ist mir zu umständlich mit dem Debugger.  Naja, Geschmacksache...
Udontknow hat folgendes geschrieben: | | BTW: Eine Datenbank ist nicht immer zu empfehlen, wenn man größere Datenmengen hat |
Schon klar, war auch nur zur "Abschreckung", da ich mir nicht vorstellen konnte, das da wirklich soo viele Daten zu sichern sind.
cu
Narses
|
|
elcomportal 
      
Beiträge: 48
Win XP home
D5 standard
|
Verfasst: Fr 03.02.06 21:35
Hmm, das funzt immer noch nicht. Mal setzt er ein solch Teil, mal nicht. Das Verhalten ist absolut nicht reproduzierbar. Ich versteh' es nicht.
Mfg
Torsten
_________________ Starkstrom macht klein und hässlich
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Sa 04.02.06 00:19
Neue Frage - Neuer Thread ! Sorry
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 04.02.06 11:07
Blackheart666 hat folgendes geschrieben: | | Neue Frage - Neuer Thread ! Sorry |
DIe Frage wurde doch noch gar nicht beantwortet. 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Narses
      

Beiträge: 10185
Erhaltene Danke: 1261
W11x64
TP3 .. D7pro .. D10.2CE
|
Verfasst: Sa 04.02.06 13:28
Moin!
Zeig mal mehr Code (wenn zuviel, als ZIP in den Anhang), so kommen wir da nicht weiter.
cu
Narses
|
|