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??
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.