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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2012, 16:10   #1
Натали17
Новичок
Джуниор
 
Регистрация: 04.10.2012
Сообщений: 1
По умолчанию Необходимо устранить ошибку

Написала программу,сделано с глобальной переменной, сложение чисел нормально работает, а вычитание тупит, вместо ответа какое-то непонятное число появляется, вне зависимости какие числа введены, помогите пожалуйста...
unit1

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, Unit2;
var global: integer;
type
TGlavnoe = class(TForm)
slogenie: TButton;
raznost: TButton;
delenie: TButton;
ymnogenie: TButton;
cosinus: TButton;
sinus: TButton;
znach1: TEdit;
znach2: TEdit;
faktorial: TButton;
vkvadrat: TButton;
procedure slogenieClick(Sender: TObject);
procedure raznostClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Glavnoe: TGlavnoe;
n, t: integer;
procedure Summa(n, t: integer);
function minus(n, t: integer): integer;
implementation
{$R *.dfm}
procedure TGlavnoe.slogenieClick(Sender: TObject);
begin
n:=StrToInt(znach1.Text);
t:=StrToInt(znach2.Text);
Summa(n, t);
Rezultat.ShowModal;
end;
procedure Summa (n, t: integer);
begin
Global:=n+t;
end;
procedure TGlavnoe.raznostClick(Sender: TObject);
begin
n:=StrToInt(znach1.Text);
t:=StrToInt(znach2.Text);
Global:= minus(n, t);
Rezultat.ShowModal;
end;
Function minus(n, t: integer): integer;
begin
Global:=n-t;
end;
end.

unit2

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

type
TRezultat = class(TForm)
naimenovanie: TLabel;
Otvet: TLabel;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Rezultat: TRezultat;
implementation
uses Unit1;
{$R *.dfm}
procedure TRezultat.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Rezultat.Close;
glavnoe.Show;
end;
procedure TRezultat.FormShow(Sender: TObject);
begin
glavnoe.znach1.Clear;
glavnoe.znach2.Clear;
glavnoe.Visible:=False;
otvet.Caption:=IntToStr(global);
end;
end.
Натали17 вне форума Ответить с цитированием
Старый 04.10.2012, 20:59   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,369
По умолчанию

Ежели посмотреть вот сюда,
Код:
procedure TGlavnoe.raznostClick(Sender: TObject);
begin
n:=StrToInt(znach1.Text);
t:=StrToInt(znach2.Text);
Global:= minus(n, t);
Rezultat.ShowModal;
end;
Function minus(n, t: integer): integer;
begin
Global:=n-t;
end;
end.
то можно видеть, что
Код:
Global:= minus(n, t); // Это вызов функции
а это ее описание:
Код:
Function minus(n, t: integer): integer;
begin
Global:=n-t;
end;
Но в описании нет возвращаемого результата, т.е. надо бы:
Код:
minus := n-t;
или
Код:
Result := n-t;  // Это как раз в Делфи
Где-то так ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
устранить ошибку с компонентом ClientSocket siemdi Общие вопросы C/C++ 3 26.12.2010 16:15
Как устранить ошибку? Кинельски Общие вопросы Delphi 7 10.10.2010 00:46
Как устранить Ошибку timed out kroŧ Работа с сетью в Delphi 2 21.05.2010 08:10
Устранить ошибку в коде Divoha Общие вопросы C/C++ 11 27.06.2009 15:13
Устранить ошибку AlenaBEL Помощь студентам 7 23.11.2008 15:00