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:

Subs

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



Anmeldungsdatum: 24.11.2005
Beiträge: 605
Wohnort: Hall i. T.

BeitragVerfasst am: 17.03.2006, 15:54    Titel: Subs Antworten mit Zitat

Hi,

ich progge gerade ein programm, das hunderte Subs mit dem selben Namen haben, nur eine andere Nummer im Namen. Ich will diese Subs einfacher aufrufen, nicht mit einer ganzen Palette von CALL befehlen. Kann ich das irgendwie mit FOR...NEXT oder so machen?

Im Vorhinein schon mal danke für die Antworten!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 17.03.2006, 16:17    Titel: Antworten mit Zitat

Es wäre über einen Trick in FreeBasic möglich gewesen. Du kannst aber mit SELECT CASE die SUBs in einer Schleife durchlaufen lassen. Wenn du das für jedes SUB mit der Hand schreiben willst, kannst du ja immer noch ein Programm schreiben, was dir diesen Code-Ausschnitt generiert.
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Thomas Antoni



Anmeldungsdatum: 12.10.2004
Beiträge: 220
Wohnort: Erlangen

BeitragVerfasst am: 17.03.2006, 20:01    Titel: Antworten mit Zitat

Das geht problemlos, indem Du per Programm eine externe BAS-Datei erzeugst, in die Du in einer Schleife die CALLs mit aufsteigender SUB-Nummer hineinschreibst. Per CHAIN statrtest Du dann diese externe BAS-Datei.
_________________
+++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 17.03.2006, 20:03    Titel: Antworten mit Zitat

Geht aber auch nur beim Interpreter...
Compilieren kann man das nicht...

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OdinX



Anmeldungsdatum: 29.07.2005
Beiträge: 253
Wohnort: SG Schweiz

BeitragVerfasst am: 17.03.2006, 23:03    Titel: Antworten mit Zitat

gibt keine möglichkeit eine .bas zu kopillieren während der laufzeit?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 18.03.2006, 03:49    Titel: Antworten mit Zitat

doch aber du kannst ja die laufende exe nich überschreiben, das gibt nur chaos..

mal ne andere frage, wenn ich subs habe
print1(blubber)
print2(blubber)
print3(blubber)
wäre es dann nicht einfacher, nur eine sub print(zahl,blubber) zu machen?
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 18.03.2006, 12:18    Titel: Antworten mit Zitat

@OdinX
Kannst einige der Subroutinen mal Posten?
Vielleicht gibt es einen besseren Trick.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 18.03.2006, 14:43    Titel: Antworten mit Zitat

Eine andere Idee wäre, den generierten Quelltext während der Laufzeit zu
kompilieren und ihn dann mittels CHAIN "wasweisich.exe" dranzuhängen...

jb


Zuletzt bearbeitet von jb am 18.03.2006, 22:02, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


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

BeitragVerfasst am: 18.03.2006, 15:16    Titel: Antworten mit Zitat

In der Programmiersprache C/C++ gäbe es hierfür den Typ Funktionszeiger, auch Funktionsvariable genannt, wo Du ein Prozedurname (bzw. maschinenintern natürlich die Sprungadresse) als Wert zuweisen kannst. Sinnvollerweise müssen die Funktionen alle das gleiche Parameterprofil enthalten.

QB unterstützt übrigens so etwas überhaupt nicht. Aber wenn Du uns den Quellcode oder Teile daraus postest, könnten wir Dir evtl. eine Alternativvariante vorschlagen, denn vielfach ist die Ursache ein falscher Ansatz im Programmdesign, der irgend etwas Kompliziertes notwendig macht, das es eigentlich gar nicht bräuchte.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
JPT



Anmeldungsdatum: 27.02.2006
Beiträge: 35

BeitragVerfasst am: 18.03.2006, 22:50    Titel: Antworten mit Zitat

/Komischer Vorschlag ANFANG


Du kannst auch eine Sub aufmachen, die die anderen alle aufruft.


/Komischer Vorschlag ENDE
_________________
MfG JPT
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. 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