[erledigt] Ort im Source für Procs und Labels ?
[erledigt] Ort im Source für Procs und Labels ?
moin, moin...
Aus Gründen der Übersichtlichkeit und Wiederverwendbarkeit möcht ich viel mit Procs und Labels arbeiten, die ich eigentlich auch gerne (wenn sie zur Zufriedenheit funktionuckeln) auslagern und per "XIncludeFile" nutzen würde.
Nun stellt sich mir die Frage, wo (im Source) ich sie ansiedeln darf/kann/muß.
Einige, die vor dem Aufbau des Fensters laufen, würde ich eher vor den Hauptteil setzen, andere, die z.B. aus der "Event Loop" heraus angesprungen werden, hinter das abschließende "END".
Eine Suche nach "Programmaufbau" war nich so ergiebig.
(Wo) Kann ich sowas "Grundlegendes" nachlesen ?
Oder ist PB so "freizügig", daß es mir keine Vorschriften macht ?
bis denne...
scholly
Aus Gründen der Übersichtlichkeit und Wiederverwendbarkeit möcht ich viel mit Procs und Labels arbeiten, die ich eigentlich auch gerne (wenn sie zur Zufriedenheit funktionuckeln) auslagern und per "XIncludeFile" nutzen würde.
Nun stellt sich mir die Frage, wo (im Source) ich sie ansiedeln darf/kann/muß.
Einige, die vor dem Aufbau des Fensters laufen, würde ich eher vor den Hauptteil setzen, andere, die z.B. aus der "Event Loop" heraus angesprungen werden, hinter das abschließende "END".
Eine Suche nach "Programmaufbau" war nich so ergiebig.
(Wo) Kann ich sowas "Grundlegendes" nachlesen ?
Oder ist PB so "freizügig", daß es mir keine Vorschriften macht ?
bis denne...
scholly
Zuletzt geändert von scholly am 21.04.2008 22:20, insgesamt 1-mal geändert.
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
moin, moin...
I know, I know, das könnt ich auch mit "learning by doing" herausfinden, aber ich vermeide Fehler lieber von vorne herein. Und andere finden dann beim Suchen vielleicht das, was ich gesucht habe

Und da such ich selbstverfreilich ersma rum, bevor ich hier vorstellig werde.
bis denne
scholly
Das lautet im Original aber etwas anders:NicTheQuick hat geschrieben: Du kannst nur keine Procedure aufrufen, die du nicht vorher irgendwo im Code stehen hast.
Für mich ist das Hauptprogramm keine Procedure, womit Procs nach dem "END" kein Problem machen dürften.Sometimes a procedure need to call another procedure which isn't declared before its definition. This is annoying because the compiler will complain 'Procedure <name> not found'. Declare can help in this particular case by declaring only the header of the procedure. Nevertheless, the Declare and real Procedure declaration must be identical (including the correct type).
I know, I know, das könnt ich auch mit "learning by doing" herausfinden, aber ich vermeide Fehler lieber von vorne herein. Und andere finden dann beim Suchen vielleicht das, was ich gesucht habe

Hilfe ? Welche Hilfe ? Ich hab bisher nur eine recht gute Befehlsreferenz gefundenSchau dir dazu einfach mal die Hilfe an.

Und da such ich selbstverfreilich ersma rum, bevor ich hier vorstellig werde.
bis denne
scholly
Also für mich steht in dem Zitat eigentlich das selbe wie Nic es gepostet hat ...
Im Grunde ist es egal, wo Prozeduren definiert werden. Ob am Anfang, am Ende oder gar mittem im Code
Bevor aber eine Prozedur nicht deklariert wurde, kann diese nicht aufgerufen werden.
Das heißt das folgende gibt eine Fehlermeldung:
Mit dem Declare kann man das aber bei bedarf umgehen:
Da aber so für jede Prozedur ein Declare nötig wäre ist es vorteilhafter, man deklariert die ganzen Prozeduren am Anfang:
Und dieser Declare-Befehl wird in der Hilfe erwähnt bzw beschrieben
Siehe unter "Prozeduren Unterstützung " -> "Procedure : EndProcedure" -> etwas runter scrollen
MFG PMV
Im Grunde ist es egal, wo Prozeduren definiert werden. Ob am Anfang, am Ende oder gar mittem im Code

Bevor aber eine Prozedur nicht deklariert wurde, kann diese nicht aufgerufen werden.
Das heißt das folgende gibt eine Fehlermeldung:
Code: Alles auswählen
Test()
Procedure Test()
;Codezeilen ;-)
EndProcedure
Code: Alles auswählen
Declare Test()
Test()
Procedure Test()
;Codezeilen ;-)
EndProcedure
Code: Alles auswählen
Procedure Test()
;Codezeilen ;-)
EndProcedure
Test()

Siehe unter "Prozeduren Unterstützung " -> "Procedure : EndProcedure" -> etwas runter scrollen
MFG PMV
moin, moin...
Mir ist schon klar, daß das mit "Declare" geht, aber für mich ist der Aufruf aus dem Hauptteil eben nicht
und alle Procs vorher definiert (hier: included) sein sollten, wobei der Includebefehl wohl nicht innerhalb einer If-, Repeat-, While- oder For-Konstruktion stehen darf (was meinereiner aus dem Thread "Zweites Fenster" lernen konnte
).
Was ist mit den Unterprogrammen (labels), die mit GOSUB angesprungen werden ?
Gibts da auch so Fallstricke ?
bis denne...
scholly
Die Deutsche Online-Hilfe ist nur auf Stand 3.51, weswegen ich die im Kauf-Paket enthaltene englische Version nutze, die (zumindest laut History) v3.94 ist.PMV hat geschrieben: Siehe unter "Prozeduren Unterstützung " -> "Procedure : EndProcedure" -> etwas runter scrollen
Mir ist schon klar, daß das mit "Declare" geht, aber für mich ist der Aufruf aus dem Hauptteil eben nicht
Ich nehm das mal so hin, daß der Hauptteil dals Procedure "main" anzusehen istdass eine Prozedur von einer anderen Prozedur aufgerufen wird


Was ist mit den Unterprogrammen (labels), die mit GOSUB angesprungen werden ?
Gibts da auch so Fallstricke ?
bis denne...
scholly
Schau mal im Programmverzeichnis rum, da ist irgendwo auch eine deutsche Hilfe.scholly hat geschrieben:weswegen ich die im Kauf-Paket enthaltene englische Version nutze, die (zumindest laut History) v3.94 ist.

Now these points of data make a beautiful line.
And we're out of beta. We're releasing on time.
And we're out of beta. We're releasing on time.
moin, moin...
?
scholly
Wo hast Du die denn hier gesehenLaurin hat geschrieben:Schau mal im Programmverzeichnis rum, da ist irgendwo auch eine deutsche Hilfe.

bis denne...Datenträger in Laufwerk C: ist System
Verzeichnis von C:\Programme\ugs\dev\PureBasic
21.11.2005 20:38 <DIR> .
21.11.2005 20:38 <DIR> ..
18.11.2005 21:01 <DIR> Catalogs
21.11.2005 19:00 <DIR> Compilers
18.11.2005 21:01 <DIR> Debugger
21.11.2005 17:41 <DIR> Examples
13.11.2005 14:06 <DIR> examples_auch_demo
18.11.2005 21:01 <DIR> Library SDK
02.11.2005 11:32 268.548 PBOSL.chm
17.08.2005 01:26 980.633 PureBasic.chm
02.09.2005 13:00 849.408 PureBasic.exe
21.11.2005 19:00 9.107 PureBasic.prefs
18.11.2005 21:01 <DIR> PureLibraries
18.11.2005 21:01 <DIR> Residents
05.07.2004 02:07 56.832 SmartUpdate.exe
21.11.2005 19:00 17 Templates.prefs
18.11.2005 21:01 91.929 unins000.dat
27.06.2004 02:00 77.257 unins000.exe
12.04.2004 15:21 189.001 Visual Designer.chm
19.05.2005 21:33 374.816 Visual Designer.exe
21.11.2005 17:40 <DIR> _ugs_mmm
scholly
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten: