/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Vælg dir for gem Settings.ini og hentes in~
Fra : Monie Jacobsen


Dato : 08-02-04 11:19

Kunne godt tænke mig, at første gang programme startet op og
inden INI filen skal gemmes, så kan man med LMDFileOpenEdit1
eller en anden af LMD komponenterne, vælge det dir man ønsker sin
Settings.ini gemt i.
Da jeg ikke har de store erfaringer med LMD-tools endnu, vil det være fint
med eksempel.

Eller andre komponenter der er eksempel på denne funktion.

Kodeeksempel:

procedure TForm1.FormCreate(Sender: TObject);
Begin

PathToINIFile := 'C:\Settings.ini';

MyINI := TINIFile.Create(PathToINIFile);

{Vi skriver til ini'en. Værdien kan også ændres til f.eks. Labl.Caption.
Så fjerner man bare ''}
MyINI.WriteString('sektionen', 'Bibliotek', 'c:\settings.ini');

{vi læser fra ini'en. 'Ikke fundet' kommer kun hvis der ikke er nogen
værdi i undernøglen}
Edit1.Text := MyINI.ReadString('sektionen', 'Bibliotek', 'Værdi mangler');

{Læs sectioner værdierne}
Memo1.Lines.Values['Bibliotek'] := Edit1.Text;

MyINI.Free;

end;

Men programmet her, er fortrins for indlæring skyld.
Men det gør vel heller ikke noget, hvis det sener kan bruger igen.

--

Med venlig hilsen
Monie Jacobsen

E-mail: mjs@nypost.dk



 
 
Ove Kjeldgaard (08-02-2004)
Kommentar
Fra : Ove Kjeldgaard


Dato : 08-02-04 17:54

"Monie Jacobsen" <post@sunwind.dk> wrote:

>Kunne godt tænke mig, at første gang programme startet op og
>inden INI filen skal gemmes, så kan man med LMDFileOpenEdit1
>eller en anden af LMD komponenterne, vælge det dir man ønsker sin
>Settings.ini gemt i.
>Da jeg ikke har de store erfaringer med LMD-tools endnu, vil det være fint
>med eksempel.
>

Jeg kender ikke noget som helst til de komponenter, men hvorfor ikke bruge en
nem og automatisk måde?


Jeg bruger rigtig meget at lade et programs inifil ligge i samme folder som
programmet selv, og jeg lader inifilen have samme fornavn som programmet.

Der skal meget lidt til at lave dette:

MainIniFile := TIniFile.Create( ChangeFileExt( ParamStr(0), '.INI' ) );
{ Læse og skrive til MainIniFile }
MainIniFile.Free;

Jeg har tit inifilens Create i FormCreate proceduren og inifilens Free i
FormClose proceduren hvis jeg skal opdatere noget undervejs.


Det kan også i nogle tilfælder være en god ting at lave en test som denne lige
efter TIniFile.Create linien:

If Not FileExists( MainIniFile.FileName ) Then
Begin
Show;
MessageDlg( 'Kan ikke finde opsætningsfilen: '#13#10#13#10 +
UpperCase( MainIniFile.FileName ) + #13#10,
mtError, [mbOk], 0 );
IniFileError := True;
End

Og så lidt efter hvad programmet skal gøre kan der vælges at terminere eller
fortsætte med standard opsætning.


--
Med venlig hilsen, Ove Kjeldgaard, nospam AT privat DOT dk
Natur og Friluftsliv: <http://hiker.dk>

Monie Jacobsen (08-02-2004)
Kommentar
Fra : Monie Jacobsen


Dato : 08-02-04 19:08

Hej Ove Kjeldgaard
Tak for kodeeksemplerne.
INI er meget nyt for mig., men det er spændende, at lærer.
Midt forslag kan selfølgekig godt være skudt over mål. Umildbart syndtes jeg
det var smart.
Er ikke helt med på, hvad du mener med:
"Og så lidt efter hvad programmet skal gøre kan der vælges at terminere
eller
fortsætte med standard opsætning." Du kan vel ikke giv et eksempel?
Men nu vil jeg først arbejde med koderne fra dig.
Rigtig mange tak!
--

Med venlig hilsen
Monie Jacobsen

E-mail: mjs@nypost.dk


