Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 21 Luglio 2014, 19:48:16

Titolo: Funzione che ritorni un ELEMENTO di columnview
Inserito da: allegfede - 21 Luglio 2014, 19:48:16
come da titolo mi sarebbe piaciuto fare una funzione che ritornasse (da una stringa passata come input) un elemento della columnview da aggiungere nel codice principale.

Codice: [Seleziona]
public sub qualcosa()
     ..............

    For i = 0 To risp.Count - 1
    If risp[i] Like "U[0-9]*" Then
      indice = ExtractClipIndex(risp[i])
      In_point = ExtractClipInPoint(risp[i])
      Out_Point = ExtractClipOutPoint(risp[i])
      Clip_Lenght = ExtractClipLenght(risp[i])
      Clip_Name = ExtractClipName(risp[i])
     
      ColumnView_Clips.Add(indice, In_point)
      ColumnView_Clips[indice][1] = Out_Point
      ColumnView_Clips[indice][2] = Clip_Lenght
      ColumnView_Clips[indice][3] = Clip_Name
    Endif
  Next

End

per evitare di fare 4 volte gli stessi confronti avrei preferito fare una cosa del genere:

Codice: [Seleziona]
public sub qualcosa()
dim Risposta as columnview.item
     ..............

    For i = 0 To risp.Count - 1
    If risp[i] Like "U[0-9]*" Then
      Risposta=ExtractClipInfo(risp[i])
      ColumnView_Clips.Add(Risposta)
    Endif
  Next

End

Public Function ExtractClipInfo(StringaDiRisposta As String) As ColumnView
   
   ......
   
End
Titolo: Re: Funzione che ritorni un ELEMENTO di columnview
Inserito da: vuott - 22 Luglio 2014, 09:02:46
Codice: [Seleziona]
dim Risposta as columnview.item
     ..............
End

Public Function ExtractClipInfo(StringaDiRisposta As String) As ColumnView
   ......
End
Noto innanzitutto che la funzione ritorna una ColumnView, ma la variabile Risposta sarebbe soltanto una proprietà di quell'oggetto.
Ad ogni modo a me non è molto chiaro quel che cerchi.
Titolo: Re: Funzione che ritorni un ELEMENTO di columnview
Inserito da: sotema - 22 Luglio 2014, 09:18:22
Se interpreto correttamente il pensiero (ermetico) di allegfede, vuole estrarre da una columnview una riga da inserire in una seconda columnview.
in questo caso la risposta dovrebbe consistere una chiave della columnview di origine, dalla quale determinare la riga da esportare.
Prova a vedere l'esempio allegato, da adattare alle tue esigenze.
Titolo: Re: Funzione che ritorni un ELEMENTO di columnview
Inserito da: allegfede - 22 Luglio 2014, 14:15:16
scusate il bisticcio .....

vorrei processare una stringa ed infilarla nei vari pezzi di un oggetto columnview.item (una riga multicolonna), da ritornare alla procedura principale che la inserisce (nuova riga) nella collezione della columnview :D

... il problema e' che gambas non ha l'oggetto columnview.item :D


.... sto' pensando di ritornare un vettore di stringhe :D
Titolo: Re: Funzione che ritorni un ELEMENTO di columnview
Inserito da: sotema - 22 Luglio 2014, 14:20:41

... il problema e' che gambas non ha l'oggetto columnview.item :D

http://gambaswiki.org/wiki/comp/gb.qt4/_treeview_item (http://gambaswiki.org/wiki/comp/gb.qt4/_treeview_item)
Titolo: Re: Funzione che ritorni un ELEMENTO di columnview
Inserito da: allegfede - 24 Luglio 2014, 17:22:34
interessante ...... solo QT?

pero' ho risolto con un vettore .... passo una stringa alla funzione.
questa elabora la stringa, la spitta e ritorna un vettore

nella procedura chiamante assegno alla nuova riga della columnview il contenuto del vettore ritornato :D