Ich habe mir ein Programm geschreiben in dem mehrere Daten wie zum Beispiel der Name gespeichert werden soll. Das habe ich mit einen Grid geamcht der aus 10 Zeilen besteht. Ich möchte also 10 Namen Speichern und auch wieder Laden. Wie das mit dem Sichern und Laden Funktionier ist mir klar. hier ist ein stück aus dem Prog:
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: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69:
| private { Private-Deklarationen } nVariName : String; nName1 : String; nName2 : String; nName3 : String; nName4 : String;
public { Public-Deklarationen } procedure Schreibe; procedure Lese; published property VariName: String read nVariName write nVariName; property Name1: String read nName1 write nName1; property Name2: String read nName2 write nName2; property Name3: String read nName3 write nName3; property Name4: String read nName4 write nName4; end; const DATEINAME = '.\Saveinfo.mcr'; SECTION_Namen = 'Namen'; KEY_VariName = 'VariName'; KEY_NAME1 = 'Name1'; KEY_NAME2 = 'Name2'; KEY_NAME3 = 'Name3'; KEY_NAME4 = 'Name4';
var FormName: TFormName; x:real; procedure sperren;
implementation
uses iniFiles;
{$R *.dfm}
procedure sperren; begin FormName.edit1.Readonly:=true; FormName.edit1.color:=clScrollBar; end;
Procedure TFormName.Schreibe; var iniDatei:TiniFile; begin IniDatei := TIniFile.Create(DATEINAME); IniDatei.WriteString(SECTION_Namen, KEY_VariName, VariName); IniDatei.WriteString(SECTION_Namen, KEY_NAME1, Name1); IniDatei.WriteString(SECTION_Namen, KEY_NAME2, Name2); IniDatei.WriteString(SECTION_Namen, KEY_NAME3, Name3); IniDatei.WriteString(SECTION_Namen, KEY_NAME4, Name4);
end;
Procedure TFormName.Lese; var iniDatei:Tinifile; begin IniDatei := TIniFile.Create(DATEINAME); VariName := IniDatei.ReadString(SECTION_Namen, KEY_VariName, ''); Name1 := IniDatei.ReadString(SECTION_Namen, KEY_NAME1, ''); Name2 := IniDatei.ReadString(SECTION_Namen, KEY_NAME2, ''); Name3 := IniDatei.ReadString(SECTION_Namen, KEY_NAME3, ''); Name4 := IniDatei.ReadString(SECTION_Namen, KEY_NAME4, ''); end; |
Mein Problem ist nun das ich noch ein Programm habe das auf der Selben Basis funktioniert nur in dem viel mehr Daten gesichert werden.
Nun Wollte ich in der Schreiben/Lesem procedure mit einer Variable arbeiten, damit ich nicht alles 100 mal schreiben und mit if schleifen abfangen muss.
ich hatte mir das so vorgestellt:
Schreiben :
Quelltext
1:
| IniDatei.WriteString(SECTION_(VARIABLE), KEY_Name1, Name1); |
Lesen
Quelltext
1:
| Name1 := IniDatei.ReadString(SECTION_(VARIABLE), KEY_Name1, ''); |
Nur wie baue ich nun die Variable da ein ohne das ein Fehler kommt?
Code-Tags hinzugefügt. Tino