Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.038 c
2-1137979351
TUpDown
2006-01-23 04:22
2006.02.19
Как изменить цвет TUpDown?


1-1137859937
Volf_555
2006-01-21 19:12
2006.02.19
Как прочитать ссылку, на которую ссылается ink-файл (файл ярлыка)


9-1125469441
UnReg_ToXic_Clone
2005-08-31 10:24
2006.02.19
Скелеты и вертексы


3-1135671102
alsov
2005-12-27 11:11
2006.02.19
Как сделать линк из MSSQL в Oracle


5-1125326744
Akris
2005-08-29 18:45
2006.02.19
Как отловить изменение property Text в компоненте-наследни TEdit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский