Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Missing operator or semicolon ? (https://www.delphipraxis.net/79789-missing-operator-semicolon.html)

kerngehirn 28. Okt 2006 12:15


Missing operator or semicolon ?
 
Hallo

Wenn ich bei Delphi 7 folgenden Code eingebe, erscheint immer die Fehlermeldung "Missing operator or semicolon".
Kann mir jemand sagen warum, bzw. was ich dagegen unternehmen kann?

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    X: TButton;
    Schreiben: TButton;
    procedure Formcreate(Sender: TObject);
    procedure XClick(Sender: TObject);
    procedure SchreibenClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Formcreate(Sender: TObject);
begin
color:=clred
end;

procedure TForm1.XClick(Sender: TObject);
begin
halt
end;

procedure TForm1.SchreibenClick(Sender: TObject);
begin
   with canvas do
   with font do
   begin
   case random (3) of
   0:name:='Wingdings';
   1:name:='Oasis';
   2:name:='Arial';
   end ;
   begin
   Case random (5) of
   0:style:=[fsbold];
          1:style:=[fsunderline];
              2:style:=[fsstrikeout];
               3:style:=[fsitalic];
                4:style:=[fsbold,fsitalic];
                end;
                height:= random (50)+10;
                Textout (random (width), random (height)+50 'Hallo!');
                end;
end;
 end;
end.
Vielen Dank im Vorraus

RWarnecke 28. Okt 2006 12:23

Re: Missing operator or semicolon ?
 
Erstmal ein herzliches Willkommen in der Delphi-Praxis. :dancer2: :hi: Nun zu Deinem Problem.

Eine gute Formatierung währe nicht schlecht. In einer guten Formatierung des Sourcecodes kann man Fehler sehr leicht erkennen und beheben, wenn es sich um Syntaxfehler handelt, so wie in Deinem Fall. Hier mal nun der formatierte Sourcecode :

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    X: TButton;
    Schreiben: TButton;
    procedure Formcreate(Sender: TObject);
    procedure XClick(Sender: TObject);
    procedure SchreibenClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Formcreate(Sender: TObject);
begin
  color:=clred
end;

procedure TForm1.XClick(Sender: TObject);
begin
  halt
end;

procedure TForm1.SchreibenClick(Sender: TObject);
begin
  with canvas do
  begin
    with font do
    begin
      case random (3) of
        0:name:='Wingdings';
        1:name:='Oasis';
        2:name:='Arial';
    end;
    Case random (5) of
      0:style:=[fsbold];
      1:style:=[fsunderline];
      2:style:=[fsstrikeout];
      3:style:=[fsitalic];
      4:style:=[fsbold,fsitalic];
    end;
    height:= random (50)+10;
    Textout (random (width), random (height)+50 'Hallo!');
  end;
end;

end.
So sollte der Sourcecode funktionieren, habe gerade kein Delphi zur Hand. Du hattest ein end; zu viel.

Hawkeye219 28. Okt 2006 12:43

Re: Missing operator or semicolon ?
 
Rolf, deine Anmerkungen zur Formatierung sind richtig, du hast aber ein notwendiges "end;" gelöscht. Der originalcode enthält lediglich eine überflüssige BEGIN..END-Klammer um die zweite CASE-Anweisung.

Der Compiler bemängelt sicher das fehlende Komma vor dem letzten Parameter im Aufruf der Methode TextOut().

Gruß Hawkeye

Angel4585 28. Okt 2006 12:53

Re: Missing operator or semicolon ?
 
genau.. vor das Hallo muss ein Komma :zwinker:

3_of_8 28. Okt 2006 13:46

Re: Missing operator or semicolon ?
 
Achja: Wenn du gesagt hättest, in welcher Zeile, dann wäre das nicht so ein Suchspiel. ;)

kerngehirn 28. Okt 2006 13:53

Re: Missing operator or semicolon ?
 
:wink: Ja. sorry is mir auch schon eingefallen. Wollts nich so einfach machen.

Aber jetz was ganz einfaches.
Das Textfeld beschränkt sich auf so etwa 6 x 15 cm anstatt auf den ´ganzen Bildschirn. Woran könte das liegen?

3_of_8 28. Okt 2006 13:55

Re: Missing operator or semicolon ?
 
Neue Frage - neues Thema. ;)

RWarnecke 28. Okt 2006 14:38

Re: Missing operator or semicolon ?
 
Zitat:

Zitat von Hawkeye219
Rolf, deine Anmerkungen zur Formatierung sind richtig, du hast aber ein notwendiges "end;" gelöscht. Der originalcode enthält lediglich eine überflüssige BEGIN..END-Klammer um die zweite CASE-Anweisung.

Sorry, habe ich völlig übersehen, mein Fehler.

kerngehirn 28. Okt 2006 19:13

Re: Missing operator or semicolon ?
 
Zitat:

Zitat von 3_of_8
Neue Frage - neues Thema. ;)

Ah...mhm... Danke....
War des Ernst gemeint?

Nee oder?

Schreibt doch einfach die Antwort.... schnell bitte :thumb: :wink: !

JasonDX 28. Okt 2006 19:15

Re: Missing operator or semicolon ?
 
Zitat:

Zitat von kerngehirn
Zitat:

Zitat von 3_of_8
Neue Frage - neues Thema. ;)

Ah...mhm... Danke....
War des Ernst gemeint?

Nee oder?

Doch, das war ernst gemeint. ;)

greetz
Mike


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz