Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Чтение и запись INI-файла 
V
    Опции темы
Vladimir_K
Дата 7.1.2007, 00:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Прописал так (в том модуле (Graph), в котором не читалось):
Код

liValue:= iniSettings.ReadInteger('F_MA','Col_MA1',CNOTFOUND);

кажись заработало! Завтра уже буду подробнее разбираться. Спасибо огромное!
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
Vladimir_K
Дата 7.1.2007, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Цитата(Sunvas @  7.1.2007,  00:50 Найти цитируемый пост)
А ты так сделай:

код Pascal/Delphi
1:

liValue:= iniSettings.ReadInteger(TGraph.name,'Col_MA1',CNOTFOUND);

Так - ошибка при компиляции.
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
VICTAR
Дата 7.1.2007, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1108
Регистрация: 6.10.2006

Репутация: 37
Всего: 80



Vladimir_K, если все-таки не получиться, выложи целиком содержимое IniFile`a. Посмотрим. 
PM MAIL   Вверх
Sunvas
Дата 7.1.2007, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(Vladimir_K @  7.1.2007,  00:57 Найти цитируемый пост)
Так - ошибка при компиляции.

Мыслим дальше. Убери "T"
Т.е.
Код

liValue:= iniSettings.ReadInteger(Graph.name,'Col_MA1',CNOTFOUND);



--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
aktuba
Дата 7.1.2007, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 16
Всего: 38



Цитата

Код

...
liValue:= iniSettings.ReadInteger(Name,'Col_MA1',CNOTFOUND)
...



Ошибка в этой строке и очень простая. Функция ReadInteger выглядит примерно так:

Код

function ReadInteger(Section, Param: string; DefValue: Integer);

Т.е., в функции указывается секция модуля данных, считываемый параметр и значение по умолчанию (если такого параметра нет).
НО, у тебя на месте секции стоит Name. Delphi под ним подразумевает Self.Name - имя формы! А т.к. в Ini-файле секция у тебя называется также, как имя формы - в первом случае работает. Но, во втором модуле, где форма называется иначе, не работает, т.к. в Ini-файле нет секции с названием другой формы. 

Чтобы работало и там и там сделай так:

Код

liValue:= iniSettings.ReadInteger('F_MA','Col_MA1',CNOTFOUND)



--------------------
user posted image
PM MAIL WWW Skype   Вверх
Sunvas
Дата 7.1.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 28
Всего: 89



Цитата(aktuba @  7.1.2007,  09:54 Найти цитируемый пост)
НО, у тебя на месте секции стоит Name. Delphi под ним подразумевает Self.Name - имя формы! А т.к. в Ini-файле секция у тебя называется также, как имя формы - в первом случае работает. Но, во втором модуле, где форма называется иначе, не работает, т.к. в Ini-файле нет секции с названием другой формы. 

Тоже самое говорил я. Поэтому предлагал перед name прописать имя самой формы.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
Vladimir_K
Дата 7.1.2007, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 2.12.2006

Репутация: нет
Всего: 1



Друзья мои, прописывал я имя формы перед Name - если, например TGraph.Name - появляется ошибка при компилляции программы, если Graph.Name - ошибка при выполнении программы!
Сделал так:
Код

liValue:= iniSettings.ReadInteger('F_MA','Col_MA1',CNOTFOUND);

и заработало великолепно! Уже проверил. 
Все дело было в правильном указании имени модуля: 'F_MA'  smile 
Теперь данные можно читать и из модуля Graph.
Еще раз спасибо за помощь и участие! 
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.