Seite 1 von 1
Ersatz für #define
Verfasst: 4. Mai 2016, 09:30
von satmax
Für #define habe ich noch keinen Ersatz gefunden? Wie macht man das?
Re: Ersatz für #define
Verfasst: 4. Mai 2016, 10:46
von Herbert
Konstanten können in .WL-Files abgelegt werden.
Einbinden mit EXTERN
z.B. im Code des Projekts, d.h. überall sichtbar
so kannst du überall auf diese Variablen zugreifen, z.B.
ab dort, wo du die Konstanten definierst, sind diese sichtbar.
In einem Dialogelement in den global declarations.
Geht für einzelne Konstanten (Variablen) genauso:
Re: Ersatz für #define
Verfasst: 4. Mai 2016, 10:49
von Herbert
Du möchtest eventuell auch dir aus Xbase bekannte Schlüsselworte in Windev anwenden:
Da kreiere ich Funktionen, weil Windev mehr kann (z.B. mehr Variablentypen).
Beispiel EMPTY. In Windev ist dies Nospace.
Da ich diese Funktion erweitert anwende, auch für logische und numerische Werte, ergibt das folgende Funktion.
Code: Alles auswählen
PROCEDURE Empty(LOCAL sbuf)
bLok is boolean = False
SWITCH TypeVar(sbuf)
CASE 1 // boolean
IF sbuf=False THEN
bLok=True
END
CASE 2,3,4,5,6,7,8,9,10,11,12 // integer, real
IF sbuf=0 THEN
bLok=True
END
CASE 16,17,18,19,24 // string
IF NoSpace(sbuf) = "" THEN
bLok=True
END
END
RESULT bLok
So gehts mit bei einigen Dingen. Einen Funktionssatz kannst du überigens als externe Komponente definieren und so in all deine Projekte einbinden.
Re: Ersatz für #define
Verfasst: 5. Mai 2016, 10:24
von satmax
Danke Herbert, das hilft mal weiter.