Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Вниз

Работа с 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.082 c
2-1172479664
Darvin
2007-02-26 11:47
2007.03.18
Ошибки при чтении данных из COM-порта


3-1166690839
DelphiLexx
2006-12-21 11:47
2007.03.18
Как правильно спроектировать новую таблицу


1-1169483449
Dmitry_177
2007-01-22 19:30
2007.03.18
Непонятные ошибки при компиляции


2-1172252904
rar
2007-02-23 20:48
2007.03.18
преобразовть формат DateTime


15-1171986788
dzmitry[li]
2007-02-20 18:53
2007.03.18
Флешка не на один логический диск





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский