Autore Topic: Funzione che ritorna due variabili  (Letto 347 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.305
  • Ne mors quidem nos iunget
    • Mostra profilo
« Ultima modifica: 28 Ottobre 2020, 17:34:07 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Funzione che ritorna due variabili
« Risposta #1 il: 05 Febbraio 2016, 12:16:43 »
Scusa ma non dovrebbe essere così:
Codice: [Seleziona]
Public Sub Form_Open()

  Dim frutas, fecula As New String[]
  Dim fr_fe As String[][]
  Dim i As Integer, s As String

    fr_fe = Ad_Functionem()
   
    For i = 0 To fr_fe[0].Max
      s = fr_fe[0][i]
      Print s
    Next
    Print "==============="
    For i = 0 To fr_fe[1].Max
      s = fr_fe[1][i]
      Print s
    Next
   

End


Private Function Ad_Functionem() As String[][]
 
  Dim FruFec As New String[][]
  Dim Fru As New String[]
  Dim Fec As New String[]
 

   With Fru
     .Push("manzana")
     .Push("pera")
     .Push("higo")
   End With
   '
   With Fec
     .Push("arróz")
     .Push("fideos")
   End With
    FruFec = [Fru, Fec]

   Return FruFec

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.305
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Funzione che ritorna due variabili
« Risposta #2 il: 05 Febbraio 2016, 22:15:12 »
Scusa ma non dovrebbe essere così

Non lasciarti ingannare dal mio esempio fatto nel forum spagnolo: così come l'ho scritto, può andare bene la tua modifica, ma........  se la sub-Funzione prevedesse che le si debbano passare deile variabili vettoriali in tutto o in parte già istanziate ?   
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Funzione che ritorna due variabili
« Risposta #3 il: 05 Febbraio 2016, 22:48:09 »
D'accordo a passare le array se devi anche passare dei dati e farli completare, ma allora dovevi mettere il ciclo come ho fatto io altrimenti non leggi tutti i dati di ritorno.
Comunque io quello che so sulle matrici dinamiche lo devo a te avendolo letto sulla nostra wiky e un po anche a Tobias.
 :rolleyes: volevo mettere il link alla lezione sulle array di array ma non le trovo più, le devi cambiare o sono io che non trovo più l'acqua in mare?
A te l'onore dei link se li trovi, comunque qui un idea l'abbiamo data.  :D
Questo dovrebbe essere giusto:
Codice: [Seleziona]
Public Sub Form_Open()

  Dim frutas, fecula As New String[]
  Dim fr_fe As String[][]
  Dim i As Integer, s As String

    frutas.Add("Melone")
    fecula.Add("Spaghetti")
   
    fr_fe = Ad_Functionem(frutas, fecula)
   
    For i = 0 To fr_fe[0].Max
      s = fr_fe[0][i]
      Print s
    Next
    Print "==============="
    For i = 0 To fr_fe[1].Max
      Print fr_fe[1][i]
      'Print s
    Next   

End


Private Function Ad_Functionem(Fru As String[], Fec As String[]) As String[][]
 
  Dim FruFec As New String[][]
  ' Dim Fru As New String[]
  ' Dim Fec As New String[]
 

   With Fru
     .Push("manzana")
     .Push("pera")
     .Push("higo")
   End With
   '
   With Fec
     .Push("arróz")
     .Push("fideos")
   End With
   FruFec = [Fru, Fec]
   Return FruFec

End

Sbaglio o la formattazione del codice è andata a pallino?
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.305
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Funzione che ritorna due variabili
« Risposta #4 il: 05 Febbraio 2016, 23:39:01 »
dovevi mettere il ciclo come ho fatto io altrimenti non leggi tutti i dati di ritorno.


    ???
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Funzione che ritorna due variabili
« Risposta #5 il: 06 Febbraio 2016, 13:07:41 »
Intendevo questo:
Codice: [Seleziona]
Public Sub Form_Open()

  Dim frutas, fecula As New String[]
  Dim fr_fe As String[][]
 
    frutas.Add("Mela")
    fecula.Add("Spaghetti")

    fr_fe = Ad_Functionem(frutas, fecula)
   
    Print fr_fe[0][0]
    Print fr_fe[0][1]
    Print fr_fe[0][2]
    Print
    Print fr_fe[1][0]
    Print fr_fe[1][1]

End


Private Function Ad_Functionem(mxFrutas As String[], mxFecula As String[]) As String[][]
 
  Dim FruFec As New String[][]

   With mxFrutas
     .Push("manzana")
     .Push("pera")
     .Push("higo")
   End With

   With mxFecula
     .Push("arróz")
     .Push("fideos")
   End With
   
    FruFec = [mxFrutas, mxFecula]

   Return FruFec

End

Devi mettere un ciclo altrimenti dovresti sapere a priori quante voci devi leggere.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.305
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Funzione che ritorna due variabili
« Risposta #6 il: 06 Febbraio 2016, 14:59:21 »
Devi mettere un ciclo altrimenti dovresti sapere a priori quante voci devi leggere.


...ma non necessariamente se si descrive un codice esemplificativo-didattico.   






« Ultima modifica: 06 Febbraio 2016, 15:08:14 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Funzione che ritorna due variabili
« Risposta #7 il: 06 Febbraio 2016, 18:27:18 »
Devi mettere un ciclo altrimenti dovresti sapere a priori quante voci devi leggere.


...ma non necessariamente se si descrive un codice esemplificativo-didattico.   

 :D  :ok:

Però non mi hai detto dove sono finite le lezioni   :P
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro