Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вопрос с калькулятором 
:(
    Опции темы
chip_and_dayl
Дата 19.6.2010, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 1
Всего: 9



Цитата(neprogrammist @  18.6.2010,  21:52 Найти цитируемый пост)
там ошибка только, всё тело есть 

По ходу не программисты тоже только с тела состоят :))

Добавлено через 48 секунд
lyucean
Скорее всего придется тебе же на Делфи и переписать:)


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
neprogrammist
Дата 19.6.2010, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 8.1.2010

Репутация: нет
Всего: нет



Цитата(lyucean @ 18.6.2010,  22:16)
Цитата(neprogrammist @ 18.6.2010,  21:52)
помогите доделать пожалуйста этот, там ошибка только, всё тело есть

ох ..блин, у меня нет делфи 2007

по теме 

добавьте перехват клавиш 
на c++ это так будет, переписать не сложно ..ну или в нете найдите.
вставляется в TForm1.FormKeyDown
Код

switch(Key)
  {
   case 27:Exit2Click(Sender);break; // это пример ..у вас коды клавиш другие.
   case 49:N1Click(Sender);break;
   case 50:N2Click(Sender);break;
   case 51:N3Click(Sender);break;
   case 52:N4Click(Sender);break;
   case 53:N5Click(Sender);break;
   case 54:N6Click(Sender);break;
   case 17:N7Click(Sender);break;
   case 32:Start1Click(Sender);break;
  }



+ добавьте ввод только чисел ..опять же на c++
вставляется в TForm1.Edit1KeyPress
Код

if ((Key >= '0') && (Key <= '9')) {}  // цифры
        else if (Key == 8) {}  // <-
        else if ((Key == '.') || (Key == ',')) // запятая
                {
                if (((TEdit*)Sender)->Text.Pos(DecimalSeparator)!=0) // если запятая уже есть
                        Key = 0;
                else // если ещё нет
                        Key = DecimalSeparator;
                }
        else Key = 0; // не цифра


+ добавьте очищение едита после нажатия "+","-","*","/" (ну и соответственно присваивания переменной, значения из едита)

после "=" желательно результат вывести


ну можно для максимума вставить мемо и работать со строчками (после нажатия "+","-","*","/" , едит очищаете, + добавляете его в мемо новой  строкой) 

..могу ток на c++ buildere помочь, ставить старый делфи влом.

вроде как подробно написал .. приводите код, где траблы.

 smile  С+ в первый раз вижу, но спасибо хоть обратили внимание
PM MAIL   Вверх
lyucean
  Дата 20.6.2010, 04:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 3.6.2010

Репутация: нет
Всего: нет



chip_and_dayl

 ох, блин прав по ходу smile


neprogrammist

про ввод только цифр 
Код

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  case Key of
    '0' .. '9', #8 : ;
    ','  :
    begin
      if Key = ',' then Key:=',';
      if (Pos(',',Form1.Edit1.Text) <> 0) then Key:= Chr(0);
    end;
    '-'  :
    begin
      if Key = '-' then Key:='-';
      if Length(Form1.Edit1.Text) <> 0 then Key:= Chr(0);

    end;
    else
      Key := Chr(0);
  end;

end;



про ввод по нажатию на клаве, как то так должно быть.

Код

  case Key of
    '5':Edit1.text:=Edit1.text+'5';  // т.е. по нажатию 5 на форме, в поле Edit1.text добавляется 5
   end;


 ..соответственно на * можно забить //умножение, на + сложение, и так далее ..лучше сверху поместить мемо, для вывода проделанных операций.


PM MAIL   Вверх
former
Дата 20.6.2010, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 4
Всего: 17



Цитата(lyucean @  20.6.2010,  04:04 Найти цитируемый пост)
про ввод по нажатию на клаве, как то так должно быть.

А если 50000000 нужно прибавить, то столько же кнопок нужно создать?  smile 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
lyucean
Дата 20.6.2010, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 3.6.2010

Репутация: нет
Всего: нет



Цитата(former @ 20.6.2010,  09:33)
Цитата(lyucean @  20.6.2010,  04:04 Найти цитируемый пост)
про ввод по нажатию на клаве, как то так должно быть.

А если 50000000 нужно прибавить, то столько же кнопок нужно создать?  smile

я никогда не пользовался делфи (паскаль был и синтаксис от туда помню), т.е. делал по аналогии, но по моему 5 кратное нажатие 5 должно привести к результату 55555 

вопрос не понял.

PM MAIL   Вверх
chip_and_dayl
Дата 20.6.2010, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 1
Всего: 9



Цитата(lyucean @  20.6.2010,  04:04 Найти цитируемый пост)
 case Key of    '5':Edit1.text:=Edit1.text+'5';  // т.е. по нажатию 5 на форме, в поле Edit1.text добавляется 5   end;


а если так

Код

 case Key of
    '0'..'9':Edit1.text:=Edit1.text+Key;  //
   end;


Хотя я не понял в чем вопрос. Мы ставим баттоны с цифрами и для всех реализуем одну логику?smile


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
lyucean
Дата 20.6.2010, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 3.6.2010

Репутация: нет
Всего: нет



Цитата(chip_and_dayl @ 20.6.2010,  20:39)
Цитата(lyucean @  20.6.2010,  04:04 Найти цитируемый пост)
 case Key of    '5':Edit1.text:=Edit1.text+'5';  // т.е. по нажатию 5 на форме, в поле Edit1.text добавляется 5   end;


а если так

Код

 case Key of
    '0'..'9':Edit1.text:=Edit1.text+Key;  //
   end;


Хотя я не понял в чем вопрос. Мы ставим баттоны с цифрами и для всех реализуем одну логику?smile

Мы пишем neprogrammist  калькулятор  smile 

 
Код

 case Key of
    '0'..'9':Edit1.text:=Edit1.text+Key;  //
   end;


 реализация намного удачнее, не додумался smile 


 Цель, ввод чисел по нажатию на клавиатуре, в не активный едит.
PM MAIL   Вверх
chip_and_dayl
Дата 20.6.2010, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 1
Всего: 9



lyucean
Прикольно:) Я тоже хочу себе калькулятор:))

Добавлено @ 20:59
Цитата(lyucean @  20.6.2010,  20:47 Найти цитируемый пост)
 Цель, ввод чисел по нажатию на клавиатуре, в не активный едит.

Тогда в событие КейПресс пишет, то что выше и будет ему чудо:) Ну только учесть срабатывание удаления и точек


Это сообщение отредактировал(а) chip_and_dayl - 20.6.2010, 20:59


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
neprogrammist
Дата 20.6.2010, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 8.1.2010

Репутация: нет
Всего: нет



а при помощи простых присваиваний никак? (в задании написано как создаь кальк)
PM MAIL   Вверх
chip_and_dayl
Дата 20.6.2010, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: 1
Всего: 9



neprogrammist
Куда еще прощеsmile 


Цитата(neprogrammist @  20.6.2010,  21:09 Найти цитируемый пост)
(в задании написано как создаь кальк)

Ну, тогда делай по инструкции . Чего мы тут напрягаем извилины!?!  smile 


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0906 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.