Novità

Costruzione Guida Script

Rosanna

Super Member >PLATINUM<
ora prima domanda di teoria un premio a chi risponde , in un semplice script come si chiama la procedura chiamante ?
;-)

la tua domanda “ mi “suona” alla pari di : "in una semplice festa tra amici, come si chiama Luigi?"
(…tu non hai necessità di chiamarti; che ti chiami Luigi già è noto; come si faccia a chiamarti.. è scontato… ).

Consapevolissima che sono maggiori le cose che non so di quelle che conosco, e di quelle poche note certamente ho una conoscenza superficiale o parziale, nonché del fatto che non ho per ovvi motivi la tua appropriatezza di linguaggio, non riesco a capire se la tua è una domanda tranello (come alcuni tipici paradossi) o se invece (visto che l’hai contestualizzata … in un semplice script… ) è mirata a focalizzare l’attenzione su un particolare che abbiamo sotto il naso e che ci sfugge…
Non lo so… :confused:
SE ti riferisci alla procedura chiamante “Call” discussa nei precedenti post, vale quanto espresso nella analogia “Luigi”, se invece intendi altro (banalmente “procedura chiamante” potrebbe essere qualcosa che io non conosco o avere un significato più esteso di quello che credo) non so proprio cosa dire…
A costo di vincere il mongolino d’or dublé :))) chiedo lumi su questa tua… perché la curiosità è troppa…

‘--------
Circa le VARIABILI

‘1) Volevo chiederti cosa ne pensi delle variabili “riutilizzate” più volte dentro uno script in blocchi ovviamente chiusi… Il motivo del riutilizzo nel mio caso era solo quello di evitare una lunga sfilza di variabili per gestire blocchi semplici, chiusi e compatti… (esempio sequenze di piccoli cicli for… next – cicli chiusi ) in un listato piuttosto lungo.
E’ cosa da evitare? E’ una brutta abitudine? Cosa consigli?

2) puoi aggiungere qualche nota sul nome di variabili, vettori, matrici?
Ho letto in qualche post di Joe che tu consigli di iniziare con una lettera che identifica il tipo di variabili, vettori….
Esempio
aNumeri dove a sta per array
ho visto nella terza lezione che hai usato
sParteVera,sParteFalsa,sTestoDaScrivere dove s credo stia per stringa… (?) e il resto del nome non è scelto a caso, ma “ricorda” a colpo d’occhio il contenuto della variabile.
Una metodologia che io non ho mai usato ma che sicuramente facilita la rilettura del codice anche e soprattutto a distanza di tempo.

3) la butto lì… penso che alcune immagini gioverebbero i nuovi utenti. Riprendendo gli esempi da te usati, un contenitore… per la variabile, una fila di cassetti.. per l’array, una cassettiera… per la matrice bidimensionale.
A volte una immagine aiuta a focalizzare-visualizzare un concetto più di tante parole…ed incentiva la lettura del manuale. Non so se siete d’accordo.

Luigi, grazie di cuore perchè le guide che stai scrivendo sono di una chiarezza ed utilità straordinarie. :p
 

Joe91

Advanced Member >PLATINUM PLUS<
SCRIVI

SCRIVI

pagina_in_costruzione.jpg


Scrivi è l'istruzione principale per inviare il testo o il risultato alla finestra di output.

Call Scrivi (...) è la sintassi nella parte principale a cui possono seguire

alcuni parametri opzionali.

Il primo è relativo alla scrlta del formato.

Quando e omesso l'output sarà normale o piano senza evidenza.

Quando posto a True oppure 1 il testo sarà in grassetto o bold.

Normalmente ogni istruzione Scrivi indirizza l'output ad una nuova linea.

Volendo mantenere.nella.medesima linea ulteriori dati è possibile

Optate per questa.scelta attraverso il.secondo parametro di scrivi.

In questo caso s'è sctitto il default è 'acapo' ovvero True.

