Disant1
23.10.2005 - 13:19
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
a:integer;
begin
i:=strtoint(edit1.Text);
a:=strtoint(edit2.Text);
if (i>=170)and(a>=70) then listbox1.Items.Add ….
Братцы помогите этот код защитить, если вместо числа введем буквы.
PRYANIK
23.10.2005 - 14:19
сделай нормальный заголовок, иначе тема под снос!
Paladin
23.10.2005 - 14:39
Делается это так:
QUOTE
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
a:integer;
begin
try
i:=strtoint(edit1.Text);
a:=strtoint(edit2.Text);
except messagebox(application.Handle,'Ты хоть понял что ты вводишь? ))','Ошибка ввода',MB_ICONINFORMATION);
end;
if (i>=170)and(a>=70) then listbox1.Items.Add ….
Disant1
23.10.2005 - 22:02
Спасибо,сейчас попробую
SergV2005
24.10.2005 - 17:47
А можно ещё edit'ы настроить так, чтоб в них ток цифры вводились, и отпадёт надобность в месагах.
Disant1
24.10.2005 - 20:14
Привет всем.Горе у меня,код попрбывал вставить,что-то TRY...EXCEPT
у меня не работает посмотрите где допустил ошибку.Для примера вот:
unit Upravlenie1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ListBox1: TListBox;
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
s,i,r:integer;
begin
try
s:=strtoint(edit1.text);
for i:=-3 to 3 do
begin
r:=round(s/i);
listbox1.Items.Add(inttostr(s)+'/'+inttostr(i)+'='+inttostr®);
end;
except messagebox(application.Handle,'Ты хоть понял что ты вводишь? ))','Ошибка ввода',MB_ICONINFORMATION);
end;
end;
end.
Paladin
25.10.2005 - 18:43
QUOTE(Disant1 @ 25.10.2005 - 0:14)
Привет всем.Горе у меня,код попрбывал вставить,что-то TRY...EXCEPT
у меня не работает посмотрите где допустил ошибку.Для примера вот:
А ты хоть F9 жать пробовал? Нет? Попробуй.
Disant1
25.10.2005 - 20:13
Пробовал.Выдает ошибку,и бросает в код на позицию RUN.Потом попробовал сделать так:
except
on EConvertError do
Application.MessageBox('Только числа','Внимание');
end;
такая же бадяга,КАК ТОЛЬКО В EDIT ПИШУ БУКВЫ см.выше.
TRY...Finally такаяже хрень.
Paladin
25.10.2005 - 21:07
Все нормально. Делфи прерыватся на исключения не зависимо от того, отслеживаешь ты их, или нет (можно отключить, но как не помню). Просто жми "старт" и работай дальше. Если запустить программу не из Дэлфи, все будет нормально.
Disant1
26.10.2005 - 11:33
Вас понял,благодарю за помощь.
Для просмотра
полной версии этой страницы, пожалуйста, пройдите по ссылке:
Код Delphi
SoftoRooM © 2004-2024