Autore Topic: Creare una nuova tab come copia di una vecchia  (Letto 622 volte)

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Creare una nuova tab come copia di una vecchia
« il: 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

?????
se corri, morirai stanco (motto degli sniper)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #1 il: 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.?

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

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #2 il: 12 Marzo 2018, 00:09:50 »
Che cosa è "tab" ?   ???
« 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.244
  • Tonno verde
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #3 il: 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:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #4 il: 12 Marzo 2018, 01:40:56 »
Chissà magari ho indovinato  ;D

Eh... magari hai fatto centro !

« 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 vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #5 il: 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").
« Ultima modifica: 13 Marzo 2018, 03:50:53 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.244
  • Tonno verde
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #6 il: 13 Marzo 2018, 17:28:34 »
Potresti aver ragione oppure si riferiva alle tab delle 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?
« Ultima modifica: 13 Marzo 2018, 17:29:59 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #7 il: 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 !
« 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.244
  • Tonno verde
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #8 il: 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...
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #9 il: 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.

se corri, morirai stanco (motto degli sniper)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #10 il: 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
« Ultima modifica: 22 Marzo 2018, 04:07:50 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 vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #11 il: 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
« 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 Arco

  • Gambero
  • **
  • Post: 93
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #12 il: 22 Marzo 2018, 10:37:27 »
Una tiratina di orecchie perchè vi riferite a allegfede al maschile?
Potrebbe offendersi.
Sul profilo risulta:
Sesso: Femmina

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #13 il: 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:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Creare una nuova tab come copia di una vecchia
« Risposta #14 il: 22 Marzo 2018, 16:32:51 »
Donna barbuta sempre piaciuta:

https://www.youtube.com/watch?v=vVBBX3atKmk
« 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. »