Deutsch
Stammtisch & Café

XProfan 10 - Letzte Änderungen

 
- 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!)
 
24.09.2006  
 




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
declare sync&
sync& = $100000
cls
print hex$(sync&), sync&
print hex$(not(sync&)), not(sync&)
print " "
Def @BNot(1) @XOr(@&(1), @Val("%" + @MkStr$("1", Len(Bin$(@&(1))))))
print hex$(sync&), sync&
print hex$(bnot(sync&)), bnot(sync&)
waitkey
end

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

KompilierenMarkierenSeparieren
Def @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.
 
Nico Madysa
29.09.2006  
 




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  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

10.198 Betrachtungen

Unbenanntvor 0 min.

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