Autore Topic: [Risolto]Too many constants  (Letto 1889 volte)

Offline clabe69

  • Gambero
  • **
  • Post: 50
    • Mostra profilo
Re: [Risolto]Too many constants
« Risposta #15 il: 02 Luglio 2012, 14:48:33 »
ERRORE ERRORE!!

il codice che ho scritto per la modifica in corsa non và.

Codice: gambas [Seleziona]

' Scorriamo tutte e 6 le tabelle 
 FOR EACH objA IN FMain.TabStrip1.Children 
' Prendiamo in considerazione tutti i Button   
' presenti nell PanelX:   
   
   FOR EACH objB IN objA.Children   
' Quando il codice passa a considerare il Button (Children) num. X, allora...   
     IF objB.name = FMain.inBtn THEN   


La riga 2 non considera le 6 tabelle, ma i 50 pulsanti contenuti nella tabella attiva in quel momento.
per modificare tutti i 300 pulsanti, divisi in 6 tabelle, ho dovuto ripetere il codice seguente 6 volte.

Codice: gambas [Seleziona]

    FOR EACH objB IN FMain.ScrollView1.Children
' Quando il codice passa a considerare il Button (Children) num. X, allora... 
      INC x
'...gli cambiamo qualche connotato...:
        sql = "SELECT * FROM tconfbtn WHERE id = " & x
        MyRes = modConn.$Conn.Exec(sql)
        IF MyRes.Available THEN
       
          IF FMain.RadioButton1.Value THEN
            TRY fList = MyRes!list1
          ELSE IF FMain.RadioButton2.Value THEN
            TRY fList = MyRes!list2
          ELSE IF FMain.RadioButton3.Value THEN
            TRY fList = MyRes!list3
          ELSE IF FMain.RadioButton4.Value THEN
            TRY fList = MyRes!list4
          ENDIF
   
          IF MyRes!text2 = NULL THEN
            objB.Text = MyRes!text & gb.NewLine & " € " & modZero.PiuZero(fList)
          ELSE
            objB.Text = MyRes!text & gb.NewLine & MyRes!text2 & gb.NewLine & " € " & modZero.PiuZero(fList)
          ENDIF
     
          WITH objB
            .Background = MyRes!bkgnd
            .Foreground = MyRes!fognd
            .Font.Name = MyRes!fntno
            .Font.Bold = MyRes!fntbo
            .Font.Italic = MyRes!fntit
            .Font.Size = MyRes!fntsi
            .Font.StrikeOut = MyRes!fntso
            .Font.Underline = MyRes!fntul
          END WITH
        ELSE
          objB.Text = NULL
        ENDIF
    NEXT 


uno per ogn'una delle 6 ScrollView (riga 1) che contengono i 50 pulsanti.

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: [Risolto]Too many constants
« Risposta #16 il: 02 Luglio 2012, 20:38:27 »
Ma perchè i connotati con li cambi direttamente durante la creazione? perchè cambiarli a creazione avvenuta?

a parte questo non si capisce dove sia l' errore, spiegati meglio!

se utilizzi un db sqlite potresti allegare l' intero progetto così ci si capisce meglio

Offline clabe69

  • Gambero
  • **
  • Post: 50
    • Mostra profilo
Re: [Risolto]Too many constants
« Risposta #17 il: 10 Luglio 2012, 12:56:35 »
Citazione
Ma perchè i connotati con li cambi direttamente durante la creazione? perchè cambiarli a creazione avvenuta?

Quando creo i pulsanti, gli dò i connotati che sono salvati in un DB. Ma questi connotati possono essere anche cambiati anche dopo che i pulsanti sono stati creati.

Ti spiego: ho una tabstrip con 6 cartelle, su ogni cartelle c'è una scrollview, su ogni scrollwiew ci vanno creati 50 pulsanti, per un totele di 300 pulsanti.

L'errore sta nel fatto che i children di TabStrip1 non risultano le scrollview, ma i 50 pulsanti che si trovano sulla tab attiva in quel momento.
Per cui con quel codice non riesco a fare la scansione di tutti e 300 i pulsanti, una tab alla volta, ma solo dei 50 sulla tab attiva.

Se vuoi vedere il programma vai sul sito http://www.cbelettronica.altervista.org/progetti.html
Lì ci sono le foto delle schermate, così puoi farti un'idea.

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: [Risolto]Too many constants
« Risposta #18 il: 10 Luglio 2012, 22:00:16 »
Prova a vedere se l'esempio in allegato ti puo' essere d'aiuto.. ;)