Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2009, 22:18   #1
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию Некорректное считывание записаных данных в реестр

Здраствуйте.
У меня проблема, до этого с реестром не работал...
НАшёл давльн опросто и не большйо код записи/считывания данынх реестра

Код:
uses
 ... Registry...

var
  Form2: TForm2;
  FIniFile: TRegIniFile;

Запись
Код:
FIniFile := TRegIniFile.Create('Software');
FIniFile.OpenKey('GamerClub',true);
FIniFile.WriteInteger('Option', 'Port', 1);
FIniFile.WriteInteger('Option', 'Ip', 1);
FIniFile.WriteInteger('Option' ,'Name', 1);
FIniFile.Free; //освобождаем переменную
Считывание
Код:
FIniFile := TRegIniFile.Create('Software');
FIniFile.OpenKey('GameClub',true);
Edit2.Text:=intToStr(FIniFile.ReadInteger('Option', 'Port', 600));
Цитата:
// Третий параметр 600 – это значение по умолчанию, если ключ с названием ‘Width’ не будет найден
Edit3.Text:=IntToStr(FIniFile.ReadInteger('Option', 'Ip', 300)); Edit4.Text:=IntToStr(FIniFile.ReadInteger('Option', 'Name',10 )); FIniFile.Free; //освобождаем переменную
Проблема в том что он возврашает эти числа 600 300 10 , а мне надо те котоыре у меня записаны, через regedit смотрю есть они создались записались, а корректно считать не могу.

Подскажи плз. Заранее благодарен.
Dozent вне форума Ответить с цитированием
Старый 17.09.2009, 22:32   #2
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,455
По умолчанию

Надо быть повнимательнее

Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
 FIniFile := TRegIniFile.Create('Software');
 FIniFile.OpenKey('GamerClub',true);  //сдесь была ошибка: GameClub
 Edt1.Text:=intToStr(FIniFile.ReadInteger('Option', 'Port', 600));
 Edt2.Text:=IntToStr(FIniFile.ReadInteger('Option', 'Ip', 300));
 Edt3.Text:=IntToStr(FIniFile.ReadInteger('Option', 'Name',10 ));
 FIniFile.Free; //îñâîáîæäàåì ïåðåìåííóþ
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 FIniFile := TRegIniFile.Create('Software');
 FIniFile.OpenKey('GamerClub', True);
 FIniFile.WriteInteger('Option', 'Port', StrToInt(edt1.Text)); //ну а здесь надо было дописать вот это, все 3 едита
 FIniFile.WriteInteger('Option', 'Ip', StrToInt(edt2.Text));
 FIniFile.WriteInteger('Option' ,'Name', StrToInt(edt3.Text));
 FIniFile.Free;
end;
uberchel вне форума Ответить с цитированием
Старый 17.09.2009, 22:34   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

Код:
FIniFile.OpenKey('GamerClub',true);
FIniFile.OpenKey('GameClub',true);
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 17.09.2009, 22:38   #4
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Ужас!!! Извините пожайлуста... Тороплюс просто....
Спасибо большое!
Dozent вне форума Ответить с цитированием
Старый 18.09.2009, 15:07   #5
Toxa
Форумчанин Подтвердите свой е-майл
 
Аватар для Toxa
 
Регистрация: 01.12.2006
Сообщений: 516
По умолчанию

и еще надо делать после записи
Код:
FIniFile.closekey
Пишу на Delphi за еду
Toxa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
считывание данных из текстового файла Olejik Общие вопросы по Java, Java SE, Kotlin 3 03.10.2009 20:40
некорректное отображение ZYRGiX JavaScript, Ajax 1 21.01.2008 18:15
Считывание данных из файла inret Общие вопросы Delphi 4 18.11.2007 18:03
Считывание данных из файла PAVEL315 Общие вопросы Delphi 26 17.12.2006 00:53