Seite 1 von 2
includefile als subroutine
Verfasst: 16.05.2006 16:48
von obbba
Ich habe die Demoversion von Purebasic. Kann ich da anstatt von
auch
schreiben um Platz zu sparen? Geht das auch in einer Schleife?
Irgendwelche Nachteile?
Verfasst: 16.05.2006 16:55
von ts-soft
Sowas funktioniert bei einem nativen Compiler nicht. Das geht nur bei
interpretierten Sprachen!
Bedingte Compilierung ist möglich, aber das willste glaub ich nicht. Ansonsten
sieh mal unter CompilerIf CompilerEndIf nach.
Verfasst: 16.05.2006 16:59
von Marvin
warum nicht, ts-soft? Soweit ich es verstanden habe steht der Inhalt von der IncludeFile dann ja bei If:
Beispiel:
Inhalt von bla.pb:
So schreibst du es:
So wird es kompiliert:
Oder?

Verfasst: 16.05.2006 17:01
von ts-soft
IncludeFile geschieht während der Compilierung, nicht während der RunTime

Verfasst: 16.05.2006 17:11
von obbba
Leuchtet mir ein. Als exe weiß das programm quasi nicht mehr was mit bla.pb gemeint ist.
Mein programm sieht im Moment so aus:
Code: Alles auswählen
repeat
if ...
gosub ...
endif
if...
gosub...
endif
if ...
gosub
endif
until ...
end
;------------------------------
bla1:
...
bla2:
...
Die Subroutinen werden also nur ausgeführt, wenn sie aufgerufen werden.
Könnte ich die auch in
ein Includefile reinkopieren, was ich dann ganz am Anfang öffne?
Dann würden sie aber alle gleich ausgeführt werden.
Wenn ich Prozeduren nehme muss ich die ganzen Variablen globalisieren.
Verfasst: 16.05.2006 17:24
von ts-soft
Das geht, macht aber nicht viel Sinn

Verfasst: 17.05.2006 17:23
von Marvin
ts-soft hat geschrieben:IncludeFile geschieht während der Compilierung, nicht während der RunTime
Na, das mein ich doch... Im Source steht IncludeFile, in der Exe steht nur noch der Hauptsource mit allen Includes... Nochmal...
Source:
Exe:

Verfasst: 17.05.2006 17:27
von ts-soft
Er möchte die Exe klein halten:
damit die exe kleiner ist, wenn buh unwahr ist

Verfasst: 18.05.2006 15:25
von obbba
Nein, nein!
Is schon richtig.
Ist mir egal wie groß die Exe ist. Nur der Code soll nicht so lang werden, weil ich die Demo-Version habe.
Ich probiers einfach aus.
Verfasst: 20.05.2006 13:34
von Kaeru Gaman
grundsätzlich dran denken, was schon ts sagte:
If findet zur laufzeit statt, include zur compilezeit.
natürlich kannst du das, was bei nem If passieren soll, auch in ein include packen,
aber praktische und übersichtlicher wäre es, die sub (oder besser noch eine Procedure)
in ein include zu packen, und in dem If einen aufruf zu belassen.
es ist nichts ungewöhnliches, den source in mehrere includes aufzusplitten.
viele machen das, obwohl sie die vollversion haben.
> Könnte ich die auch in ein Includefile reinkopieren, was ich dann ganz am Anfang öffne?
> Dann würden sie aber alle gleich ausgeführt werden.
wenn du Procedures verwendest, hast du das problem nicht mehr.
wenn du unbedingst subs nehmen möchtest, dann mach das include halt ans ende.