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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.08.2008, 08:34
kda6666 kda6666 вне форума
Прохожий
 
Регистрация: 15.08.2008
Сообщения: 15
Репутация: 10
По умолчанию В чем ошибка???!!!

Привет всем.
Ребята, помогите пожалуйста, в чем ошибка....? Никак не пойму...
Есть следующий код:
type
TForm1 = class(TForm)
.....
CheckBox1: TCheckBox;
.....

var
.....
tmpCheck:boolean;
f:text;
....
Form1: TForm1;

.....

procedure TForm1.Button1Click(Sender: TObject);
begin
............
system.Assign(f,'tmp.txt');
rewrite(f);
writeln(f,tmpcheck);
checkbox1.Checked:=tmpcheck;
writeln(f,tmpCheck);
system.Close(f);
.............
end;

.....

end.
Вопрос: Почему в файле tmp.txt содержатся следующие строки?
TRUE
FALSE

В чем здесь ошибка???!!!Файл нигде больше не используеться.
Ответить с цитированием
  #2  
Старый 15.08.2008, 10:25
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

Попробуй переменной tmpcheck в начеле проги присвоить нужное тебе значение... а то просто значение переменной не известно..вот прога и выводит всякую хрень
Ответить с цитированием
  #3  
Старый 15.08.2008, 10:47
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Так вы две строки записываете... А что там должно быть?
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #4  
Старый 15.08.2008, 13:21
kda6666 kda6666 вне форума
Прохожий
 
Регистрация: 15.08.2008
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от friz
Попробуй переменной tmpcheck в начеле проги присвоить нужное тебе значение... а то просто значение переменной не известно..вот прога и выводит всякую хрень

Дело в том, что значение tmpCheck меняеться в процесссе работы программы, оно зависит от определенных услвоий. А Button1Click я вызываю один раз.
Ответить с цитированием
  #5  
Старый 15.08.2008, 13:22
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

А что не так то??
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #6  
Старый 15.08.2008, 13:22
kda6666 kda6666 вне форума
Прохожий
 
Регистрация: 15.08.2008
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от The Shadow
Так вы две строки записываете... А что там должно быть?

Ну, я вообще-то хотел бы видеть:
True
True

,а не:
True
False

И по-моему, так и должно бы быть, или нет...?
Ответить с цитированием
  #7  
Старый 15.08.2008, 13:49
kda6666 kda6666 вне форума
Прохожий
 
Регистрация: 15.08.2008
Сообщения: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от The Shadow
А что не так то??
Не так то, что написано

....
system.Assign(f,'tmp');
rewrite(f);
writeln(f,tmpcheck);
checkbox1.Checked:=tmPCheck;
writeln(f,tmpCheck);
system.Close(f);
checkBox2.Checked:=tmpCheck;
....

А флажок в CheckBox2 не включаеться...и в процедуре он у меня больше не присваеваеться
Ответить с цитированием
  #8  
Старый 15.08.2008, 14:13
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

попробуйте добавить tmpCheck:=True; перед system.Assign(f,'tmp');
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #9  
Старый 15.08.2008, 14:30
kda6666 kda6666 вне форума
Прохожий
 
Регистрация: 15.08.2008
Сообщения: 15
Репутация: 10
По умолчанию

не, не помогло....
CheckBox1 отмечен, а CheckBox2 нет
Ответить с цитированием
  #10  
Старый 15.08.2008, 15:03
Drozh Drozh вне форума
Активный
 
Регистрация: 12.06.2008
Сообщения: 313
Репутация: 40
По умолчанию

Странно повторил твой код, все работает!!! Если до записи переменной присвоить TRUE то и в файле будет TRUE, если ничего не писать - в файле FALSE. Давай код всей процедуры...
Ответить с цитированием
  #11  
Старый 16.08.2008, 06:37
kda6666 kda6666 вне форума
Прохожий
 
Регистрация: 15.08.2008
Сообщения: 15
Репутация: 10
По умолчанию

Спасибо за помощь, нашел в чем ошибка. Но я даже себе представить такого не мог. С каких это пор изменение свойства CheckBox с True на False или с False на True, в коде программы срабатывает процедура CheckBoxClick
У меня стоит в коде:
Код:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if not SaveList then
  tmpCheck:=false
  else
  tmpCheck:=true;
end;
А переменная SaveList в тот момент имеет значение False.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter