Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1037 Wohnort: Niederbayern
|
Verfasst am: 01.09.2015, 00:42 Titel: Unterprogramme |
|
|
Mir ist aufgefallen dass Freebasic bei Unterprogrammen folgendes nicht schluckt:
Code: | DECLARE SUB Test (Testzahl(Zufall) AS STRING)
SUB Test (Testzahl(Zufall) AS STRING)
' Verarbeitung Testzahl(Zufall)
END SUB |
kann man da irgendwas machen, dass ich die Variable Test(Zufall) im Unterprogramm verwenden kann? Die Variable Test(Zufall) soll, wenn möglich, dem Unterprogramm mit übergeben werden. Mir fällt auf die schnelle, keine geeignete Lösung ein? Forensuche hat nichts ergeben.
Gruß
ALWIM _________________ SHELL SHUTDOWN -s -t 05
Zuletzt bearbeitet von ALWIM am 01.09.2015, 02:52, insgesamt einmal bearbeitet |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 01.09.2015, 01:00 Titel: |
|
|
Code: | RANDOMIZE
DECLARE SUB Test(txt AS STRING)
DIM AS STRING Testzahl(9) = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j"}
DIM AS INTEGER zufall = INT(RND*10)
Test(Testzahl(zufall))
SUB Test(txt AS STRING)
PRINT txt
END SUB |
Allerdings bin ich mir nicht ganz darüber im Klaren, warum ein String Testzahl genannt wird. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1037 Wohnort: Niederbayern
|
Verfasst am: 01.09.2015, 02:41 Titel: |
|
|
nemored hat Folgendes geschrieben: | Code: | RANDOMIZE
DECLARE SUB Test(txt AS STRING)
DIM AS STRING Testzahl(9) = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j"}
DIM AS INTEGER zufall = INT(RND*10)
Test(Testzahl(zufall))
SUB Test(txt AS STRING)
PRINT txt
END SUB |
Allerdings bin ich mir nicht ganz darüber im Klaren, warum ein String Testzahl genannt wird. |
Das mit "Testzahl" war nur ein Beispiel! In Wirklichkeit habe ich andere Namen.
Ich glaube jetzt verstehe ich, worauf man hinaus will! Eigentlich hätte ich da selber auch drauf kommen können? Ob ich mit meiner Vermutung recht habe, wird sich noch zeigen! Tests folgen später!!!
Vielen herzlichen Dank für die Hilfe!
Gruß
ALWIM _________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 01.09.2015, 02:44 Titel: |
|
|
Was meinst du mit "nicht schlucken"? Wenn du einen Compilerfehler bekommst, liegt es an einer fehlenden Klammer in der Zeile Code: | SUB Test (Testzahl(Zufall) AS STRING
| Richtig muß es heißen: Code: | SUB Test (Testzahl(Zufall) AS STRING)
|
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
ALWIM
Anmeldungsdatum: 08.08.2006 Beiträge: 1037 Wohnort: Niederbayern
|
Verfasst am: 01.09.2015, 02:49 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Was meinst du mit "nicht schlucken"? Wenn du einen Compilerfehler bekommst, liegt es an einer fehlenden Klammer in der Zeile Code: | SUB Test (Testzahl(Zufall) AS STRING
| Richtig muß es heißen: Code: | SUB Test (Testzahl(Zufall) AS STRING)
|
Gruß
grindstone | An der Klammer liegt es nicht, denn die ist im Programm vorhanden! Compilerfehler ist richtig!
Zitat: | Illegal specification, at parameter 1 |
_________________ SHELL SHUTDOWN -s -t 05 |
|
Nach oben |
|
|
Haubitze
Anmeldungsdatum: 14.10.2009 Beiträge: 132
|
Verfasst am: 01.09.2015, 03:00 Titel: |
|
|
Code: |
Randomize timer
Dim z As uinteger
Dim x(0 To 9) As String={"Lbound","b","c","d","r","s","e","w","g","Ubound"}
declare function test(testzahl() As String,zufall As UInteger ) as String
function test( testzahl() As String,zufall As UInteger ) as String
If zufall>=UBound(testzahl) Then Return testzahl(UBound(testzahl))
If zufall<=lBound(testzahl) Then Return testzahl(lBound(testzahl))
Return testzahl(zufall)
End Function
For i As UInteger=0 To 10
z=Int(Rnd*14)
Print test( x() ,z)
next
sleep
|
evtl hab ich die frage nich richtig verstanden.
salute |
|
Nach oben |
|
|
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1211 Wohnort: Ruhrpott
|
Verfasst am: 01.09.2015, 11:43 Titel: |
|
|
Ja, richtig, bevor man eine Antwort verfasst, sollte man den Beitrag, auf den man antwortet, SORGFÄLTIG durchlesen. Asche auf mein Haupt! Den illegalen Parameter hätte ich eigentlich sofort sehen sollen.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
|
Haubitze
Anmeldungsdatum: 14.10.2009 Beiträge: 132
|
Verfasst am: 01.09.2015, 12:51 Titel: |
|
|
hehe kein thema Grindstone, hatte das problem auch nich gleich gesehn,
dachte er will da ne function an ne function uebergeben.
dann die frage doch noch 2x gelesen und da wusste ich ah es
handelt sich um ein array was uebergeben werden soll.
also kleines program zur verdeutlichung geschrieben.
salute |
|
Nach oben |
|
|
nemored
Anmeldungsdatum: 22.02.2007 Beiträge: 4597 Wohnort: ~/
|
Verfasst am: 01.09.2015, 13:16 Titel: |
|
|
So wie es da steht, will er kein Array, sondern nur einen einzelnen Array-Wert übergeben - aber wir werden sehen. Stehen ja jetzt beide Variationen da. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
|
|