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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2012, 17:34   #1
Anna-A
Новичок
Джуниор
 
Регистрация: 12.05.2012
Сообщений: 5
По умолчанию Прописать сообщение об ошибке в программе

Необходимо чтобы программа показывала какое-либо сообщение об ошибке, если в поле значение введены символы или буквы. Язык делфи
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, jpeg, Menus, Buttons;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Edit2: TEdit;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    Image1: TImage;
    Image2: TImage;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label3: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label9: TLabel;
    PopupMenu1: TPopupMenu;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    procedure N2Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1; S,Y,I:Extended;

implementation

{$R *.dfm}

procedure TForm1.N2Click(Sender: TObject);
begin
CLOSE ;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
ShowMessage('Программа конвертации мер массы.'
             +#13#10+'Версия 1.00.0'
             +#13#10+'Автор:Борискина Анна');
end;



procedure TForm1.BitBtn1Click(Sender: TObject);
begin
I:=StrToFloat(Edit1.Text);
IF combobox1.Text='Килограмм' THEN Y:=I*1;
IF combobox1.Text='Грамм' THEN Y:=I*0.001;
IF combobox1.Text='Тонна' THEN Y:=I*1000;
IF combobox1.Text='Милиграмм' THEN Y:=I*0.000001;
IF combobox1.Text='Фунт' THEN Y:=I*0.45359237;
IF combobox1.Text='Гран' THEN Y:=I*0.00006479891;
IF combobox1.Text='Унция' THEN Y:=I*0.0283495231;

IF combobox2.Text='Килограмм' THEN S:=Y/1;
IF combobox2.Text='Грамм' THEN S:=Y/0.001;
IF combobox2.Text='Тонна' THEN S:=Y/1000;
IF combobox2.Text='Милиграмм' THEN S:=Y/0.000001;
IF combobox2.Text='Фунт' THEN S:=Y/0.45359237;
IF combobox2.Text='Гран' THEN S:=Y/0.00006479891;
IF combobox2.Text='Унция' THEN S:=Y/0.0283495231;

Edit2.Text:=FloatToStr(S);
Label9.Caption:=combobox2.Text;
//ShowMessage(combobox1.Text);
end;


procedure TForm1.BitBtn3Click(Sender: TObject);
begin
close;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
ShowMessage('Программа конвертации мер массы.'
             +#13#10+'Версия 1.00.0'
             +#13#10+'Автор:Борискина Анна');
end;

procedure TForm1.N5Click(Sender: TObject);
begin
I:=StrToFloat(Edit1.Text);
IF combobox1.Text='Килограмм' THEN Y:=I*1;
IF combobox1.Text='Грамм' THEN Y:=I*0.001;
IF combobox1.Text='Тонна' THEN Y:=I*1000;
IF combobox1.Text='Милиграмм' THEN Y:=I*0.000001;
IF combobox1.Text='Фунт' THEN Y:=I*0.45359237;
IF combobox1.Text='Гран' THEN Y:=I*0.00006479891;
IF combobox1.Text='Унция' THEN Y:=I*0.0283495231;

IF combobox2.Text='Килограмм' THEN S:=Y/1;
IF combobox2.Text='Грамм' THEN S:=Y/0.001;
IF combobox2.Text='Тонна' THEN S:=Y/1000;
IF combobox2.Text='Милиграмм' THEN S:=Y/0.000001;
IF combobox2.Text='Фунт' THEN S:=Y/0.45359237;
IF combobox2.Text='Гран' THEN S:=Y/0.00006479891;
IF combobox2.Text='Унция' THEN S:=Y/0.0283495231;

Edit2.Text:=FloatToStr(S);
Label9.Caption:=combobox2.Text;
//ShowMessage(combobox1.Text);
end;

procedure TForm1.N6Click(Sender: TObject);
begin
ShowMessage('Программа конвертации мер массы.'
             +#13#10+'Версия 1.00.0'
             +#13#10+'Автор:Борискина Анна');
end;

procedure TForm1.N7Click(Sender: TObject);
begin
close;
end;

end.
Когда пишу
Код:
begin 
try
I:=StrToFloat(Edit1.Text);
except
ShowMessage('Неверный ввод значения');
end;
дальше выдает ошибки на все procedure
Как решить проблему? помогите((
Anna-A вне форума Ответить с цитированием
Старый 12.05.2012, 17:37   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
если в поле значение введены символы или буквы.
контролируйте ввод!
вот так
Код:
procedure TMForm.lbCountKeyPress(Sender: TObject; var Key: Char);
begin
  if not(Key in ['0'..'9', #10, DecimalSeparator, #127, #8]) then
    Key := #0
  else
  begin
    if pos(DecimalSeparator, lbCount.text) <> 0 then
    begin
      if Key = DecimalSeparator then Key := #0
      else
        if Length(copy(lbCount.Text, pos(DecimalSeparator, lbCount.text)+1,
                  Length(lbCount.Text)- pos(DecimalSeparator, lbCount.text))) > 2 then
          if not(Key in [#127, #8]) then Key := #0;
    end;
  end;
end;
и сообщения выводить не надо!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 12.05.2012, 17:39   #3
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Для прекращения выполнения какой либо процедуры или функции есть оператор Exit.

Код:
...
ShowMessage('Неверный ввод значения');
Exit;
...
Это прервёт выполнение процедуры.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 12.05.2012, 17:47   #4
Anna-A
Новичок
Джуниор
 
Регистрация: 12.05.2012
Сообщений: 5
По умолчанию

Я наоборот хочу так написать, чтобы появлялось сообщение об ошибке.

С exit попробовала, тоже самое.. (
Anna-A вне форума Ответить с цитированием
Старый 12.05.2012, 17:49   #5
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

не может быть. Прикрепи проект сюды.

Или скрин ошибки.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 12.05.2012, 17:52   #6
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

ваше право
Цитата:
С exit попробовала, тоже самое.. (
что пробовали? Из под Делфи запустить? Молодцы! А теперь
Нажмите Ctrl+F9 и запустите ехешник! Без делфи!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 12.05.2012, 17:58   #7
Anna-A
Новичок
Джуниор
 
Регистрация: 12.05.2012
Сообщений: 5
По умолчанию

конвертер.rar
программка



я перевыложил файл без вируса!

АННА, ЛЕЧИТЕ СВОЮ DELPHI - она у Вас заражена вирусом, все EXE файлы будут заражать другие компьютеры!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 13.05.2012 в 03:09.
Anna-A вне форума Ответить с цитированием
Старый 12.05.2012, 18:01   #8
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от Anna-A Посмотреть сообщение
Вложение 50677
программка
Ой, там Win32.Induc
Установите антивирус.

Возможно ошибка действительно это предупреждение компилятора. Запускайте не из среды, а просто вручную скомпиленый exe.
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 12.05.2012, 18:02   #9
Anna-A
Новичок
Джуниор
 
Регистрация: 12.05.2012
Сообщений: 5
По умолчанию

пробовала и экзешник запустить. и толку нет. видимо руки не из того места)
Anna-A вне форума Ответить с цитированием
Старый 12.05.2012, 18:05   #10
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

что за ошибка то?
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сообщение об ошибке... Arinka Помощь студентам 9 25.05.2010 16:58
Сообщение об ошибке ruavia3 Microsoft Office Excel 3 13.10.2009 23:10
Сообщение об ошибке Kreadlling Общие вопросы C/C++ 3 08.09.2009 13:30
Сообщение об ошибке! QWERT1988 Общие вопросы Delphi 4 01.06.2009 17:14
Выдать сообщение об ошибке Detka Общие вопросы Delphi 17 10.07.2008 15:06