"Ove Kjeldgaard" <ReadMyEmail@The.Signature> skrev i en meddelelse
news:t9pc2093vqs1d2hphuon9pdcksts6nd7r2@4ax.com...
> "Monie Jacobsen" <post@sunwind.dk> wrote:
>
> >Kunne godt tænke mig, at første gang programme startet op og
> >inden INI filen skal gemmes, så kan man med LMDFileOpenEdit1
> >eller en anden af LMD komponenterne, vælge det dir man ønsker sin
> >Settings.ini gemt i.
> >Da jeg ikke har de store erfaringer med LMD-tools endnu, vil det være
fint
> >med eksempel.
> >
>
> Jeg kender ikke noget som helst til de komponenter, men hvorfor ikke bruge
en
> nem og automatisk måde?
>
>
> Jeg bruger rigtig meget at lade et programs inifil ligge i samme folder
som
> programmet selv, og jeg lader inifilen have samme fornavn som programmet.
>
> Der skal meget lidt til at lave dette:
>
> MainIniFile := TIniFile.Create( ChangeFileExt( ParamStr(0), '.INI' ) );
> { Læse og skrive til MainIniFile }
> MainIniFile.Free;
>
> Jeg har tit inifilens Create i FormCreate proceduren og inifilens Free i
> FormClose proceduren hvis jeg skal opdatere noget undervejs.
>
>
> Det kan også i nogle tilfælder være en god ting at lave en test som denne
lige
> efter TIniFile.Create linien:
>
> If Not FileExists( MainIniFile.FileName ) Then
> Begin
> Show;
> MessageDlg( 'Kan ikke finde opsætningsfilen: '#13#10#13#10 +
> UpperCase( MainIniFile.FileName ) + #13#10,
> mtError, [mbOk], 0 );
> IniFileError := True;
> End
>
> Og så lidt efter hvad programmet skal gøre kan der vælges at terminere
eller
> fortsætte med standard opsætning.
>
>
> --
> Med venlig hilsen, Ove Kjeldgaard, nospam AT privat DOT dk
> Natur og Friluftsliv: <http://hiker.dk>



Monie Jacobsen (09-02-2004)
Kommentar
Fra : Monie Jacobsen


Dato : 09-02-04 08:33

Hej Ove Kjeldgaard

Har nu arbejdet med dit forslag.

>Jeg har tit inifilens Create i FormCreate proceduren
>og inifilens Free i FormClose proceduren hvis jeg skal opdatere noget
undervejs.

Hvad menes eller hvor meget af mine kodeeksempel skal placeres i inifilens
Free i FormClose proceduren? For opdatering!

I dit kodeeksempel: IniFileError := True - Dette virker ikke!

Helle min kode:

procedure TForm1.FormCreate(Sender: TObject);
Begin
Memo1.Clear;
Edit1.Clear;
PathToINIFile := 'c:\Settings.ini';
MyINI := TINIFile.Create(PathToINIFile);

If Not FileExists(MyINI.FileName) Then
Begin
MessageDlg( 'Kan ikke finde opsætningsfilen: ' +
UpperCase( MyINI.FileName ) + #13#10 +'Settings.ini',
mtError, [mbOk], 0 );
IniFileError := True; Dette virker ikke
end;

MyINI.WriteString('sektionen', 'Bibliotek', 'c:\Settings.ini');

Edit1.Text := MyINI.ReadString('sektionen', 'Bibliotek', 'Værdi mangler');

{Listning af indholdet i sektionen og værdi}
MyINI.ReadSectionValues('sektionen',Listbox1.Items);

MyINI.Free;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
MyINI := TINIFile.Create(PathToINIFile);
MyINI.WriteBool('sektionen', 'Bibliotek', True);
end;

--

Med venlig hilsen
Monie Jacobsen

E-mail: mjs@nypost.dk


