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

Вниз

Проверка существования строки в INI файле...   Найти похожие ветки 

 
V.Turecky   (2002-08-11 18:29) [0]

Здравствуйте. Не подскажите, как организовать проверку существования строки в INI файле?
Я делал следующим образом, но это почему-то не работает. Ошибок никаких нет, просто проверка не выполняется. Я закоментировал неработающие строки.

procedure DeleteSystemIni;
var
s: string;
begin
IniFile:=TIniFile.Create(WindDir+"\system.ini");
try
// if s = IniFile.ReadString("386Enh","MessageBackColor",s) then
IniFile.DeleteKey("386Enh","MessageBackColor");
// if s = IniFile.ReadString("386Enh","MessageTextColor",s) then
IniFile.DeleteKey("386Enh","MessageTextColor");
finally
IniFile.Free;
end;
end;


 
Anatoly Podgoretsky   (2002-08-11 18:57) [1]

S вообще никак не инциализировано, поэтому сравнение с ней неправомерно и опасно. Во вторых не стоит использовать S как Default параметр, заменить на константу, например "ReadError" или просто ""


 
V.Turecky   (2002-08-11 19:20) [2]

2Anatoly Podgoretsky

То есть так:
if "" = IniFile.ReadString("386Enh","MessageBackColor", "") then
IniFile.DeleteKey("386Enh","MessageBackColor");


А может можно просто проверить существование параметра -"MessageBackColor" - а не значения? Если можно то как?



 
Anatoly Podgoretsky   (2002-08-11 19:26) [3]

Нет надо сравнивать с тем содержимом, которое ты ожидаешь там увидеть. Может тебе стоит именно это объяснить?


 
V.Turecky   (2002-08-11 19:34) [4]

Дело в том, что значение меняеться, поэтому сравнивать с заранее установленным значением нельзя.


 
Anatoly Podgoretsky   (2002-08-11 19:50) [5]

А объяснить, что именно хочешь сделать не желаешь?


 
V.Turecky   (2002-08-11 19:54) [6]

Нужно проверить: есть ли строка MessageBackColor (секция 386Enh) в INI файле. Если есть - удалить её.


 
Anatoly Podgoretsky   (2002-08-11 19:55) [7]

ValueExists


 
V.Turecky   (2002-08-11 20:00) [8]

Спасибо. А то я чего-то начал значение параметра проверять вместо того, что просто проверить существование самого параметра. Бывает...


 
TTCustomDelphiMaster   (2002-08-11 20:19) [9]

V.Turecky (11.08.02 19:34)
:
> А может можно просто проверить существование параметра - "MessageBackColor"
> - а не значения? Если можно то как?

Retrieves a string value from an INI file.

function ReadString(const Section, Ident, Default: String): String; override;

Description

Call ReadString to read a string value from an INI file. Section identifies the section in the file that contains the desired key. Ident is the name of the key from which to retrieve the value. Default is the string value to return if the:
Section does not exist.
Key does not exist.
Data value for the key is not assigned.

Расшифровываю для тех кто в бронепоезде.
Третий параметр присваивается резульрату функции если:
Отсутствует раздел
Отсутствует ключ
Не присвоено значение ключу.

Отсьда вывод ЕСЛИ ПАРАМЕТРА (ключа) НЕ СУЩЕСТВУЕТ, ТО ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ МЕТОДА TIniFile.ReadString РАВНО Default.


 
Ученик   (2002-08-11 23:59) [10]

TIniFile.ValueExists



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

Форум: "Основная";
Текущий архив: 2002.08.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.055 c
1-71238
amochkin
2002-08-11 20:43
2002.08.22
Прорисовка на desktop


14-71345
shagen
2002-07-26 20:44
2002.08.22
Е-mail адреса


3-70965
rex
2002-07-31 10:07
2002.08.22
Не можу связать две таблицы с помощью Halcyon


4-71451
Transnet.
2002-06-14 12:35
2002.08.22
Кaк вырубить, а потом снова врубить мышь???


1-71138
delta
2002-08-13 14:10
2002.08.22
Hooks





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