Site Announcements

Liebe Gäste des Forums, wir freuen uns, dass ihr zu uns gelangt seid.
Windev ist eine sehr umfangreiche und starke Entwicklerumgebung für Anwendungen unter Windows, Linux und Internetapplikationen inkl. Mobile.
Hier sind Antworten und Anregungen dazu zu finden!
Möchtest du aktiv mitschreiben? Dann melde dich durch Klick auf den Text "Registrieren" hier rechts oberhalb an.

Ersatz für #define

Übergeordnete Themen zum gesamten Paket passend

Ersatz für #define

Beitragvon satmax » 4. Mai 2016, 09:30

Für #define habe ich noch keinen Ersatz gefunden? Wie macht man das?
satmax
Member
 
Beiträge: 165
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time

Re: Ersatz für #define

Beitragvon Herbert » 4. Mai 2016, 10:46

Konstanten können in .WL-Files abgelegt werden.
Einbinden mit EXTERN

z.B. im Code des Projekts, d.h. überall sichtbar
Code: Alles auswählen
EXTERN "KeyConst.WL"

so kannst du überall auf diese Variablen zugreifen, z.B.
Code: Alles auswählen
IF KeyPressed(VK_RETURN) THEN


ab dort, wo du die Konstanten definierst, sind diese sichtbar.
In einem Dialogelement in den global declarations.
Geht für einzelne Konstanten (Variablen) genauso:
Code: Alles auswählen
VK_RETURN is int=0x0d
Herbert
Site Admin
 
Beiträge: 358
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Ersatz für #define

Beitragvon Herbert » 4. Mai 2016, 10:49

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.
Herbert
Site Admin
 
Beiträge: 358
Registriert: 23. Februar 2010, 08:06
Wohnort: Langenthal, Schweiz
Has thanked: 5 times
Have thanks: 3 times

Re: Ersatz für #define

Beitragvon satmax » 5. Mai 2016, 10:24

Danke Herbert, das hilft mal weiter.
satmax
Member
 
Beiträge: 165
Registriert: 24. September 2015, 10:05
Wohnort: Biberbach, Austria
Has thanked: 0 time
Have thanks: 1 time


Zurück zu Allgemeines

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron