Italian variabile dinamica

RobertoF

Member
Licensed User
buon giorno.
Vorrei ottimizzare una mia applicazione che utilizza molte varibili, con altri linguaggi ci sono riuscito ma con B4A no.
In pratica vorrei poter creare delle varibili dinamiche, faccio un esempio che riporto sotto, qualcuno ha un'idea su come posso fare?

se avessi:
c1=""
c2=""
c3=""
c4=""

vorrei sempificare la cosa scrivendo es.

k=c
cont=0

do while cont <> ...
cont=cont+1
c & cont =""
loop
 

valentino s

Active Member
Licensed User
Longtime User
Tipo ... array ... ?


Dim validchars(3) As String

validchars(0) ="+"
validchars(1) ="-"
validchars(2) ="*"
 

RobertoF

Member
Licensed User
non un array vorrei poter non scrivere le variabili per esteso., cioè es. c1, c2,c3
ma crearle dinamicamente fondendo es. 2 variabili cioè:
prima variabile es. "c"
seconda variabile numerica

poi esempio se voglio usare la variabile c1 richiamo prima variabile + secondavariabile numerica .... risultato come se avessi chiamato la variabile c1

è difficile da spiegare, in pratica ho delle variabili fisse C1,C2,C3 .... ma vorrei scomporle per scrivere meno ed utilizzare un ciclo while con un altro linguaggio esempio potevo fare:

&=segno di vaiabile

&w="c" <===char
&n=1 <===integer

&&w&n="pippo"
è come scrivere &c1 ed il valore di c1 era "pippo"
 

Star-Dust

Expert
Licensed User
Longtime User
B4X:
Dim C(3) As String
Dim N as int = 1
Dim Count as int

C(N)="Pippo"

Count=0

Do while cont <3 ...
   c(Count) =""
   Count=Count+1
Loop
 

Dey

Active Member
Licensed User
Longtime User
Grazie farò un array
Guarda il List

Dim Lst As List
Lst.Initialize
Lst.Add("QUELLO CHE VUOI")
Dim a As String=Lst.Get(0)
Lst.InsertAt(2,"PIPPO")
Lst.RemoveAt(2)
For Each a As String In Lst
Log(a)
Next
ecc.. ecc..
 

RobertoF

Member
Licensed User
alla fine quello che volevo fare era circa un array, solo che qui ho semplificato, usando un array il programma rimane un po meno leggibile.
ho capito che con b4x non si può fare quello che ho nella testa, userò un array che va bene ugualmente.
grazie del supporto ....
Roberto.
 

sirjo66

Well-Known Member
Licensed User
Longtime User
ad esempio prova questo:
B4X:
    Dim variabili As Map
   variabili.Initialize()
   
   ' popolo il Map
   For cont = 1 To 5
       variabili.Put("C" & cont, "testo n. " & cont)
   Next
   
   ' adesso vado ad estrarmi i valori delle variabili
   For x = 1 To 5
       Msgbox("variabile C" & x, variabili.Get("C" & x))
   Next
 

RobertoF

Member
Licensed User
sirjo66 e star-dust GRAZIE è proprio quello che cercavo, non sapevo di questo metodo ... interessante
GRAZIE ancora e buona giornata.
 
Top