[delphi] Beginnersprobleem met openen bestand

Pagina: 1
Acties:

  • BM
  • Registratie: September 2001
  • Laatst online: 09:25

BM

Admin Softe Goederen
Topicstarter
goedemiddag,

ik ben nu bezig met een programma'tje, maar ik zit met het volgende probleem.
Zodra dit programma gestart word moet ie een locatie (gewone string) uit een bestand halen. Ik wil geen absoluut path gebruiken, dit omdat het progje gewoon moet blijvenw erken als ik het hele zaakie verplaats. Het bestand (loc.ini) staat in dezelfde map als de exe (maak geen gebruik van submappen), maar werken wil het niet echt.
Ik heb nu de volgende code:
code:
1
2
3
4
5
6
7
8
9
procedure TForm1.FormCreate(Sender: TObject);
var path:string;
IniFile: TIniFile;
begin
  path:='';
  IniFile:=TIniFile.Create('loc.ini');
  Path:=IniFile.ReadString('location', 'loc', path);
  label1.caption:=path;
end;

Nu neem ik aan dat er hier mensen zijn die wel weten hoe ik zo'n bestand open :)
Als ik het gewoon geopend krijg lukt het verder wel weer denk ik, aangezien schrijven en lezen wel lukt, zodra ik het bestand geopend heb.

Tnx in advance :)

Xbox
Even the dark has a silver lining


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Achterhaal eerst de pad van de Exe:
ExtractFileFromPath(ParamStr(0));
of
ExtractFileFromPath(Application.ExeName); (ofzo)

Plak daar achter aan die loc.ini en open die.

Verder is die code hierboven niet echt 100 punten, dit zou beter zijn en voorkomt een memleak:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.FormCreate(Sender: TObject);
var path, exedir:string;
IniFile: TIniFile;
begin
  exedir := ExtractFileFromPath(ParamStr(0));
  path:='';
  IniFile:=TIniFile.Create(exedir + 'loc.ini');
  try
    Path:=IniFile.ReadString('location', 'loc', path);
    label1.caption:=path;
  finally
    IniFile.Free;
  end;
end;

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Delpix
  • Registratie: September 2001
  • Laatst online: 27-11-2021

Delpix

Alanis Fan

EDIT...

Jelmervos was eerder.... :(

...beter bekend als AMFan


  • freddifish
  • Registratie: November 2000
  • Laatst online: 29-01 09:15

freddifish

schnappi !

damn die application.exename wilde ik ook noemen... ;)

'people say I'm a drinker, but I'm sober half the time' - Mick Jagger | mail: freddifish_AT_gmx.net


  • BM
  • Registratie: September 2001
  • Laatst online: 09:25

BM

Admin Softe Goederen
Topicstarter
tnx mensen, heb nu ff geen delphi bij de hand, maar zal zsm laten weten op het werkte :)

Xbox
Even the dark has a silver lining


  • BM
  • Registratie: September 2001
  • Laatst online: 09:25

BM

Admin Softe Goederen
Topicstarter
ExtractFileFromPath moest ExtractFilePath worden, maar nu werkt het, tnx mensen

Xbox
Even the dark has a silver lining


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Op vrijdag 18 januari 2002 19:05 schreef SpeedAddict het volgende:
ExtractFileFromPath moest ExtractFilePath worden, maar nu werkt het, tnx mensen
Och ja, ik had ook even geen Delphi draaien. Maar het is dus gelukt. Mooi. :)

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • FendtVario
  • Registratie: Januari 2002
  • Laatst online: 12-05-2025

FendtVario

The leader drives Vario!

Nog een manier is dit:
code:
1
IniFile:=TIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));

www.fendt.com | Nikon D7100 | PS5

Pagina: 1