| Autor |
Beitrag |
patrick dee
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: So 27.04.03 11:38
hi
eine frage : wie kann man Label 1 bis Label 8 deren caption mit savetofile speichern und wieder laden mit loadfromfile ?
danke für eure hilfe
patrick
_________________ Glauben heißt nichts wissen ...
|
|
hansg
      
Beiträge: 168
Win XP Professional SP3, Vista Ultimate 32 SP1
Delphi 6 Professional
|
Verfasst: So 27.04.03 12:24
Hallo,
ich würde die Ini Funktion verwenden, in kombination mit Open / Save Dialog.
Speichern
Quelltext 1: 2: 3: 4: 5: 6: 7:
| if savedialog1.Execute then begin ini:=TiniFile.create(SaveDialog1.FileName); ini.WriteString('Labels','1',Label1.caption); ini.WriteString('Labels','2',Label2.caption); ini.free; end; |
Laden:
Quelltext 1: 2: 3: 4: 5: 6: 7:
| if Opendialog1.Execute then begin ini:=TiniFile.create(OpenDialog1.FileName); Label1.caption:=ini.ReadString('Labels','1',''); Label2.caption:=ini.ReadString('Labels','2',''); ini.free; end; |
_________________ Gruß Hans
|
|
patrick dee 
      
Beiträge: 311
Win 98SE, WinXP
D3,D6
|
Verfasst: So 27.04.03 13:30
supii danke werde ich probieren
ciao
patrick
_________________ Glauben heißt nichts wissen ...
|
|
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Mi 07.05.03 11:08
Was ist aber, wenn ein "schlauer" User beigeht und in der Ini aus dem Schlüssel "1" den Schlüssel "Eins" macht und somit der Schlüssel, der in der Prozedur geöffnet werden soll, nicht existiert. Da muß dann eine kleine Abfrage her. Ich weiß, klingt klugscheißerisch (was für ein deutsches Wort  ), aber ich mache meine Programme eigentlich nur so; ich vertraue dem User im Grunde nicht und vermute das schlimmste.. 
_________________ Hasta La Victoria Siempre
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 07.05.03 11:35
| Terra23 hat folgendes geschrieben: | Was ist aber, wenn ein "schlauer" User beigeht und in der Ini aus dem Schlüssel "1" den Schlüssel "Eins" macht und somit der Schlüssel, der in der Prozedur geöffnet werden soll, nicht existiert. Da muß dann eine kleine Abfrage her. Ich weiß, klingt klugscheißerisch (was für ein deutsches Wort ), aber ich mache meine Programme eigentlich nur so; ich vertraue dem User im Grunde nicht und vermute das schlimmste..  |
Dazu sag ich dann nur: Selber schuld (also der Anwender). Denn wenn der an Systemdateien der Software rumpfuscht, braucht er sich nicht wundern, wenn nachher nix mehr geht. Da gibts dann auch keinen kostenlosen Support mehr.
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mi 07.05.03 14:04
Bitte noch einen Ressourcen-Schutz-Block drum rumpacken, danke.
|
|
Blackout
      
Beiträge: 64
|
Verfasst: Mi 07.05.03 14:51
hi patrick dee,
falls es doch mehr als 8 Labels werden sollten kannst du dir mit folgendem Code nen bissl Tipparbeit sparen
INI Speichern:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| Procedure SaveLabels;
Var INI: TIniFile; ALabel: TComponent; I: Integer;
Begin
If Savedialog1.Execute Then Begin Try INI:= TIniFile.Create(SaveDialog1.FileName);
For I:= 1 To 8 Do // Label1, Label2, ... bis Label8 Begin ALabel:= FindComponent('Label'+IntToStr(I)); If Assigned(ALabel) Then INI.WriteString('Labels', IntToStr(I), (ALabel AS TLabel).Caption); End; Except INI.Free; End; End;
End; |
INI Laden:
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| Procedure LoadLabels;
Var INI: TIniFile; ALabel: TComponent; I: Integer;
Begin
If Opendialog1.Execute Then Begin Try INI:= TIniFile.Create(OpenDialog1.FileName);
For I:= 1 To 8 Do Begin ALabel:= FindComponent('Label'+IntToStr(I)); If Assigned(ALabel) Then (ALabel AS TLabel).Caption:= INI.ReadString('Labels', IntToStr(I), ''); End; Except INI.Free; End; End;
End; |
Is doch viel eleganter
Edit: Hätte doch beinahe die Funktion zum Laden vergessen
_________________ MfG Blackout
Zuletzt bearbeitet von Blackout am Mi 07.05.03 15:39, insgesamt 1-mal bearbeitet
|
|
Terra23
      
Beiträge: 872
Win 8
Delphi 7
|
Verfasst: Mi 07.05.03 15:03
@UGrohne:
Stimmt, hast du ja eigentlich recht. Ist zwar Schei** für den User, wenn nix mehr geht, aber schon meine Mama sagte zu mir als ich klein war: "Wer nicht hören will, muß fühlen!". 
_________________ Hasta La Victoria Siempre
|
|