Prozedurparameter nur bestimmte Konstanten zur Auswahl geben

Für allgemeine Fragen zur Programmierung mit PureBasic.
Beefi
Beiträge: 96
Registriert: 16.01.2017 17:38

Prozedurparameter nur bestimmte Konstanten zur Auswahl geben

Beitrag von Beefi »

Hi Leute,

eine Frage die mich schon lange brennend interessiert...
Wie schafft man es, dass man Funktionsparametern nur gewisse Konstanten zuweist. Also mir geht es nicht darum, dass man nur diese Konstanten verwenden können soll, sondern nur um die Dropdown-Liste zur Codevervollständigung, wie hier im Beispielbild:

Bild

Oder geht das einfach nur mit Purebasic-eigenen Prozeduren?


Auch wäre es cool, eine Kurzbeschreibung einzufügen, wie bei den mitgelieferten Prozeduren der Fall:
Bild

Kann man sowas selbst realisieren?
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Prozedurparameter nur bestimmte Konstanten zur Auswahl geben

Beitrag von STARGÅTE »

Oh man, ich programmiere über 15 Jahre mit PureBasic und mir ist das nie aufgefallen,
dass die Dropdown-Liste in PureBasic-eigenen Funktionen nur passende Konstanten zur Auswahl zeigt.

Ist das neu?

Zu der Frage selbst habe ich leider keine Antwort.
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
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: Prozedurparameter nur bestimmte Konstanten zur Auswahl geben

Beitrag von jacdelad »

Bei ist das nicht. Ich weiß aber auch nicht wo man das einstellen kann.
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Beefi
Beiträge: 96
Registriert: 16.01.2017 17:38

Re: Prozedurparameter nur bestimmte Konstanten zur Auswahl geben

Beitrag von Beefi »

Bei mir ist das seit geschätzt 1-2 Jahren.
Ich hätte gedacht, das kam mal mit irgendeinem Update...vielleicht war es jedoch ich selbst mit einer gewissen Einstellung.
Es kommt bei jeder Purebasic-Prozedur...und es werden immer nur die "sinnvollen" Konstanten gezeigt, die es auch für diese Prozedur gibt. Das erspart einem oft den Weg in die Hilfe.

Ihr könnt ja mal meine Config-Datei ausprobieren:
https://www.printercal.de/Share/

Einfach unter C:\Users\NAME\AppData\Roaming\PureBasic ersetzen.
Benutzeravatar
Sicro
Beiträge: 963
Registriert: 11.08.2005 19:08
Kontaktdaten:

Re: Prozedurparameter nur bestimmte Konstanten zur Auswahl geben

Beitrag von Sicro »

Das Feature mit den passenden Konstanten gibt es, seit der Pull-Request Context sensitive AutoComplete for PB constants von freak eingefügt wurde.

Mit eigenen Procedures ist das leider nicht möglich.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: Prozedurparameter nur bestimmte Konstanten zur Auswahl geben

Beitrag von mk-soft »

Die DropDown box ist ein ListViewGadget und wird ständig bei jedem Tastendruck aktualisiert ... Siehe Quellcode Purebasic IDE
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Beefi
Beiträge: 96
Registriert: 16.01.2017 17:38

Re: Prozedurparameter nur bestimmte Konstanten zur Auswahl geben

Beitrag von Beefi »

Die DropDown box ist ein ListViewGadget und wird ständig bei jedem Tastendruck aktualisiert ... Siehe Quellcode Purebasic IDE
Ja, diese Funktion gibt es ja schon länger...ich nutze PB seit etwa 8 Jahren und kenne das Feature mit der Liste schon immer.
Jedoch gibt es seit nicht so langer Zeit ein neues Feature, das in dieser Liste ausschließlich Konstanten anzeigt, die für diese Prozedur gedacht sind.

Also für ein Flag des MessageRequesters wird z.B. niemals eine Konstante #PB_Event_CloseWindow angeboten, auch wenn man mehre Buchstaben davon eintippt...man müsste sie jetzt zwangsweise bis zum Ende frei eintippen. Früher ging das schon bzw. die Liste ging stur nach Eingabe...jetzt geht sie nach Prozedur-Parameter (also auch die Parameterposition ist entscheidend).

Wäre echt cool, wenn man sowas auch selbst umsetzen könnte. Man könnte das bestimmt leicht umsetzen, indem man bei Deklaration der Prozedur einfach in der Parameterliste den Namen der Enumeration angibt. So könnte man diesen Parameter an diese eine Enumeration binden.
Antworten