day & night

Код Delphi, Помогите
Дата обновления: , перейти к новому сообщению
#1
Disant1



Unregistered














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 ….

Братцы помогите этот код защитить, если вместо числа введем буквы.
Go topGo end

Ответов(1 - 9)
23.10.2005 - 14:19
#2
PRYANIK



Made In Tula
[SoftoRooMTeaM] Group Icon

Группа: Администраторы
Сообщений: 31.474
Регистрация: 22.02.2004
Пользователь №: 7


Респектов: 6461
-----XXXXX




сделай нормальный заголовок, иначе тема под снос!


--------------------
Не работает ссылка? Пишите в теме, обновим :)! Link not working? Let us know in the comments, we'll fix it!


Трудно найти слова, когда действительно есть что сказать. Э.М. Ремарк
User is offline
Go topGo end
23.10.2005 - 14:39
#3
Paladin



профи!
Group Icon

Группа: Наши Люди
Сообщений: 944
Регистрация: 7.03.2004
Из: г. Абакан
Пользователь №: 303


Респектов: 11
-----X----




Делается это так:
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 ….
User is offline
Go topGo end
23.10.2005 - 22:02
#4
Disant1



Unregistered














Спасибо,сейчас попробую
Go topGo end
24.10.2005 - 17:47
#5
SergV2005



Unregistered














А можно ещё edit'ы настроить так, чтоб в них ток цифры вводились, и отпадёт надобность в месагах.
Go topGo end
24.10.2005 - 20:14
#6
Disant1



Unregistered














Привет всем.Горе у меня,код попрбывал вставить,что-то 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.
Go topGo end
25.10.2005 - 18:43
#7
Paladin



профи!
Group Icon

Группа: Наши Люди
Сообщений: 944
Регистрация: 7.03.2004
Из: г. Абакан
Пользователь №: 303


Респектов: 11
-----X----




QUOTE(Disant1 @ 25.10.2005 - 0:14)
Привет всем.Горе у меня,код попрбывал вставить,что-то TRY...EXCEPT
у меня не работает посмотрите где допустил ошибку.Для примера вот:
*


А ты хоть F9 жать пробовал? Нет? Попробуй.
User is offline
Go topGo end
25.10.2005 - 20:13
#8
Disant1



Unregistered














Пробовал.Выдает ошибку,и бросает в код на позицию RUN.Потом попробовал сделать так:

except
on EConvertError do
Application.MessageBox('Только числа','Внимание');
end;

такая же бадяга,КАК ТОЛЬКО В EDIT ПИШУ БУКВЫ см.выше.
TRY...Finally такаяже хрень.
Go topGo end
25.10.2005 - 21:07
#9
Paladin



профи!
Group Icon

Группа: Наши Люди
Сообщений: 944
Регистрация: 7.03.2004
Из: г. Абакан
Пользователь №: 303


Респектов: 11
-----X----




Все нормально. Делфи прерыватся на исключения не зависимо от того, отслеживаешь ты их, или нет (можно отключить, но как не помню). Просто жми "старт" и работай дальше. Если запустить программу не из Дэлфи, все будет нормально.
User is offline
Go topGo end
26.10.2005 - 11:33
#10
Disant1



Unregistered














Вас понял,благодарю за помощь.
Go topGo end

Topic Options
task
Сейчас: 13.05.2024 - 3:09
Мобильная версия | Lite версия