Deutsch
Wünsche und Anregungen

XProfan10 - Wünsche

 
- Seite 1 -


Hier werden Wünsche geäußert.

[box:174b705055]Ich wünsche mir für XProfan10:[/box:174b705055]
isset(a&) zum Prüfen ob a& declariert ist
unset(a&) zum undeklarieren von a&
sort(array[&|$]) / Sortierbefehle für Arrays
Startpaint  -1 benötigt kein %hwnd mehr, und/oder
%hwnd  (Hauptfenster) kann erzeugt werden ohne in der Taskbar zu erscheinen
hiword und loword im Sprachschatz
clearlist  mit Handle als Parameter löscht Listboxinhalt .

Salve.
 
19.06.2005  
 



 
- Seite 11 -



RGH
[quote:a42ef0fa07=Jacob Liebeck]Aber ist es nicht irgendwie verwirrend, dass du PutChar verwendest um einen String, und nicht ein einzelnes Zeichen (Char) zu schreiben? Jac [/quote:a42ef0fa07]
Neben dem von Dir genannten Grund gibt es noch einen Weiteren: Die Ähnlichkeit mit dem Befehl Char, bzw. der Funktion Char$(), um Zeichen in eine Bereichsvariable zu schreiben, bzw. aus dieser zu lesen: Auch da liest Char$() eine bestimmte Anzahl von Zeichen und eben nicht bis zu einem Stringende, bzw. schreibt die Zeichen des Strings ohne abschließendes Nullbyte,

BTW: Ich hatte natürlich oben noch einen Fehler drin: Die Funktion heißt natürlich GetChar$ (mit Dollarzeichen), da das Ergebnis ja eine Zeichenkette ist.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
03.05.2006  
 




Jac
de
Lad
Hm, stimmt auch wieder...!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
04.05.2006  
 




GDL
Hallo Roland

da ich immer sehr viele Messdaten auswerten muss, würde ich mir die select case Routine aus Powerbasic in Xprofan wünschen.

Beispiel aus PowerBasic

select case messwert
case < 10
.........
..........
case 11,15,20,27,30,.......
........
.........
case 12,13,14,16,.....
..........
case > 100

caseelse

endselect

Vielleicht ist es möglich.
Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
05.05.2006  
 



@Georgs: Hier kann ich die Switch-Syntax empfehlen:  [...] 

Ich würde mir wünschen wenn es mit XProfan10 möglich wäre einem Scrollbalken zu erklären wie gross er sein soll. (PageSize)
 
05.05.2006  
 




RGH
[quote:ea08a5d93b=iF]@Georgs: Hier kann ich die Switch-Syntax empfehlen:  [...] 

Nicht ganz, denn das Schlüsselwort Case gibt es ja schon.

Gruß Roland
(bastelt gerade an 3D-Sprites für OpenGL)
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
05.05.2006  
 




Jac
de
Lad
Hallo Roland!

Bis jetzt macht XProfan 10 ja schon einen prächtigen Eindruck! Hab aber noch einen Vorschlag:

Kannste eventuell die WhileLoop-Schleife mit Floats erweitern und dann entsprechend mit !Loop? Das lässt sich zwar auch anders realisieren, aber wäre, meiner Meinung nach, eine sinnvolle Erweiterung (wenns nicht allzu viele Umstände macht).

Schönes Wochenende an alle!
Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
05.05.2006  
 



Auch wenn es im Bezug auf die Dateifunktionen unverschämt wirken mag reset, rewrite und openrw müssten eigendlich auch Funktionen sein .

Weil:
KompilierenMarkierenSeparieren
f&=assign(file$)

if f&

    if reset(f&)

        whilenot eof(f&)


sonst bräuchts ja doch wieder nen %ioresult  Gedöns oder nen fileexists 
 
06.05.2006  
 




RGH
[quote:328077703a=RGH]Gruß Roland
(bastelt gerade an 3D-Sprites für OpenGL)[/quote:328077703a]
... und jetzt sind sie fertig: [...] 

Alle Subscriptionskunden haben um Mitternacht herum bereitrs die 8. Subscriptionslieferung mit den Sprites erhalten!

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
08.05.2006  
 




Michael
Wodrich
(wod)

Ich habe mal kurz eine mögliche Switch-Kontrollstruktur gebastelt.
Da Case (Fall) schon belegt ist habe ich mich für Decide entschieden.

Bei einfachem Wertvergleich mit der Variablen ist es ja noch einfach,
auch die Ersetzung der Variablen gegen TRUE und dann intern TRUE/FALSE
Entscheidungen ist noch klar.

Aber wie geht das mit komplizierteren Bedingungen (siehe: Balance!)?
KompilierenMarkierenSeparieren
!
Break verläßt die Switch-Kontrollstruktur
Switch month_name$
Decide "Jan"
Decide "Januar"
month% = 1
Break
...
EndSwitch
Switch i%
Decide 0
Print i%,"ist gleich 0"
Break
Decide 1
Print i%,"ist gleich 1"
Break
Decide 2
Print i%,"ist gleich 2"
Break

Else

Print i%,"ist weder 0, 1 noch 2"
EndSwitch
Switch i%
Decide 14
Decide 21
Decide 22
Print i%,"ist Teil der Menge [14,21,22]"
Break
Decide 7
Decide 9
Decide 11
Decide 12
Decide 99
Print i%,"ist Teil der Menge: [7,9,11,12,99]"
Break
Decide 13
Print i%,"ist gleich 13"
Break

Else

Print i%
EndSwitch
Switch Balance!
hier soll "~var" den Zugriff auf "Balance!" darstellen
Decide ~var <= 0
Print Balance!,"kleiner gleich Null"
Break
Decide (~var >= 1) and (~var <= 10)
Print Balance!,"zwischen 1 und 10"
Break

Else

Print Balance!
EndSwitch
Switch 1
hier sind es einfache TRUE/FALSE Entscheidungen
Decide InList(Albert, hUserList&)
HomeDir$ = "finanz_home"
break
Decide InList(Timo, hUserList&)
Supervisor% = 1
Decide InList(Carlo, hUserList&)
Decide InList(Erwin, hUserList&)
HomeDir$ = "progr_home"
break

Else

HomeDir$ = "gast_home"
EndSwitch
*****************************************************
** und das Ganze noch mal mit dem internen Ablauf: **
*****************************************************
Switch month_name$
Decide "Jan"
implizit: Goto "weiter000"
Decide "Januar"
implizit: weiter000:
month% = 1
Break
EndSwitch
Switch i%
Decide 0
Print i%,"ist gleich 0"
Break
implizit: Goto "weiter000"
Decide 1
implizit: weiter000:
Print i%,"ist gleich 1"
Break
implizit: Goto "weiter001"
Decide 2
implizit: weiter001:
Print i%,"ist gleich 2"
Break
implizit: Goto "weiter002"

Else

implizit: weiter002:
Print i%,"ist weder 0, 1 noch 2"
EndSwitch
Switch i%
Decide 14
implizit: Goto "weiter000"
Decide 21
implizit: weiter000:
implizit: Goto "weiter001"
Decide 22
implizit: weiter001:
Print i%,"ist Teil der Menge [14,21,22]"
Break
implizit: Goto "weiter002"
Decide 7
implizit: weiter002:
implizit: Goto "weiter003"
Decide 9
implizit: weiter003:
implizit: Goto "weiter004"
Decide 11
implizit: weiter004:
implizit: Goto "weiter005"
Decide 12
implizit: weiter005:
implizit: Goto "weiter006"
Decide 99
implizit: weiter006:
Print i%,"ist Teil der Menge: [7,9,11,12,99]"
Break
implizit: Goto "weiter007"
Decide 13
implizit: weiter007:
Print i%,"ist gleich 13"
Break
implizit: Goto "weiter008"

Else

implizit: weiter008:
Print i%
EndSwitch
Switch Balance!
hier soll "~var" den Zugriff auf "Balance!" darstellen
Decide ~var <= 0
Print Balance!,"kleiner gleich Null"
Break
implizit: Goto "weiter000"
Decide (~var >= 1) and (~var <= 10)
implizit: weiter000:
Print Balance!,"zwischen 1 und 10"
Break
implizit: Goto "weiter001"

Else

