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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2007, 16:26   #1
Dimixis
Пользователь
 
Аватар для Dimixis
 
Регистрация: 15.02.2007
Сообщений: 12
По умолчанию Помогите с INI

...
begin
IniFile := TIniFile.Create('c:\boot.INI'); //Открываем INI файл
IniFile.ReadInteger('boot loader','timeout', timeout);
label4.Caption:=IntToStr(timeout) + ' сек';
end;
end;
...


Почему значение Таймаута у меня получается равное нулю?

Пробовал так еще так:
...
begin
IniFile := TIniFile.Create('c:\boot.INI'); //Открываем INI файл
IniFile.ReadЫекштп('boot loader','timeout', timeout);
label4.Caption:=timeout + ' сек';
end;
end;
...


Но так, вообще ничего не пишет.
Dimixis вне форума Ответить с цитированием
Старый 02.08.2007, 16:36   #2
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

Вот так попробуй
IniFile := TIniFile.Create('c:\boot.INI'); //Открываем INI файл
IniFile.ReadInteger('boot loader','timeout', 0);
label4.Caption:=IntToStr(timeout) + ' сек';
end;
Aleksandr вне форума Ответить с цитированием
Старый 02.08.2007, 16:44   #3
Dimixis
Пользователь
 
Аватар для Dimixis
 
Регистрация: 15.02.2007
Сообщений: 12
По умолчанию

Не, так тоже не пашет...
Может вы не правильно меня поняли, смысл в том, что эта часть программы должна считывать из boot.ini таймаут загрузки и выводить его в лейбл4
Dimixis вне форума Ответить с цитированием
Старый 02.08.2007, 16:47   #4
Aleksandr
Форумчанин
 
Регистрация: 22.05.2007
Сообщений: 511
По умолчанию

У меня выводит число. У тебя что за переменные?
Aleksandr вне форума Ответить с цитированием
Старый 02.08.2007, 16:55   #5
Dimixis
Пользователь
 
Аватар для Dimixis
 
Регистрация: 15.02.2007
Сообщений: 12
По умолчанию

Вот прога целиком (наработки)
unit Unit1;

interface

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

type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Memo1: TMemo;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
GroupBox3: TGroupBox;
Edit1: TEdit;
Label5: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
SpinEdit1: TSpinEdit;
Label6: TLabel;
Procedure BOOTini;
procedure Button1Click(Sender: TObject);


private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
f: TextFile; //Вывод INI в виде текста
buf: string; //Строка текстового файла
TimeOut: integer;//Значение ТаймАут
implementation
{$R *.dfm}
Procedure Tform1.BOOTini;
var IniFile:TIniFile;
Begin
AssignFile(f, 'c:/boot.ini');//Открытие файла
try
Reset (f); // открыть для чтения
except
on EInOutError do
begin
ShowMessage('Ошибка доступа к файлу boot.ini' );
exit;
end;
end;
// чтение из файла
while not EOF(f) do
begin
readln(f, buf); // прочитать строку из файла
Memo1.Lines.Add(buf); // добавить строку в поле Memol
end;
CloseFile(f); // закрыть файл
begin

IniFile := TIniFile.Create('c:\boot.INI'); //Открываем INI файл
IniFile.ReadInteger('boot loader','timeout', 0);
label4.Caption:=IntToStr(timeout) + ' сек';
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
bootini;
button1.Enabled:=false;
end;
end.
Dimixis вне форума Ответить с цитированием
Старый 02.08.2007, 16:57   #6
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Наверно всё дело в том что он скрытый
SERG1980 вне форума Ответить с цитированием
Старый 02.08.2007, 20:09   #7
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

procedure TForm1.Button1Click(Sender: TObject);
var
sec: integer;
IniFile: TIniFile;
begin
IniFile:=TIniFile.Create('c:\boot.i ni');
sec:=IniFile.ReadInteger('boot loader','timeout',0);
edit1.Text:=inttostr(sec);
end;

у меня работает
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 03.08.2007, 00:33   #8
Net
;-)
Пользователь
 
Регистрация: 18.07.2007
Сообщений: 69
По умолчанию

Проверь, может у тебя в boot.ini ноль и записан..
Net вне форума Ответить с цитированием
Старый 03.08.2007, 08:21   #9
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Проверил код Mutabora всё работает timeout=30
SERG1980 вне форума Ответить с цитированием
Старый 04.08.2007, 00:33   #10
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Почему значение Таймаута у меня получается равное нулю?
Потому что глобальная integer переменнная всегда изначально содержит ноль. А так как ты ей так ничего и не присвоил то естественно на лейбе появляется ноль.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


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