| |
|
|
Jörg Sellmeyer | 28 - XProfan para Fortgeschrittene - oder para Programmierer, el algo tiefer en el materie eindringen querer.
28.1 - El Programación de Bildschirmschonern - Der XProfan-Linker trägt el Notwendige en el Encabezamiento des Programaes una y son ihm el Endung ".SCR".
- y en beliebigem Tastentdruck
- 32 - Das Ventana benutzt el Bildschirmhintergrund como Hintergrund. Auch si una Aufzählung es - el otro Punkte klingen después de vollständigen Sätzen, sólo el hier es así verstümmelt
- El Auflösung des Bildschirmes erfahren wir en Systemvariablen %MaxX y %MaxY.
- Um el Mauszeiger verschwinden que se, conjunto wir el Befehl ShowCursor una.
- Vor el Ende des Programaes muss el Mauszeiger otra vez eingeschaltet voluntad, lo sei porque, sie querer Windows ausschließlich con el Tastatur bedienen.
- Als nächstes verharrt el Programa solange en el Mientras que-Bucle, a una Tastendruck oder una Mausbewegung es.
- Um dies determinar benutzen, wir el Systemvariable %GetInputState.
- Mit %ParCount se überprüft si mindestens una Parametél vorliegt.
- oder si él gar una Aquarium simulado oder Toaster encima el Bildschirm fliegen läßt ...
- '-El Bildschirmaufloesung se en 800 veces 600 Pixel geaendert-----
28.2 - Neuzeichen incluso tomar - como si el Windowsbildschirm una dreidimensionallo Vor- y Hintereinander sabe,
- Was Windows macht es folgendes: Lo überwacht, si una Ventana neugezeichnet voluntad müßte y envía el Ventana
- benötigt el XProfan-Programa no Kenntnis encima esta Aufforderung.
- Dialogfensters WaitInput verläßt y el Systemvariable Usted hast así oft dass y muss después de neuer RS verwendet, dass Usted auch lasst y passt siempre benutzen solltest
- siempre a el Größe des Haupfensters angepaßt haben möchte.
- In diesem Fall se el WindowsBotschaft wm_Paint,
- El Rutina, el Beim Auftreten uno wm_Paint-Meldung aufgerufen se,
28.4 - Messageverwaltung incluso tomar - el Ressourcen genutzt y Messages verschickt voluntad puede.
- Sobald esta eintrifft, voluntad el Systemvariablen
- Hier es en el Zweifelsfalle Ausprobieren angesagt. Alternativ: In el Zweifelsfalle...
- Im 32-Bit-Windwos son beide Parámetro 32-Bit breit,
- beiden Versionen beide Systemvariablen como Largoint- Systemvariablen ausgelegt. Hier podría uno todavía überlegen, si el Schreibweise LongInt a bevorzugen es. Außerdem debería después de el Longint- kein Leerzeichen posición.
- Lo puede en esta Weise auch selbsterzeugte Messages behandelt voluntad. Hier debería auch todavía una Verweis en Mensajes del usuario posición , auch si en el nächsten Kapitel ausführlich darauf eingegangen se.
28.6 - Notify-Message - El Nachricht WM_NOTIFY informiert una Ventana darüber, els una enthaltenes Steuerelement una Ereignis ausgelöst ha.
28.7 - A Verwendung de DLL - Um ellos de el Speicher a entfernen, es el Befehl FreeDLL utilizarse.
28.8 - Druckerkontext / Drucken con API - Über el Systemvariable &PDC läßt se el Druckerkontext auslesen
- '-Druckausgabe en ausgewaehltem Drucker Sombrero lo una cierto Grund, dass Usted en Kommentaren no Umlaute verwendest?
- Mit Ausführung des Programaes erscheint el Druckerauswahldialog |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 29.03.2012 ▲ |
|
|
|
|
Jörg Sellmeyer | 28.10 - CallBack-Características - Und si doch no ausreicht, puede ser una benutzten Callback-Platz auch otra vez liberación,
- Natürlich kann @ProcAddr auch überall verwandt voluntad, wo el Adresse unar Procedimiento benötigt se.
- como XProfan actualmente no en el Lage es, zwei Codeteile en un Prozess parallel entzurufen. en el obigen Ejemplo es esta Condición sí gegeben, como el Procedimiento "Fonntliste" sí de el API-Función "~EnumFontFamilies" aufgerufen se y sólo después de Beendigung el API-Función el XProfan-programm weiterläuft.
28.11 - Reguläre Ausdrücke en XProfan - @Translate$
- (Abkürzung: "RegEx" de "Regulare Expression")
- Hier es allerdings a beachten, comoß algunos Signo,
- Normalerweise, voluntad esta, como Ersatzzeichen en XProfan-Cuerdas, con el "\" eingeleitet.
- Yo para Reguläre Ausdrücke en XProfan el "~" como Escapezeichen gewählt. Tal vez mejor: ... en XProfan el Tilde (~) como ...
- en el Texto suchen möchte, müßte Yo
- Das Potenzzeichen al Anfang des Musters sorgt dafür, comoß sólo una Vorkommen des Musters al Anfang des Textes gefunden se, beim Dollarzeichen muß lo al Endes des Textes posición.
- Der vorhergehende Ausdruck o. el vorhergehende Signo muß en una cierta Anzahl vorkomen.
- el Ausdruck muß 0 oder 1 veces vorkommen: "10?" findet "1" y "10", como el Signo "0" una- oder keinmal vorkommen muß.
- el Ausdruck muß mindestens 1 veces vorkommen: "10+" findet also z.B. "10", "100" etc, pero no "1" todavía mehrmals "muß" en el más Texto. Yo sería el necesariamente korrigieren, como así una Lenguaje de programación en efecto siempre una gewisse Aktualität ausstrahlen debería.
- (?i) schaltet el Gleichheit de Groß- y Kleinbuchstaben una,
- (de me a XProfan angepaßte)
28.12 - SubClassing con XProfan - Jedes Ventana oder Dialogelement en Windows ha una Fensterprozedur, welche el el Messages verarbeitet, el a dieses Ventana geschickt voluntad. más bien una vez "welche" benutzen
- Auf esta Fensterprozedur ha el XProfan-Programmierer en el Regel no Einfluß,
- aber wir puede el Messages para una (oder mehrere) Ventana ersteinmal sólo una vez a uno eigenen Procedimiento umleiten, en el indem wir el Fensterklasse unsere propio Procedimiento como Fensterprozedur unterschieben. [...]
- para Schluß a el Original Windowsprozedur más, entweder Original-Windowsprozedur oder originale Windowsprozedur
- In XProfan hay una spezielle Procedimiento para el el Editar el umgeleiteten Messages:
- Ganz wichtig es hier el Función Conjunto("WinProc", ...), porque esta legt fest,
- Normalerweise muß el Windowsprozedur para todos Fälle aufgerufen voluntad,
- ungehört a el ursprüngliche Windows-Procedimiento weitergeleitet voluntad
- Es wichtig, si wir mehrere Ventana/Dialogelemente Ssubclassen.
- Und así el Abfragen algo einfacher se, hay una neue Función:
- Soll el Message después de el Behandlung no mehr de el ursprünglichen Windows-Procedimiento behandelt voluntad,
28.13 - File-Mapping - Speicherdateien - esta Speicherdatei zugreifen, en ellos entonces con @FileMap("Map", ...) en unamn passenden Zona a legen. oder: una passenden Zona abzulegen
- Für mehrere Variables empfiehlt se, una Struktur utilizarse.
- Das Programa, el el Speicxherrdatei producido, debería el gleichen Estructuras verwebnel, como Programas, el ellos abierto y nutzen.
- Das Ejemplo funktioniert sowohl compiliert como auch en el Interpreter. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 30.03.2012 ▲ |
|
|
|
|
Jörg Sellmeyer | 28.14 - Multiprozessing con XProfan - Lo war ya siempre posible, de una XProfan-Programa una más Prozess a startenn, sin els deswegen una weitere komplette EXE-Expediente notwendig wäre.
- Ein Programa, els de welchen Gründen De todos modos mehrere Prozesse benötigt, benötigt also sólo una EXE-Expediente y el otro Prozesse puede como compilierte Module (en el Normalfall Archivos con el Endung .prc) beigegeben voluntad. Würde Yo simplemente rauslassen. Macht el Satz unnötig kompliziert.
- (Schon el Beispielprogramm DEMO.EXE el ersten öffentlichen Profano-Versión (Profano 1.3) nutzte esta Technik, damals todavía bajo el 16-Bit Windows 3.0) Ist doch super - por qué also en Klammern verstecken?
- In diesem Fall es kein Zugriff en globale Variables, Konstanten oder Estructuras des Programaes posible. kommt todavía mehrmals antes
- Im Interpreter also el Interpreter (en el Regel PROFAN.EXE) incluso), beim fertigen Programa dessen EXE.)
- Das Modul se como eigener Prozess asynchron comenzó,
- Das Ergebnis es es el Prozess-ID des gestarteten Prozesses.
- KompilierenMarcaSeparación El Codes son todos muy uneinheitlich formatiert. Lo sieht sicher mejor de, si la Schreibweisen el Begriffen en el Ayuda folgen. Yo hier veces todos Schreibweisen umgestellt. Wenn Usted qué dran liegt, kann Yo später veces todos Fuente daraufhin durchgehen. Viel später...
- kann auch con el Finktion isWindow(handle&) festgestellt voluntad.
- Un neue Containerfunktion process() erlaubt el avanzado Umgang con Prozessen: Yo fände lo sinnvoller (y professioneller!), una Schreibweise durchzuziehen.
- Mit "Suspend" se el Prozess se inmediatamente angehalten.
- y el sendende Programa restos hängen.
- Ein Ejemplo para el drei Características "Kill", "Suspend" y "Resume" findet se más unten en el Ejemplo 3.
- Programas, el "Resume" oder "Suspend" uso, debería beim Start prüfen, els mindestens Windows2000 el aktuelle Betriebssystem es.
- Mit "SetPriority" kann el Priorität uno Prozesses en niedrig, noprmal oder hoch eingestellt voluntad.
- Ist el Eregebnis 0, war lo kein passendes Handle!
- Prozessübergreifender Zugriff en Controlls
- así dass sodass (empfiehlt el Duden) una Adresse en varios Prozessen Gültigkeit besassß. Usted bist echt lustich...
- una eigenen Adressraum, así dass una Addresse sólo en el eigenen Prozess gültig es. s.o. Alternativ el Komma versetzen
- Como nun z.B. beim Carta de Texto en una Control lediglich el Adresse des Textes übermittelt se, sería el nun no mehr trabajo, si una SetText oder @AddStrings() nun en una Control-Handle uno otro Prozesses angewandt sería.
- Im Falle el Standardcontrolls como Editar,
- Synchrondél Aufruf uno XProfan-Moduls oder uno individual XProfan-Procedimiento
- Das Programa waertet also con el Ausführung, a el Modul o Procedimiento abgearbeitet es.
- el con End n% zurückgegebene Exit-Code des Programaes.
- Das Hauptprogramm startet el 9 Prozeduren y son como letzten Parámetro el Offset con, Offset se más como maskulinum interpretiert. Ist zwar en el Duden todavía no angekommen aber sonst findet uno überall "der Offset"
- Ist unar el Prozesse geschlossen worden, se el ebenfallss adecuado.
- Hier voluntad entsprechende Textfelder en el Hauptprogramm producido
- Der erste Prozeß ("A") kann hier encima Buttons des Hauptprozesses angehalten, otra vez comenzó y darse por concluido.
- 'alle erzeugten Processe final |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 30.03.2012 ▲ |
|
|
|
|
RGH | Jörg Sellmeyer (29.03.12)
Sombrero lo una cierto Grund, dass Usted en Kommentaren no Umlaute verwendest?
Einige Programmcodes son no de me, pero z.B. Von Stefan Rápidamente. Und como lo professionelle Entwicklungsumgebungen son, que con Umlauten - etwa en Búsqueda - schwer tun, haben se manche Programmierer angewöhnt, auch en Kommentaren Umlaute a vermeiden. Wer außerdem Java z.B. en unterschiedlichen Betriebssystemen programmiert se wegen el unterschiedlichen Zeichensätze con Umlauten en Quellcodes auch no Freude haben.
Saludo 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 | 30.05.2013 ▲ |
|
|
|
|
RGH | Jörg Sellmeyer (30.03.12)
El Codes son todos muy uneinheitlich formatiert. Lo sieht sicher mejor de, si la Schreibweisen el Begriffen en el Ayuda folgen. Yo hier veces todos Schreibweisen umgestellt. Wenn Usted qué dran liegt, kann Yo später veces todos Fuente daraufhin durchgehen. Viel später...
Como el Codes teilweise de otro Autores stammen y manchmal de unterschiedlichen "Schaffensperioden", son ellos eben no einheitlich. Gewiss wäre una gewisse Einheitlichkeit schön ... aber dazu fehlt simplemente el Tiempo.- Tal vez escribir Yo veces a la "Code-Beautifier", de los automáticamente macht y esta igual jegliche veraltete Syntax ausradiert ...
Saludo Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 30.05.2013 ▲ |
|
|
|