PDA

View Full Version : Una semplice funzione...che "non funziona"...


Brostin
24-03-2005, 13:27
Salve,

sono ai primi passi e vorrei mi spiegaste questo breve codice. In sostanza dovrei riuscire ad anagrammare una porzione di testo attraverso l'esecuzione della funzione "FaiAnagramma".

Option Explicit

'Definizione delle variabili

Dim Sep As Integer
Dim PSin As String
Dim PDes As String

' Sotto il bottone che premuto dovrebbe restituirmi nella label la frase anagrammata. TxtFrase è il controllo della casella di testo dove scrivo la parola

Private Sub Command1_Click()
LblEtichetta.Caption = FaiAnagramma(TxtFrase)
End Sub

'Funzione che dovrebbe troncarmi la parola in un punto casuale

Function FaiAnagramma(Parola As String) As String
Sep = Int(Len(Parola) * Rnd())
PSin = Left(Parola, Sep)
PDes = Mid(Parola, Sep + 1)
End Function

Il programma non segnala codice di errore ma la caption dell'etichetta non viene valorizzata.

grazie e spero di essere stato chiaro....

jorpis
24-03-2005, 16:18
non restituisci il valore della funzione

Function FaiAnagramma(Parola As String) As String
Sep = Int(Len(Parola) * Rnd())
PSin = Left(Parola, Sep)
PDes = Mid(Parola, Sep + 1)
End Function

invece alla fine devi mettere un

Function FaiAnagramma(Parola As String) As String
Sep = Int(Len(Parola) * Rnd())
PSin = Left(Parola, Sep)
PDes = Mid(Parola, Sep + 1)

FaiAnagramma = ? (non sò cosa devi comporre....
se non metti un randomize l'Rnd() ti dà sempre la stessa sequenza di valori casuali...non sò se ti va bene, non ho ben capito che devi fare :p)

End Function

Brostin
25-03-2005, 06:54
Innanzitutto ti ringrazio. Poi passo a spiegarti.

Il piccolo esercizio che ti ho sottoposto è estrapolato da un corso interattivo che sto' frequentando.

L'arcano era racchiuso nel fatto che la funzione riportata dal tutorial ...era imperfetta. Infatti mi è bastato aggiungere l'ultima riga del codice che mi hai segnalato e l'anagramma si è composto correttamente.

Rimango un po' perplesso sul fatto che il progetto di studio sia "mancante" di alcuni pezzi. Proseguire consapevole di questo fatto un po' mi disorienta.... ma fortunamente esistono persone che come te rimettono a posto il tutto...

Grazie nuovamente e ne approfitto per augurarti Buona Pasqua !

Brostin