undokumentierte Konstanten
undokumentierte Konstanten
Per Zufall habe ich heute entdeckt, daß es neben der Möglichkeit RGB() auch einige direkte Farb Konstanten wie #RED #BLACK usw. gibt. Leider sind diese undokumentiert deshalb weiß ich nicht was alles als Farbe abgedeckt ist. Kennt jemand eine Möglichkeit, ALLE!!! PB Konstanten anschauen zu können (in der Hilfe unter PB Konstanten ist #RED etc. leider nicht zu finden)
Gibt es noch mehr Undokumentiertes bspw. Befehle ?
Gibt es noch mehr Undokumentiertes bspw. Befehle ?
Re: undokumentierte Konstanten
werkzeuge > strukturverzeichnis > konstanten
da stehen ALLE!!! pb-konstanten
viel spass
da stehen ALLE!!! pb-konstanten
viel spass

Re: undokumentierte Konstanten
#RED, #BLACK usw. genauso wie #Null oder so sind keine PB-Konstanten, und sind auch deshalb nicht dokumentiert !
Diese Konstante stammen von Windows, in dem Fall von der Win-API die nahezu komplett in PB verfügbar ist.
Alle PB-Konstanten findest du im Konstanten-Index der PB-Hilfe.
Alle Konstanten (PB und Win) dort wo Josh schreib.
Kleiner Tip noch zu den FarbKonstanten, diese sind 24-Bit!
Soll heißen der Alpha-Wert ist 0 !
Soll heißen nutzt du diese Farben bei einem 32-Bit Image mit Alpha-Blending, ist die Farbe Transparent!
Dazu zählen Strukture, Prozeduren, Konstanten ...
Auch von PB selber gibs ein paar Befehle die nicht dokumentiert sind, weil sie nicht "zuverlässig" sind.
EventlPalm() zb...
Diese Konstante stammen von Windows, in dem Fall von der Win-API die nahezu komplett in PB verfügbar ist.
Alle PB-Konstanten findest du im Konstanten-Index der PB-Hilfe.
Alle Konstanten (PB und Win) dort wo Josh schreib.
Kleiner Tip noch zu den FarbKonstanten, diese sind 24-Bit!
Soll heißen der Alpha-Wert ist 0 !
Soll heißen nutzt du diese Farben bei einem 32-Bit Image mit Alpha-Blending, ist die Farbe Transparent!
Ja, die komplette Win-API ist in PB-Verfügbar dort aber nicht dokumentiert (weils zu viel ist).Gibt es noch mehr Undokumentiertes bspw. Befehle ?
Dazu zählen Strukture, Prozeduren, Konstanten ...
Auch von PB selber gibs ein paar Befehle die nicht dokumentiert sind, weil sie nicht "zuverlässig" sind.
EventlPalm() zb...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: undokumentierte Konstanten
Danke Leute
ihr habt wieder mal recht
Und ich habe noch was besseres gefunden. Unter Werkzeuge Farbauswahl läßt sich ja direkt eine beliebige farbe zusammenstellen und als RGB in den Quellcode einfügen. Klasse.
Bzgl. der Notwendigkeit das man alle Prozeduren die hinter dem eigentlich Prozeduraufruf folgen, vorher mit declare deklarieren muss habe ich Fred mal angeschrieben, warum das der Compiler nicht automatisch machen kann. In PowerBasic war dies möglich bzw. declare brauchte man dort nicht mehr selber eintippen, das wurde im Hintergrund vom Compiler selber erledigt wenn man kompiliert hat. Finde ich eine Erleichterung und sowas kann der PC einem doch wirklich abnehmen, ist doch reine Schreibarbeit wenn ich die Prozeduren vorne nochmal alle mittels declare auflisten muss. Hoffe das Fred sich diesem Verbesserungsvorschlag annimmt (ist er dafür überhaupt der richtige ?).
ihr habt wieder mal recht

