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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.04.2010, 13:10
Аватар для doniv
doniv doniv вне форума
Прохожий
 
Регистрация: 06.04.2010
Сообщения: 7
Репутация: 10
По умолчанию Вопросы новичка. На примере калькулятор.

Решил покодить на Delphi опыты и удовольствия ради.
Нашел пример(http://articles.org.ru/docum/calculator.php) калькулятор и начал разбираться.
По ходу начали возникать вопросы:

1. Почему в delphi не работает функция power? Как ее подключить? Где обычно можно нарыть вкусных функций
2. Все значение выводятся в TPanel, но если значение пустое, а мы начинаем производить какие-то манипуляции, то выскакивает ошибка. Как перед нажатием любой кнопки(А желательно гурппы кнопок) проверять, пустое поле или там может некорректное значение какое и выводить соответствующий мессадж?

Последний раз редактировалось doniv, 06.04.2010 в 13:16.
Ответить с цитированием
  #2  
Старый 06.04.2010, 14:09
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

1. Функция Power находится в модуле Math, подключи его в Uses...
2. Ну например проверка TEdit на пустой ввод:
Код:
OnButtonClick;
begin
 if Length(Edit1.Text) = 0 then
  ShowMessage('Не введены данные!');
end;
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #3  
Старый 06.04.2010, 14:53
Аватар для doniv
doniv doniv вне форума
Прохожий
 
Регистрация: 06.04.2010
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от NIch
1. Функция Power находится в модуле Math, подключи его в Uses...
2. Ну например проверка TEdit на пустой ввод:
Код:
OnButtonClick;
begin
 if Length(Edit1.Text) = 0 then
  ShowMessage('Не введены данные!');
end;

Спасибо. Вообще установил 2010 Delphi, как-то приятно и прикольно там все
А вот смотрите, если мне нужно, чтобы событие обрабатывалось каждый раз когда идет клик по кнопке, то тогда как? Другими словами:
Клик по кнопке -> Проверка значения TLabel -> Вывод алерта в зависимости от параметров.
Ответить с цитированием
  #4  
Старый 06.04.2010, 15:10
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Код:
procedure TForm1.Ediе1.KeyPress (Sender: TObject; var Key: Char);
begin
  case Key of
    '0' .. '9', #8: ; // цифры и <Backspace> ничего не делать
  else
    Key := Chr(0); // иначе символ не отображать
  end;
end;
Данный код блокирует нажития всех символов кроме цифр и Backspace...
Код:
procedure TForm1.Ediе1.KeyPress (Sender: TObject; var Key: Char);
begin
  case Key of
    '0' : ShowMessage('Нажата цыфра 0');
    '1' : ShowMessage('Нажата цыфра 1');
    '2' : ShowMessage('Нажата цыфра 2');
  else
    Key  : ShowMessage('Нажата неизвестная клавиша');
  end;
end;
Данный код выводит сообщение о нажатой клавише...
Ну и все в таком духе во время обработки события OnKeyPress контролла Edit...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #5  
Старый 10.04.2010, 19:25
Аватар для doniv
doniv doniv вне форума
Прохожий
 
Регистрация: 06.04.2010
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от NIch
Код:
procedure TForm1.Ediе1.KeyPress (Sender: TObject; var Key: Char);
begin
  case Key of
    '0' .. '9', #8: ; // цифры и <Backspace> ничего не делать
  else
    Key := Chr(0); // иначе символ не отображать
  end;
end;
Данный код блокирует нажития всех символов кроме цифр и Backspace...

А можете тут подробнее?
Например, почему подчеркивает TObject, Char и Chr?

Вот ошибки.

Код HTML:
[DCC Error] raschet.pas(61): E2037 Declaration of 'Edit1' differs from previous declaration [DCC Error] raschet.pas(61): E2029 ';' expected but ')' found

Прошу прощения если вопросы покажутся вам нубскими. Для меня действительно важно понимать. Спасибо, что отвечаете
Ответить с цитированием
  #6  
Старый 10.04.2010, 21:55
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Потому-что должно быть:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 11.04.2010, 05:43
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Молодой (ая) челове, Вам следйет учите не Delphi, а основы ООП (и это не три загадочные буквы, а Объектно Ориентированное Программирование).
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #8  
Старый 11.04.2010, 12:34
Аватар для NIch
NIch NIch вне форума
Продвинутый
 
Регистрация: 02.06.2008
Адрес: Бендеры ПМР
Сообщения: 754
Репутация: 2446
По умолчанию

Цитата:
Сообщение от Страдалецъ
Потому-что должно быть:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
Все верно...спасибо Страдалецъ...
__________________
В начале был Бит, потом Байт и только потом появилось Слово...
Ответить с цитированием
  #9  
Старый 11.04.2010, 17:45
Аватар для doniv
doniv doniv вне форума
Прохожий
 
Регистрация: 06.04.2010
Сообщения: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Aristarh Dark
Молодой (ая) челове, Вам следйет учите не Delphi, а основы ООП (и это не три загадочные буквы, а Объектно Ориентированное Программирование).
Спасибо за совет, но в данном случае я просто затупил
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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