Форум: "Начинающим";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизНе читает ini-файлы! Найти похожие ветки
← →
Bogdan1024 © (2006-02-02 23:42) [0]Есть файл с контентом:
[Menu]
HitpointsX = 1451
HitpointsY=6751
ExpoX=1451
ExpoY=7051
DefX=1451
DefY=7361
Att1MX=2519
Att1MY=6751
Att2MX=2591
Att2MY=7051
AttRAX=2591
AttRAY=7361
AmmoX=5161
AmmoY=6751
VisX=5161
VisY=7051
MessX=5541
MessY=7361
Я пытаюсь прочесть его вот так:
procedure ReadGameIni;var Ini:TIniFile;
Но он не читает те значения, которые в файле, а берёт дефалтовые! Почему?!? Все переменные типа смол инт.
begin
Ini := TIniFile.Create("game.ini");
//Menu
HitpointsX := Ini.ReadInteger("Menu","HitpointsX",145);
HitpointsY := Ini.ReadInteger("Menu","HitpointsY",675 );
ExpoX := Ini.ReadInteger("Menu","ExpoX",145 );
ExpoY := Ini.ReadInteger("Menu","ExpoY",705 );
DefX := Ini.ReadInteger("Menu","DefX",145 );
DefY := Ini.ReadInteger("Menu","DefY",736 );
Att1MX := Ini.ReadInteger("Menu","Att1MX",259 );
Att1MY := Ini.ReadInteger("Menu","Att1MY",675 );
Att2MX := Ini.ReadInteger("Menu","Att2MX",259 );
Att2MY := Ini.ReadInteger("Menu","Att2MY",705 );
AttRAX := Ini.ReadInteger("Menu","AttRAX",259 );
AttRAY := Ini.ReadInteger("Menu","AttRAY",736 );
AmmoX := Ini.ReadInteger("Menu","AmmoX",516 );
AmmoY := Ini.ReadInteger("Menu","AmmoY",675 );
VisX := Ini.ReadInteger("Menu","VisX",516 );
VisY := Ini.ReadInteger("Menu","VisY",705 );
MessX := Ini.ReadInteger("Menu","MessX",554 );
MessY := Ini.ReadInteger("Menu","MessY",736 );
Ini.Free;
end;
← →
Eraser © (2006-02-02 23:48) [1]
> Bogdan1024 © (02.02.06 23:42)
> Ini := TIniFile.Create("game.ini");
Если файл находится в каталоге программы используй след. конструкцию:Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + "game.ini");
← →
Fay © (2006-02-02 23:48) [2]Указывай полный путь к файлу.
← →
Gero © (2006-02-02 23:57) [3]Где находится файл "game.ini"?
← →
Gero © (2006-02-02 23:58) [4]Сорри, я опоздал.
← →
Bogdan1024 © (2006-02-03 00:11) [5]Спасибо, теперь работает.
А почему так? Ведь если задаёшь относительный путь, то он его тоже открывает, ну, ошибки не выдаёт.
← →
Eraser © (2006-02-03 00:20) [6]
> Bogdan1024 © (03.02.06 00:11) [5]
так и должно быть. Файл создастся (если вызван хоть один WriteX) в текущем каталоге, который далеко не всегда каталог, где находится exe программы.
← →
Плохиш © (2006-02-03 00:39) [7]
> Eraser © (03.02.06 00:20) [6]
>
> > Bogdan1024 © (03.02.06 00:11) [5]
>
> так и должно быть. Файл создастся (если вызван хоть один
> WriteX) в текущем каталоге
Не надо обманывать, для TIniFile файл ищется в каталоге вындовс.
← →
Eraser © (2006-02-03 01:33) [8]
> Плохиш © (03.02.06 00:39) [7]
> Не надо обманывать, для TIniFile файл ищется в каталоге
> вындовс.
Угу... я ошибся.
> Bogdan1024 ©
однако это сути дела не меняет... везде, по-возможности, в подобных ситуациях, старайся указывать абсолютный путь.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c