Novità

LuigiB: StringaNumeri si mangia elementi ?

gennaro

Senior Member
Salve Luigi, come al solito mi imbatto in fenomeni strani ehehheehe :)

Codice:
'Spaziometria v1.4.26

Sub Main
Dim vettore(4)
    
    vettore(1) = 4
    vettore(2) = 3
    vettore(3) = 0
    vettore(4) = 6
    
    Scrivi StringaNumeri(vettore)
    
    Scrivi String(10,"-")
    
    For k = 1 To 4
        Scrivi vettore(k) & "/",,0
    Next
End Sub

Come mai StringaNumeri non visualizza gli elementi nulli?
Fu progettata proprio cosi? In tal caso come posso visualizzare (scrivi) il contenuto di un vettore senza usare un ciclo for/next?
Ed inoltre di una matrice non posso visualizzare SOLO una riga o una colonna? Esiste soltanto ScriviMatrice?

Il tuo solito rompiglione ;)

Codice:
[COLOR=#000000][FONT=Courier New]4.3.6
[/FONT][/COLOR][COLOR=#000000][FONT=Courier New]---------- [/FONT][/COLOR][COLOR=#000000][FONT=Courier New]
[/FONT][/COLOR][FONT=Courier New][SIZE=2][COLOR=#000000]4/[/COLOR][/SIZE][/FONT][SIZE=2][COLOR=#000000]3/[/COLOR][/SIZE][SIZE=2][COLOR=#000000]0/[/COLOR][/SIZE][SIZE=2][COLOR=#000000]6/
[/COLOR][/SIZE]
 
ciao Gennaro , è ovvio che è stata progettata cosi , lo 0 non è un numero possibile da giocare nel lotto , d'altra parte
scriversi un propria funzione StringaNumeri che scriva pure gli 0 è di una banalità estrema.
Tempo fa spiegai l'uso dell'istruzione includi esortando gli scripter a crearsi un proprio modulo di funzioni riutilizzabbili.
Lo rispiego :

ti fai la tua bella funzione ScriviStringaNumeriConZero
salvi il file dove ti pare

poi nei tuoi script con l'istruzione includi richiami il file come lo hai salvato e potrai usare la tua funzione senza doverla riscrivere.

passiamo all'esempio pratico

crea un nuovo script e incolla la funzione

Codice:
Function StringaNumeriConZero(aNumeri)
	Dim k , s
	
	For k = 1 To UBound(aNumeri)
		s = s & aNumeri(k) & "."
	Next

	If s <> "" Then
		s = Left(s,Len(s) - 1) ' elimino l'ultimo separatore
		
		StringaNumeriConZero = s
	End If
End Function

salva lo script da qualche parte dove vuoi (consiglio una cartella apposta da chiamare Funzioni)

poi crea questo nuovo script (nota che devi modificare il percorso del file con quello che hai salvato tu)

Codice:
Includi "C:\Documents and Settings\Administrator\Dati applicazioni\SpazioMetria\Script\Funzioni\test.ls"

Option Explicit
Sub Main
	
	Dim vettore(4)

	vettore(1) = 4
	vettore(2) = 3
	vettore(3) = 0
	vettore(4) = 6
	
	Call Scrivi(StringaNumeriConZero(vettore))
End Sub


ora i compiti per casa sono aggiungere a questo file un'altra funzione che ti stampi il vettore di cui parlavi.


ciao
 
Ultima modifica di un moderatore:
Ok Luigi... lo avevo intuito che tale funzione era stata costruita per i numeri interi non nulli :)
Mi accingo ad infoltire la MyLibrary.ls con la visualizzazione per riga e per colonna delle matrici ... almeno ci provo!
 
Mumble....troppo semplice per esserci riuscito :)

Codice:
'Spaziometria v1.4.26
Sub Main
    Dim matr(1,2)
    matr(0,0) = 3
    matr(0,1) = 4
    matr(0,2) = 0
    matr(1,0) = 2
    matr(1,1) = 0
    matr(1,2) = 1
    ScriviMatrice(matr)
    Call RIGA_Matrice(2,matr)
    Call COLONNA_Matrice(1,matr)
    Call ELEMENTO_Matrice(2,3,matr)
End Sub


Function RIGA_Matrice(idRiga,idMatrice)
    Scrivi "La riga " & idRiga & " risulta : "
    For k = 0 To UBound(idMatrice,2)
        Scrivi idMatrice(idRiga - 1,k)
    Next
End Function


Function COLONNA_Matrice(idColon,idMatrice)
    Scrivi "La colonna " & idColon & " risulta : "
    For k = 0 To UBound(idMatrice,1)
        Scrivi idMatrice(k,idColon - 1)
    Next
End Function


Function ELEMENTO_Matrice(idRiga,idColon,idMatrice)
    Scrivi "Alla posizione (" & idRiga & "," & idColon & ") c'e' : "
    Scrivi idMatrice(idRiga - 1,idColon - 1)
End Function
 

Ultima estrazione Lotto

  • Estrazione del lotto
    venerdì 31 gennaio 2025
    Bari
    49
    28
    64
    42
    46
    Cagliari
    53
    76
    89
    26
    13
    Firenze
    38
    51
    15
    50
    56
    Genova
    87
    09
    35
    30
    04
    Milano
    53
    25
    23
    09
    37
    Napoli
    01
    65
    38
    06
    15
    Palermo
    05
    07
    10
    26
    58
    Roma
    32
    31
    09
    46
    80
    Torino
    68
    20
    44
    51
    11
    Venezia
    90
    24
    62
    54
    61
    Nazionale
    20
    79
    07
    45
    60
    Estrazione Simbolotto
    Bari
    45
    37
    01
    41
    17
Indietro
Alto