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:

Funktionsparameter mit array ansteuerung?

 
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
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 21.01.2012, 20:20    Titel: Funktionsparameter mit array ansteuerung? Antworten mit Zitat

Hi hätte da eine kleine Frage und zwar:

Wenn ich eine Funktion coden will die als ersten Param zb Integer brauch,
der 2 ist nen Bool, so und der dritte besteht aus einem String array.

Wie kann ich die funktion ansteuern das ich die ersten beiden parameter normal angebe zb (10,false, <= und hier viele string params auf einmal
die ich dann später als array in der funktion selbst auslesen lassen kann um sie zu benutzen?

Weil ich will ja nicht vorher ein Array mit Array(0) = blabla... vordefinieren und es dann der funktion übergeben sondern bei dem aufruf der function selbst alles angeben können wie ,blalala,blalal,blalal usw...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
XOR



Anmeldungsdatum: 23.07.2010
Beiträge: 161

BeitragVerfasst am: 21.01.2012, 20:41    Titel: Antworten mit Zitat

Man kann das mit dem Parameter ... machen.

BSP:
Code:
Declare Sub f Cdecl(ByVal As Integer, ByVal As Byte, ByVal As Integer, ... )

Sub f Cdecl(ByVal p1 As Integer, ByVal p2 As Byte, ByVal ArraySize As Integer, ... )
   Dim As Any Ptr Arg = va_first()
   Dim As String StringArray(ArraySize-1)
   
   For i As Integer = 0 To ArraySize-1
      StringArray(i)=*va_arg( Arg, ZString Ptr )
      Arg = va_next( Arg, ZString Ptr )
   Next
   
   ' Was du willst
   
End Sub
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
0oFreako0



Anmeldungsdatum: 17.12.2011
Beiträge: 114

BeitragVerfasst am: 21.01.2012, 20:53    Titel: Antworten mit Zitat

Sub f Cdecl(ByVal p1 As Integer, ByVal p2 As Byte, ByVal ArraySize As Integer, ... )

hmm kann man dann viele parameter nach array size dran hängen?

ich meinte es ja so funktion bla(i as integer,b as byte,param as string)


bla (10,&hFF,blala,blalab,blala) und dieses dann auslesen lassen diese 3 blas in der funktion ohne das ich neue params erstellen muss in der funktion
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 21.01.2012, 21:16    Titel: Antworten mit Zitat

Der Aufruf der Funktion von XOR wäre z. B.
Code:
f(p1, p2, 5, "string1", "string2", "string3", "string4", "string5" )

Der dritte Parameter muss dabei die Anzahl der Strings angeben.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
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 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