Italian 3 Quesiti: script nel design, quale utilizzare e come migliorare.

MroBurk

Member
Licensed User
Salve a tutti, sono nuovo in B4A, e vorrei porre alla vostra attenzione 3 quesiti:

1 - Vorrei sapere se lo script nel design (VEDI CODICE ALLEGATO) è fondamentale per poter creare app compatibili con diversi dispositivi a causa delle loro diverse risoluzioni, oppure è possibile utilizzare anche solo ancoraggi del design ed ottenere lo stesso risultato.

2 - Se necessario lo script è meglio utilizzare le percentuali come in esempio o inserire i "dip"?

3 - Come posso migliorare e studiare le potenzialità di questa applicazione? magari studiando Visual Basic? o altri linguaggi?

se ho "bestemmiato" scusatemi ma è la prima volta che mi approccio ad un linguaggio di programmazione.

Qualunque suggerimento sarà gradito.
ringrazio anticipatamente!


Attach files
script:
label1.top=10%y
label1.left=1%x
Label1.Width=10%x
Label1.Height=10%y
 

udg

Expert
Licensed User
Longtime User
Già che tu non sia partito pensando di creare una tonnellata di varianti per i vari formati, ti pone tra i "saggi" :)

La prima linea è costituita dagli ancoraggi. Sono molto utili sia per adattare gli elementi alle dimensioni dello schermo (es. BOTH su quelli orizzontali causa un allungamento/accorciamento in automatico) sia per posizionarli in relazione tra loro (es. sulla stessa riga hai due elementi. Il secondo lo ancori a destra ed il primo con BOTH lo lasci "elastico")
Fatto quello che puoi con gli ancoraggi, passi alla sezione script. Questa ti fornisce un controllo molto fine ma, se hai molti componenti sulla pagina, è anche una gran scocciatura.
Ad esempio può essere utile per spaziare in modo uniforme degli elementi sulla stessa riga. Lo fai calcolando lo spazio totale, sottraendo la dimensione degli elementi e ricavando così il totale di spazio vuoto sulla riga. A quel punto dividi in modo opportuno (magari considerando anche un vuoto iniziale e finale) e ricavi il "gap" da usare tra i vari elementi. A quel punto ogni proprietà Left dipenderà dalla posizione del precedente e dal gap ed avrai l'allineamento desiderato, valido per ogni risoluzione.
Ricorda che lo script viene eseguito una sola volta, al caricamento del layout. Se hai esigenze diverse, bisogna fare tutto da codice (o caricare nuovamente il layout)

Dip/%: direi dipenda dal problema da risolvere. Con il % sei più vicino al funzionamento di un fotocopiatore (ingrandimento/riduzione), ma spesso i dip funzionano più che bene.
Il punto 3, apprendimento, è il più semplice e difficoltoso allo stesso tempo. B4X è un linguaggio (e non solo l'acronimo comune dei vari tool). Ti tocca spulciare i vari thread, guardare il codice scritto da altri e porre qualche domanda sul forum. C'è anche una sezione Learning dovre trovi video e guide (entrambi strumenti molto validi).
Quello che posso dirti è che imparerari in pochissimo tempo. Io venivo dal Pascal nelle sue varie declinazioni e, una volta compreso che non dovevo cercare di piegare B4X alle mie abitudini ed aspettative ma accettarlo ed apprezzarlo per ciò che era, tutto è diventato semplice ed immediato (inteso come schema generale...i problemi ci sono sempre, ma bene così, altrimenti che sfizio ci sarebbe?)
 

MroBurk

Member
Licensed User
Grazie mille per il tempo dedicato!! Riguardo l'ultimo quesito: utilizzo molto il forum, ma ricevere la risposta senza capirne il significato e riscriverla asetticamente nel codice mi secca, perché se in un futuro mi servisse la Medesima funzione ma con oggetti diversi, potrebbe non funzionare... per questo ho chiesto se ci fosse un corso o un linguaggio da poter seguire. Su YouTube ed udemy ho già studiato tutto, ma per me non é sufficiente...
 

Sagenut

Expert
Licensed User
Longtime User
Per imparare alcune cose puoi anche guardare nella Sezione LEARN che trovi in alto quì nel forum.
I Video Tutorial sono molto chiari per i concetti che espongono.
Inoltre sempre in quella sezione troverai quelli che sono i Booklets di Klaus (che puoi scaricare QUI' se li vuoi anche offline) che spiegano davvero tante cose con anche esempi di codice.
Quando ti viene proposto del codice è buona norma cercare di spulciarlo per capire come sono state fatte alcune cose.
Quando vedi comandi nuovi ti può venire in aiuto l'IDE.
Prova a riscrivere tu stesso i comandi che vedi e l'IDE ti offrirà una spiegazione di quel comando con anche un piccolo esempio di utilizzo.
Molti comandi sono di natura BASIC, ma attento a non finire per fare confusione con l'eventuale sintassi dedicata di altri linguaggi.

In ultima battuta ti consiglio di fare una piccola donazione per lo sviluppo B4X.
In alto cliccando su Products e poi B4A (esempio) troverai il link per poter fare una donazione.
Questo ti renderà un Utente Licensed, con il vantaggio di avere i tuoi messaggi pubblicati subito anzichè sottoposti a moderazione e accettazione che ne ritardano di molto la pubblicazione.
Potrai così ricevere risposte alle tue domande e controdomande velocemente e non in giorni, specie se devi fare una discussione lunga.
Buono Studio! :)
 

Elric

Well-Known Member
Licensed User
Grazie mille per il tempo dedicato!! Riguardo l'ultimo quesito: utilizzo molto il forum, ma ricevere la risposta senza capirne il significato e riscriverla asetticamente nel codice mi secca, perché se in un futuro mi servisse la Medesima funzione ma con oggetti diversi, potrebbe non funzionare... per questo ho chiesto se ci fosse un corso o un linguaggio da poter seguire. Su YouTube ed udemy ho già studiato tutto, ma per me non é sufficiente...
Fai le domande, è per questo che c'è il forum!
:)

Come tutti i linguaggi si impara pian piano e con la pratica!
 

JGiunta

Member
Faccio un piccolo intervento su quello che ha detto il buon udg
Dip/%: direi dipenda dal problema da risolvere. Con il % sei più vicino al funzionamento di un fotocopiatore (ingrandimento/riduzione), ma spesso i dip funzionano più che bene.

Dalla mia (tutto sommato poca) esperienza in B4A, se l'utente utilizza lo zoom del display (Diverso dall'aumento del font, sia chiaro), utilizzando i dip va tutto a "meretrici" in caciara, mentre se usi le percentuali, dovrai solo adattare la grandezza del testo programmaticamente.
 
Top