Твой софтовый форум > Тематические форумы > Программирование

Код Delphi

,

Помогите

Дата публикации: 29.10.2005 - 20:51
Pages: 1, 2
Disant1
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
сделай нормальный заголовок, иначе тема под снос!
Paladin
Делается это так:
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
Спасибо,сейчас попробую
SergV2005
А можно ещё edit'ы настроить так, чтоб в них ток цифры вводились, и отпадёт надобность в месагах.
Disant1
Привет всем.Горе у меня,код попрбывал вставить,что-то 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
QUOTE(Disant1 @ 25.10.2005 - 0:14)
Привет всем.Горе у меня,код попрбывал вставить,что-то TRY...EXCEPT
у меня не работает посмотрите где допустил ошибку.Для примера вот:
*


А ты хоть F9 жать пробовал? Нет? Попробуй.
Disant1
Пробовал.Выдает ошибку,и бросает в код на позицию RUN.Потом попробовал сделать так:

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

такая же бадяга,КАК ТОЛЬКО В EDIT ПИШУ БУКВЫ см.выше.
TRY...Finally такаяже хрень.
Paladin
Все нормально. Делфи прерыватся на исключения не зависимо от того, отслеживаешь ты их, или нет (можно отключить, но как не помню). Просто жми "старт" и работай дальше. Если запустить программу не из Дэлфи, все будет нормально.
Disant1
Вас понял,благодарю за помощь.
Pages: 1, 2


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Код Delphi
SoftoRooM © 2004-2024