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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2009, 13:32   #1
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
Вопрос TRegIniFile

Я изучаю Дельфи по "Библии Дельфи" и у меня такой код

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
   Procedure LoadProgParam;
   Procedure SaveProgParam;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Procedure TForm1.SaveProgParam;
var
 FIniFile: TReginifile;
begin
end;

Procedure TForm1.LoadProgParam;
begin
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
 LoadProgParam;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 SaveProgParam;
end;

end.
Компилятор останавливает на строке FIniFile: TReginifile; и пишет ошибку
[Error] Unit1.pas(32): Undeclared identifier: 'TReginifile'

Немогу понять в чем проблема
Gapro вне форума Ответить с цитированием
Старый 03.09.2009, 13:36   #2
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

IniFiles в Uses напиши )))
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 03.09.2009, 13:38   #3
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Не помогает(, та же ошибка
Gapro вне форума Ответить с цитированием
Старый 03.09.2009, 13:41   #4
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Тфу,Reg-то я и не заметил... TRegIniFiles в модуле Registry сокрыт...
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 03.09.2009, 13:42   #5
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

Еще странно, запускаю прогу из примера, там та же самая строка и все нормально компилиться.
Gapro вне форума Ответить с цитированием
Старый 03.09.2009, 13:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

...Вместо TRegIniFile напиши просто TIniFile.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.09.2009, 13:46   #7
Gapro
Форумчанин
 
Регистрация: 30.07.2009
Сообщений: 256
По умолчанию

То же самое, опять неправильный идентификатор:

[Error] Unit1.pas(32): Undeclared identifier: 'Tinifile'

А, да добавил модуль registry и все TReginiFile заработало, спс всем.

Последний раз редактировалось Stilet; 03.09.2009 в 14:39.
Gapro вне форума Ответить с цитированием
Старый 03.09.2009, 13:52   #8
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Цитата:
Сообщение от Gapro Посмотреть сообщение
То же самое, опять неправильный идентификатор:

[Error] Unit1.pas(32): Undeclared identifier: 'Tinifile'
А для TIniFile как раз-таки нужен IniFiles...
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Старый 03.09.2009, 18:50   #9
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Вообще лучше использовать для реестра модуль Registry
Код:
var
reg : TRegistry;
И для INI модуль IniFiles
var
ini : TIniFile;

Последний раз редактировалось Stilet; 04.09.2009 в 09:16.
FaTaL вне форума Ответить с цитированием
Старый 03.09.2009, 19:26   #10
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Цитата:
Вообще лучше использовать для реестра модуль Registry
В некоторых случаях TRegIniFile незаменим. Самый лучший пример это загрузка из реестра параметров программы.
Если бы использовали TRegistry, то пришлось бы писать вот так:
Код:
if reg.ValueExists('SomeValue') then SomeObject.SomeProperty := reg.ReadString('SomeValue');
Тут проверяется существует ли ключ, если бы был TRegIniFile, то код бы был лучше:
Код:
SomeObject.SomeProperty := regini.ReadString('', 'SomeValue', 'SomeDefaultValue')
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TReginifile Killbrum Помощь студентам 2 30.08.2008 20:38
TRegIniFile. Удаление раздела eks-s Общие вопросы Delphi 6 24.01.2008 03:07