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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.02.2007, 01:28
tihon_65 tihon_65 вне форума
Прохожий
 
Регистрация: 01.02.2007
Сообщения: 7
Репутация: 10
По умолчанию Помогите найти ошибку

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

Код:
unit Unit6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, System.ComponentModel, Borland.Vcl.StdCtrls;

type
  TForm6 = class(TForm)
    Reset: TButton;
    Edit1: TEdit;
    Numer1: TButton;
    Numer2: TButton;
    Numer3: TButton;
    Numer4: TButton;
    Numer0: TButton;
    Zap: TButton;
    Plus: TButton;
    Min: TButton;
    Del: TButton;
    Umn: TButton;
    Ravno: TButton;
    procedure ResetClick(Sender: TObject);
    procedure Numer1Click(Sender: TObject);
    procedure Numer2Click(Sender: TObject);
    procedure Numer3Click(Sender: TObject);
    procedure Numer4Click(Sender: TObject);
    procedure Numer0Click(Sender: TObject);
    procedure ZapClick(Sender: TObject);
    procedure PlusClick(Sender: TObject);
    procedure MinClick(Sender: TObject);
    procedure DelClick(Sender: TObject);
    procedure UmnClick(Sender: TObject);
    procedure RavnoClick(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form6: TForm6;
  a,b,c:real;
  mode:integer;

implementation

{$R *.nfm}

procedure TForm6.ResetClick(Sender: TObject);
begin
Edit1.Text:='';
end;

procedure TForm6.Numer1Click(Sender: TObject);
begin
 if Edit1.Text <> '' then
 Edit1.Text:=Edit1.Text+'1'
 else
 Edit1.Text:='1';
end;

procedure TForm6.Numer2Click(Sender: TObject);
begin
if Edit1.Text <>'' then
Edit1.Text:=Edit1.Text+'2'
else
Edit1.Text:='2';
end;

procedure TForm6.Numer3Click(Sender: TObject);
begin
if Edit1.Text <>'' then
Edit1.Text:=Edit1.Text+'3'
else
Edit1.Text:='3';
end;

procedure TForm6.Numer4Click(Sender: TObject);
begin
if Edit1.Text <>'' then
Edit1.Text:=Edit1.Text+'4'
else
Edit1.Text:='4';
end;

procedure TForm6.Numer0Click(Sender: TObject);
begin
If Edit1.Text <> '' then
Edit1.Text:=Edit1.Text+'0';
end;

procedure TForm6.ZapClick(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+',';
end;

procedure TForm6.PlusClick(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);
mode:=2;
Edit1.Text:='';
end;

procedure TForm6.MinClick(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);
mode:=3;
Edit1.Text:='';
end;

procedure TForm6.DelClick(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text) ;
mode:=4;
Edit1.Text:='';
end;

procedure TForm6.UmnClick(Sender: TObject);
begin
a:=StrToFloat(Edit1.Text);
mode:=5;
Edit1.Text:='';
end;
procedure TForm6.RavnoClick(Sender: TObject);
begin
case mode of
2:begin
b:=StrToFloat(edit1.Text);
c:=a+b;
Edit1.Text:=FloatToStr(c);
end;
3:begin
b:=StrToFloat(edit1.Text);
c:=a-b;
Edit1.Text:=FloatToStr(c);
end;
4:begin
b:=StrToFloat(edit1.Text);
c:=a/b;
Edit1.Text:=FloatToStr(c);
end;
5:begin
b:=StrToFloat(edit1.Text);
c:=a/b;
Edit1.Text:=FloatToStr(c);
end;
end;
И вот код ошибки;[Error] Unit6.pas(154): Statement expected but end of file found
Ответить с цитированием
  #2  
Старый 01.02.2007, 05:30
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,907
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Код:
procedure TForm6.RavnoClick(Sender: TObject);
begin
  case mode of
    2:begin
        b:=StrToFloat(edit1.Text);
        c:=a+b;
        Edit1.Text:=FloatToStr(c);
      end;
    3:begin
        b:=StrToFloat(edit1.Text);
        c:=a-b;
        Edit1.Text:=FloatToStr(c);
       end;
    4:begin
        b:=StrToFloat(edit1.Text);
        c:=a/b;
        Edit1.Text:=FloatToStr(c);
       end;
    5:begin
        b:=StrToFloat(edit1.Text);
        c:=a/b;
        Edit1.Text:=FloatToStr(c);
       end;
  end; //Этот end заверщает оператор case ... of ... end;
end;  //Этот end добавил я, он завершает процедуру
Видимо эта ошибка.

ЗЫЖ Я подправил твое сообщение, но на будущее, для кода есть специальный тег
Ответить с цитированием
  #3  
Старый 01.02.2007, 11:36
tihon_65 tihon_65 вне форума
Прохожий
 
Регистрация: 01.02.2007
Сообщения: 7
Репутация: 10
По умолчанию

Получилось у меня. 3 этих end и четвертый с точкой тогда скомпилировался.И почему когда использую VCL форму все время пишет внимание([Warning] Project3.dpr(16): Unit 'Borland.Vcl.Forms' is specific to a platform).Система XP SP2,Delphi8.Когда Windows Form все нормально.Еще как правильно пользоваться тегами.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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