Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Codeaufbau

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Zvonko



Anmeldungsdatum: 27.06.2018
Beiträge: 11

BeitragVerfasst am: 05.07.2018, 06:08    Titel: Codeaufbau Antworten mit Zitat

Another newbie question: Gibt es in FB keine Möglichkeit, das anders zu machen? Alle #Include-Zeilen, Funktionen und Subs müssen offensichtlich am Anfang stehen (bzw. vorangestellt sein). Gibt es keinen Trick, um sie am Ende platzieren zu können?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 875
Wohnort: Ruhrpott

BeitragVerfasst am: 05.07.2018, 07:39    Titel: Re: Codeaufbau Antworten mit Zitat

Zvonko hat Folgendes geschrieben:
Alle #Include-Zeilen, Funktionen und Subs müssen offensichtlich am Anfang stehen
Nicht unbedingt. Funktionen und Subs können auch am Ende stehen, allerdings müssen sie dann vor dem ersten Aufruf deklariert werden.

Was Includes betrifft: Das ist genauso, als ob das, was in der inkludierten Datei steht, an genau dieser Stelle in den Programmtext eingefügt würde. Ein #Include kann also (theoretisch) auch am Ende stehen, allerdings nur dann, wenn nichts, was in der betreffenden Datei steht, vorher im Programm aufgerufen wird. Das dürfte wohl in den wenigsten Fällen gegeben sein.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 929
Wohnort: Austria

BeitragVerfasst am: 06.07.2018, 11:08    Titel: Antworten mit Zitat

Außerdem ist es gängige Praxis in quasi allen Programmiersprachen externe Abhängigkeiten am Anfang der Datei anzugeben, seien es jetzt inlcudes in FreeBasic/C/C++, usings in C# oder imports in Java/JavaScript/ActionScript.
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Zvonko



Anmeldungsdatum: 27.06.2018
Beiträge: 11

BeitragVerfasst am: 06.07.2018, 12:16    Titel: Antworten mit Zitat

grindstone, St_W:

Punktgenaue und hilfreiche Antworten, besten Dank!

Alles klar und plausibel. Nach hinten verschieben möchte ich nur Subs und Funktionen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2460
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 06.07.2018, 18:39    Titel: Antworten mit Zitat

An dieser Stelle der Verweis auf

https://de.wikipedia.org/wiki/Compiler#Einordnung_verschiedener_Compiler-Arten

Somit arbeitet der Freebasic-Compiler als sog. Einpass-Compiler, d.h. alles nur in einem einzigen Durchgang verarbeiten.

Deswegen muss eine SUB/FUNCTION bei einem Aufruf bereits bekannt sein, was entweder durch Voranstellen erreicht wird oder sonst vorab per DECLARE der Aufruf-Signatur. Letzteres ist für Code-Strukturen wie
Code:
Declare Sub a()

Sub b()
  ' ..
  a()
  ' ..
End Sub

Sub a()
  '..
  b()
  ' ..
End Sub

notwendig.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz