![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() В общем, тут нужно сделать, чтобы поле (edit1) очищалось, когда вводишь новое число, уже после исчислений. Например, после того как А+В=С, то остается С, и при вводе А дополняется к С. Втыкаю в другие коды и не врубаю %)
Если писать где кнопки (0-9) edit1.clear, то получается что нельзя работать с числами, где больше 1 символа. Помогите , братва ![]() |
#2
|
||||
|
||||
![]() После вычислений ставишь глобальный флаг, и по нажатии кнопок 0..9 если установлен флаг то сбрасываешь его и делаешь edit1.Clear.
jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
|||
|
|||
![]() Цитата:
1) а можно подробнее узнать, что за flag, а то так и не усек?) 2) т.е. на каждую кнопку отдельно прописывать? у меня вот так там сделано Цитата:
3) в конце прописывал flag:=false, потом edit1.clear, так он удаляет всё. то это на кнопке = стоит у меня всё. похоже я очередной раз не догнал, что надо сделать ![]() |
#4
|
||||
|
||||
![]() 1)
Код:
var flag:boolean; Код:
begin if flag then begin Edit1.Text:=Edit1.Text[length(Edit1.Text)]; flag:=false; end; end; Код:
//после вычислений flag:=true; jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
![]() спасибо большое, всё работает
![]() но вопрос про flag остается открыт) что это за штука, как я понял, то что-то вроде для перебора?) |
#6
|
||||
|
||||
![]() flag - это обычная переменная, которая имеет два значения: 0 или -1 (то бишь True or False). Она нужна, чтобы понять, когда надо очистить едит.
Помогаю за Спасибо ![]() |
#7
|
|||
|
|||
![]() А, всё, понял. Благодарности )
|
#8
|
|||
|
|||
![]() Кстати, теперь у меня косяк появился, что когда жму на действия, и на С после уже исчислений, появляется ошибка " Access violation at address 00456F80 in module 'Kalk2.exe'. Read of address FFFFFFFFF. "
Гугл молчит об этом. На кнопках со знаками такой код Код:
begin if Edit1.Text <> '' then x:=StrToFloat(Edit1.Text); z:='+'; Edit1.Clear; end; и синим выделяет эту строчку Код:
Edit1.Text:=Edit1.Text[length(Edit1.Text)]; а тут это , если что Код:
var Kalkulator: TKalkulator; x, y, rezultat: real; flag: boolean; z: char; Новичок в этом деле. |
#9
|
||||
|
||||
![]() Ну, во-первых, ты флаг-то на 0 сбрасываешь при нажатии "С"?
Во-вторых, рекомендую затариться EurekaLog - мегавещь, все ошибки как на ладони. Ну а в третьих... какая строчка стоит перед подсвечиваемой? З.Ы. и не 0 или -1, а 1 или 0, то есть Истина (True) или Ложь (False). Если не ты, то кто? (с) Терри Пратчетт Не забывайте ставить плюсы и говорить спасибо! |
#10
|
|||
|
|||
![]() Цитата:
1. Нет ![]() 2. скачиваю ![]() 3. Код:
begin if flag then begin Edit1.Text:=Edit1.Text[length(Edit1.Text)]; flag:=false; end; end; во, теперь прописал перед edit1.clear flag:=false и пашет) вечно недочеты в самом простом ![]() Спасибо в очередной раз) Новичок в этом деле. Последний раз редактировалось whitehustle, 23.12.2010 в 18:12. |
#11
|
||||
|
||||
![]() Сбрасывать на false нужно, но, похоже, баг не из-за этого.
Что-то я не могу понять, где глюк. Может кинешь исходники (естественно в архиве), я посмотрю. Если не ты, то кто? (с) Терри Пратчетт Не забывайте ставить плюсы и говорить спасибо! |
#12
|
|||
|
|||
![]() но бага больше нету
![]() Новичок в этом деле. |
#13
|
||||
|
||||
![]() Тогда радуйся!
![]() Поздравляю! З.Ы. И скромно так: поста-а-а-авь плюсик ^_^ (весы справа сверху) Если не ты, то кто? (с) Терри Пратчетт Не забывайте ставить плюсы и говорить спасибо! |
#14
|
|||
|
|||
![]() Лучше так:
Код:
procedure TForm1.BitBtn1Click(Sender: TObject); begin Edit1.Text:=Edit1.Text+tcontrol(sender).caption; end; |
#15
|
|||
|
|||
![]() Цитата:
![]() Цитата:
Новичок в этом деле. |