![]() |
Unklare Syntax
Hallo,
das habe ich gerade gesehen ist für den Kompiler anscheinend 2 Deutig und er geht beidesmal in den Else Pfad:
Delphi-Quellcode:
Denn er liest es anscheinend auch mal so:
if form1.CheckPrimeArray.Checked then
if primearray.Lauf=0 then primearray.Lauf:=3 else primearray.Lauf:=0;
Delphi-Quellcode:
Ist das ein Fehler von mir, oder ist das ein wirklich uneindeutiges Beispiel einer schlechten Pascal-Syntax.
if form1.CheckPrimeArray.Checked then
if primearray.Lauf=0 then primearray.Lauf:=3 else primearray.Lauf:=0; Wie kriegt man das behoben? |
Re: Unklare Syntax
Naja, vielleicht ab und zu auch mal richtig ausschlafen?!? :-)
|
Re: Unklare Syntax
Hi,
Delphi-Quellcode:
Woher soll der Compiler auch wissen, was du meinst?
if form1.CheckPrimeArray.Checked then
if primearray.Lauf=0 then primearray.Lauf:=3 else primearray.Lauf:=0; Am besten immer Begin und End hinzufügen:
Delphi-Quellcode:
if form1.CheckPrimeArray.Checked then
begin if primearray.Lauf=0 then begin primearray.Lauf:=3 end; end else begin primearray.Lauf:=0; end; |
Re: Unklare Syntax
So sollte Delphi erkennen (macht es bei mir auch immer),
Delphi-Quellcode:
denn das ELSE gehört immer zum letzten Abfrage-Block.
if form1.CheckPrimeArray.Checked then
if primearray.Lauf=0 then primearray.Lauf:=3 else primearray.Lauf:=0; Das Einzige, was ich mir noch vorstellen könnte wäre das,
Code:
aber hierbei sollte man eh besser ein BEGIN-END einfügen.
if form1.CheckPrimeArray.Checked then
if primearray.Lauf=0 then primearray.Lauf:=3[b][color=#ff0000];[/color][/b] else primearray.Lauf:=0;
Delphi-Quellcode:
if form1.CheckPrimeArray.Checked then
begin if primearray.Lauf=0 then primearray.Lauf:=3; end else primearray.Lauf:=0; |
Re: Unklare Syntax
Zitat:
Ja beginn und end habe ich eingefügt, und es klappt. Zitat:
Delphi-Quellcode:
Das würde das komische Verhalten erklären.
if primearray.Lauf=0 then
Danke Tschüss |
Re: Unklare Syntax
Zitat:
|
Re: Unklare Syntax
Zitat:
|
Re: Unklare Syntax
Zitat:
|
Re: Unklare Syntax
Zitat:
|
Re: Unklare Syntax
Ich möchte euch bitten zurück zum thema zu kommen und nicht unsachlich zu werden. Ich möchte nur ungern den Thread wegen OT schließen..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 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