IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Калькулятор
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 239
Пол: Женский
Реальное имя: Юлия

Репутация: -  3  +


rolleyes.gif я только вотъ начала осваивать делфи, нам задали сделать калькулятор, я почти доделала только вот такая проблемма : нужно разработать кнопку Backspace(удаляет последнюю цифру)
я написала так
Код

s:=Edit1.text;
Delete(s,length(s),1);

почему-то никак не реагирует... huh.gif
и еще вопрос как можно сделать, что бы цифры вводились не с начала строки, а с конца(как в стандартном калкуляторе Windows)??


--------------------
For every evil under the sun
There is a remedy or there is none
If there is one - try to find it
If there is none - never mind it!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 5)
сообщение
Сообщение #2


Гость






Цитата(Catty @ 19.03.05 15:18)
почему-то никак не реагирует...

Ну, скорее всего, потому что ты забыла вернуть измененное значение назад в Edit1:
Код
s:=Edit1.text;
Delete(s,length(s),1);
Edit1.text := s;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 239
Пол: Женский
Реальное имя: Юлия

Репутация: -  3  +


!! lol.gif
спасибо!
а как начсет второго вопроса?
И еще вопрос:
Заголовок обработчина для события OnKeyDown
Допустим я хочу что бы при нажатии клавиши Backspace на клаве, срабатывала кнопка на калькуляторе. В книге я прочла что нужно сделать что то вроде этого, вот только не знаю, как перейти к определенной кнопке, что нуно поставить вместо ".........."
Код

procedure TForm1.Edit1Mouseup(Sender: TObject; var Key:word;Shift:TShiftState);
begin
if (Key=8) then
...............
end;

:flowers:

Сообщение отредактировано: Catty -


--------------------
For every evil under the sun
There is a remedy or there is none
If there is one - try to find it
If there is none - never mind it!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
как можно сделать, что бы цифры вводились не с начала строки, а с конца(как в стандартном калкуляторе Windows)??

Для этого можешь пользоваться вот такой процедурой:
Код
procedure RJustifyEdit(var ThisEdit : TEdit);
var
 Left, Width : Integer;
 GString : String;
 Rgn : TRect;
 TheCanvas : TControlCanvas;
begin
 TheCanvas := TControlCanvas.Create;
 try
   TheCanvas.Control := ThisEdit;
   GString := ThisEdit.Text;
   Rgn := ThisEdit.ClientRect;
   TheCanvas.FillRect(Rgn);
   Width := TheCanvas.TextWidth(GString);
   Left := Rgn.Right - Width - 1;
   TheCanvas.TextRect(Rgn, Left, 0, GString);
 finally
   TheCanvas.Free;
 end;
end;
...
// Вот так можешь вызывать:
procedure TForm1.bspsClick(Sender: TObject);
begin
  s:=Edit1.text;
  Delete(s,length(s),1);
  Edit1.text := s;
  RJustifyEdit(Edit1)
end;
...


Цитата(Catty @ 19.03.05 16:55)
Допустим я хочу что бы при нажатии клавиши Backspace на клаве, срабатывала кнопка на калькуляторе.

Наверное, вот так (только не забудь установить для формы KeyPreview := True):
Код
procedure TForm1.bspsClick(Sender: TObject);
 begin
   s:=Edit1.text;
   Delete(s,length(s),1);
   Edit1.text := s;
 end;
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
 if key = #8 then bspsClick(sender);
end;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 239
Пол: Женский
Реальное имя: Юлия

Репутация: -  3  +


пасибо! :flowers:


--------------------
For every evil under the sun
There is a remedy or there is none
If there is one - try to find it
If there is none - never mind it!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской

Репутация: -  2  +


Catty
а зачем вообще TEdit использовать? если вводить цифры с помощью кнопочек, то лучше поставить обычный TLabel, а еще лучше TStaticText - его и оформить покрасивее можно и выравнивание вправо есть
а для кнопочек на форме удобно использовать ActionList с "горячими клавишами"

Сообщение отредактировано: P@sh@ -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 20.05.2024 7:06
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name