Per comtro con l'opzione 'False' si msntiene il successivo output nella

medesima linea.

Per ragioni di compatibilità con altrii programmi attraverso

il set comportamento Acapo ridefinire il funzionamento di tali patametri.
 
Ultima modifica:

surmang

Super Member >PLATINUM<
ora prima domanda di teoria un premio a chi risponde , in un semplice script come si chiama la procedura chiamante ?
;-)

Abbiate pietà nel caso l'avessi fatta fuori dal vasino!
Ma la procedura chiamante in oggetto é per caso:

Sub [nome]()
'istruzioni
End Sub

Ciao e grazie per la pazienza:)
 

Joe91

Advanced Member >PLATINUM PLUS<
Ripropongo l'esempio che avevo fatto a gentile richiesta:

Call (Eventualmente omesso) Nome_Sub ()

ponderando le eventuali ripercussioni sui possibili parametri allegati

e dunque la necessità di inserirli tra le parentesi, o meno.

Come era fatto nell'esempio originale, qui riveduto e corretto.


Codice:
Sub Main

 Call Pippo (";")
Scrivi
 Topolina "!!!"
Scrivi
 Call Pluto (".")

End Sub

Sub Pippo (PuntoeVirgola)  
 Scrivi "Io sono Pippo" & PuntoeVirgola
End Sub

Sub Pluto (Punto)
 Scrivi "Io sono Pluto" & Punto
End Sub

Sub Topolina (Ohh)
 Scrivi "Io, sono Topolina," 
 Scrivi "Una femminuccia, ",0,0
 Scrivi "finita In mezzo a due maschiacci " & Ohh
End Sub

Si noti che l' "Ordine di chiamata" delle 3 Sub è stabilito cronologicamente nella Sub Main, ("chiamante" giustamente suggerito da Luigi)

e quanto risulta in OutPut non è l'ordine di stesura delle varie parti dello Script nella sua interezza.

Infatti , se così fosse, "Topolina" sarebbe scritta come "ultima parte" e quindi ... dopo Pippo e Pluto.

La chiamata ad altre Sub (Esterne) interrompe il flusso principale dello script,

per passare ad eseguire il contenuto della Sub ed alla fine di questa (al suo End Sub) ...

ritornare ad eseguire le istruzioni immediatamente successive "al punto" ove s'era interrotto il flusso principale.

:)
 
Ultima modifica:
L

LuigiB

Guest
Non lo so… :confused:
A costo di vincere il mongolino d’or dublé :))) chiedo lumi su questa tua… perché la curiosità è troppa…

Eheh ... vabbe ammetto che la domanda almeno per come io la intendevo era di quelle la cui risposta è talmente semplice che uno rimaneva imbarazzato a risponderla.
Ecco la spiegazione :

La domanda era : In un semplice script come si chiama la procedura chiamante ?
Risposta : un spemplice script è costituito da una sola procedura che chiama come minimo altre funzioni del linguaggio.
questa procedura è la sub Main , quindi in un semplice script la procedura chiamante cioè quellla da cui partono le chiamate alle altre si chiama Main come io mi chiamo Luigi , Rosanna Rosanna e Joe Joe.
:)


‘--------
Circa le VARIABILI

‘1) Volevo chiederti cosa ne pensi delle variabili “riutilizzate” più volte dentro uno script in blocchi ovviamente chiusi… Il motivo del riutilizzo nel mio caso era solo quello di evitare una lunga sfilza di variabili per gestire blocchi semplici, chiusi e compatti… (esempio sequenze di piccoli cicli for… next – cicli chiusi ) in un listato piuttosto lungo.
E’ cosa da evitare? E’ una brutta abitudine? Cosa consigli?

Che va bene pur di non fare confusione , se hai una buona gestione dell'inizializzazione delle variabili tutto ok altrimenti ci possono essere insidie di variabili che prendono valori alterati