"Ove Kjeldgaard" <ReadMyEmail@The.Signature> skrev i en meddelelse
news:t9pc2093vqs1d2hphuon9pdcksts6nd7r2@4ax.com...
> "Monie Jacobsen" <post@sunwind.dk> wrote:
>
> >Kunne godt tænke mig, at første gang programme startet op og
> >inden INI filen skal gemmes, så kan man med LMDFileOpenEdit1
> >eller en anden af LMD komponenterne, vælge det dir man ønsker sin
> >Settings.ini gemt i.
> >Da jeg ikke har de store erfaringer med LMD-tools endnu, vil det være
fint
> >med eksempel.
> >
>
> Jeg kender ikke noget som helst til de komponenter, men hvorfor ikke bruge
en
> nem og automatisk måde?
>
>
> Jeg bruger rigtig meget at lade et programs inifil ligge i samme folder
som
> programmet selv, og jeg lader inifilen have samme fornavn som programmet.
>
> Der skal meget lidt til at lave dette:
>
> MainIniFile := TIniFile.Create( ChangeFileExt( ParamStr(0), '.INI' ) );
> { Læse og skrive til MainIniFile }
> MainIniFile.Free;
>
> Jeg har tit inifilens Create i FormCreate proceduren og inifilens Free i
> FormClose proceduren hvis jeg skal opdatere noget undervejs.
>
>
> Det kan også i nogle tilfælder være en god ting at lave en test som denne
lige
> efter TIniFile.Create linien:
>
> If Not FileExists( MainIniFile.FileName ) Then
> Begin
> Show;
> MessageDlg( 'Kan ikke finde opsætningsfilen: '#13#10#13#10 +
> UpperCase( MainIniFile.FileName ) + #13#10,
> mtError, [mbOk], 0 );
> IniFileError := True;
> End
>
> Og så lidt efter hvad programmet skal gøre kan der vælges at terminere
eller
> fortsætte med standard opsætning.
>
>
> --
> Med venlig hilsen, Ove Kjeldgaard, nospam AT privat DOT dk
> Natur og Friluftsliv: <http://hiker.dk>



Bon (09-02-2004)
Kommentar
Fra : Bon


Dato : 09-02-04 19:04

"Monie Jacobsen" <post@sunwind.dk> skrev i en meddelelse
news:402737cd$0$135$edfadb0f@dread11.news.tele.dk...
> Hej Ove Kjeldgaard
>
> Har nu arbejdet med dit forslag.
>
> >Jeg har tit inifilens Create i FormCreate proceduren
> >og inifilens Free i FormClose proceduren hvis jeg skal opdatere noget
> undervejs.
>
> Hvad menes eller hvor meget af mine kodeeksempel skal placeres i inifilens
> Free i FormClose proceduren? For opdatering!
>
> I dit kodeeksempel: IniFileError := True - Dette virker ikke!

Gad ikke lige rette det til, så jeg håber du ud af eksemplet kan læse
hvordan det gøres Eksempel på IF/ELSE.


var
ini:Tinifile;
begin
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'test.ini');
if FileExists ('\global announcement\tekst.txt') then
memo1.Lines.LoadFromFile('\global announcement\tekst.txt')else
memo1.text:='Kan ikke finde filen!';
Ini.Free;
end;
end;

Alt hvad du vil have gemt i din ini, skal i din close procedure hvis det
ikke er gemt.
WriteString........
WriteDate.......
WriteTime.......osv.

--
BA




Monie Jacobsen (10-02-2004)
Kommentar
Fra : Monie Jacobsen


Dato : 10-02-04 09:53

Tak Bon

Det er også bare fint med eksemple, som du har skrevet, jeg vil afprøve
eksemplet.

Med venlig hilsen
Monie Jacobsen

E-mail: mjs@nypost.dk

"Bon" <spamshit@mail.dk> skrev i en meddelelse
news:4027cbdb$0$151$edfadb0f@dread11.news.tele.dk...
> "Monie Jacobsen" <post@sunwind.dk> skrev i en meddelelse
> news:402737cd$0$135$edfadb0f@dread11.news.tele.dk...
> > Hej Ove Kjeldgaard
> >
> > Har nu arbejdet med dit forslag.
> >
> > >Jeg har tit inifilens Create i FormCreate proceduren
> > >og inifilens Free i FormClose proceduren hvis jeg skal opdatere noget
> > undervejs.
> >
> > Hvad menes eller hvor meget af mine kodeeksempel skal placeres i
inifilens
> > Free i FormClose proceduren? For opdatering!
> >
> > I dit kodeeksempel: IniFileError := True - Dette virker ikke!
>
> Gad ikke lige rette det til, så jeg håber du ud af eksemplet kan læse
> hvordan det gøres Eksempel på IF/ELSE.
>
>
> var
> ini:Tinifile;
> begin
> Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+ 'test.ini');
> if FileExists ('\global announcement\tekst.txt') then
> memo1.Lines.LoadFromFile('\global announcement\tekst.txt')else
> memo1.text:='Kan ikke finde filen!';
> Ini.Free;
> end;
> end;
>
> Alt hvad du vil have gemt i din ini, skal i din close procedure hvis det
> ikke er gemt.
> WriteString........
> WriteDate.......
> WriteTime.......osv.
>
> --
> BA
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408186
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste