07. marts 2007 - 18:35Der er
4 kommentarer og 1 løsning
gem checkbox i en INI fil
Hei alle eksperter. Jeg er lige begyndt at "lege" med INI filer, og jeg kan ikke lige få den til at gemme indstillingen i INI filen. Jeg bruger normalt denne kode:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); Var MyINI: TINIFile; // TINIFile objektet PathToINIFile: String; Begin PathToINIFile := IncludeTrailingBackslash(ExtractFilePath(ParamStr(0)))+'test.ini'; MyINI := TINIFile.Create(PathToINIFile); MyINI.WriteInteger('Form1', 'Width', Form1.Width); MyINI.Free; end;
hvordan laver jeg indstillingen checkbox1.checked := true/false??
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
var TheIni: TIniFile; str: string; begin str := ExtractFilePath(Application.ExeName) + 'edit1.ini'; TheIni := TIniFile.Create(str); TheIni.WriteString('Name', 'Num1', Edit1.Text); end;
// læs fra ini
var TheIni: TIniFile; Str: String; begin str := ExtractFilePath(Application.ExeName) + 'edit1.ini'; TheIni := TIniFile.Create(str); edit1.Text:= TheIni.ReadString('Name', 'Num1', Edit1.Text); end;
under din Form1: TForm1;
var ini : Tinifile;
//form close
var i : Integer; begin ini := TIniFile.Create(ExtractFilepath(Application.Exename) + 'MyIniFile.ini');
for i := 0 to ComponentCount-1 do if (Components[i] is TCheckbox) then ini.WriteBool('Indstillinger',components[i].Name,(Components[i] as TCheckbox).Checked); ini.Free; end;
// form create
var i : integer; begin ini := TIniFile.Create(ExtractFilepath(Application.Exename) + 'MyIniFile.ini');
for i := 0 to ComponentCount-1 do if (Components[i] is TCheckbox) then (Components[i] as TCheckbox).Checked := ini.ReadBool('Indstillinger',components[i].Name,false); ini.Free; end;
Kan du hjælpe mig med det her problem. jeg er kun gået igang med OnClose og bruger denne kode:
Var MyINI: TINIFile; // TINIFile objektet PathToINIFile: String; Begin PathToINIFile := IncludeTrailingBackslash(ExtractFilePath(ParamStr(0)))+'test.ini'; MyINI := TINIFile.Create(PathToINIFile); if (Components[MyINI] is TCheckbox) then (Components[MyINI] as TCheckbox).Checked := MyINI.ReadBool('Indstillinger',components[MyINI].Name,false); MyINI.Free;
men jeg får denne fejl: "[Pascal Error] Unit5.pas(60): E2010 Incompatible types: 'Integer' and 'TIniFile'" kan du hjælpe med en løsning???
fejlen ligger nok i dine [MyINI] prøv at erstatte dem
Var i: Integer; PathToINIFile: String; MyINI: TINIFile; Begin PathToINIFile := IncludeTrailingBackslash(ExtractFilePath(ParamStr(0)))+'test.ini'; MyINI := TINIFile.Create(PathToINIFile); for i := 0 to ComponentCount-1 do if (Components [i] is TCheckbox) then (Components [i] as TCheckbox).Checked := MyINI.ReadBool('Indstillinger',components [i].Name,false); MyINI.Free;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.