2) puoi aggiungere qualche nota sul nome di variabili, vettori, matrici?
Ho letto in qualche post di Joe che tu consigli di iniziare con una lettera che identifica il tipo di variabili, vettori….
Esempio
aNumeri dove a sta per array
ho visto nella terza lezione che hai usato
sParteVera,sParteFalsa,sTestoDaScrivere dove s credo stia per stringa… (?) e il resto del nome non è scelto a caso, ma “ricorda” a colpo d’occhio il contenuto della variabile.
Una metodologia che io non ho mai usato ma che sicuramente facilita la rilettura del codice anche e soprattutto a distanza di tempo.

Nella programmazione si usano spesso delle convenzioni che servono a rendere il codige condivisibile anche con altri programmatori percio nel caso delle variabili si usa una convenzione detta notazione ungherese.
Nel caso degli script per il lotto non è necessaria una particolare rigidità però se prevediamo una logica con la quale
chiamare le variabili il tutto sarà a anostro vantaggio.
Quindi

avremo un prefisso con una lettera minuscola che permette di capire subito
he tipo di contenuto offre la variabile in questione,

le variabili che iniziano con "s" saranno stringhe
le variabili che iniziano con "n" saranno numeriche
le variabili che iniziano con "a" saranno vettori

al prefisso segue il nome descrittivo della variabile che potrebbe essere anche
un nome composto tipo Data Estrazione si usa Mettere il nome composto prendendo le prime 3
ettere di ciascuno dei nomi e scrivendo con l'iniziale maiuscola

sDatEst ' è una stringa e contien la data estrazione


Ora inserisco un immagine che descrive l'editor

Editor.jpg



Per Rabberto , grazie per la collaorazione ho visto che in alcuni casi la visualizzazione è un po sfalsata non so se dipende dal mio pc.

aggiungo il quarto capitolo i cicli iterativi

04-I Cicli Iterativi.pdf
 
Ultima modifica di un moderatore:

Rosanna

Super Member >PLATINUM<
Sorrido!! :D :D quella mi sembrava davvero troppo semplice...

Per il resto ok. VAdo a leggere la 4^ guida. Certo che sono arrivata proprio nel periodo giusto eh?!! :p
 
L

LuigiB

Guest
Sorrido!! :D :D quella mi sembrava davvero troppo semplice...

Per il resto ok. VAdo a leggere la 4^ guida. Certo che sono arrivata proprio nel periodo giusto eh?!! :p

eeheh vedi che non faccio domande difficili :) ... Certo che sei capitata al momento giusto ..ci voleva uno stimolo in piu per fare una guida un po' piu approfondita sugli script ..

ciao
 

Mike58

Advanced Member >PLATINUM PLUS<
Bella questa 4 guida, Cose nuove e + chiare anche per me.
Luigi continuaaaaaaaaaa cosiiiiiiiiiiiiiiiiiiiiiiiiiii
Quando ti capita fai un esempio simile del ReDim Preserve su un ciclo for in modo da riprendere i valori ottenuti e rielaborarli.
 

Joe91

Advanced Member >PLATINUM PLUS<
Per Luigi e chi vorrà eventualmente controllare.

La parte degli esempi (script) presenti nella guida (nella quarta parte) ... ben visibili leggibili ed eseguibili mentalmente

quando incollati nell' editor si scompiglianoperdendo l'eseguibilità con Spaziometria.

Si scompigliano anche nel Word-Pad Excel ecc.. ecc ...

Purtroppo non vi potrò seguire, per mancanza di mezzi idonei, per qualche giorno.

Sono daccordo con Mike ... sarebbe meglio, se Stefania cambiasse il titolo in "Costruzione Guida Script" ... o qualcosa di simile.

:)
 

rabberto

Advanced Member
Per Rabberto , grazie per la collaorazione ho visto che in alcuni casi la visualizzazione è un po sfalsata non so se dipende dal mio pc
Ciao LuigiB ciao a tutti sicuramente non dipende dal tuo pc ma dal programma che uso per la conversione dei file pdf in word , ma non ti preoccupare queste sono solo bozze per vedere se vanno bene , alla fine mi devi dare i file word e si fara' la compilazione della quida completa .

Per Luigi e chi vorrà eventualmente controllare.

La parte degli esempi (script) presenti nella guida (nella quarta parte) ... ben visibili leggibili ed eseguibili mentalmente

quando incollati nell' editor si scompiglianoperdendo l'eseguibilità con Spaziometria.

Si scompigliano anche nel Word-Pad Excel ecc.. ecc ...

Ciao Joe91 prova con questo vedi se hai gli stessi problemi fammi sapere , ciao : https://skydrive.live.com/redir?resid=A9383DA72ADF13BD!1285&authkey=!AEsu4_H7LkKlWsY

Per mike58 ho aggiornato il file numero 3 i blocchi decisionali , con il tuo scrpt
Script di esempio condizionale utilizzo if then e select case.
Lo script analizza un numero su una ruota a scelta in inputBox è somma i casi per il mese condizionato utilizzando il select case.
Volevo chiederti si potrebbe per favore se puoi , potresti mettere l'apice e scrivere ogni riga che cosa e , siccome e una guida secondo me sarebbe meglio ,ciao.

Questo e' il file alla fine ho aggiunto il tuo script , io ho messo cosa e' , per farti capire cosa intendo tu lo dovresti compilare dall'inizio alla fine , ciao :https://skydrive.live.com/redir?resid=A9383DA72ADF13BD!1287&authkey=!ALlJMrLBi8khrUo
 
Ultima modifica:
L

LuigiB

Guest
ciao Rabberto , ecco un file compresso ce contiene le guide fatte fin'ora.
Joe hai ragione per il fatto degli script che una volta incollati si scompaginano ..forse pdf non va bene come formato ..oppure in fase di creazionedel pdf bisogna vedere se c'è qualche opzione per fare in modo che il testo copiato nella clipboard sia corretto.

http://www.mediafire.com/?qz6gg459haatt6e
 
Ultima modifica di un moderatore:

rabberto

Advanced Member
Caio LuigiB i file originali li hoscaricati adesso li posso aggiornare e non ci saranno piu' problemi, purtroppo i file non perdono il loro testo e la loro formattazione solo se copiati e incollati da un file word ma sul pdf ci sono problemi ,fatemi sapere se le bozze che ho caricato vanno bene ho se c'e' da correggere qualcosa , grazie , ciao.
 
Ultima modifica:

stefania1972

Senior Member
Ciao ragazzi vi seguo con grande attenzione e vi ringrazio per quello che state facendo , siete delle persone straordinarie , vorrei aiutarvi a cambiare il nome del post come dice mike e joe , ma non so proprio come si fa , per favore mi potreste aiuatre a cambiare il nome del post , grazie , ciao.
 

Rosanna

Super Member >PLATINUM<
Cito dalla ultima (4^) lezione

Nel successivo esempio il ciclo eseguira 10 iterazioni
Option Explicit
Sub Main
Dim nNumeriTrovati
nNumeriTrovati = 0 ' inizializzo
Do While nNumeriTrovati <= 10 ' finche nNumeriTrovati è < 10 il ciclo itera
nNumeriTrovati = nNumeriTrovati +1 ' incremento il conteggio
Call Scrivi(NumeroCasuale(1,90))
Loop ' chiusura del ciclo

'fai altre cose
End Sub

nel codice è rimasto pizzicato un uguale di troppo.
 
L

LuigiB

Guest
grazie per l'occhio vigile .. ho corretto pure sui miei file .. rabberto pure tu provvedi a fare la piccola correzione
Ciao ...
 

Rosanna

Super Member >PLATINUM<
Figurati... Grazie a te/voi ripasso...ed imparo (per questo ho scritto che sono arrivata al momento giusto... )

Ti chiedo...

1) While Wend? lo hai lasciato fuori per qualche motivo? ricordo che l'avevo utilizzato.
Dovrebbe iterare fino a che la condizione è vera come il Do While... Loop

2) degli Exit scrivi a parte?

Ciao
 

rabberto

Advanced Member
Ciao LuigiB ciao Rosanna , ho corretto il foglio 4 , ma io vedo che negli esempi ci sono anche altri segni = su altri script , potreste dare un'occhiata e farmi sapere se era solo una la correzzione o c'e' ne sono delle altre , ciao.

Per LuigiB per favore dei nuovi capitoli dal numero 5 in poi mi devi sempre far capitare l'originale che e piu' semplice da modificare , grazie , ciao.

Intanto dai un'occhiata ai primi 4 capitoli per farmi sapere se c'e' qualcosa da correggere anche se non e definitivo perche' c'e' il capitolo 3 che ho chiesto a Mike58 una correzzione alla fine su un suo script : https://skydrive.live.com/redir?resid=A9383DA72ADF13BD!1288&authkey=!AK7UVqGebEbQ55Q
 
Ultima modifica:

stefania1972

Senior Member
Ciao ragazzi ci sono riscita come richiesto ho cambiato il nome del post in Costruzione Guida Script, grazie ancora per quello che state facendo , ciao.
 
Ultima modifica:

Mike58

Advanced Member >PLATINUM PLUS<
Ciao Luigi, e tutti, leggendo la lezione 4 ho voluto simulare un esempio di codice " Do While - loop " con aggiunta if then che condiziona a trovare solo numeri
< a 45
ma il risultato è diverso Sbaglio delle cose ?

Codice:
Option Explicit
Sub Main
	Dim nNumeriTrovati,c
	nNumeriTrovati = 0 ' inizializzo
	c = 0 ' inizializzo
	Do While nNumeriTrovati < 10 ' finche nNumeriTrovati è < 10 il ciclo itera
		nNumeriTrovati = nNumeriTrovati + 1 ' incremento il conteggio
		'---------- condizione aggiunta ----------------------------------
		If NumeroCasuale(1,90) < 45 Then ' condizione numeri trovati < 45
			c = c + 1 ' contatore numeri trovati nella condizione < 45
			'-----------------------------------------------------------
			Call Scrivi(NumeroCasuale(1,90)) ' scrive numeri
			
		End If ' fine if < 45
	Loop ' chiusura del ciclo
	Scrivi"Fine loop e quantita numeri trovati " & c ' scrive messaggio e quantita numeri trovati
	'fai altre cose
End Sub


Questo è il risltato
Codice:
73
21
16
75
52
38
Fine loop e quantita numeri trovati 6
[CODE]


suo originale
[CODE]ption Explicit
Sub Main
Dim nNumeriTrovati
nNumeriTrovati = 0 ' inizializzo
Do While nNumeriTrovati < 10 ' finche nNumeriTrovati è < 10 il ciclo itera
nNumeriTrovati = nNumeriTrovati +1 ' incremento il conteggio
Call Scrivi(NumeroCasuale(1,90))
Loop ' chiusura del ciclo

'fai altre cose
End Sub
 

Ultima estrazione Lotto

  • Estrazione del lotto
    giovedì 09 maggio 2024
    Bari
    85
    27
    28
    56
    83
    Cagliari
    29
    34
    75
    82
    18
    Firenze
    16
    74
    36
    55
    64
    Genova
    77
    57
    29
    34
    05
    Milano
    69
    33
    28
    18
    21
    Napoli
    69
    10
    03
    05
    12
    Palermo
    06
    34
    69
    38
    13
    Roma
    35
    86
    69
    16
    06
    Torino
    08
    56
    04
    26
    23
    Venezia
    27
    84
    28
    13
    68
    Nazionale
    68
    21
    64
    11
    07
    Estrazione Simbolotto
    Milano
    40
    18
    20
    15
    37
Alto