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:

Arrays übergeben

 
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
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 06.03.2009, 16:49    Titel: Arrays übergeben Antworten mit Zitat

Gibt es in QBasic irgendeine Möglichkeit, ganze Arrays in Funktionen zu übergeben und zu verarbeiten?
_________________
RUN "brain.exe"
Datei nicht gefunden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


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

BeitragVerfasst am: 06.03.2009, 17:00    Titel: Antworten mit Zitat

Ohne viel Kommentar:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/SUB-Unterprogramme.html

Am besten Untertitel "Feldvariablen als Aufrufparameter" studieren.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 06.03.2009, 17:13    Titel: Antworten mit Zitat

Ich wollte das jetzt mit Funktionen machen, und auch ein Array zurückgeben. Übergeben wird, zurückgegeben aber nicht:

Code:
DECLARE FUNCTION test3(arr())

DIM test1(10)
test1(1) = 123

test2 = test3(test1())
PRINT test2(1)


Ausgegeben wird 0. Stimmt da was nicht, oder kann man mit Funktionen keine Arrays zurückgeben?
_________________
RUN "brain.exe"
Datei nicht gefunden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 06.03.2009, 17:27    Titel: Antworten mit Zitat

Code:
DECLARE FUNCTION test3(arr())

da steht auch nirgends, dass ein array zurückgegeben wird. da wird eine SINGLE-Variabe zurückgegeben. Außerdem kann man in QB keine arrays zurückgeben. Die einzige möglichkeit besteht darin, das array BYREF zu übergeben, dann kann die FUNCTION die werte darin ersetzen.

Hier sieht man mal wieder, wie scheiße QBasic eigentlich ist, vor allem für Anfänger. jede nicht deklarierte Variable ist standardmäßig ein Single-Array mit 10 Einträgen, deswegen kommt da auch kein Fehler, obwohl der code so überhaupt keinen sinn macht.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Keks



Anmeldungsdatum: 03.11.2007
Beiträge: 156
Wohnort: Dose

BeitragVerfasst am: 06.03.2009, 17:32    Titel: Antworten mit Zitat

Naja im Notfall benutze ich halt SUBs mit CALL BY REFERENCE.

An QBasic sehe ich immer wieder, wie schön PHP doch ist.
_________________
RUN "brain.exe"
Datei nicht gefunden
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 06.03.2009, 18:18    Titel: Antworten mit Zitat

PHP ist noch schlimmer. Da muss man auch nicht deklarieren, und da kann man aus ner String-Variable plötzlich ein float-array machen.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
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: 06.03.2009, 21:06    Titel: Antworten mit Zitat

FreeBasic hat bekanntlich viele dieser hübschen Konzepte übernommen, welche in QB noch fehlen. In VBScript gibt es übrigens ebenfalls das Array als Rückgabetyp, z.B. Split()-Funktion.

@Keks: In QB braucht man daher vielfach Ersatzkonstruktionen, wobei aber doch die wichtigsten Sprachkonstrukte für "schönes" Programmieren vorhanden sind. => Von dem her ohne Weiteres auch den übrigen Artikel von mir studieren!
_________________
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 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