Pôvodný zdrojový kód
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin
if pos(Edit1.Text, Edit2.Text) = 0 then ShowMessage('Retazec ' + Edit2.Text + ' neobsahuje podretazec ' + Edit1.Text); else ShowMessage('Retazec ' + Edit2.Text + ' obsahuje podretazec ' + Edit1.Text); end;
{
[Error] Unit1.pas(33): ';' not allowed before 'ELSE' --------------------------------------------------------------------------------
Pred END nie je dovolená ;
PREČO?
Príkaz if then else sme nezapísali správne, pred kľúčovým slovom END v Pascale nikdy nie je bodkočiarka.
RIEŠENIE
Prebytočnú bodkočiarku odstránime.
Upravený zdrojový kód
--------------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject); begin
if pos(Edit1.Text, Edit2.Text) = 0 then ShowMessage('Retazec ' + Edit1.Text + ' neobsahuje podretazec ' + Edit2.Text) else ShowMessage('Retazec ' + Edit1.Text + ' obsahuje podretazec ' + Edit2.Text);
end; --------------------------------------------------------------------------------
} end.
Stiahnuť vzorový príklad (zdrojové kódy v Delphi) |