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

Вниз

Работа с INI-файлами на API   Найти похожие ветки 

 
Dmitry_177   (2006-11-03 19:00) [0]

Есть две функции для работы с ini-файлами

WritePrivateProfileString
GetPrivateProfileString

Но при каждом вызове одной из этих функций идет обращение к файлу, т.е. он каждый раз "ищется" на жестком диске... Наверно это немного тормозит процесс. А если нужно много настроек прочитать или считать? Каждый раз вызывать эти функции? Или надо еще как-то на API?

Есть еще функции

WriteProfileString
GetProfileString

Но они как я понял работают только с файлом WIN.INI..

Модуль TIniFiles не трогаем...


 
Palladin ©   (2006-11-03 19:21) [1]


> Но при каждом вызове одной из этих функций идет обращение
> к файлу, т.е. он каждый раз "ищется" на жестком диске...

свечку держал?


 
Dmitry_177   (2006-11-03 19:59) [2]

Я так думаю, по логике вроде как... разве не так?


 
Орион ©   (2006-11-03 20:41) [3]

ничего там не "ищется".


> А если нужно много настроек прочитать или считать?

Много - это сколько?


 
Dmitry_177   (2006-11-03 21:01) [4]

Я ради интереса спросил, ну например 20 параметров считать или записать, лучше будет этими функциями или еще какнибудь? Может открывать как текстовый или еще как? Вопрос в плане скорости... Ну и вообще как лучше )))


 
Орион ©   (2006-11-03 22:02) [5]

> [4] Dmitry_177   (03.11.06 21:01)
> или еще какнибудь?


TMemIniFile


 
Dmitry_177   (2006-11-03 22:22) [6]

Я же писал без модуля IniFiles, только API... Т.е. я как понял только этими функциями на API если...


 
Орион ©   (2006-11-03 23:04) [7]

правильно понял :)
ну хочешь сам парсь, но это глупость.


 
Германн ©   (2006-11-04 00:50) [8]


> Dmitry_177   (03.11.06 21:01) [4]
>
> Я ради интереса спросил, ну например 20 параметров считать
> или записать, лучше будет этими функциями или еще какнибудь?
>  Может открывать как текстовый или еще как? Вопрос в плане
> скорости... Ну и вообще как лучше )))

Можно открывать как хочешь, только зачем тогда ini-файлы пользовать? Пиши в файл своего формата. И второе, даже если будут советовать писАть не в ini-файл, а в реестр, пожалуйста не следуй этим советам! :-)


 
Dmitry_177   (2006-11-04 01:34) [9]

Ну то что реестр захламлять не следует я это знаю...))) А вот как писать в файл своего формата это уже интересно...))) если писать функцией WriteFile, как мне разделять значения, они же все в куче будут, бай за байтом, а вот как определять границу байтов кажного значения это мне не очень понятно... Например если надо записать строку потом какоенибудь число, а потом например опять строку, вот как это дело все прочитать потом?


 
Германн ©   (2006-11-04 01:55) [10]


> Dmitry_177   (04.11.06 01:34) [9]
>
> Ну то что реестр захламлять не следует я это знаю...)))
> А вот как писать в файл своего формата это уже интересно.
> ..))) если писать функцией WriteFile, как мне разделять
> значения, они же все в куче будут, бай за байтом, а вот
> как определять границу байтов кажного значения это мне не
> очень понятно... Например если надо записать строку потом
> какоенибудь число, а потом например опять строку, вот как
> это дело все прочитать потом?
>

А что WriteFile - это единственная функция записи в файл?
Write, Writeln, BlockWrite - тебе совсем не известны? Они, конечно, не из WinAPI, но и не тащут за собой VCL. А от модуля Systems отказаться ну очень сложно.


 
Орион ©   (2006-11-04 08:40) [11]

> Например если надо записать строку потом какоенибудь число,
> а потом например опять строку, вот как это дело все прочитать
> потом?


TMyData = record
 DataType: Byte;
 DataLen:  Integer;
end;


Запись: Заполняешь структуру, записываешь ее, записываешь свои данные.
Чтение: читаешь из файла в структуру SizeOf(TMyData) байт, в зависимости от DataByte готовишь буфер, считываешь в него DataLen байт.



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

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

Наверх




Память: 0.49 MB
Время: 0.037 c
15-1172335041
BM
2007-02-24 19:37
2007.03.18
Допустим в Windows XP...


2-1172479664
Darvin
2007-02-26 11:47
2007.03.18
Ошибки при чтении данных из COM-порта


15-1171888914
Desdechado
2007-02-19 15:41
2007.03.18
Заголовок журнальной статьи


2-1172274829
koha
2007-02-24 02:53
2007.03.18
Клик мышью в TListView


15-1171896458
Cerberus
2007-02-19 17:47
2007.03.18
Отдам кошечку в хорошие программистские руки (Самара)