![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
![]()  | 
	
	
| 
		 | 
	Опции темы | Поиск в этой теме | Опции просмотра | 
| 
		 
			 
			#1  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Здравствуйте, подскажите пожалуйста, как проверить заполненны ли поля x:=StrToInt(Edit.text)  с помощью if .  
		
	
		
		
		
		
		
	
		
		
	
	
	Смысл в том что должны вводиться цифры и чтобы программа не вылетала нужно проверить ввел ли данные пользователь, а также нужно проверить ввел ли пользователь цифры а не буквы. Вот не знаю как это сделать. ![]()  | 
| 
		 
			 
			#2  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Функция TryStrToInt возвращает True если преобразование удалось 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	 if TryStrToInt(Edit1.Text, X) then
 begin
  ShowMessage('Цифры')
// В Х содержится требуемо число
 end
 else
  ShowMessage('Что-то другое'); | 
| 
		 
			 
			#3  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 а как записать если я не знаю какое конкретно число введет пользователь? 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#4  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Всмысле? Целое или вещественное? Для вещественного юзай TryStrToFloat 
		
	
		
		
		
		
		
	
		
		
	
	
	 | 
| 
		 
			 
			#5  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 ага вещественное )) спасибо  
		
	
		
		
		
		
		
	
		
		
	
	
	  я счас попробую.....  | 
| 
		 
			 
			#6  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 блин, не получается может поможет мой код подсказать как сделать: 
		
	
		
		
		
		
		
		
			Код: 
	procedure TForm1.Button1Click(Sender: TObject);
var
x:real;
y:real;
z:real;
begin
  x:=StrToFloat(Edit1.Text);
  y:=StrToFloat(Edit2.Text);
  z:=(x/100)*y;
  if TryStrToFloat(Edit1.Text) then  Label1.Caption:='Введите значения'
 else
if y<=50 then Label1.Caption:=FloatToStr(z)+ ' / 3*10'
          else Label1.Caption:=FloatToStr(z)+ ' / 3*10';
if y>=55 then Label1.Caption:=FloatToStr(z)+ ' / 3*8';
if y>=60 then Label1.Caption:=FloatToStr(z)+ ' / 4*6';
if y>=65 then Label1.Caption:=FloatToStr(z)+ ' / 4*6';
if y>=70 then Label1.Caption:=FloatToStr(z)+ ' / 5*5';
if y>=75 then Label1.Caption:=FloatToStr(z)+ ' / 5*5';
if y>=80 then Label1.Caption:=FloatToStr(z)+ ' / 4*5';
if y>=85 then Label1.Caption:=FloatToStr(z)+ ' / 4*4';
if y>=90 then Label1.Caption:=FloatToStr(z)+ ' / 3*3';
if y>=95 then Label1.Caption:=FloatToStr(z)+ ' / 3*2';
if y>=100 then Label1.Caption:=FloatToStr(z)+ ' / 2*2';Последний раз редактировалось Admin, 19.10.2008 в 13:17.  | 
| 
		 
			 
			#7  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Во ты кадр))) Сначалы пытаешься конвертнуть, а потом проверяешь О_о 
		
	
		
		
		
		
		
	
		
		
	
	
	Код: 
	var x, y, z: Double; begin if not TryStrToFloat(Edit1.Text, x) then begin Label1.Caption:='Введите значения в Edit1'; Exit; end; if not TryStrToFloat(Edit2.Text, y) then begin Label1.Caption:='Введите значения в Edit2'; Exit; end; z:=(x/100)*y; прочая лабуда ПОЛЬЗУЙСЯ ТЭГАМИ!!!  | 
| 
		 
			 
			#8  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 Код: 
	procedure TForm1.Button1Click(Sender: TObject);
var
x:real;
y:real;
z:real;
ch:integer;
begin
  try
    x:=StrToFloat(Edit1.Text);
    y:=StrToFloat(Edit2.Text);
    z:=(x/100)*y;
  except
    ShowMessage('некорректные данные');
    ch:=5;
  end;
    If ch=5 then
      Begin
        if y<=50 then Label1.Caption:=FloatToStr(z)+ ' / 3*10'
        else Label1.Caption:=FloatToStr(z)+ ' / 3*10';
        if y>=55 then Label1.Caption:=FloatToStr(z)+ ' / 3*8';
        if y>=60 then Label1.Caption:=FloatToStr(z)+ ' / 4*6';
        if y>=65 then Label1.Caption:=FloatToStr(z)+ ' / 4*6';
        if y>=70 then Label1.Caption:=FloatToStr(z)+ ' / 5*5';
        if y>=75 then Label1.Caption:=FloatToStr(z)+ ' / 5*5';
        if y>=80 then Label1.Caption:=FloatToStr(z)+ ' / 4*5';
        if y>=85 then Label1.Caption:=FloatToStr(z)+ ' / 4*4';
        if y>=90 then Label1.Caption:=FloatToStr(z)+ ' / 3*3';
        if y>=95 then Label1.Caption:=FloatToStr(z)+ ' / 3*2';
        if y>=100 then Label1.Caption:=FloatToStr(z)+ ' / 2*2';
      end else Exit;
    end;
end.Последний раз редактировалось dem1d, 18.10.2008 в 23:56.  | 
| 
		 
			 
			#9  
			
			
			
			
		 
		
		
	 | 
|||
		
		
  | 
|||
| 
	
	
		
			
			 да я только учусь ))))) 
		
	
		
		
		
		
		
	
		
		
	
	
	спасибо ребят что помогли ![]()  |