[IDE-Tool]Einruecker

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: [IDE-Tool]Einruecker

Beitrag von ts-soft »

CompilerElseIf fehlt :wink: (für PB 5.10)
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: [IDE-Tool]Einruecker

Beitrag von HeX0R »

ts-soft hat geschrieben:CompilerElseIf fehlt :wink: (für PB 5.10)
Überredet ;)
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: [IDE-Tool]Einruecker

Beitrag von Danilo »

Habe mir gerade dieses Tool installiert, aber irgendwie funktioniert das überhaupt nicht.
Habe zum testen glücklicherweise "reload... into new source" gewählt, um nicht meinen Source zu zerstören.

Kleines Beispiel:

Code: Alles auswählen

Procedure command1(x)
EndProcedure

Procedure command2(x)
EndProcedure

If x = 0 : Debug "x = 0" : End : EndIf
If x = 0 : Debug "x = 0" : End : EndIf
If x = 0 : Debug "x = 0" : End : EndIf
If x = 0 : Debug "x = 0" : End : EndIf
If x = 0 : Debug "x = 0" : End : EndIf

For i = 1 To   10 : command1(0) : Next : command2(     10)
For i = 1 To  100 : command1(0) : Next : command2(    100)
For i = 1 To 1000 : command1(0) : Next : command2(   1000)
Einrücker meint dazu "Something wrong with your Code!", allerdings läuft der Code wunderbar. Was soll mit dem Code wrong sein? :)
Die Ausgabe sieht dann so aus:

Code: Alles auswählen

Procedure command1(x)
EndProcedure

Procedure command2(x)
EndProcedure

If x = 0 : Debug "x = 0" : End : EndIf
    If x = 0 : Debug "x = 0" : End : EndIf
        If x = 0 : Debug "x = 0" : End : EndIf
            If x = 0 : Debug "x = 0" : End : EndIf
                If x = 0 : Debug "x = 0" : End : EndIf

                    For i = 1 To   10 : command1(0) : Next : command2(     10)
                        For i = 1 To  100 : command1(0) : Next : command2(    100)
                            For i = 1 To 1000 : command1(0) : Next : command2(   1000)
If..EndIf und For..Next in der gleichen Zeile funktionieren nicht.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: [IDE-Tool]Einruecker

Beitrag von HeX0R »

?
Dein Beispiel kommt bei mir so raus:

Code: Alles auswählen

Procedure command1(x)
EndProcedure

Procedure command2(x)
EndProcedure

If x = 0 : Debug "x = 0" : End : EndIf
If x = 0 : Debug "x = 0" : End : EndIf
If x = 0 : Debug "x = 0" : End : EndIf
If x = 0 : Debug "x = 0" : End : EndIf
If x = 0 : Debug "x = 0" : End : EndIf

For i = 1 To   10 : command1(0) : Next : command2(     10)
For i = 1 To  100 : command1(0) : Next : command2(    100)
For i = 1 To 1000 : command1(0) : Next : command2(   1000)
[Edit]
Ah ja, o.k., du hast es offensichtlich als unicode compiliert. Das hab ich nie gemacht, da ist wohl noch ein Bug drin.
Aber da die PB-IDE eh kein Unicode unterstützt, macht es auch nicht viel Sinn das Tool als unicode exe zu compilieren.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: [IDE-Tool]Einruecker

Beitrag von Danilo »

HeX0R hat geschrieben:[Edit]
Ah ja, o.k., du hast es offensichtlich als unicode compiliert. Das hab ich nie gemacht, da ist wohl noch ein Bug drin.
Aber da die PB-IDE eh kein Unicode unterstützt, macht es auch nicht viel Sinn das Tool als unicode exe zu compilieren.
OK. Der Fehler war in FindCommand() -> '*B + 1' in '*B + SizeOf(Character)' ändern. Vielen Dank!

So einen richtigen Unterschied zum IDE-Einrücker gibt es aber nicht, oder? (Format indention CTRL+I, vorher CTRL+A)
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: [IDE-Tool]Einruecker

Beitrag von HeX0R »

Danilo hat geschrieben:So einen richtigen Unterschied zum IDE-Einrücker gibt es aber nicht, oder? (Format indention CTRL+I, vorher CTRL+A)
Der größte Unterschied ist, dass es das Tool schon lange gab, bevor das Feature fest in die IDE eingebaut wurde.
Ein weiterer ist z.b., dass es aus

Code: Alles auswählen

a = 12
abcde = 14
im Gegensatz zu dem internen das hier macht:

Code: Alles auswählen

a     = 12
abcde = 14
Und es rückt bei Compilerif und Konsorten nicht ein (weil ich persönlich das nicht mag)
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Re: [IDE-Tool]Einruecker

Beitrag von Danilo »

HeX0R hat geschrieben:
Danilo hat geschrieben:So einen richtigen Unterschied zum IDE-Einrücker gibt es aber nicht, oder? (Format indention CTRL+I, vorher CTRL+A)
Ein weiterer ist z.b., dass es aus

Code: Alles auswählen

a = 12
abcde = 14
im Gegensatz zu dem internen das hier macht:

Code: Alles auswählen

a     = 12
abcde = 14
Ging hier auch nicht, wenn man mit Unicode kompiliert. Egal - habe es nun mit ohne Unicode kompiliert. ;)
Danke nochmals dafür!
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
HeX0R
Beiträge: 2954
Registriert: 10.09.2004 09:59
Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win10 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2
Kontaktdaten:

Re: [IDE-Tool]Einruecker

Beitrag von HeX0R »

Danilo hat geschrieben:Ging hier auch nicht, wenn man mit Unicode kompiliert.
O.k., hab das mal in Ordnung gebracht.

Kleiner Tipp:
Wenn das Tool anzeigt, dass etwas nicht in Ordnung ist, sollte man auch die Möglichkeit nutzen das Umformen abzubrechen (sonst kommt meistens nur Käse raus).
Das passiert i.d.R. aber nur, bei etwas verwurschtelten Compiler-Direktiven.
Z.B. mit so etwas kommt er nicht klar:

Code: Alles auswählen

CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
Structure _WHATEVER_
CompilerElse
Structure _WHATEVER_ Align 8
CompilerEndIf
a.b
b.w
f.d
EndStructure
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Re: [IDE-Tool]Einruecker

Beitrag von ts-soft »

Das Folding der IDE schafft das auch nicht :mrgreen:
Damit wird man wohl leben müssen/können.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
helpy
Beiträge: 635
Registriert: 29.08.2004 13:29

Re: [IDE-Tool]Einruecker

Beitrag von helpy »

[OffTopic]
HeX0R hat geschrieben:Z.B. mit so etwas kommt er nicht klar:

Code: Alles auswählen

CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
Structure _WHATEVER_
CompilerElse
Structure _WHATEVER_ Align 8
CompilerEndIf
a.b
b.w
f.d
EndStructure
Da kann man auch den Code anpassen:

Code: Alles auswählen

CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
	Macro StructureAlign : EndMacro
CompilerElse
	Macro StructureAlign : Align 8 : EndMacro
CompilerEndIf
Structure _WHATEVER_ StructureAlign
	a.b
	b.w
	f.d
EndStructure
Das ist auch viel lesbarer!

[/OffTopic]

guido
Windows 10
PB Last Final / (Sometimes testing Beta versions)
Antworten