Italia
Foro

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 Testata-File und meine inc gleichzeitig offen und da kam mir plötzlich eine Vision:
Include als Testata...
Wie Jac und jeder andere, der Include per 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 possibile und/oder erwünscht, Include in Testata umzuwandeln?
Wichtig ist dafür (glaube ich) die Möglichkeit, mehrere Befehle in un Zeile schreiben zu können.
Hier ein Beispiel zum Verständnis:
Das hier wird der Testata 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 Proposte zusammen.

Saluto 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 Testata 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 per die controls.inc .
Nicht jeder verwendet alle Controls, und da initialisiert man per Testata-Aufruf nur die, die man wirklich will.
Da machst du z.B. alle Prozeduren zu ProgressBars in un 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 naturalmente 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
e>

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 potuto sehr grande 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 Testata 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 Testata 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 naturalmente wegfallen, da bei einer Testata File 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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.521 Views

Untitledvor 0 min.

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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