Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.12.2009, 10:59   #11
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

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

Код:
procedure TForm1.ButtonRezClick(Sender: TObject);
begin
Rv:='=';
z:=StrToFloat(Edit1.Text);
Case D Of
 '+':f:=x+y;
 '-':f:=x-y;
 '*':f=x*y;
 '/':f:=a/z;
 '\':f:=1/a;
 'S': f:=Sin(a);
 'C':f:=Cos(a);
 '|':f:=abs(a);
 'A': Function InDegree(a);
'L': Function Log(a);
end;
выделенные строки тоже неверны.
кстати и где создание вашего обьекта типа TCalculator?

Скандербег, лишним не будет
а так лучше сразу привыкать, а то при наследовании можно потом позабывать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 01.12.2009 в 11:06.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.12.2009, 11:01   #12
ulala
Пользователь
 
Аватар для ulala
 
Регистрация: 18.09.2009
Сообщений: 62
По умолчанию

А как этот код создаётся?
И где функцию использовать?

так не было лекции-то только задание дали...

Calculator:=TCalculator.Create; - это надо добавить в procedure TForm1.ButtonRezClick(Sender: TObject); (кнопка "=") или в кнопки с операциями логарифм и модуль?

Код:
Var D:Integer;
procedure TForm1.ButtonModClick(Sender: TObject);
begin
Calculator:=TCalculator.Create;
D:=(Sender As TButton).Tag;
x:=StrToFloat(Edit1.Text);
Edit1.Text:='';
end;
Вот сюда это надо было добавить, я поняла

Теперь нужно с подсвеченными неправильно использованными ф-иями разобраться... Их в кнопке "=" совсем не надо писать? А как же она тогда будет вычислять...
Ну,как?.. Твоё коллективное сознание уловило Message или ты по-прежнему считаешь себя Избранным?..

Последний раз редактировалось Stilet; 01.12.2009 в 12:14.
ulala вне форума Ответить с цитированием
Старый 01.12.2009, 11:20   #13
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Цитата:
Сообщение от ulala Посмотреть сообщение
Вот сюда это надо было добавить, я поняла
Если добавить СЮДА, то на каждое нажатие кнопки ButtonMod будет создавать новый экземпляр класса. Взаимодействовать друг с другом они не будут - получится сплошной бардак.
Экземпляр создается, как правило, при запуске программы и создании главной формы в событии FormCreate;
Скандербег вне форума Ответить с цитированием
Старый 01.12.2009, 11:25   #14
ulala
Пользователь
 
Аватар для ulala
 
Регистрация: 18.09.2009
Сообщений: 62
По умолчанию

При нажатии кнопки "С" они будут взаимодействовать?

Простите, пора бежать на учёбу Спасибо всем за подсказки
Ну,как?.. Твоё коллективное сознание уловило Message или ты по-прежнему считаешь себя Избранным?..

Последний раз редактировалось Stilet; 01.12.2009 в 12:15.
ulala вне форума Ответить с цитированием
Старый 01.12.2009, 11:34   #15
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Дело не в том, будут они взаимодействовать или нет, а в том, что вам нужен лишь один экземпляр калькулятора, который будет обеспечивать все операции. Поэтому и нужно его создавать один раз при запуске программы.

Запустите штатный калькулятор Windows и посмотрите как в нем производятся операции (вначале двухпозиционные - сложить, вычесть, ...).
Вначале набирается первое число, которое после нажатия на кнопки +, - *, / запоминается (у вас в переменной X). Так же запоминается и вид операции. Затем набирается второе число, которое после нажатия на кнопку = запоминается в Y. И после этого в этом же событии кнопки ButtonRez, происходит выполнение нужной операции.

Если двухпозиционные операции будут освоены, то и операции, требующие один аргумент проще будет осознать.
Скандербег вне форума Ответить с цитированием
Старый 27.03.2013, 19:27   #16
Valenok_Sibirski\y
Новичок
Джуниор
 
Регистрация: 27.03.2013
Сообщений: 1
По умолчанию

Мне тоже задали написать калькулятор в шараге с логарифмами. до них я еще не дошла. появилась проблема с прописыванием кнопки возведения в степень и взаимдействия с кнопкой "=". вот код:
Код:
var  k, y1:integer;
procedure TForm1.BitBtn18Click(Sender: TObject);
begin
  x:= strtofloat(edit1.text);
  edit1.Clear;
  kod := '^';
end;

procedure TForm1.BitBtn10Click(Sender: TObject);
begin
 y:=strtofloat(edit1.text);
 case kod of
   '+': z:=x+y;
   '-': z:=x-y;
   '*': z:=x*y;
   '\': z:=x/y;
   '^': begin
          y1:=strtoint( edit1.Text);
          edit1.clear;
          z :=1;
          for k:=1 to y1 do begin
             z:=z*x;
          end;
        end;
    edit1.Text:=floattostr(z)
  end;
после прописывания этого кода перестают работать кнопки "+", "-", "*" и "\" при нажатии на "=" в этих случаях ничего не происходит работают только возведение в степень и корень квадратный из числа.
Можете подсказать как сделать так чтобы работали все кнопки



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 27.03.2013 в 20:32.
Valenok_Sibirski\y вне форума Ответить с цитированием
Старый 27.03.2013, 23:00   #17
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
uses Math...
...
procedure TForm1.BitBtn10Click(Sender: TObject);
begin
 y:=strtofloat(edit1.text);
 case kod of
   '+': z:=x+y;
   '-': z:=x-y;
   '*': z:=x*y;
   '\': z:=x/y;
   '^': z:=power(x,y);
   '=': begin edit1.Text:=floattostr(z); kod:=#0;x:=0;y:=0; end;
 end;

  end;
так?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание своего класса в Delphi 7 - фигуры для шахматной доски electric Компоненты Delphi 18 24.10.2013 15:06
Создание класса в Delphi program123 Помощь студентам 6 16.06.2009 14:39
Delphi. Создание нового класса, его "предков". Krechet Помощь студентам 0 26.04.2009 15:52
[Delphi]: Создание нового класса с наследованием Kolhan Помощь студентам 6 17.04.2009 00:03