![]() |
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:
Vielen Dank im Vorraus
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. |
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:
So sollte der Sourcecode funktionieren, habe gerade kein Delphi zur Hand. Du hattest ein end; zu viel.
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. |
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 |
Re: Missing operator or semicolon ?
genau.. vor das Hallo muss ein Komma :zwinker:
|
Re: Missing operator or semicolon ?
Achja: Wenn du gesagt hättest, in welcher Zeile, dann wäre das nicht so ein Suchspiel. ;)
|
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? |
Re: Missing operator or semicolon ?
Neue Frage - neues Thema. ;)
|
Re: Missing operator or semicolon ?
Zitat:
|
Re: Missing operator or semicolon ?
Zitat:
War des Ernst gemeint? Nee oder? Schreibt doch einfach die Antwort.... schnell bitte :thumb: :wink: ! |
Re: Missing operator or semicolon ?
Zitat:
greetz Mike |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz