| |
|
|
Nico Madysa | Gestern kam mir eine dieser Ideen, die 16-jährige bekommen, wenn sie nach der Schillerstraße mit einem halben Kilo Erdnüsse angefüllt sind und anschließend noch an einer inc ertwas Gute-Nacht-programmieren. Ich hatte eine Header-Datei und meine inc gleichzeitig offen und da kam mir plötzlich eine Vision: Includes als Header... Wie Jac und jeder andere, der Includes für andere schreibt/schreiben will, habe auch ich mir die Frage gestellt: Wird es jemanden geben, der ALLE Funktionen/Prozeduren/Ähnliches meiner INC verwendet? Und wie alle Anderen auch habe ich mir diese Frage mit einem Ähhh, nö. beantwortet. Und mit diesem Gedanken fiel mir der achso angepriesene Vorteil von Headern ein: Sie fügen nur ein, was auch verwendet wird. Ich setzte den Gedankengang noch weiter fort, und möchte hier und jetzt etwas zur Diskussion stellen: Ist es möglich und/oder erwünscht, Includes in Header umzuwandeln? Wichtig ist dafür (glaube ich) die Möglichkeit, mehrere Befehle in eine Zeile schreiben zu können. Hier ein Beispiel zum Verständnis: Das hier wird der Header test.ph: KompilierenMarkierenSeparieren Die tex´st.ph kommt in den Include-Ordner eures Editors. Dann komt testinctoph.prf: KompilierenMarkierenSeparieren So, ich hoffe, hier kommen viele Meinungen und Vorschläge zusammen.
Gruß Nico |
|
|
| |
|
|
|
Frank Abbing | Andreas Miethe hat zwei Tools gemacht, um Incs und Phs direkt aus einer Dll zu erstellen. Die Tools sind irgendwo auf seiner Seite zu finden, oder auch im XPIA-Paket undter Tools. |
|
|
| |
|
|
|
| @Frank: Es geht Ihm IMHO um was völlig anderes! |
|
|
| |
|
|
|
Frank Abbing | David IMHO Strutz alias iF: Oh, ja gut. Sollte wohl doch gründlicher lesen. |
|
|
| |
|
|
|
Jac de Lad | Na, ich weiß nicht...von Befehlen durch getrennt halte ich ebenso wenig, wie mehrere Befehle durch : verkettet. Und was soll der Vorteil sein, wenn ich das per Header mache, anstatt eine Prozedur/Funktion einer Inc aufzurufen??? |
|
|
| 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 | 10.11.2006 ▲ |
|
|
|
|
Nico Madysa | Lies dir den kursiven Teil des ersten Postings durch. Es wird nur das in den fertigen Quelltext übertragen, was tatsächlich verwendet wird. Wär vielleicht auch was für die controls.inc . Nicht jeder verwendet alle Controls, und da initialisiert man per Header-Aufruf nur die, die man wirklich will. Da machst du z.B. alle Prozeduren zu ProgressBars in eine Zeile und das definierst du dann meinetwegen als init_progressbars Und wenn dann jemand progressbars verwenden will, muss er nicht noch CustomListBoxen, TrackBars und schieß-mich-tot-was-noch einbinden sondern ruft in seinem Programm irgendwo einfach auf: ~init_progressbars
Und dann hat er in seinem Programm ausschließlich die ProgressBar-Prozeduren.
capisce? |
|
|
| |
|
|
|
Jac de Lad | Aso, das ist natürlich wieder viel interessanter...hm, ist ne Überlegung wert... |
|
|
| 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 | 10.11.2006 ▲ |
|
|
|
|
Nico Madysa | Argh, Problem!! Wie es scheint, gibt es einen bisher unbemerkten Bug bei Headern. Es sieht so aus, als ob Profan leicht verwirrt tut, wenn im einzusetzenden Text ein = vorkommt, z.B. KompilierenMarkierenSeparieren Wenn dann danach noch eine Definition kommt, scheint es zu krachen. Er erkennt ~proc_dbgBox nicht mehr |
|
|
| |
|
|
|
Jac de Lad | 2 Probleme:
1. Wie übergibst du Parameter? 2. Die Headerdefinition wird immer reinkopiert, das könnte sehr große programme zur Folge haben... |
|
|
| 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 | 11.11.2006 ▲ |
|
|
|
|
Nico Madysa | Nein, du ruft die Dinger wie normale Prozeduren auf, da die aus dem Header nur reinkopiert werden. Alles funktioniert wie normale Incs, mit dem Unterschied, dass man die Procs, die man nutzen will nennen muss (wie oben im Beispiel ~proc_dbgBox ). Dadurch wird nur das reinkopiert, was auch verwendet wird. Nix weiter. Höchstens, dass Interpreten vielleicht etwas länger dauert, weil Profan.exe erst im Header nachsehen muss (einmal pro genutzte Prozedur). Aber was ist mit dem =-Problem? Könnte Roland oder ein Anderer etwas Aufklärung betreiben? Normalerweise geht der einzusetzende Text doch bis zu einem Semikolon, oder? |
|
|
| |
|
|
|
Michael Wodrich | Ganz einfach:
Hier wird wahrscheinlich SubStr$ benutzt. Trennzeichen ist das Gleichheitszeichen. Substr$(headerzeile$,1,=) ergibt die Kennung (linker Teil) Substr$(headerzeile$,2,=) ergibt den Rest (rechter Teil) (wenn kein weiteres = vorkommt)
Ich kann mich übrigens nicht mit Deiner Idee anfreunden, dann will ich lieber die DEF Funktionen behalten!!! (Bandwurm-Prozeduren - wer soll die denn pflegen?)
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 15.11.2006 ▲ |
|
|
|
|
Torsten Rümker | Das ganze hat aber schon seine Interessanten seiten wie ich finde.
Momentan habe ich es z.b. so das ich eine Funktionen.inc habe in der so ziemlich alles an Schnipseln (ups Proceduren) drin ist die ich öfter verwende. Wenn ich dann soweit bin, das ich meine jetzt ist mein Programm fertig, fange ich an eine neue Inc zu erstellen in der halt nur die tatsächlich benötigten Funktionen drin sind. Das würde dann mit Nicos einfall natürlich wegfallen, da bei einer Header Datei ja nur genommmen wird was auch genutzt wird. MfG Torsten |
|
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 15.11.2006 ▲ |
|
|
|