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 у меня не работает посмотрите где допустил ошибку.Для примера вот:
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
Все нормально. Делфи прерыватся на исключения не зависимо от того, отслеживаешь ты их, или нет (можно отключить, но как не помню). Просто жми "старт" и работай дальше. Если запустить программу не из Дэлфи, все будет нормально.
Мда, я чет не въеду, на кой такой гемор, если уж тебе надо ток цифры вводить, то надо сделать так чтоб другие символы просто к примеру подменялись на ноль или вообще не вводились, а выдовался звуковой сигнал. Пример: if not (key in ['0'..'9', ' '_ ',', '.']) then // Задаёш то что можно вводить begin key:=#0; // Вводит 0 вместо ненужного beep; // Выдаёт звуковой сигнал end;
Disant1, 29.10.2005 - 20:51
Я недавно начал изучать Delphi. Знаний пока маловато,вот пробую че в книге прочитал. Да не все в книге пушут.