| |
|
|
- Seite 1 - |
|
RGH | XProfan 10 nähert sich langsam aber sicher der Release-Version. Die nächste Subscriptionslieferung wird also Version RC1 (ReleaseCandidat 1) sein.
Folgende Syntaxänderungen im OpenGL-Bereich habe ich noch eingebaut:
Die OGL-Funktionen Bitmapfont und Outlinefont erhalten einen weiteren Parameter, nämlich das Handle eines mit Create(Font,...) erzeugten Fonts. Die bisherige Lösung mit UseFont hatte den Nachteil, daß sie natürlich nur funktionierte, wenn das OpenGL-Fenster das Hauptfenster des Programmes war. So schauts jetzt aus:
FontNr% = oGL(BitmapFont, hFont&) FontNr% = oGL(OutlineFont, hFont&, mode!)
Ihr müßt also alle Programme, die Fonts verwenden, entsprechend anpassen. Ich denke aber, besser jetzt vor dem Release noch eine Syntaxänderung, als später der Kompatiblität wegen eine Krücke!
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 | 10.08.2006 ▲ |
|
|
|
| |
|
- Seite 5 - |
|
|
Jac de Lad | <Quengeln>Ich weiß, das du nichts mehr einbauen willst, Roland, aber ich vermise irgendwie noch SetCurSel für Comboboxen, Gridboxen, Listboxen...(oder ich habs wieder mal übersehen). Das geht zwar auch mit sendmessage, aber wenn mans von der Seite betrachtet sind etliche Befehle überflüssig (GetCurSel, GetCount...) </Quengeln> |
|
|
| 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 | 20.09.2006 ▲ |
|
|
|
|
| Vielleicht könnte Roland ja noch - hrm - dafür Sorgen das das fürchterliche Refreshing von %hwnd beim Beenden eines Trackmenus aufhört. (Das ist sowas von stööörend!) |
|
|
| |
|
|
|
Torsten Rümker | Habe folgendes festgestellt
[...]
Ich dachte ich weise auch hier mal darauf hin.
MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 28.09.2006 ▲ |
|
|
|
|
Michael Wodrich | Ach deshalb das Fischauge (das übrigens nur als solches zu erkennen ist, wenn man einen 1000fach-Zoom drauf losläßt - und dann auch nur mit viel Wohlwollen. WEG DAMIT !!! - DAS GLOTZT MICH AN!!!)
Ganz ehrlich: bei $TempDir hätte ich schon erwartet, daß dort der Langname steht, den man dann - wenn gewünscht - mit ShortName$ abkürzen kann.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 29.09.2006 ▲ |
|
|
|
|
RGH | [quote:282a4bec64=Michael Wodrich]Ganz ehrlich: bei $TempDir hätte ich schon erwartet, daß dort der Langname steht, den man dann - wenn gewünscht - mit ShortName$ abkürzen kann.[/quote:282a4bec64] Tja, aber die Windows-API liefert offensichtlich nun mal den Kurznamen. (GetTempPath heißt die zugrundeliegende API.)
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 | 29.09.2006 ▲ |
|
|
|
|
Michael Wodrich | Na gut, erwähnen wirs halt in den Hilfen - dann gibts ja immer noch die Funktion LangName$.
Schöne Grüße Michael Wodrich
Sorry, natürlich LongName$() |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 29.09.2006 ▲ |
|
|
|
|
Michael Wodrich | Auch auf die Gefahr, das alles schon festgezurrt und eingetütet ist:
Uns fehlt in XProfan das binäre NOT.
Der in der Hilfedatei beschriebene Notnagel sieht nämlich bei genauer Betrachtung ganz schön krumm aus: KompilierenMarkierenSeparieren Der Code zeigt deutlich:
1. unser NOT arbeitet nur als logisches NOT richtig 2. der Notnagel: - erzeugt nicht genug Stellen - nutzt veraltete Techniken - ist ganz schön langsam
Gut, mit etwas Grips tüddelt man sich das hin - aber mal ehrlich:
WARUM, wenn der Assembler sowas im Handgepäck hat und fast jede andere Programmiersprache damit aufwarten kann.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 29.09.2006 ▲ |
|
|
|
|
Michael Wodrich | [quote:7234659561]Gut, mit etwas Grips tüddelt man sich das hin [/quote:7234659561] Au weia, die Lösung die ich gefunden habe tut richtig weh.
Wie lange brauchen eigentlich HY-Indianer (nach der Stoppuhr) für diese Lösung.
Aufgabe: erstelle ein binäres NOT
Ja jetzt weiß ichs. Ist ein Bischen sehr einfach, aber immer wenn man das Ding braucht kommt man auf so einfache Dinge einfach nicht.
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 29.09.2006 ▲ |
|
|
|
|
Michael Wodrich | KompilierenMarkierenSeparierenDef @BNot(1) @XOr(@&(1), @Val("%" + @MkStr$("1", Len(Bin$(@&(1))))))
declare sync&,not_sync&
sync& = $100000
not_sync& = $FFFFFFFF - sync&
set("decimals", 0)
cls
print "zu wandelnde Zahl"
print "hex: $";hex$(sync&)
print "dez:", sync&
print "bin: %";bin$(sync&)
print " "
print "mit NOT() verarztet"
print "hex: $";hex$(not(sync&))
print "dez:", not(sync&)
print "bin: %";bin$(not(sync&))
print " "
print "mit BNOT() verarztet"
print "hex: $";hex$(bnot(sync&))
print "dez:", bnot(sync&)
print "bin: %";bin$(bnot(sync&))
print " "
print "die qzu Fußq-Methode"
print "hex: $";hex$(not_sync&)
print "dez:", not_sync&
print "bin: %";bin$(not_sync&)
print " "
waitkey
sync& = %10010
not_sync& = $FFFFFFFF - sync&
cls
print " "
print "hier ists besser zu sehen..."
print " "
print "zu wandelnde Zahl"
print "hex: $";hex$(sync&)
print "dez:", sync&
print "bin: %";bin$(sync&)
print " "
print "mit NOT() verarztet"
print "hex: $";hex$(not(sync&))
print "dez:", not(sync&)
print "bin: %";bin$(not(sync&))
print " "
print "mit BNOT() verarztet"
print "hex: $";hex$(bnot(sync&))
print "dez:", bnot(sync&)
print "bin: %";bin$(bnot(sync&))
print " "
print "die qzu Fußq-Methode"
print "hex: $";hex$(not_sync&)
print "dez:", not_sync&
print "bin: %";bin$(not_sync&)
print " "
waitkey
end
|
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 29.09.2006 ▲ |
|
|
|
|
RGH | Thema @Not()
Das Problem beim binären NOT(wert) ist halt, daß man sich einigen muß, um wieviel Bits es geht, da aus führenden 0-Bits ja logischerweise führende 1-Bits werden. Andere Sprachen nehmen manchmal den kleinstmöglichen Integertypen, in den der Wert reinpaßt oder gehen bei einem 32-Bit-System prinzipiell von 32 Bit aus.
Denkbar wäre auch ein BNOT(wert, anzahl), wobei er zweite Parameter eben die zu berücksichtigene Anzahl der Bits enthält.
Bei den anderen binären Operatoren tritt das Problem nicht auf, da sowohl 0 OR 0, alsauch 0 AND 0 und 0 XOR 0 immer 0 ergeben. NOT 0 ist aber eben 1.
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 | 29.09.2006 ▲ |
|
|
|
|
Nico Madysa | Bevors in Vergessenheit gerät: Ich hatte den Wunsch geäußert, dass waitinput & Co. auch auf Messages ´weiter untergeordneter Fenster reagiert, z.B. RadioButtons, die einer GroupBox untergeordnet sind. |
|
|
| |
|
|
|
Michael Wodrich | Ja klar, aber haben wir nicht intern sowieso nur LongInt?
Dann ist $FFFFFFFF - Wert& ja schon die Ideallösung und LoWord müßte da ja den korrekten Teil abknapsen wenns mal kleiner sein soll.
Ich hatte das für die Header-Umsetzung einer Konstanten gebraucht (da war ein AND NOT SYNCRONIZE mit drin.
Wird im Header eigentlich vom Präprozessor gerechnet? Oder wird es wie es ist übergeben?
So das aus den ganzen OR Orgien einfache Konstantenwerte werden oder löst erst der Compiler das auf? |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 29.09.2006 ▲ |
|
|
|