Autore Topic: [RISOLTO] Creazione array di controlli form e modifica delle proprietà  (Letto 2594 volte)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: [RISOLTO] Creazione array di controlli form e modifica delle proprietà
« Risposta #15 il: 08 Settembre 2012, 19:06:14 »
prova questo esempio
Matteo DoubleMM Mion

Offline francy

  • Gamberetto
  • *
  • Post: 10
    • Mostra profilo
Re: [RISOLTO] Creazione array di controlli form e modifica delle proprietà
« Risposta #16 il: 08 Settembre 2012, 22:55:49 »
Ho provato l'esempio ed è proprio ciò che volevo fare sin dall'inizio. Appena finirò con la cena e gli invitati adatterò l'esempio alle mie esigenze e posterò il codice. In ogni caso credo che questo forum abbia degli utenti interessanti da cui poter imparare.

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: [RISOLTO] Creazione array di controlli form e modifica delle proprietà
« Risposta #17 il: 08 Settembre 2012, 23:26:02 »
ho tratto anch'io profitto dai colti di questo forum quando di gambas non ne sapevo ancora nulla, mi sembra doveroso ricambiare  ;)
Matteo DoubleMM Mion

Offline francy

  • Gamberetto
  • *
  • Post: 10
    • Mostra profilo
Re: [RISOLTO] Creazione array di controlli form e modifica delle proprietà
« Risposta #18 il: 09 Settembre 2012, 16:11:27 »
Buon pomeriggio a tutti, dopo i preziosi consigli di ieri sono arrivato, speriamo, alla conclusione del codice del quale avevo bisogno.
Spero questo esempio possa servire a tutti:

Dim Apidb As New Connection
Dim query As String
Dim risultato As Result
Dim i As Integer
Dim raccnomi, raccdescr, raccfoto As New String[]
Dim racclbl, racctxtarea, raccpic As New Object[]
Dim cnt As Control

Connections["Apidb"].open

If Apidb.Error Then
  Message("Impossibile trovare il db. Importare un db funzionante")
  Else
    query = "SELECT nome, sigla, descrizione, foto FROM nome_apiari"
    risultato = Connections["Apidb"].Exec(query)
   
    If risultato.Available Then
        For Each risultato
                    raccnomi.Add(risultato!nome & " " & "(" & risultato!sigla & ")")
                    raccdescr.Add(risultato!descrizione)
                    raccfoto.Add(risultato!foto)
        Next
       
        Connections["Apidb"].Close
       
  For i = 0 To raccnomi.Max
    For Each cnt In Me.Controls
      Select Case Object.Type(cnt)
          Case "Label"
                racclbl.Add(cnt)
                With racclbl
                      .enabled = True
                      .transparent = True
                      .foreground = &HFFFFBF&
                      .text = raccnomi(i)
                      .alignment = 3
                      .visible = True
                End With
          Case "TextArea"
                racctxtarea.Add(cnt)
                With racctxtarea
                      .enabled = True
                      .foreground = &HFFFFBF&
                      .text = raccdescr(i)
                      .alignment = 3
                      .visible = True
                      .wrap = True
                End With
        Case "PictureBox"
                raccpic.Add(cnt)
                With raccpic
                      .enabled = True
                      .Picture = Picture.Load(raccfoto(i))
                      .stretch = True
                      .visible = True
                End With
        End Select
    Next
  Next
  Inc i
  Else
        Message("Nessun Apiario è presente nel db")
    Endif
Endif

PS: vi ricordo che l'indice i deve andar messo tra parentesi quadre e non tonde.

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: [RISOLTO] Creazione array di controlli form e modifica delle proprietà
« Risposta #19 il: 09 Settembre 2012, 17:12:41 »
Codice: [Seleziona]
Dim Apidb As New Connection
Dim query As String
Dim risultato As Result
Dim i As Integer
Dim raccnomi, raccdescr, raccfoto As New String[]
Dim racclbl, racctxtarea, raccpic As New Object[]
Dim cnt As Control

Connections["Apidb"].open

If Apidb.Error Then
  Message("Impossibile trovare il db. Importare un db funzionante")
  Else
    query = "SELECT nome, sigla, descrizione, foto FROM nome_apiari"
    risultato = Connections["Apidb"].Exec(query)
   
    If risultato.Available Then
        For Each risultato
                    raccnomi.Add(risultato!nome & " " & "(" & risultato!sigla & ")")
                    raccdescr.Add(risultato!descrizione)
                    raccfoto.Add(risultato!foto)
        Next
       
        Connections["Apidb"].Close
       
  For i = 0 To raccnomi.Max
    For Each cnt In Me.Controls
      Select Case Object.Type(cnt)
          Case "Label"
                racclbl.Add(cnt)
                With racclbl
                      .enabled = True
                      .transparent = True
                      .foreground = &HFFFFBF&
                      .text = raccnomi[i]
                      .alignment = 3
                      .visible = True
                End With
          Case "TextArea"
                racctxtarea.Add(cnt)
                With racctxtarea
                      .enabled = True
                      .foreground = &HFFFFBF&
                      .text = raccdescr[i]
                      .alignment = 3
                      .visible = True
                      .wrap = True
                End With
        Case "PictureBox"
                raccpic.Add(cnt)
                With raccpic
                      .enabled = True
                      .Picture = Picture.Load(raccfoto[i])
                      .stretch = True
                      .visible = True
                End With
        End Select
    Next
  Next
  Inc i
  Else
        Message("Nessun Apiario è presente nel db")
    Endif
Endif

se usi il tasto sopra col simbolo cancelletto puoi mettere codice in maniera più ordinata con la  possibilità di mettere i tra parentesi quadre
Matteo DoubleMM Mion