Не могу понять почему не работает условие в Delphi 7 точнее оператор IF

Delphi 7

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
GroupBox1: TGroupBox;
Panel1: TPanel;
Edit7: TEdit;
Label12: TLabel;
Label13: TLabel;
Button1: TButton;
Button2: TButton;
Label14: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}


procedure summa;
var
p1 :real;
p2: real;
p3: real;
p4 :real;
p5: real;
p6: real;
itog: real;
itog2: real;
mes: string[255];
mes2: string[255];
begin

p1 := StrToFloat(Form1.Edit1.Text); // ВОТ ЗДЕСЬ ПИСАЛ УСЛОВИЕ НА ПРОВЕРКУ ПУСТОГО ПОЛЯ EDIT1 (СУТЬ УСЛОВИЯ, ЕСЛИ ПОЛЕ ПУСТОЕ ТОГДА Р1 ЗАМЕНИТЬ НА 0) ИТД. {ПЕРЕБРАЛ РАЗНЫЕ ВАРИАНТЫ НЕ СРАБАТЫВАЕТ. большая ПРОСЬБА ПОМОЧЬ}
p2 := StrToFloat(Form1.Edit2.Text);
p3 := StrToFloat(Form1.Edit3.Text);
p4 := StrToFloat(Form1.Edit4.Text);
p5 := StrToFloat(Form1.Edit5.Text);
p6 := StrToFloat(Form1.Edit6.Text);
itog:= p4 +(p1 + p2)- p3 - p4 - p5 - p6;
itog2:= p1 + p2 - p3 - p4 - p5 - p6 ;
mes := mes + FloatToStrF(itog,ffFixed,8,2) ;
mes2 := mes2 + FloatToStrF(itog2,ffFixed,8,2) ;
Form1.Label10.Caption := mes ;
Form1.Label11.Caption := mes2 ;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
summa;
end;

procedure TForm1.Button2Click(Sender: TObject);
var

l10: real;
E7: real;


begin
l10 := StrToFloat(Form1.Label10.Caption);
E7 := StrToFloat(Form1.Edit7.Text);

l10 := E7*l10/100;

label14.Caption := FloatToStr(l10)+ FloatToStr(E7) ;

end;
end.


Примечание:
Спасибо написал так //if (Form1.Edit1.Text='') then p1 := 0 else p1:= StrToFloat(Form1.Edit1.Text); Сработало !!!!!!!
Ответы:
Так пробовали?
А если
if (Form1.Edit1.Text=="") then p1=0 else p1= StrToFloat(Form1.Edit1.Text);


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.