Deutsch
Wünsche und Anregungen

Vorschläge für künftige Versionen

ENUM

 

Michael
W.
Hm, sieht ja schlimm aus wenn da die Formatierung verbogen wird, aber ich glaube jetzt ist es erkennbar.

Das ENUM hat ja inzwischen auch Java heimgesucht, es wird also nicht nur von mir gern genutzt.

Hier ein Beispiel für den Einzug in XProfan.
KompilierenMarkierenSeparieren
// -
enum eBoolean = eFalse, eTrue
// -
enum eJustify = eJustify_Left  \/*0*/
eJustify_Center  \/*1*/
eJustify_Right/*2*/
// -
enum eWeekdays = eWeekday_Sunday, \
eWeekday_Monday, \
eWeekday_Tuesday, \
eWeekday_Wednesday, \
eWeekday_Thursday, \
eWeekday_Friday, \
eWeekday_Saturday
// -
Declare eBoolean bTest
Declare eJustify lJustification
// -
bTest = eTrue
// -

Proc WDtoText

    Parameters eWeekdays eDay
    Var String Klartext = "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday"
    Return SubStr(KlarText, eDay + 1, ",")// Rechnen mit ENUM

EndProc

// -
// Rechnen mit ENUM setzt die Konstante frei, alles OK
// Rechnen in ENUM-Var muß aber innerhalb der Grenzen eines ENUM bleiben; was passiert bei Überschreitung der Grenzen?
Declare eWeekdays eDay
Inc eDay
Dec eDay
// -
// Bewegen innerhalb von ENUM mittels  enumMin() und enumMax()
<kleinster ENUM-Wert> = enumMin(<enumtype>)
<größter ENUM-Wert> = enumMax(<enumtype>)
// -
// erlaubt dann z.B. auch... (intern gesteuert)
ForEach eDay
Print WDtoText(eDay)
EndFor
// -
// oder... (hier müßte das FOR dann auch typisierte Variablen ermöglichen)
For eWeekdays eDay, enumMin(eWeekdays), enumMax(eWeekdays)
Print WDtoText(eDay)
EndFor
// -
// evtl. noch
TestEnum(eVal)
// Testet ob der Wert innerhalb der Grenzen ist.



Info: [...] 
 
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
09.01.2015  
 



Wo ist der Vorteil im Vergleich zu:

var myColorsEnumVar=array("rot","grün","blond")

in Verbindung mit ForEach... ?
 
09.01.2015  
 




Michael
W.
Ich habe bewußt eine Funktion zwischen ForEach gesetzt, damit das klarer wird. Es geht nicht einfach um die Zuweisung. Mit ENUMs ist noch ein bischen mehr möglich.

Auch
KompilierenMarkierenSeparieren
zeigt ja schon, das die Werte nicht immer nur aufsteigend von 0 gespeichert werden. Es können auch neue Startwerte (wie hier bei blond) gesetzt werden.

Ich kenne das ENUM aus Pascal (dort heißt's Aufzählungstyp):
KompilierenMarkierenSeparieren
type
TAmpel = (rot = 1, gelb = 2, gruen = 4);
TArbeitstage = (Mo = 1, Di = 2, Mi = Mo + Di, Don = 4, Fr = Di + Mi);// Mi = 1+2=3, Fr = 2+3=5
TDoppelt = (Bez1 = 1, Bez2 = 2, Bez3 = 3, Bez4 = 2);// sowohl Bez2 als auch Bez4 ergeben mit Ord = 2

Inc/Dec/Ord funktionieren dort auch (succ/pred)

Anleihe aus: [...] 
 
System: Windows 8/10, XProfan X4
Programmieren, das spannendste Detektivspiel der Welt.
09.01.2015  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

3.207 Betrachtungen

Unbenanntvor 0 min.
H.Brill12.10.2022
Christof Neuß06.05.2021
p.specht31.05.2018
Michael W.28.01.2018
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Michael W. (2x)
iF (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie