Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

TRegIniFile.Read(Write)Integer   Найти похожие ветки 

 
Bobby   (2005-09-02 11:05) [0]

Всем добрый день!
TRegIniFile.Read(Write)Integer
А внутри этих методов читает и пишет строку.
И если надо прочитать DWORD он все равно пытается читать строку и ругается на тип.
Стало быть, если сам пишешь и читаешь, то такое дело пройдет, (сам запишешь и прочитаешь строку) если читаешь другие ключи то беда.
Что это за безобразие?


 
Reindeer Moss Eater ©   (2005-09-02 11:13) [1]

function GetDataType(const ValueName: String): TRegDataType;


 
Плохиш ©   (2005-09-02 11:16) [2]

Удалено модератором
Примечание: Выражения выбираем, не в пивной. За повторением последует чтение


 
Bobby   (2005-09-02 12:13) [3]

Спасибо всем. Тема снята. Надо пользоваться TRegistry.
Я-то как раз пытаюсь прочитать методом ReadInteger тип DWORD. Это Borland всюду подставляет строки. А кто его просит? Нелогично.


 
alpet ©   (2005-09-02 13:17) [4]

[3] Bobby   (02.09.05 12:13)
Повозможности реестром лучше вообще не пользоваться. MS поняла какую она ошибку в его реализации допустила, и теперь рекомендует настройки программ хранить в папке Documents and Settings\User\Application Data\AppName


 
Игорь Шевченко ©   (2005-09-02 13:30) [5]


> Повозможности реестром лучше вообще не пользоваться


Всякий овощ приносит пользу, будучи употреблен надлежащим образом в надлежащее время.

Не стоит бездумно повторять чужие глупости.


 
Плохиш ©   (2005-09-02 13:41) [6]


> Bobby   (02.09.05 12:13) [3]
> Это Borland всюду подставляет строки. А кто его просит?
> Нелогично.

ini-файлы являются текстовыми файлами, информация из текстовых файлов читается построчно. Целые числа при чтении/записи в текстовый файл должны быть преобразованы из/в строку. Так в чём "нелогично"?


 
Digitman ©   (2005-09-02 13:41) [7]


> Borland всюду подставляет строки. А кто его просит? Нелогично


с чего бы нелогично-то ?

ты работаешь с TRegIniFile, который работает искл-но с файлами в формате *.ini, которые всю жизнь были текстовыми и в которых никаких DWORD"ов и прочей бинарной лабуды и в помине не было ..


> если надо прочитать DWORD он все равно пытается читать строку
> и ругается на тип


а что ему еще пытаться читать ? в ini-файле кроме текста больше ничего нет ...

пусть ini-файл содержит след.строки

[SomeSection]
SomeIntegerValue=1234

когда ты вызываешь

SomeDwordValue := RegIniFile.ReadInteger("SomeSection", "SomeIntegerValue", 0)

Борланд находит секцию SomeSection, в этой секции находит строку-параметр SomeIntegerValue, считывает текст, идущий за знаком равенства и пытается преобразовать ожидаемое строковое представление Integer-значения в само Integer-значение

если преобразование возможно, Борланд записывает в  SomeDwordValue результат преобразования, в противном случае (например, если параметр SomeIntegerValue=галиматья) возбудит упомянутое тобой исключение



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.043 c
1-1129629760
Bazi
2005-10-18 14:02
2005.11.06
Совместимость Си и Делфи


2-1129133467
Gero
2005-10-12 20:11
2005.11.06
Тест


14-1129017284
FunkyByte
2005-10-11 11:54
2005.11.06
Вопрос к работавшим с DeDe


9-1118065319
Gashish
2005-06-06 17:41
2005.11.06
Перенос модели в из 3d max в Delphi


2-1129031302
zodiak
2005-10-11 15:48
2005.11.06
Как считать файл и получить массив из байт