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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2011, 17:00   #1
fedot_sterlec
Новичок
Джуниор
 
Регистрация: 30.05.2011
Сообщений: 5
Восклицание колькулятор

unit FedotovVA;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Edit1: TEdit;
Button17: TButton;
Button18: TButton;
Button19: TButton;
procedure Button19Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1,x: TForm1;f:integer; Btn: TButton; accum: real; x1,x2,y,i:real;
s:string;
op, Key :integer; oper,fact,chislo: integer;

implementation

{$R *.dfm}
function factorial(n: integer): integer;
begin
if n > 1then factorial := n * factorial(n-1) // функция вызывает сама себя
else factorial:= 1; // факториал 1 равен 1


end;

procedure TForm1.Button10Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;

procedure TForm1.Button11Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;

procedure TForm1.Button12Click(Sender: TObject);
begin
x1:=strToFloat(Edit1.text);
edit1.text:='';
op:=1;
end;

procedure TForm1.Button13Click(Sender: TObject);
begin
x1:=strToFloat(Edit1.text);
edit1.text:='';
op:=3
end;


procedure TForm1.Button14Click(Sender: TObject);

begin
x1:=strToFloat(Edit1.text);
edit1.text:='';
op:=0;
end;

procedure TForm1.Button15Click(Sender: TObject);
begin
x2:=strToFloat(Edit1.text);
case op of
0: y:=x1+x2;
1: y:=x1-x2;
2: y:=x1*x2;
3: if x2<>0 then y:=x1/x2 else showmessage ('На нуль не делится! Математику знать надо!')
end;
edit1.Text:=floattostr(y);
end;

procedure TForm1.Button16Click(Sender: TObject);
begin
x1:=strToFloat(Edit1.text);
edit1.text:='';
op:=2;
end;



procedure TForm1.Button17Click(Sender: TObject);
begin
Edit1.Text := '';
accum := 0;
oper := 0;
f := 0;
end;

procedure TForm1.Button18Click(Sender: TObject);
begin
s:=Edit1.Text;
setLength(s,length(s)-1);
Edit1.Text:=s;
end;

procedure TForm1.Button19Click(Sender: TObject);
begin
chislo := StrToInt(Edit1.Text);
fact := factorial(chislo);
if fact<0 then
edit1.Text:='Otricatelnoe chislo!'
else
if fact=1 then x1:=1
else if fact=0 then x1:=1
else edit1.text:=IntToStr(fact);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
if Edit1.Text = '0' then
begin
Edit1.Text := '0,';
f := 1;
end;
if Pos(',',Edit1.Text) = 0 then
Edit1.Text := Edit1.Text + ',';
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;

procedure TForm1.Button7Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;

procedure TForm1.Button8Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;

procedure TForm1.Button9Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+(Sender as TButton).caption;
end;



end.



есть проблема факториал считает,но нужно сделать так чтобы при вводе отрицательных чисел выдавал текст (отрицательное число!) а при вводе дробного числа выводил (невозможно посчитать)

помогите пожалуйста от этой и потом ещё одной задачки(потом закину=))
зависит зачёт)
fedot_sterlec вне форума Ответить с цитированием
Старый 30.05.2011, 17:03   #2
fedot_sterlec
Новичок
Джуниор
 
Регистрация: 30.05.2011
Сообщений: 5
По умолчанию

а второе это текстовый редактор гле нужно сделать так чтобы при нажатии кнопки он переводил в верхний регистр только выделенную часть текста а не весь

procedure TForm1.Registr1Click(Sender: TObject);
begin
RichEdit1.Text:=AnsiUpperCase(RichE dit1.Text);
end;
fedot_sterlec вне форума Ответить с цитированием
Старый 30.05.2011, 17:30   #3
fedot_sterlec
Новичок
Джуниор
 
Регистрация: 30.05.2011
Сообщений: 5
По умолчанию

ну помогите плз,а то зачёт через 25 минут кончается(
fedot_sterlec вне форума Ответить с цитированием
Ответ


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