[Delphi] string uit inifile opvragen met variabele

Pagina: 1
Acties:

  • Evilbee
  • Registratie: November 2002
  • Laatst online: 22-05 15:59
Dit is een stukje van mijn code waarbij hij op de laatste regel een error geeft (Access violation at address 795730AF in module ntdll.dll).
Delphi:
1
2
3
4
        IniFile := TIniFile.Create(ChangeFileExt(Application.ExeName,'.ini'));
        Word_level: String;

        Words := IniFile.ReadString('data',Word_level,' ');

Maar als ik die laatse regel verander door dit:
Delphi:
1
        Words := IniFile.ReadString('data','0',' ');

Dan werkt het wel. Blijkbaar vind ReadString het niet leuk dat een key door middel van een variabele wordt opgevraagd. Weet iemand hier een oplossing voor?

LinkedIn - Collega worden?


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Moet die Word_level niet een integer zijn?

  • Evilbee
  • Registratie: November 2002
  • Laatst online: 22-05 15:59
Nee, alle 3 de parameters moeten strings zijn. Met een int krijg ik een error (Incompatible types: 'String' and 'Integer')

LinkedIn - Collega worden?


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Wat is de waarde van word_level ?

https://fgheysels.github.io/


  • Rum
  • Registratie: Augustus 2002
  • Laatst online: 07-03 13:06

Rum

Ik heb hier ff snel een stukje code zoals ik dat gebruik met een iniFile. Ik hoop dat je hier iets aan hebt...

code:
1
2
3
4
5
6
7
8
procedure TfrmMain.ReadIni;
var myINI : TINIFile;
begin
  myINI := TINIFile.Create(ExtractFilePath(Application.EXEName) + 'config.ini');
  cportLCSPro.Port := myINI.ReadString('Settings', 'LCSPro', 'COM2');
  LCSProPort.Text := myINI.ReadString('Settings', 'LCSPro', 'COM2');
  myINI.Free;
end;

  • Evilbee
  • Registratie: November 2002
  • Laatst online: 22-05 15:59
Dat is een cijfer.
inifile:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[name]
0 = "Level 1"
1 = "Level 2"
2 = "Level 3"

[time]
0 = 3
1 = 2
2 = 1

[data]
0 = een twee drie
1 = twaalf dertien vijftien
2 = schrijven basketbal volleybal

LinkedIn - Collega worden?


  • Rum
  • Registratie: Augustus 2002
  • Laatst online: 07-03 13:06

Rum

Waar vul je de variabele Word_level?

  • Evilbee
  • Registratie: November 2002
  • Laatst online: 22-05 15:59
Ik heb het opgelost. In Word_level wordt een waarde gezet vanuit een ander formulier. En in het tweede formulier wordt Word_level opgevraagd bij een OnCreate. Maar als het formulier wordt gemaakt staat er in Word_level nog niks. Nadat ik alles heb verplaatst naar OnShow deed alles het wel goed.

LinkedIn - Collega worden?


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:52
Tja, dat dacht ik dus al......
Waarom vroeg ik anders wat de waarde was van word_level.

https://fgheysels.github.io/


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

whoami schreef op 17 juni 2004 @ 12:33:
Tja, dat dacht ik dus al......
Waarom vroeg ik anders wat de waarde was van word_level.
Tuurlijk whoami, tuurlijk :P
Pagina: 1