implizit: weiter001:
Print Balance!
EndSwitch
Switch 1
hier sind es einfache TRUE/FALSE Entscheidungen
Decide InList(Albert, hUserList&)
HomeDir$ = "finanz_home"
break
implizit: Goto "weiter000"
Decide InList(Timo, hUserList&)
implizit: weiter000:
Supervisor% = 1
implizit: Goto "weiter001"
Decide InList(Carlo, hUserList&)
implizit: weiter001:
implizit: Goto "weiter002"
Decide InList(Erwin, hUserList&)
implizit: weiter002:
HomeDir$ = "progr_home"
break
implizit: Goto "weiter003"

Else

implizit: weiter003:
HomeDir$ = "gast_home"
EndSwitch

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
08.05.2006  
 




RGH
Wie wäre es mit folgender Syntax:
KompilierenMarkierenSeparieren
!
Break wird nicht gebraucht

Select month_name$

    CaseOf "Jan", "Januar"

    month% = 1

    CaseOf "Feb", "Februar"

    month% = 2
    ...

EndSelect

Select i%

    CaseOf 0

    Print i%,"ist gleich 0"

    CaseOf 1

    Print i%,"ist gleich 1"

    CaseOf 2

    Print i%,"ist gleich 2"
    Otherwise
    Print i%,"ist weder 0, 1 noch 2"

EndSelect

Select i%

    CaseOf 14, 21, 22

    Print i%,"ist Teil der Menge [14,21,22]"

    CaseOf 7, 9, 11,12, 99

    Print i%,"ist Teil der Menge: [7,9,11,12,99]"

    CaseOf 13

    Print i%,"ist gleich 13"
    Otherwise
    Print i%

EndSelect

Das mit Balance geht nicht mit Select,
ist mit traditionellem ElseIf aber auch nicht länger

If  Balance! <= 0

    Print Balance!,"kleiner gleich Null"

ElseIf (Balance! >= 1) and (Balance! <= 10)

    Print Balance!,"zwischen 1 und 10"

Else

    Print Balance!

EndIf


Gruß
Roland
(Diese Syntax funktioniert bei mit nämlich bereits!)

Nachtrag Ich habe mich anstelle des TEST jetzt für CASEOF entschieden. Das erinnert entfernt an die Delphi-Syntax und sollte auch für englisch sprechende Profaner kein sprachliches Problem darstellen.
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
08.05.2006  
 




GDL
Hallo Roland,

wäre echt super,da mein derzeitiges Projekt ca. 9000 8byte Datentelegramme pro zyklus ausfiltern und zuordnen muss.

Servus
Georg
 
Windows7 Xprofan 8,9,10 [...]  [...] 
09.05.2006  
 




RGH
[quote:35ec1f9b95=GDL]Hallo Roland,

wäre echt super,da mein derzeitiges Projekt ca. 9000 8byte Datentelegramme pro zyklus ausfiltern und zuordnen muss.

Servus
Georg[/quote:35ec1f9b95]
Hallo Georg,

drin sein wird das SELECT sicher. Nur über die Syntax bin ich mir noch nicht 100%ig im Klaren. Mit dem Keyword TEST kann ich mich noch nicht so recht anfreunden. Außerdem schweben mir zwei Testmodi vor:
Einmal so wie jetzt (und in den meisten BASIC- und PASCAL-Varianten), daß nach einem erfolgreichen TEST keine weiteren mehr folgen und ein zweiter Modus, bei dem (wie etwa in C) nach einem erfolreichen Abschnitt trotzdem weiter getestet wird. Dann bräuchte ich statt des TEST also zwei passende Befehlswörter, etwa TRY und RETRY: Ein TRY wird nur dann ausgeführt, wenn noch kein vorhergehendes TRY oder RETRY erfolgreich war, ein RETRY wird immer ausgeführt. Ich werde mal drüber nachdenken ...

Ich denke aber, daß die SELECT-Geschichte in der nächsten Subscriptionsversion in der einen oder anderen Form drin ist.

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
09.05.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

47.797 Betrachtungen

Unbenanntvor 0 min.
RudiB.07.04.2016
H.Brill26.11.2014
Peter Max Müller06.09.2014
mj04.05.2014
Mehr...

Themeninformationen



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