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
    martedì 21 ottobre 2025
    Bari
    89
    74
    27
    47
    37
    Cagliari
    78
    13
    22
    83
    44
    Firenze
    56
    79
    68
    59
    75
    Genova
    74
    40
    71
    57
    18
    Milano
    88
    11
    33
    07
    84
    Napoli
    53
    25
    49
    83
    85
    Palermo
    49
    25
    85
    20
    11
    Roma
    14
    50
    75
    10
    13
    Torino
    43
    67
    36
    72
    73
    Venezia
    88
    55
    26
    59
    37
    Nazionale
    15
    49
    18
    21
    20
    Estrazione Simbolotto
    18
    24
    21
    32
    33
Indietro
Alto