Deutsch
Forum

IncToPh ?

 

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
 
Nico Madysa
10.11.2006  
 




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.
 
10.11.2006  
 



@Frank: Es geht Ihm IMHO um was völlig anderes!
 
10.11.2006  
 




Frank
Abbing
David IMHO Strutz alias iF: Oh, ja gut. Sollte wohl doch gründlicher lesen.
 
10.11.2006  
 




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?
 
Nico Madysa
10.11.2006  
 




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
proc_IntToStruct = proc IntToStruct:parameters s#,i%:Word s#,0 = i%:endproc;
proc_dgbBox = proc dbgBox:parameters text$:MessageBox(text$,"Debug-Meldung",4144):endproc;

Wenn dann danach noch eine Definition kommt, scheint es zu krachen.
Er erkennt ~proc_dbgBox nicht mehr
 
Nico Madysa
10.11.2006  
 




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?
 
Nico Madysa
14.11.2006  
 




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  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.497 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