Avatar billede php_teddy Nybegynder
23. januar 2002 - 10:47 Der er 37 kommentarer og
2 løsninger

Ini filer

hej alle sammen

hvordan laver/loader jeg en ini fil.

Når man retter noget skal den gemme det i ini også skal den loade ini'en ved program start.

Hvis jeg har forståede det rigtigt...
Så bruger man ini filer til at f.eks gemme edit1.text; og når programmet starter så udfylder den edit1.text automatisk
Avatar billede ziron Nybegynder
23. januar 2002 - 10:50 #1
prøv at kigge på www.ziron.dk/lege_med_inifiler.zip det visser vist det du spørger om :)

/ZIRON
Avatar billede ziron Nybegynder
23. januar 2002 - 10:51 #2
Avatar billede martinlind Nybegynder
23. januar 2002 - 10:52 #3
TInifile som ligger i Inifiles unit'en

VAR
f : TInifile;
begin
  F := TInifile.Create('MyInifile.ini);
  F.WriteString('DefaultValues','EditFields',Edit1.Text);
  F.Free;

  F := TInifile.Create('MyInifile.ini);
  Edit1.Text := F.ReadString('DefaultValues','EditFields','');
  F.Free;

end;

/Martin
Avatar billede php_teddy Nybegynder
23. januar 2002 - 10:52 #4
bliver smidt videre til http://ziron.myip.org/
Avatar billede martinlind Nybegynder
23. januar 2002 - 10:52 #5
Damm han er hurtig *S*
Avatar billede ziron Nybegynder
23. januar 2002 - 10:54 #6
hehe ja
Avatar billede php_teddy Nybegynder
23. januar 2002 - 10:57 #7
[Error] Unit1.pas(61): Undeclared identifier: 'TInifile'
[Error] Unit1.pas(63): Missing operator or semicolon
[Error] Unit1.pas(64): Incompatible types: 'TComponent' and 'String'
[Error] Unit1.pas(65): Missing operator or semicolon
[Error] Unit1.pas(66): Missing operator or semicolon
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'

får denne fejl
Avatar billede ziron Nybegynder
23. januar 2002 - 10:58 #8
hmmm fra mit`? og hvilken delphi kører du med?

/ZIRON
Avatar billede php_teddy Nybegynder
23. januar 2002 - 10:59 #9
jeg køre delphi 6.0
Avatar billede ziron Nybegynder
23. januar 2002 - 11:00 #10
jeg har lige prøvet endnu engang og kan godt gører det, hvad gjorde du?

/ZIRON
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:01 #11
procedure Tcu.Button1Click(Sender: TObject);
VAR
f : TInifile;
begin
F := TInifile.Create('info.ini);
  F.WriteString('UserInfo','UserName', Edit1.Text);
  F.WriteString('UserInfo','UserPass', Edit2.Text);
  F.Free;

er her enfejl?
Avatar billede ziron Nybegynder
23. januar 2002 - 11:02 #12
siger den da det?
Avatar billede ziron Nybegynder
23. januar 2002 - 11:03 #13
har du kigget på det fra mig og martin for ud fra det har du alt hvad du skal bruge?
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:04 #14
jeg skal bruge en ini fil som loader username og userpasse.... og hvis jeg andre dem skal den gemme de nye...
Avatar billede martinlind Nybegynder
23. januar 2002 - 11:05 #15
Du SKAL huske at use INIFILES
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:07 #16
hmmm hvor under uses??
Avatar billede ziron Nybegynder
23. januar 2002 - 11:07 #17
procedure TForm1.HentClick(Sender: TObject);
var
  ini : TInifile;
begin
ini := TIniFile.Create('c:\user.ini');
Edit1.Text := ini.ReadString('user', 'username', '');
Edit2.Text := ini.ReadString('user', 'userpass', '');
ini.Free;
end;

procedure TForm1.GemClick(Sender: TObject);
var
ini : TInifile;
begin
ini := TIniFile.Create('c:\user.ini');
ini.WriteString('user', 'username', Edit1.Text);
ini.WriteString('user', 'userpass', Edit2.Text);
ini.Free;
end;

/ZIRON
Avatar billede ziron Nybegynder
23. januar 2002 - 11:08 #18
hent det eks. jeg har givet dig link til, der kan du se det hele...

/ZIRON
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:09 #19
nu får jeg fejlen

[Error] Unit1.pas(63): Unterminated string
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:09 #20
zironhar prøvet det virker ikke
Avatar billede ziron Nybegynder
23. januar 2002 - 11:09 #21
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Inifiles;  <---- HER
Avatar billede ziron Nybegynder
23. januar 2002 - 11:11 #22
ja men du har stadig godt hente unit1 ind i fx notepad, og så kan du læse soucekoden...

/ZIRON
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:12 #23
har jeg gjort ziron

men jeg får fejl her
F := TInifile.Create('info.ini);
 
[Error] Unit1.pas(63): Unterminated string
[Error] Unit1.pas(64): ')' expected but identifier 'f' found
Avatar billede ziron Nybegynder
23. januar 2002 - 11:13 #24
du synes ikke selv at du manlger en ' efter info.ini :)

/ZIRON
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:13 #25
ok funger nu men den laver ikke filen
Avatar billede ziron Nybegynder
23. januar 2002 - 11:15 #26
prøv at smide c:\ foran eller hvor det nu er du vil have filen gemt...

/ZIRON
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:16 #27
hmmm skod det virker... :)... prøverlig at lave en load
Avatar billede php_teddy Nybegynder
23. januar 2002 - 11:17 #28
hmmm hvordan får jeg dentil at loade ved program start
Avatar billede ziron Nybegynder
23. januar 2002 - 11:19 #29
procedure TForm1.FormCreate(Sender: TObject);
var
  ini : TInifile;
begin
ini := TIniFile.Create('c:user.ini');
Edit1.Text := ini.ReadString('user', 'username', '');
Edit2.Text := ini.ReadString('user', 'userpass', '');
ini.Free;
end;

/ZIRON
Avatar billede php_teddy Nybegynder
23. januar 2002 - 13:13 #30
der skere ikke rigtig noget... det virker ikke

min load ser sådan ud

procedure Tcu.Timer2Timer(Sender: TObject);
var
  ini : TInifile;
begin
ini := TIniFile.Create('c:\user.ini');
Edit1.Text := ini.ReadString('UserInfo', 'UserName', '');
Edit2.Text := ini.ReadString('UserInfo', 'UserPass', '');
ini.Free;
Timer2.Enabled := false;
end;
Avatar billede martinlind Nybegynder
23. januar 2002 - 13:27 #31
Hvorfor bruger du en timer ???

Prøv at skrive sådan

ini := TIniFile.Create('c:\user.ini');

så er du sikker på placeringen af din ini-fil
Avatar billede php_teddy Nybegynder
23. januar 2002 - 13:32 #32
det har jeg prøvet.....  hjælper ikke sådan laver jeg den

f : TInifile;
begin
f := TInifile.Create('C:\info.ini');
  f.WriteString('UserInfo','UserName', Edit1.Text);
  f.WriteString('UserInfo','UserPass', Edit2.Text);
  f.Free;


og sådan læser jeg den

procedure Tcu.Timer2Timer(Sender: TObject);
var
  ini : TInifile;
begin
ini := TIniFile.Create('c:\info.ini');
Edit1.Text := ini.ReadString('UserInfo', 'UserName', '');
Edit2.Text := ini.ReadString('UserInfo', 'UserPass', '');
ini.Free;
Timer2.Enabled := false;
end;
Avatar billede php_teddy Nybegynder
23. januar 2002 - 13:33 #33
filen bliver lavet med sikkerhed da jeg kan se den og åbne den
Avatar billede martinlind Nybegynder
23. januar 2002 - 13:37 #34
Jeg kan kun sige at det bedste er at lave en fast sti, så er du sikker på du kan læse den igen, hvis du ikke får læst det ind igen, tyder det på at den ikke finder det og så bruger default værdierne
Avatar billede php_teddy Nybegynder
23. januar 2002 - 13:40 #35
hvordan laver ejg en fast stil
Avatar billede martinlind Nybegynder
23. januar 2002 - 13:44 #36
C:\\INFO.INI
Avatar billede stoney Nybegynder
23. januar 2002 - 13:48 #37
IniFile := TIniFile.create(ExtractFilePath(ParamStr(0))+'info.ini');

Så vil ini filen altid ligge/blive createt i samme dir. som din exe

Stoney
Avatar billede php_teddy Nybegynder
23. januar 2002 - 13:57 #38
takker
Avatar billede martinlind Nybegynder
23. januar 2002 - 13:59 #39
Selv tak
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester