Seite 3 von 9

Verfasst: 04.11.2007 19:52
von pebo
@HeXOR

erstmal vielen Dank für das coole Tool :allright:

Ich hab aber, glaube ich, einen kleinen Fehler entdeckt oder werden kommentierte Zeilen grundsätzlich nicht berücksichtigt?
Beispiel:
Wenn ich bei folgendem Code:

Code: Alles auswählen

If a = 1
	b = 2
Else
	b = 3
EndIf
hinter dem "Else" einen Kommentar hinzufüge, dann sieht das bei mir so aus:

Code: Alles auswählen

If a = 1
	b = 2
	Else	;Kommentar
	b = 3
EndIf
Wenn ich hinter dem "Endif" einen Kommentar einfüge, dann erscheint die Fehlermeldung "Something wrong with your Code! Wouldt you like to parse it anyway?" und wenn ich diesen mit "Ja" bestätige, sieht das dann so aus:

Code: Alles auswählen

If a = 1
	b = 2
Else
	b = 3
	EndIf	;Kommentar

	; IDE Options = PureBasic 4.10 Beta 4 (Windows - x86)
	; CursorPosition = 2
	; CursorColumn = 6
	; Folding = -
	; EnableXP
Wäre prima wenn Du das noch abstellen könntest.

Viele Grüsse
Peter[/quote]

Verfasst: 04.11.2007 22:31
von HeX0R
Eigentlich passiert das nur, wenn dein Kommentar direkt ohne Leerzeichen dem Else folgt.
Also nicht so wie in deinem Beispiel, das würde korrekt dargestellt werden.

Übrigens ist mir der Fehler auch schon mal aufgefallen, allerdings nie bei eigenen Quelltexten (weil ich auf die Art niemals kommentieren würde).
Deswegen war meine Lust am fixen entsprechend gering.

Das gute ist ja, dass der Quelltext offen liegt, also hau rein ;)

Verfasst: 04.11.2007 23:37
von Kurzer
Liegt es eigentlich an Win98, daß es diese beiden EnvVars bei mir nicht gibt?

Code: Alles auswählen

...
  If OpenPreferences(GetPathPart(GetEnvironmentVariable("PB_TOOL_IDE")) + "purebasic.prefs") = 0
    OpenPreferences(GetEnvironmentVariable("APPDATA") + "\Purebasic\purebasic.prefs")
  EndIf
...
Fiel mir auf, weil das Tool nicht mit TAB, sondern mit Spaces einrückt.

PB Version 4.10 beta4

Verfasst: 05.11.2007 01:37
von pebo
HeX0R hat geschrieben:Eigentlich passiert das nur, wenn dein Kommentar direkt ohne Leerzeichen dem Else folgt.
Also nicht so wie in deinem Beispiel, das würde korrekt dargestellt werden.
Du hast recht, der Fehler tritt auf wenn kein Leerzeichen zwischen dem Else und dem Kommentar ist. In meinem Beispiel hatte ich zwar einen Abstand zwischen Else und Kommentar, allerdings hatte ich im PB-Editor bei TAB "Echten Tabulator benutzen (ASCII 9)" eingestellt, hatte also nicht wirklich Leerzeichen dazwischen.
Übrigens ist mir der Fehler auch schon mal aufgefallen, allerdings nie bei eigenen Quelltexten (weil ich auf die Art niemals kommentieren würde).
Deswegen war meine Lust am fixen entsprechend gering.
Naja, über "Geschmack" soll man ja bekanntlich nicht streiten :wink: Ich kommentiere gerne hinter jeden Zeile, finde ich übersichtlich.
Das gute ist ja, dass der Quelltext offen liegt, also hau rein ;)
Wo denkst Du hin, ich bin Anfänger und habe dadurch ehrlich gesagt noch Schwierigkeiten mich in deinen Code hinein zu denken :wink:

Gruss
Peter

Verfasst: 05.11.2007 14:38
von HeX0R
Kurzer hat geschrieben:Liegt es eigentlich an Win98, daß es diese beiden EnvVars bei mir nicht gibt?
Die PB_TOOL_IDE Var gibts natürlich nur, wenn das Programm auch als PB-IDE-Tool ausgeführt wird. Das ist keine allgemeingültige Environment Variable.
APPDATA könnte theoretisch erst nach Win98 gekommen sein, da bin ich aber überfragt.

Verfasst: 05.11.2007 14:54
von pebo
@HeXOR

super, vielen Dank :allright:

Ich hätte da noch eine allgemeine Frage:
Du verwendest die Konstanten #LF$ und #TAB$. Ich habe eben in der PB-Hilfe unter "Überblick über PureBasic Konstanten" nachgeschaut, Fehlanzeige. Wo finde ich diese Konstanten in der Hilfe?

Gruss
Peter

Verfasst: 05.11.2007 15:18
von HeX0R
In der Hilfe wahrscheinlich gar nicht, aber hier.

Verfasst: 05.11.2007 19:55
von pebo
HeX0R hat geschrieben:In der Hilfe wahrscheinlich gar nicht, aber hier.
Danke :allright:

Verfasst: 06.06.2009 01:19
von HeX0R
eineinhalb Jahre ist das mittlerweile her... Wahnsinn, wie die Zeit vergeht :shock:

Ich habe mal wieder ein paar Verschlimmbesserungen eingebaut.
Zum einen werden verschiedene Leerzeichen gesetzt und auch Variablenzuweisungen werden versucht auf eine Linie zu bringen.

Also aus dem hier:

Code: Alles auswählen

Procedure Aha(Ameisenbaer,Affe,Hosenscheisser)
	Protected i,jaaa,keeeeee

 i=12
jaaa=222
	   keeeeee=3333

     ProcedureReturn jaaaa
   EndProcedure


Aha(0,0,0)
wird auf Knopfdruck das hier:

Code: Alles auswählen

Procedure Aha(Ameisenbaer, Affe, Hosenscheisser)
	Protected i, jaaa, keeeeee

	i       = 12
	jaaa    = 222
	keeeeee = 3333

	ProcedureReturn jaaaa
EndProcedure


Aha(0, 0, 0)
Ich muß sagen, dass das ganze nun ziemlich unübersichtlich geworden ist,
da ich auch Konstrukte wie <> oder -1 nicht auseinanderreissen wollte.

Ausserdem habe ich den * nicht wirklich vernünftig ausgearbeitet, da er ja entweder ein Mal-Zeichen oder den Beginn eines Pointers darstellen kann.

Daher mal ohne Garantie (ist ja Source, kann jeder selbst dran rumpfuschen)

Verfasst: 06.06.2009 01:36
von ts-soft
:allright:

Hab leider öfters mal ein Problem, mit Compilerdirektiven kommt das Teil
ganz durcheinander :wink:

Da geht dann die Rechnung nicht auf, aber das sollte nicht so einfach zu
umschiffen sein.

LG

Thomas