Und ich habe noch was besseres gefunden. Unter Werkzeuge Farbauswahl läßt sich ja direkt eine beliebige farbe zusammenstellen und als RGB in den Quellcode einfügen. Klasse.
Bzgl. der Notwendigkeit das man alle Prozeduren die hinter dem eigentlich Prozeduraufruf folgen, vorher mit declare deklarieren muss habe ich Fred mal angeschrieben, warum das der Compiler nicht automatisch machen kann. In PowerBasic war dies möglich bzw. declare brauchte man dort nicht mehr selber eintippen, das wurde im Hintergrund vom Compiler selber erledigt wenn man kompiliert hat. Finde ich eine Erleichterung und sowas kann der PC einem doch wirklich abnehmen, ist doch reine Schreibarbeit wenn ich die Prozeduren vorne nochmal alle mittels declare auflisten muss. Hoffe das Fred sich diesem Verbesserungsvorschlag annimmt (ist er dafür überhaupt der richtige ?).
Re: undokumentierte Konstanten
Ein PB-user hat dazu auch mal ein Werkzeug geschrieben, was diese deklaration für dich übernimmt.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- PureLust
- Beiträge: 1145
- Registriert: 21.07.2005 00:02
- Computerausstattung: Hab aktuell im Grunde nur noch 'nen Lenovo Yoga 2 Pro im Einsatz.
- Wohnort: am schönen Niederrhein
Re: undokumentierte Konstanten
Das wird daran liegen, dass PowerBasic ein Multi-pass-Compiler ist - und PB eben (zumindest soweit ich weiss) ein Single-pass-Compiler.KPA hat geschrieben:Bzgl. der Notwendigkeit das man alle Prozeduren die hinter dem eigentlich Prozeduraufruf folgen, vorher mit declare deklarieren muss habe ich Fred mal angeschrieben, warum das der Compiler nicht automatisch machen kann. In PowerBasic war dies möglich bzw. declare brauchte man dort nicht mehr selber eintippen, das wurde im Hintergrund vom Compiler selber erledigt wenn man kompiliert hat.
Ein Multi-pass-Compiler übersetzt den Sourcecode in mehreren Durchgängen. Somit kann er bereits im ersten Durchgang alle Deklarationen im Sourcecode ermitteln und hat diese Informationen dann in den weiteren Durchgängen zur Verfügung.
Da diese "Vorarbeit" bei einem Single-pass-Compiler nicht stattfindet (bzw. nicht stattfinden kann, da er ja nur einen einzigen Durchlauf macht), muss in einem solchen Fall halt zuerst deklariert werden.
Etwas mehr dazu findest Du z.B. HIER in deutsch, oder auch HIER, HIER oder HIER in englisch.
Das von STARGÅTE erwähnte Werkzeug fügt nun also im Grunde einen "zusätzlichen Durchlauf" ein (so wie einige andere Werkzeuge auch - z.B. die Werkzeuge zur Mehrzeilenunterstützung durch "_" am Ende der Zeile), bei dem fehlende Deklarationen festgestellt und nötigenfalls dann von diesem Werkzeug am Anfang des Codes eingefügt werden können.
Gruß, PL.
[Dynamic-Dialogs] - komplexe dynamische GUIs einfach erstellen
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
[DeFlicker] - Fenster flimmerfrei resizen
[WinFX] - Window Effekte (inkl. 'durchklickbares' Window)
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: undokumentierte Konstanten
Nein? #Null ist nicht von der Win-API. #RED und #BLACK hab ich auch noch nie dort gesehen.STARGÅTE hat geschrieben:#RED, #BLACK usw. genauso wie #Null oder so sind keine PB-Konstanten, und sind auch deshalb nicht dokumentiert !
Diese Konstante stammen von Windows, in dem Fall von der Win-API die nahezu komplett in PB verfügbar ist.
NULL ist von stddef.h und garantiert nicht von der WinAPI

Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: undokumentierte Konstanten
Hi PureLust
Danke für die Erklärung. Und ist es sehr aufwändig einen Multipass Compiler zu entwickeln bzw. den Single Pass zu erweitern auf einen Multi Pass ?
Ich meine ist mir klar das es schon irgendwo dran liegt, daß PowerBasic das kann und PureBasic eben nicht. Meine Anregung war ja, macht es auch bei PureBasic, ist ne echte Erleichterung und stört den Anwender nicht sondern bringt nur Vorteile. Hat ja dann offensichtlich auch keine negativen Auswirkungen auf die Ausführungsgeschwindigkeit des fertigen Programms (lediglich beim compilieren aber das merkt man ja wohl kaum oder) muss halt nur einmal programmiert werden damit dann tausende von usern täglich in den Genuss der Arbeitserleichterung kommen.
Danke für die Erklärung. Und ist es sehr aufwändig einen Multipass Compiler zu entwickeln bzw. den Single Pass zu erweitern auf einen Multi Pass ?
Ich meine ist mir klar das es schon irgendwo dran liegt, daß PowerBasic das kann und PureBasic eben nicht. Meine Anregung war ja, macht es auch bei PureBasic, ist ne echte Erleichterung und stört den Anwender nicht sondern bringt nur Vorteile. Hat ja dann offensichtlich auch keine negativen Auswirkungen auf die Ausführungsgeschwindigkeit des fertigen Programms (lediglich beim compilieren aber das merkt man ja wohl kaum oder) muss halt nur einmal programmiert werden damit dann tausende von usern täglich in den Genuss der Arbeitserleichterung kommen.
-
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Re: undokumentierte Konstanten
Doch, alle Quelltexte müssen wieder angepasst werden, die sich das zum Vorteil gemacht haben. Das soll so bleiben wie es ist.KPA hat geschrieben:... keine negativen Auswirkungen ...
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Re: undokumentierte Konstanten
Es gibt extra ein Forum für Vorschläge und Wünsche. Da gehört sowas hin.KPA hat geschrieben:Bzgl. der Notwendigkeit das man alle Prozeduren die hinter dem eigentlich Prozeduraufruf folgen, vorher mit declare deklarieren muss habe ich Fred mal angeschrieben, [...] Hoffe das Fred sich diesem Verbesserungsvorschlag annimmt (ist er dafür überhaupt der richtige ?).
Viele Leute schreiben die Prozeduren gleich in der richtigen Reihenfolge, und benötigen Declare daher nur selten. Ich selbst benutze Declare nur, wo es wirklich nötig ist, nämlich wenn mehrere Prozeduren sich gegenseitig rekursiv aufrufen. Der große Vorteil daran ist, dass ein Leser (das bin ich vielleicht selbst ein paar Jahre später) solcher Quelltexte viel schneller sehen kann, welche Prozeduren von welchen anderen abhängen. Und gute Lesbarkeit von Quelltexten ist ein Vorteil, dessen Bedeutung gar nicht überschätzt werden kann.KPA hat geschrieben:Meine Anregung war ja, macht es auch bei PureBasic, ist ne echte Erleichterung und stört den Anwender nicht sondern bringt nur Vorteile.
Grüße, Nino