Gambas-it

Gambas3 => Programmazione => Topic aperto da: allegfede - 09 Marzo 2018, 19:09:16

Titolo: Creare una nuova tab come copia di una vecchia
Inserito da: allegfede - 09 Marzo 2018, 19:09:16
parafrasando il thread precedente (http://www.gambas-it.org/smf/index.php?topic=6146.0), io invece vi chiedo:
"c'e' un metodo efficiente ed elegante per clonare una tab da un "modello" prerealizzato nell'ide?"

tipo:
tab.count=tab.count+1
For each object in tab(0)
 object.load(tab(tab.count+1))
next

?????
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: Gianluigi - 09 Marzo 2018, 22:44:03
Intendi qualcosa di non specifico di un particolare database?
Qualcosa come un modulo con delle funzioni basate su comandi SQL del tipo CREATE TABLE, INSERT INTO ecc.?

 :-\
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: vuott - 12 Marzo 2018, 00:09:50
Che cosa è "tab" ?   ???
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: Gianluigi - 12 Marzo 2018, 00:17:36
Lo sai che allegfede è estroso  :D
Io l'ho inteso come il desiderio di clonare una tabella di database.

Chissà magari ho indovinato  ;D

 :ciao: :ciao:
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: vuott - 12 Marzo 2018, 01:40:56
Chissà magari ho indovinato  ;D

Eh... magari hai fatto centro !

(https://www.torten-druckerei.de/images/product_images/original_images/dartscheibe.jpg)
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: vuott - 13 Marzo 2018, 03:14:52
Suppongo lui si riferisca all'Oggetto " TabStrip ".

Ad ogni modo tieni conto che creare una copia dell'Oggetto TabStrip, significa ottenere un nuovo Oggetto "individuale": identico nelle caratteristiche rispetto all'originale, ma che non condivide con questo il medesimo indirizzo di memoria.
Pertanto, e con riferimento a ciò, va precisato che nel mio codice:
http://www.gambas-it.org/smf/index.php?topic=6146.msg43307#msg43307
non viene generato un nuovo Oggetto di tipo "Button", bensì viene assegnato alla variabile di tipo Button l'indirizzo di memoria di quell'Oggetto di tipo Button.

Insomma, per ottenere ciò che chiedi in questa discussione, ossia una "copia" di un Oggetto (identica nelle caratteristiche, ma distinta e totalmente indipendente dall'Oggetto preesistente), la Classe di tale Oggetto dovrebbe avere il medesimo Metodo ".Copy( )" di cui dispone la Classe degli Array (in vero, questo Metodo degli Array non fa altro che creare un array e passarlo per "Valore").
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: Gianluigi - 13 Marzo 2018, 17:28:34
Potresti aver ragione oppure si riferiva alle tab delle workspace (http://gambaswiki.org/wiki/comp/gb.form.mdi/workspace?ht=workspace).  :-\
Ho sentito dire che a chi indovina cosa intendesse allegfede per "tab", dallo stesso arriverà in regalo una confezione da sei di vini rossi pregiati umbri docg tre di Sagrantino e tre di Torgiano.  ;D

Risulta anche a te?
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: vuott - 13 Marzo 2018, 19:00:17
Risulta anche a te?

Sì; e sapevo anche con l'aggiunta di 5 chili de sargicce ternane fatte co' la carne de lu porcu. Oh, dico... mica de ciuétta !
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: Gianluigi - 13 Marzo 2018, 20:14:36
Sì; e sapevo anche con l'aggiunta di 5 chili de sargicce ternane fatte co' la carne de lu porcu. Oh, dico... mica de ciuétta !

 :rotfl:

Ma chi è che fa salsicce con la carne di civetta, e poi quante civette ci vogliono per fare una salsiccia  ???

Povere simpatiche civette...
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: allegfede - 21 Marzo 2018, 18:20:35
come solito faccio la domanda e poi latito per mesi, generando piu' ipotesi che la discendenza di Gesu' :D

allora, in base ai dati che leggo da un DB (mysql) devo popolare dei campi in una TAB di una tab-strip.

La mia idea era di DISEGNARE nell' IDE una tab standard "radio 0" e poi in base a quanti record ho nel DB, scrivere negli oggetti che hanno parent "radio 0" i dati opportuni del primo RECORD, poi clonare la struttura della stessa (e mettere i dati opportuni) per le altre.

Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: vuott - 21 Marzo 2018, 18:24:42
scrivere negli oggetti che hanno parent "radio 0"
Non ho capito quali sarebbero questi "oggetti che hanno parent radio 0".  :-\

...forse gli Oggetti posti sulla prima scheda (Tab) della TabStrip ?

Successivamente vuoi creare all'interno della TabStrip più schede (Tab) identiche - nelle caratteristiche - alla prima (indice 0) Tab ?

Cioè, tu vuoi clonare la prima scheda/Tab della TabStrip, facendone altre identiche, ossia con oggetti loro "figli" identici a quelli contenuti dalla prima scheda/Tab?

Scusa, non può essere d'aiuto questa pagina ?
http://www.gambas-it.org/wiki/index.php?title=Aggiungere_successivamente_linguette_via_codice
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: vuott - 22 Marzo 2018, 05:08:29
...insomma tu chiedi una cosa come questa ?

(Sul Form poniamo un "TextBox" e un "ValueBox")

Codice: [Seleziona]
Private ob As Object


Public Sub Form_Open()

  TabStrip1.Current.Caption = 1
  Object.Attach(TextBox1, Me, "Figlio")
  Object.Attach(ValueBox1, Me, "Figlio")

End


Public Sub Button1_Click()

  Dim b As Byte
  Dim oo As New Object[]
 
' Memorizziamo il numero di "Figli" presenti nella prima scheda della "TabStrip":'
  For b = 0 To TabStrip1.Children.Count - 1
    oo.Push(TabStrip1.Children[b])
  Next

  With TabStrip1
' Aggiungiamo una linguetta:'
    .Count = TabStrip1.Count + 1
' Ci poniamo sulla linguetta appena aggiunta...:'
    .Index = .Count - 1
' ...e la intestiamo:'
    .Text = CStr(.Count)
  End With

' Creiamo gli esatti Oggetti presenti nella prima scheda della "Tabstrip",
' e li poniamo alle medesime coordinate sulla nuova scheda:
  For b = 0 To oo.Max
    With ob = Object.New(Object.Type(oo[b]), [TabStrip1])
      .X = oo[b].X
      .Y = oo[b].Y
      .W = oo[b].W
      .H = oo[b].H
      .Name = Object.Type(oo[b]) & TabStrip1.Current.Caption
    End With
' Attribuiamo al nuovo Oggetto un Gruppo per gli Eventi:'
    Object.Attach(ob, Me, "Figlio")
  Next

End


Public Sub Figlio_Enter()   ' Proviamo un Evento qualsiasi...'
 
  Print Last.Name
 
End
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: Arco - 22 Marzo 2018, 10:37:27
Una tiratina di orecchie perchè vi riferite a allegfede al maschile?
Potrebbe offendersi.
Sul profilo risulta:
Sesso: Femmina
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: Gianluigi - 22 Marzo 2018, 13:08:57
Una tiratina di orecchie perchè vi riferite a allegfede al maschile?
Potrebbe offendersi.
Sul profilo risulta:
Sesso: Femmina

Si, hai ragione.
Chiediamo scusa a Federica, ma vedi la colpa è sua che ci crea confusione vestendosi da uomo, malgrado noi (vuott e io) gli abbiamo già detto che con la minigonna è un schianto!  ;D

 :rotfl:
Titolo: Re:Creare una nuova tab come copia di una vecchia
Inserito da: vuott - 22 Marzo 2018, 16:32:51
Donna barbuta sempre piaciuta:

https://www.youtube.com/watch?v=vVBBX3atKmk