Emanuele ha scritto:
4. è possibile impostare più criteri di ordinamento? tipo la finestra
di dialogo: per col. C, quindi per col. D....?
Non saprei...
Forse qualcuno può aiutarci?
L'hai già scritto tu nel codice Bart!! :-)
Anche se qualcuno in passato ha insinuato che io avessi scritto
addirittura un algoritmo, posso assicuratri che nello specifico io non
ho scritto proprio nulla...
Taglia/incolla... e se funziona non chiederti il perché... 8-)
Avevo preso la funzione in blocco da Pitonyak... erano momenti difficili
e avevo dei grossi problemi per far funzionare Ultimus... molte
situazioni le ho rigirate come un calzino e altre che, per pura fortuna,
hanno funzionato al primo colpo... :-)
...zot...
questo mi sembra un vero ambaradan, mi sfugge anche il concetto di modulo,
ma questa è ignoranza mia.
Immagino che Bart intendesse con "modulo" una certa sequenza di codice
che può comprendere sub o function, anche se comunemente con modulo si
identifica uno dei "fogli" in cui vai a scrivere il codice basic. ;-)
Si ho usato una terminologia propria in generale, ma impropria per
Starbasic... e questo non aiuta la chiarezza... :-)
Il termine modulo l'ho usato per indicare una routine esterna, cioè una
"scatola" autonoma che contiene del codice e che posso richiamare in blocco.
A volte si ha necessità che questa scatola, oltre a fare delle cose
utili, restituisca alla routine chiamante dei valori elaborati... a
allora si usa la Function.
Rimanendo nelle Sub e per chiarire alcuni aspetti del codice che ho
postato vorrei ancora aggiungere alcune note.
Se serve si possono definire i valori passati ad una subroutine come
Optional... ad esempio la sub originale che ho ripulito malamente recitava:
Sub Duplica_sheet_1 (Optional sSuffix as string)
In quel caso se dalla main arrivava un valore per sSuffix venivano fatte
delle cose, se invece la main non inviava alcun valore (if sSuffix is
missing then) ne venivano fatte delle altre.
Questo perchè la medesima sub io la richiamo da diverse main con
finalità diverse...
Esempio basilare di function, se serve:
serve ...serve...
Ma io ogni caso è una questione di gusti personali.
Io preferisco suddividere il codice in "blocchi" o funzioni separate
(prima li avevo chiamati moduli), anzichè accodare tutto in una sola macro.
Se ho bisogno di sapere l'area del cerchio è probabile che io possa
utilizzare quella "funzione" in occasioni diverse... pertanto:
Sub ambaradan
'.....
dRaggio = 50
dSuperficie = Area_cerchio (dRaggio)
' la funzione mi restituisce dSuperficie
print "L'area del cerchio è: " & dSuperficie
end sub
Function Area_cerchio (dRaggio as Double)
dArea = dRaggio * dRaggio * 3.14
'ma in genere è qualcosa di più complesso.
Area_cerchio = dArea
end function
... come vedi l'Ambaradan è spesso utile... :-)
ciao
Bart
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]