- presentazione del sito
- Registrazione
- Eventi, mostre, convegni ed iniziative segnalate dalle aziende
- Recensioni ed articoli
- Le Mailing Lists
- La rivista Pc Ciechi
- Wiki
- Chi siamo
- Donazioni
- Un progetto degno di nota: Wintalbra
- Come navigare in questo sito
- rss
- Bancomat Accessibili sul territorio nazionale
- Contattaci
- I sostenitori di SpazioAusili
Corso visual basic script\Concatenamento delle stringhe
Guido Ruggeri su winguido tecnica, , 20\12\2009, h. 19.08.
Adesso cominciamo a parlare del concatenamento delle
stringhe.
Così sarà anche più chiara la risposta alla domanda di
Monica, che era: "come mai è il caso di utilizzare le
variabili?".
Concatenamento significa: da due, o più stringhe distinte,
ottenere una stringa unica.
Supponiamo di definire 2 stringhe:
Cognome = "Ruggeri"
Nome = "Guido"
Adesso vogliamo concatenarle, per ottenere l'intero
nominativo.
L'operatore per il concatenamento è &, cioè il simbolo
della e commerciale, quello che con la tastiera italiana si
ottiene con Maiuscolo 6.
Si può usare anche il segno +, simbolo dell'addizione, ma
questo va usato con una certa cautela, per motivi di cui
parleremo un'altra volta, per cui è preferibile usare la e
commerciale.
Allora, supponiamo di voler concatenare le due stringhe, per
ottenere la stringa Nominativo.
L'istruzione è:
Nominativo = Nome & " " & Cognome
Da notare che tra la stringa Nome e la stringa Cognome si
deve interporre uno spazio vuoto: e questo lo otteniamo con
la stringa virgolette, spazio, virgolette.
Adesso proviamo a svolgere questo esercizio in 3 righe.
Prima riga:
Cognome = "Ruggeri"
Seconda riga:
Nome = "Guido"
Terza riga:
msgbox "Io mi chiamo: " & Nome & " " & Cognome
Come al solito, salvare in un file con estensione .vbs ed
eseguire.
E' riuscito?
Ed ora, un po' di pubblicità
:***
Alessandro Pannocchispiega un programma sbagliato:
Cognome = "cuomo"
> Nome = "giampiero"
> msgbox "io mi chiamo" & " nome " & " cognome "
l'errore è nell'ultima riga, infatti tu hai messo le variabili nome e cognome fra virgolette e questo non va bene. una variabile è come una specie di serbatoio in cui si possono memorizzare dei caratteri, con i comandi che hai visto nelle prime due righe. tu, nella variabile nome hai memorizzato il tuo nome, cioè giampiero, e nella variabile cognome il tuo cognome, Cuomo.
Per cui, quando chiedi al programma, tramite la procedura msgbox, di scrivere queste due variabili, lui ne scriverà il contenuto, e cioè il tuo nome e cognome. Se invece metti, dopo msgbox, un testo tra virgolette, questa procedura lo scriverà a video tale e quale.
Ti faccio un esempio:
se scrivo
nome = "Alessandro"
msgbox nome
il programma scriverà a video alessandro.
Se invece scrivo:
nome = "Alessandro"
msgbox "nome"
il programma scriverà a video la parola nome, tale e quale è scritta fra virgolette. Per cui il programma esatto sarà:
nome = "Giampiero"
cognome = "cuomo"
msgbox "io mi chiamo " & nome & " " & cognome
Come puoi vedere, fra le variabili nome e cognome ci sono due volte le virgolette, separate da uno spazio, perchè così il programma metterà uno spazio fra il tuo nome e il tuo cognome, quando li scriverà a video.
Forse sono state proprio queste virgolette a trarti in inganno e allora si potrebbe fare in questo modo, per rendere la cosa più chiara:
spazio = " "
nome = "giampiero"
cognome = "Cuomo"
msgbox "Io mi chiamo " & nome & spazio & cognome. In pratica, cosa ho fatto?
Ho memorizzato in una variabile che ho chiamata spazio, uno spazio, mettendolo fra virgolette, poi ho memorizzato con la stessa procedura il tuo nome e il tuo cognome nelle due variabili corrispondenti e alla fine ho concatenato queste variabili nella riga con cui chiamo la procedura msgbox. In questo modo il programma scriverà
io mi chiamo giampiero Cuomo
Nota infine che lo spazio necessario fra la parola chiamo e il tuo nome l'ho messo direttamente nella frase tra virgolette, infatti lo troverai dopo chiamo e prima delle virgolette.
***
d.
(omissis)
A proposito di ausili, cosa si trova su internet di già bell'e fatto?E' bene cercare questi files\cercarli a corso inoltrato\ non cercarli affatto per imparare a "rompersi la testa" da soli?
Per motivare i corsisti ad andare fino in fondo vogliamo fare qualche esempio delle potenzialità che si offrono a chi persevera fino alla fine?
r.
Donato Taddei.
in internet si trova di tutto e di più.
si può ad esempio implementare un server in vbs.
Curiosando un po in rete ho scaricato per esempio un programmetto che non ho ancora visto in vbs che ti fornisce una serie di informazioni di sistema: e ce n'è per ogni cosa.
Però senza imparare l'abc del linguaggio potrai al più servirtene ma non saprai modificarlo, scopiazarlo, adattarlo ecc.
Potrei farti i nomi di gente che si è fatto siti anche grossi, senza essere blasonato programmatore, semplicemente scopiazzando e adattando script trovati in rete.
è possibile per esempio scrivere documenti word, excel, o access, gestire database, senza usare office.
Quando sarà il momento mi piacerebbe cimentarmi in qualche semplice applicazione che a partire dai programmi in esecuzione, mi dicesse per ognuno quali dll usa, quali altre risorse, quali controlli utilizza.
Per fortuna dal 2000 le cose sono cambiate e bene o male anche nvda permette di arrangiare.
Tuttavia ogni qualvolta si avesse necessità di addomesticare, scriptare screen-reader, non si potrà farlo senza aver acquisito una serie di conoscenze su come funziona il sistema, su come fa o non fa quello o quell'altro progamma a fare una determinata cosa e se e come è in qualche caso possibile fargli fare come piace a noi.
Indipendentemente dai linguaggi la logica della programmazione implica un numero molto piccolo di concetti che però è necessario metabolizzare a fondo.
E sono queste cose che sembrano banali come il loop o l'uso di var iabili e funzioni, sono in realtà quei i mattoni di base con cui è costruita tutta l'architettura del sistema, di tutti i sistemi.
Bisogna dare un po di tempo a tutti per seguire ma non preoccuparti: tra poche altre lezioni si sarà sempre e sempre di più nel vivo della questione.
Per ora, come è giusto, si stanno presentando gli ingredienti di cui è formato il polpettone.
abbiamo visto come un programma nasce coe un file di testo, che si pone subito una differenza:
da un lato abbiamo i dati che vogliamo elaborare e abbiamo visto come immetterli nel programma attraverso le variabili, e come esse possano essere concatenate;
abbiamo anche cominciato a capire che l'interprete comprende
un certo numero di parole e vi associa delle azioni:
Qui abbiamo nomi di entità, le variabili, che possono avere delle caratteristiche,
(essere belle o brutte, vero o falso o uno specifico valore come quelli che mettiamo tra virgolette)
e abbiamo azioni che possono essere singole o in gruppi
MsgBox, InputBox e loro parenti fanno il mestiere di aprire una determinata finestra con dei pulsanti ecc.
ma tali singole azioni possono e in realtà devono essere composte in sequenze ordinate e finalizzate al compim ento di atti più complessi dell'apertura di una semplice finestra, e abbiamo cominciato a vedere che ne esistono di due tipi:
le procedure, che si limitano ad eseguire un determinato compito e
le funzioni che restituiscono a chi le ha chiamate l'esito delle operazioni svolte.
Infine sono state introdotte già due delle strutture logiche fondamentali:
il comando goto per poter saltare a un determinato punto della sequenza di istruzioni che costituisce un programma, saltando, ovvero ignorando, le istruzioni che lo precedono, che abbiamo detto non si deve usare, e abbiamo conosciuto cosa è un ciclo, o loop o iterazione.
Abbiamo però capito anche un'altra cosa che bisogna trovare il modo di fare eseguire certe azioni in presenza di determinate condizioni.
Quando avremo metabolizzato le varie forme con cui noi possiamo dirigere il flusso del programma, condizionarne l'esecuzione a seconda delle nostre necessità, sarà cosa diversa dal constatare l'effetto di quanto Guido ci dice di scrivere.
Per far questo però dovremo giocoforza stamparci nella zucca le apparenti banalità che abbiamo cominciato a vedere finora e che ci sarà modo di approfondire, per cui non si scoraggi nessuno.