[IDE-Tool]Einruecker
- Pelagio
- Beiträge: 424
- Registriert: 11.11.2004 17:52
- Computerausstattung: Intel Core i3-4170 CPU 3,70 GHz
8,00 GB Arbeitsspeicher
WIN 10 Pro 64 Bit Betriebssystem - Wohnort: Bremen
Re: [IDE-Tool]Einruecker
Danke für das Tool
ich baue meinen Source zwar strukturiert auf aber es bedarf doch etwas mehr Zeit und hier und da schleichen sich auch 'Fehler' ein.
Mit deinem Code kann ich viel schneller die Einrückstrukturierung erreichen aber was mir sehr, mehr gefällt ist, das am Ende alles
korrekt strukturiert Dargestellt wird, also irgend wie kann man sagen eine Überprüfung stattfindet. Danke
ich baue meinen Source zwar strukturiert auf aber es bedarf doch etwas mehr Zeit und hier und da schleichen sich auch 'Fehler' ein.
Mit deinem Code kann ich viel schneller die Einrückstrukturierung erreichen aber was mir sehr, mehr gefällt ist, das am Ende alles
korrekt strukturiert Dargestellt wird, also irgend wie kann man sagen eine Überprüfung stattfindet. Danke
Ohne Zeit kein Fleiß
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS].
Auf neustem Stand zu sein ist eine Kunst die nicht jeder perfektioniert [Win10Pro(64); PB6.10 LTS].
Re: [IDE-Tool]Einruecker
Very Cool
Ist besser als der von Purebasic, da diese den Kommtar auch wenn diese in der nächsten Zeile stehen verschiebt.
Das störte mich sehr!
Ich habe noch eine Anpassung durchgeführt.
Da die Prüfung von den Open Sources Projekt wegen Whitespaces oft fehlschlägt,
entferne ich auch bei Kommentar Zeilen die rechten Leerzeichen.
Zeile 531
Vielen Dank
Ist besser als der von Purebasic, da diese den Kommtar auch wenn diese in der nächsten Zeile stehen verschiebt.
Das störte mich sehr!
Ich habe noch eine Anpassung durchgeführt.
Da die Prüfung von den Open Sources Projekt wegen Whitespaces oft fehlschlägt,
entferne ich auch bei Kommentar Zeilen die rechten Leerzeichen.
Zeile 531
Code: Alles auswählen
If IsJustComment(a$)
; Remove whitespaces from comments!
Lines() = RTrim(a$)
Else
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
- HeX0R
- Beiträge: 2959
- 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
Hab ich eingebaut.
Ausserdem Handling von Zeilenfortsetzungen.
Nicht ganz perfekt, die IDE kann das etwas cleverer machen, ich habe mich aber an die "Tab-Einrückung für mehrzeiligen Quellcode" Einstellungen angelehnt.
G'schisse gut, würde ich mal sagen
Du lässt das Tool aber nicht wirklich über die PB-IDE-Quelltexte laufen, oder?
Vermutlich würde das im Chaos enden, der PB-IDE-Code ist nicht immer wirklich schön, danach hättest Du vermutlich ein paar hundert Zeilen Änderungen, was unsere "Git-Wächter" wieder alarmiert.
Ausserdem Handling von Zeilenfortsetzungen.
Nicht ganz perfekt, die IDE kann das etwas cleverer machen, ich habe mich aber an die "Tab-Einrückung für mehrzeiligen Quellcode" Einstellungen angelehnt.
G'schisse gut, würde ich mal sagen
Du lässt das Tool aber nicht wirklich über die PB-IDE-Quelltexte laufen, oder?
Vermutlich würde das im Chaos enden, der PB-IDE-Code ist nicht immer wirklich schön, danach hättest Du vermutlich ein paar hundert Zeilen Änderungen, was unsere "Git-Wächter" wieder alarmiert.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
Re: [IDE-Tool]Einruecker
Ne, wohl besser nicht für die PB-IDE.
Dafür habe ich ein Mini Tool um die whitespaces zu entfernen.
Ach ja,
Kleiner Tipp.
Argument "%TEMPFILE" muss alles Groß geschrieben werden.
Konnte zuerst den Haken 'Reload Source ... " nicht setzen.
Dafür habe ich ein Mini Tool um die whitespaces zu entfernen.
Ach ja,
Kleiner Tipp.
Argument "%TEMPFILE" muss alles Groß geschrieben werden.
Konnte zuerst den Haken 'Reload Source ... " nicht setzen.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Re: [IDE-Tool]Einruecker
Vielen Dank für das Tool! Ich habe schon des Öfteren über Jahre an sowas gedacht.
Es funktioniert gut bei einfachen Sources, aber ich habe hier eine Datei die das kompilierte Tool zum hängen bringt. Ich habe jetzt Deinen Sourcecode nicht analysiert sondern einfach mal kompiliert und probiert...
Ich benutze "ungewöhnlicherweise" Macros in der DataSection, vielleicht liegt es daran. Die Macros selbst werden aber in einer anderen Datei definiert daher dürfte das egal sein. Oder gibt es ein Problem mit Shared wenn es sich auf arrays und listen und maps bezieht? Ich könnte Dir auch die betreffende Source Datei zusenden wenn Du die zum Debuggen brauchst...
Ausschnittsweise:
Es funktioniert gut bei einfachen Sources, aber ich habe hier eine Datei die das kompilierte Tool zum hängen bringt. Ich habe jetzt Deinen Sourcecode nicht analysiert sondern einfach mal kompiliert und probiert...
Ich benutze "ungewöhnlicherweise" Macros in der DataSection, vielleicht liegt es daran. Die Macros selbst werden aber in einer anderen Datei definiert daher dürfte das egal sein. Oder gibt es ein Problem mit Shared wenn es sich auf arrays und listen und maps bezieht? Ich könnte Dir auch die betreffende Source Datei zusenden wenn Du die zum Debuggen brauchst...
Ausschnittsweise:
Code: Alles auswählen
Structure _BitCountMap
count.a[256]
EndStructure
Define _BitCount._BitCountMap
Dim _UnByte.f(256)
;
;
;
ProcedureC InitBitCount()
Shared _BitCount, _UnByte()
Static init
Protected i, bits, c
If Not init
init=#True
For c = 0 To 255
bits=0
For i=0 To 7
If c & (1<<i)
bits + 1
EndIf
Next
_BitCount\count[c]=bits
_UnByte(c) = c / 255.0
Next
EndIf
EndProcedure
;
;
;
DataSection
;
;
;
vt_lua_buffer:
;
;
_method("new",tolua_buffer_new)
_method("newbits",tolua_buffer_newbits)
_method("setbits",tolua_buffer_setbits)
_method("unsetbits",tolua_buffer_unsetbits)
_method("countbits",tolua_buffer_countbits)
_method("write",tolua_buffer_write)
;
;
;
Data.i 0,0
EndDataSection
;
- HeX0R
- Beiträge: 2959
- 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
Ich bräuchte schon nen Code, der das Verhalten reproduzierbar macht.
Bei Deinem Beispiel passiert bei mir hier nichts ungewöhnliches.
Bei Deinem Beispiel passiert bei mir hier nichts ungewöhnliches.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
Re: [IDE-Tool]Einruecker
Habe Dir den betreffenden Source per PM zugeschickt. Ich benutze 32bit windows falls das einen Unterschied machen sollte, btw.
- HeX0R
- Beiträge: 2959
- 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
Ich hab mal die (wie ich finde sehr clevere), Line Continuation Version der PB IDE eingebaut.
Tatsächlich habe ich die Procedur der PB-IDE nahezu 1:1 übernommen, weil da doch ziemlich viel Hirnschmalz drinsteckt.
Die Funktion beachtet eure IDE Einstellungen.
Also, wenn ihr bei "Einrückung" die Checkbox "Tab-Einrückung für mehrzeiligen Quellcode verwenden" angewählt hat, wirkt auch nur die einfache Art der Einrückung (quasi so wie vorher, nur ein simples TAB).
Ansonsten die clevere Art.
Clevere Art:
Tab Art:
Tatsächlich habe ich die Procedur der PB-IDE nahezu 1:1 übernommen, weil da doch ziemlich viel Hirnschmalz drinsteckt.
Die Funktion beachtet eure IDE Einstellungen.
Also, wenn ihr bei "Einrückung" die Checkbox "Tab-Einrückung für mehrzeiligen Quellcode verwenden" angewählt hat, wirkt auch nur die einfache Art der Einrückung (quasi so wie vorher, nur ein simples TAB).
Ansonsten die clevere Art.
Clevere Art:
Code: Alles auswählen
If 1
a$ = "abc" +
"def" +
"ghi"
OpenWindow(0, 0, 0, 400,
300, "bla", #PB_Window_SystemMenu | #PB_Window_Invisible |
#PB_Window_ScreenCentered |
#PB_Window_MaximizeGadget,
12)
EndIf
Code: Alles auswählen
If 1
a$ = "abc" +
"def" +
"ghi"
OpenWindow(0, 0, 0, 400,
300, "bla", #PB_Window_SystemMenu | #PB_Window_Invisible |
#PB_Window_ScreenCentered |
#PB_Window_MaximizeGadget,
12)
EndIf
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}
Re: [IDE-Tool]Einruecker
Code: Alles auswählen
If *widget = #Null
Select Position
Case #PB_List_First : *widget = *this\_parent( )\first\widget
Case #PB_List_Before : *widget = *this\before\widget
Case #PB_List_After : *widget = *this\after\widget
Case #PB_List_Last : *widget = *this\_parent( )\last\widget
EndSelect
EndIf
If *widget = #Null
Select Position
Case #PB_List_First : *widget = *this\_parent( )\first\widget
Case #PB_List_Before : *widget = *this\before\widget
Case #PB_List_After : *widget = *this\after\widget
Case #PB_List_Last : *widget = *this\_parent( )\last\widget
EndSelect
EndIf