AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Unklare Syntax

Ein Thema von Alexander Roth · begonnen am 1. Apr 2006 · letzter Beitrag vom 2. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#1

Unklare Syntax

  Alt 1. Apr 2006, 16:23
Hallo,

das habe ich gerade gesehen ist für den Kompiler anscheinend 2 Deutig und er geht beidesmal in den Else Pfad:
Delphi-Quellcode:
  if form1.CheckPrimeArray.Checked then
  if primearray.Lauf=0 then
    primearray.Lauf:=3
else
  primearray.Lauf:=0;
Denn er liest es anscheinend auch mal so:
Delphi-Quellcode:
  if form1.CheckPrimeArray.Checked then
  if primearray.Lauf=0 then
    primearray.Lauf:=3
  else
    primearray.Lauf:=0;
Ist das ein Fehler von mir, oder ist das ein wirklich uneindeutiges Beispiel einer schlechten Pascal-Syntax.

Wie kriegt man das behoben?
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
noch_ein_hannes

Registriert seit: 18. Sep 2003
130 Beiträge
 
#2

Re: Unklare Syntax

  Alt 1. Apr 2006, 16:28
Naja, vielleicht ab und zu auch mal richtig ausschlafen?!?
- everything is possible -
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Unklare Syntax

  Alt 1. Apr 2006, 16:31
Hi,

Delphi-Quellcode:
if form1.CheckPrimeArray.Checked then
  if primearray.Lauf=0 then
    primearray.Lauf:=3
else
  primearray.Lauf:=0;
Woher soll der Compiler auch wissen, was du meinst?

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;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.149 Beiträge
 
Delphi 12 Athens
 
#4

Re: Unklare Syntax

  Alt 1. Apr 2006, 16:33
So sollte Delphi erkennen (macht es bei mir auch immer),
Delphi-Quellcode:
if form1.CheckPrimeArray.Checked then
  if primearray.Lauf=0 then
    primearray.Lauf:=3
  else
    primearray.Lauf:=0;
denn das ELSE gehört immer zum letzten Abfrage-Block.

Das Einzige, was ich mir noch vorstellen könnte wäre das,
Code:
if form1.CheckPrimeArray.Checked then
  if primearray.Lauf=0 then
    primearray.Lauf:=3[b][color=#ff0000];[/color][/b]
else
  primearray.Lauf:=0;
aber hierbei sollte man eh besser ein BEGIN-END einfügen.
Delphi-Quellcode:
if form1.CheckPrimeArray.Checked then
begin
  if primearray.Lauf=0 then
    primearray.Lauf:=3;
end
else
  primearray.Lauf:=0;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Unklare Syntax

  Alt 1. Apr 2006, 16:41
Zitat:
Naja, vielleicht ab und zu auch mal richtig ausschlafen?!? Smile
Danke für deinen Hochintellektuellen und hilfreichen Beitrag.

Ja beginn und end habe ich eingefügt, und es klappt.

Zitat von himitsu:
So sollte Delphi erkennen (macht es bei mir auch immer),
Delphi-Quellcode:
if form1.CheckPrimeArray.Checked then
  if primearray.Lauf=0 then
    primearray.Lauf:=3
  else
    primearray.Lauf:=0;
denn das ELSE gehört immer zum letzten Abfrage-Block.
Du meinst das else gehört zu if primearray.Lauf=0 then Das würde das komische Verhalten erklären.

Danke

Tschüss
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: Unklare Syntax

  Alt 1. Apr 2006, 17:05
Zitat von Alexander Roth:
Zitat:
Naja, vielleicht ab und zu auch mal richtig ausschlafen?!? Smile
Danke für deinen Hochintellektuellen und hilfreichen Beitrag.
Vielleicht meint er damit, dass Ausgeschlafene ehr die Delphi-Hilfe konsultieren .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Unklare Syntax

  Alt 1. Apr 2006, 18:42
Zitat von Alexander Roth:
Du meinst das else gehört zu if primearray.Lauf=0 then Das würde das komische Verhalten erklären.
Das ist kein komisches Verhalten, so ist es eben definiert (wie Himitsu schon schrieb): ein ELSE gehört immer zum direkt davor stehenden THEN auf der selben Verschachtelungsebene - wie du es hinschreibst (also die Einrückung) ist dem Compiler völlig egal.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Frickeldrecktuxer_TM
(Gast)

n/a Beiträge
 
#8

Re: Unklare Syntax

  Alt 1. Apr 2006, 18:48
Zitat von himitsu:
Das Einzige, was ich mir noch vorstellen könnte wäre das,
Code:
    primearray.Lauf:=3[b][color=#ff0000];[/color][/b]
else
vorstellen? apropos vorstellen, darf ich vorstellen? das ist error, syntax error.
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Unklare Syntax

  Alt 1. Apr 2006, 19:01
Zitat von Frickeldrecktuxer_TM:
Zitat von himitsu:
Das Einzige, was ich mir noch vorstellen könnte wäre das,
Code:
    primearray.Lauf:=3[b][color=#ff0000];[/color][/b]
else
vorstellen? apropos vorstellen, darf ich vorstellen? das ist error, syntax error.
*rofl*, und schon weiß ich wer du bist.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Unklare Syntax

  Alt 1. Apr 2006, 19:07
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..
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:18 Uhr.
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