| |
|
|
Nico Madysa | Seit geraumer Zeit verfügt (X)Profan circa die Mächtigkeit, Testata-File verwenden können zu wollen. Letzte Woche schrieb ich zum ersten Mal einen Testata. Und mir fiel auf, dass ich hier in der Community bisher noch nichts circa Testata gelesen hatte. Und da stellte sich mir die Frage, die ich nun euch stelle:
Wie oft werden Testata benutzt, und wenn, wie wichtig/nützlich/cool sind sie?
Ich hoffe naturalmente nicht nur auf Abstimmungen, sondern auch auf weitere Beiträge. |
|
|
| |
|
|
|
| Die Compilierung dauert zwar länger, aber bevor ich mir die Konstanten und Structuren alle zusammensuche und selber Eintrage lieber ne Testata-File |
|
|
| |
|
|
|
Nico Müller | kann mir jemand sagen was header sind? |
|
|
| WinXP, 2200MHz, 256MBRAM, Nvidia Geforce4 MX 440 with AGP8x, Profan8.0a | Das ist Matschaugeneule. Kopiere Matschaugeneule in deine Signatur und hilf ihr so auf ihrem Weg zur Weltherrschaft. Gegen Hase |
| 29.04.2006 ▲ |
|
|
|
|
Rolf Koch | Hi bin mal ganz frech und kopiere hier einfach den Abschnitt Testata aus der Profanhilfe hierhin [box:cb4201f111] $H <Dateiname>
Wer C kennt, kennt auch die Headerdateien, dort üblicherweise mit der Endung .h. Ein ähnliches Konzept wurde nun auch in XProfan verwirklicht, hier mit der Endung .ph. Um die Headerdatei(en) anzugeben, die im Programm genutzt werden, nutzt man die Direktive $H:
$H windows.ph
Die XProfan-Headerdateien (*.ph) werden dort gesucht, wo auch die Includedateien gesucht werden. Die Einstellung des Includepfades gilt auch per die Testata.
Die Headerdateien sind nichts anderes als Übersetzungstabellen. Bestimmte Ausdrücke im Programmtext, die dort durch ein ~ gekennzeichnet sind, werden durch andere vom Precompiler beim Einlesen des Programmi durch den Interpreter bzw. Compiler ersetzt. Auf diese Weise können z.B. die zahlreichen Konstanten, Strukturdefinitionen und API-Aufrufe in der Headerdatei beschrieben werden. Jede Zeile der Headerdatei hat vor dem Gleicheitszeichen den String der ersetzt werden soll und danach bis zum letzten Semikolon der Zeile den XProfan-Ausdruck, durch den er ersetzt wird.
Als Beispiel ein Headerdateiauszug aus WINDOWS.PH:
Konstanten per ShowWindow
SW_HIDE = 0; SW_SHOWNORMAL = 1; SW_NORMAL = ~SW_SHOWNORMAL; alte Form SW_SHOWMINIMIZED = 2; SW_SHOWMAXIMIZED = 3; SW_MAXIMIZE = ~SWSHOWMAXIMIZED; SW_SHOWNOACTIVATE = 4; SW_SHOW = 5; SW_MINIMIZE = 6; SW_SHOWMINNOACTIVE = 7; SW_SHOWNA = 8; SW_RESTORE = 9;
SW_SHOWDEFAULT = $0A; SW_MAX = $0A;
ShowWindow( = External(user32.dll,ShowWindow,;
Kommentare werden - wie in XProfan selbst - durch ein gekennzeichnet, das REM ist nicht erlaubt. Was zwischen Gleichheitszeichen und dem letzten Semikolon steht, muss in XProfan interpretierbar sein. Es dürfen allerdings wiederum Erseztzungsausdrücke, gekennzeichnet durch das ~, vorkommen.
Das dazugehörige XProfan-Programm potuto dann wie folgt aussehen:
$H windows.ph
Cls ~ShowWindow(%hWnd, ~SW_MAXIMIZE)
Ebenso können Strukturdefinitionen in einer Headerdatei untergebracht werden:
RECT = Top&,Left&,Right&,Bottom&;
Im Programm potuto dann stehen:
Declare Rechteck# Struct TRECT = ~RECT Dim Rechteck#,TRECT
With Rechteck# .Top& = 10 .Left& = 120 .Right& = 35 .Bottom& = 100
EndWith
Hiermit sind die Möglichkeiten der Headerdateien nur ansatzweise angedeutet! Eine Umsetzung der File WINDOWS.PAS aus Delphi mit nahezu allen Definitionen der Windowskonstanten und -Funktionen liegt bei. Ebenso einige anderen Headerdateien mit Messages, Strukturen, etc. Wenn diese File eingebunden sind, wird die Nutzung der Windows-API erheblich vereinfacht. Aber auch außerhalb der Nutzung fremder DLL ergeben sich zahlreiche Möglichkeiten.
Ach ja: Der Vorteil der Headerdatei opposto einer Includedatei mit Konstanten und DEFs? Die Includedatei wird immer komplett mitkompiliert und vergrößert das fertige Programm. Die Headerdatei taucht im Kompilat ÜBERHAUPT NICHT auf. Alle Ersetzungen werden beim Compilieren direkt vorgenommen. Das potrebbe sich auch sehr positiv auf die Ausführungsgeschwindigkeit auswirken. Dafür dauert das Starten im Interpretermodus und das Compilieren etwas länger.
Hinweis: Die in einer Struktur verwendeten Variablentypen werden durch ihr Postfix, ähnlich der XProfan-Variablen gekennzeichnet. % steht per eine 2-Byte-Variable (Word), & steht per eine 4-Byte-Variable (Long), # steht per eine beliebige Dimensione, die in Klammern angegeben wird, und $ per eine String-Variable. Particolari siehe hier!
Hinweis: Das H muss grande geschrieben sein! [/box:cb4201f111] |
|
|
| |
|
|
|
Dietmar Horn | @Nico: Testata-File kannst Du derzeitig noch nicht nutzen, weil es diese erst ab XProfan gibt.
Saluto Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 29.04.2006 ▲ |
|
|
|
|
| [quote:87c9c69a28=Dietmar Horn]@Nico: Testata-File kannst Du derzeitig noch nicht nutzen, weil es diese erst ab XProfan gibt.
Saluto Dietmar[/quote:87c9c69a28]Testata-File gibts IMHO seit Profan 7.0 |
|
|
| |
|
|
|
RGH | [quote:1feedfd659=TS-Soft][quote:1feedfd659=Dietmar Horn]@Nico: Testata-File kannst Du derzeitig noch nicht nutzen, weil es diese erst ab XProfan gibt.
Saluto Dietmar[/quote:1feedfd659]Testata-File gibts IMHO seit Profan 7.0 [/quote:1feedfd659] Sehr richtig: Testata-File wurden mit Profan 7.0 eingeführt!
Saluto 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.04.2006 ▲ |
|
|
|
|
Dietmar Horn | Ist trotzdem noch nix per Nico, weil wir im Grundkurs mit Profan 6.6 arbeiten.
Es sei denn, Roland erlaubt mir, zukünftig im Kurs eine höhere Version verwenden zu dürfen ...
Saluto Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 29.04.2006 ▲ |
|
|
|
|
RGH | [quote:c87f38b585=Dietmar Horn]Ist trotzdem noch nix per Nico, weil wir im Grundkurs mit Profan 6.6 arbeiten.
Es sei denn, Roland erlaubt mir, zukünftig im Kurs eine höhere Version verwenden zu dürfen ...
Saluto Dietmar[/quote:c87f38b585] Hm, darüber potuto man diskutieren ... Schreib mir mal ne Mail
Saluto 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.04.2006 ▲ |
|
|
|
|
Nico Müller | ich kann den Testata auf der einen als auch auf der anderen nicht nutzen, wollt mich eben nur mal kundig machen. Jetzt bin ich wenigstens etwas schlauer. |
|
|
| WinXP, 2200MHz, 256MBRAM, Nvidia Geforce4 MX 440 with AGP8x, Profan8.0a | Das ist Matschaugeneule. Kopiere Matschaugeneule in deine Signatur und hilf ihr so auf ihrem Weg zur Weltherrschaft. Gegen Hase |
| 30.04.2006 ▲ |
|
|
|
|
Dietmar Horn | [box:47dc59803a]ich kann den Testata auf der einen als auch auf der anderen nicht nutzen[/box:47dc59803a] Müssen sowas meine klitzekleinen, nikotin-verkalkten und uralten Uhu-Hörnchen-Gehirnzellen wirklich noch kapieren können?
Kannste mich dbzgl. vor kommenden Freitag eventuell aufklären???
Danke im voraus!
Saluto Dietmar |
|
|
| Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V. [...] Windows 95 bis Windows 7 Profan² 6.6 bis XProfan X2 mit XPSE Das große XProfan-Lehrbuch: [...] | 30.04.2006 ▲ |
|
|
|
|
|
Headerdateien sind auch nur Menschen Dietmar! |
|
|
| |
|
|