Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.12.2007, 20:43
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Вопрос Вопрос по ini файлам

Вот кусок кода:
...
procedure TForm1.Button1Click(Sender: TObject);
var
count:integer;
sFile: string;
Ini: TIniFile;
begin
if not FileExists(sFile) then
begin
Ini:=TIniFile.Create('D:\test.ini');
Ini.WriteInteger('General', 'count', 0);
Ini.Free;
end;
sFile := 'D:\test.ini';
if FileExists(sFile) then
begin
Ini := TIniFile.Create(sFile);
Ini.ReadInteger('General', 'count', count);
count:=count+1;
Ini.WriteInteger('General', 'count', count);
{или так
Ini.WriteInteger('General', 'count', count+1);
никакой разницы}
Ini.Free;
end;
end;
...

Здесь не обновляется count всё время устанавливает в одной проге 1, а тут
Ну почему ???
И выводит
count=4357785
Ну помогите разобраться
Ответить с цитированием
  #2  
Старый 21.12.2007, 22:23
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
Радость

Нужно просто было правильно объявить переменную count.

Код:
...
var
  Form1: TForm1;
  count:integer=0;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
sFile: string;
Ini: TIniFile;
begin
if not FileExists(sFile) then
begin
Ini:=TIniFile.Create('D:\test.ini');
Ini.WriteInteger('General', 'count', 0);
Ini.Free;
end;
sFile := 'D:\test.ini';
if FileExists(sFile) then
begin
Ini := TIniFile.Create(sFile);
Ini.ReadInteger('General', 'count', count);
count:=count+1;
Ini.WriteInteger('General', 'count', count);
{èëè òàê
Ini.WriteInteger('General', 'count', count+1);
íèêàêîé ðàçíèöû}
Ini.Free;
end;
end;
__________________
Кому я должен - всем прощаю!!!!
Ответить с цитированием
  #3  
Старый 21.12.2007, 22:37
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Печаль Увы

В одном случае помогло, в другом нет. Не добавляет строку, не изменяте count
Что же не так ?
Ответить с цитированием
  #4  
Старый 21.12.2007, 22:53
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Поподробнее опиши свою проблему. С того что ты написал, я ничо не понял.
__________________
Кому я должен - всем прощаю!!!!
Ответить с цитированием
  #5  
Старый 22.12.2007, 00:06
Аватар для <<D>>
<<D>> <<D>> вне форума
Активный
 
Регистрация: 06.05.2007
Адрес: ГДЕ ТО В СОЛНЕЧНОЙ СИСТЕМЕ
Сообщения: 207
Репутация: 15
По умолчанию

Может так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
sFile: string;
Ini: TIniFile;
count:integer;
begin
if not FileExists(sFile) then
begin
Ini:=TIniFile.Create('D:\test.ini');
count:=0;
Ini.WriteInteger('General', 'count', 0);
Ini.Free;
end;
sFile := 'D:\test.ini';
if FileExists(sFile) then
begin
Ini := TIniFile.Create(sFile);
Ini.ReadInteger('General', 'count', count);
count:=count+1;
Ini.WriteInteger('General', 'count', count);
{èëè òàê
Ini.WriteInteger('General', 'count', count+1);
íèêàêîé ðàçíèöû}
Ini.Free;
end;
end;
__________________
Кому я должен - всем прощаю!!!!
Ответить с цитированием
  #6  
Старый 22.12.2007, 11:38
Аватар для Oleg
Oleg Oleg вне форума
Активный
 
Регистрация: 29.11.2007
Адрес: Оренбургская обл., Россия
Сообщения: 261
Репутация: 15
Подмигивание Подробности

...
var
Form1: TForm1;
count:integer=0;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
var
sFile: string;
Ini: TIniFile;
begin
if not FileExists(sFile) then
begin
Ini:=TIniFile.Create('D:\test.ini');
Ini.WriteInteger('General', 'count', 0);
Ini.Free;
end;
sFile := 'D:\test.ini';
if FileExists(sFile) then
begin
Ini := TIniFile.Create(sFile);
Ini.ReadInteger('General', 'count', count);
Ini.WriteInteger('General', 'count', count+1);
Ini.Free;
end;
end;

Почему не работает таймер, когда кнопка, то всё работат.
Помогите разобраться...

Последний раз редактировалось Oleg, 22.12.2007 в 11:47.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:41.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025