Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 06.03.2009, 16:49 Titel: Arrays übergeben |
|
|
Gibt es in QBasic irgendeine Möglichkeit, ganze Arrays in Funktionen zu übergeben und zu verarbeiten? _________________ RUN "brain.exe"
Datei nicht gefunden |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 06.03.2009, 17:13 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.03.2009, 17:27 Titel: |
|
|
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 |
|
 |
Keks
Anmeldungsdatum: 03.11.2007 Beiträge: 156 Wohnort: Dose
|
Verfasst am: 06.03.2009, 17:32 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 06.03.2009, 18:18 Titel: |
|
|
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 |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 06.03.2009, 21:06 Titel: |
|
|
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 |
|
 |
|