2016-02-01 1 views
-2

Je ne comprends pas pourquoi mon code ne compile pas, quelqu'un peut m'aider à ce sujet. Tout type de commentaire est utileErreur de syntaxe, ";" attendu mais "ELSE" trouvé - Erreur avec IF-ELSE condition - FreePascal

Voici le code:

procedure TForm1.Button2Click(Sender: TObject); 
var 
    days : integer; 
begin 
    if(Edit2.Text <> '') then 
    days:= StrToInt(Edit2.Text); 
    DDate.Minus(days); 
    Edit1.Text := DDate.GetDate 
    else 
    ShowMessage('The field is required'); 
end; 
+0

Quelle est l'erreur que vous voyez? ce serait utile d'inclure dans le poste. –

+0

Manquant ';' à la fin de 'Edit1.Text: = ...' ...... – jonhopkins

Répondre

1

Si vous avez besoin de deux ou plusieurs instructions pour true_statement ou false_statement, le groupe d'instructions doit être placé dans un début ... fin bloc

procedure TForm1.Button2Click(Sender: TObject); 
var 
    days: integer; 
begin 
    if(Edit2.Text <> '') then 
    begin 
    days := StrToInt(Edit2.Text); 
    DDate.Resta(days); 
    Edit1.Text := DDate.GetDate; 
    end 
    else 
    ShowMessage('The field is required'); 
end; 

Source: http://wiki.freepascal.org/Else

1

si pas la partie après si être enfermé dans commencer la fin de bloc? L'indentation le suggère. Comme ceci:

procedure TForm1.Button2Click(Sender: TObject); 
var 
    days : integer; 
begin 
    if(Edit2.Text <> '') then 
    begin 
     days:= StrToInt(Edit2.Text); 
     DDate.Minus(days); 
     Edit1.Text := DDate.GetDate; 
    end 
    else 
    ShowMessage('The field is required'); 
end;