Benvenuto! Per postare e godere delle funzionalità del forum registrati, occorrono pochi secondi ed è gratis!

Programma Visual basic Aiuto

WarRock Hacks Coder
Messaggi: 940
Discussioni: 47
Registrato: 03-2011
Mix: 0
(21/10/2012, 13:43)digger Ha scritto:

[Per vedere i link devi REGISTRARTI.]

e dove sta il problema degli spazi ? Happywide

[Immagine: 02a15-164c5c4c-3226-49f8-9a03-db9cc3b586b1.png]

Pocciox vengo li e ti pesto Happywide
Per Sky, ho fatto un po' diverso da come dici tu.
Comunque ecco qui il source:

    VBNET Programming
  1. Public Class frm_main
  2. Dim associazione As New ArrayList
  3. Dim aList As New ArrayList
  4. Dim myRnd As New Random
  5.  
  6. Private Sub CreaAssociazione()
  7. Dim i As Integer
  8.  
  9. For i = 0 To 127
  10. aList.Add(i)
  11. Next
  12.  
  13. For i = 0 To 127
  14. Dim rnd As Integer = myRnd.Next(aList.Count)
  15. associazione.Add(aList(rnd))
  16. aList.RemoveAt(rnd)
  17. Next
  18. End Sub
  19.  
  20.  
  21.  
  22. Private Sub btn_codifica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_codifica.Click
  23. txt_codificato.Clear()
  24. For Each carattere As Char In txt_originale.Text
  25. 'txt_codificato.Text &= Strings.Right("00" & Asc(carattere) - 32, 3) '<- versione ASCII
  26. txt_codificato.Text &= Strings.Right("00" & associazione(Asc(carattere)), 3)
  27. txt_codificato.Text &= " "
  28. Next
  29. End Sub
  30.  
  31. Private Sub btn_decodifica_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_decodifica.Click
  32. Dim i As Integer
  33. Dim quad As Integer = txt_codificato.Text.Count / 4
  34. Dim terna As String
  35.  
  36. txt_decodificato.Clear()
  37.  
  38. For i = 0 To quad - 1
  39. terna = txt_codificato.Text.Substring(i * 4, 3)
  40. 'txt_decodificato.Text &= Chr(Integer.Parse(terna) + 32) '<- versione ascii
  41. txt_decodificato.Text &= Chr(associazione.IndexOf(Integer.Parse(terna)))
  42. Next
  43.  
  44. End Sub
  45.  
  46. Private Sub frm_main_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  47. CreaAssociazione()
  48. End Sub
  49. End Class



Il codice contiene 2 versioni, quella fatta con la tabella ASCII un po' come dice SKY, che però non mi piace perchè ti limita ad una codifica prestabilita e se il tuo scopo è nascondere il testo rischi che qualcuno te lo scopra se immagina quello che hai fatto.

La seconda versione, la mia preferita, non usa la tabella ascii ma crea una associazione tra lettere e numeri casuale e quindi usa 3 cifre per ogni lettera (al fine di potersi sbizzarrire con piu codifiche senza il limite delle 2 cifre)

Il programma ha sicuramente dei difetti e uno è che rimane uno spazio in fondo ai gruppi di 3 cifre, anche se non causa problemi, ma sono troppo pigro per correggerli, però sono sicuro che quel professionista coder di Pocciox li metterà a posto lui Asd

Per Dany,
visto che dici che vuoi dare tu l'associazione, se vuoi puoi farlo, certo è una rottura di palle,
puoi usare un codice come quello che ho scritto io, solo che la funziona creaassociazione dovresti scriverla tu in modo che ad ogni "cella" dell'array "associazione" dai tu un valore che vuoi.

Ti spiego meglio.
Il concetto con cui ho fatto l'array "associazione" è che è la mia versione personale della tabella ascii, ovvero sono 128 celle dove ad esempio la cella 97 contiene il numero associato alla "a" mentre la cella 65 il numero associato alla lettera "A", se guardi la tabella ASCII standard capirai.
Nel tuo caso dovrai tu a manina compilare l'array, ad esempio scrivendo
associazione(65)="011" per dire che la A la rappresenti con la stringa "011"

Volendo aggiungere qualcosa, se vuoi davvero creare tu l'associazione tra lettere e cifre potresti pensare di creare un file di configurazione esterno che il programma carica, sarebbe ancora piu carino invece di scrivere a mano nel programma.
Un file tipo
a=011
b=012
c=013
etc

Premetto che non mi sono voluto fermare a lungo a leggere il codice, ma mi viene spontanea una domanda:

La mente malata di Skyline Ha scritto:Ma se usi un random, significa che nel momento in cui tu chiudi e riapri il programma la codifica cambia, cioè la stessa frase verrebbe codificata in due modi diversi, quindi se tu hai una versione codificata di una frase salvata e in futuro decidi di decodificarla con lo stesso programma, non risalirai mai più all'originale....sbaglio??


21/10/2012, 16:34
#21
Cerca


Messaggi in questa discussione
Programma Visual basic Aiuto - da Danyele360 - 20/10/2012, 16:36
[Nessun oggetto] - da Pocciox - 20/10/2012, 19:41
[Nessun oggetto] - da Danyele360 - 20/10/2012, 19:56
[Nessun oggetto] - da Pocciox - 20/10/2012, 21:17
[Nessun oggetto] - da Danyele360 - 20/10/2012, 21:38
[Nessun oggetto] - da MAUROW - 20/10/2012, 22:10
[Nessun oggetto] - da Danyele360 - 20/10/2012, 22:10
[Nessun oggetto] - da Pocciox - 20/10/2012, 23:11
[Nessun oggetto] - da digger - 21/10/2012, 0:13
[Nessun oggetto] - da Skyline@69 - 21/10/2012, 8:22
[Nessun oggetto] - da Pocciox - 21/10/2012, 9:45
[Nessun oggetto] - da Danyele360 - 21/10/2012, 13:11
[Nessun oggetto] - da digger - 21/10/2012, 13:43
[Nessun oggetto] - da Skyline@69 - 21/10/2012, 16:34
[Nessun oggetto] - da Pocciox - 21/10/2012, 14:06
[Nessun oggetto] - da digger - 21/10/2012, 14:07
[Nessun oggetto] - da Danyele360 - 21/10/2012, 15:21
[Nessun oggetto] - da digger - 21/10/2012, 15:36
[Nessun oggetto] - da Danyele360 - 21/10/2012, 16:05
[Nessun oggetto] - da digger - 21/10/2012, 16:09
[Nessun oggetto] - da Pocciox - 21/10/2012, 16:27
[Nessun oggetto] - da Pocciox - 21/10/2012, 16:36
[Nessun oggetto] - da Danyele360 - 21/10/2012, 17:00
[Nessun oggetto] - da digger - 21/10/2012, 21:37
[Nessun oggetto] - da Pocciox - 21/10/2012, 21:37
[Nessun oggetto] - da Danyele360 - 21/10/2012, 22:52
[Nessun oggetto] - da digger - 21/10/2012, 23:21
[Nessun oggetto] - da Danyele360 - 21/10/2012, 23:52
[Nessun oggetto] - da Skyline@69 - 22/10/2012, 8:52
[Nessun oggetto] - da Danyele360 - 22/10/2012, 10:17
[Nessun oggetto] - da Pocciox - 22/10/2012, 13:29
[Nessun oggetto] - da Danyele360 - 22/10/2012, 15:13
[Nessun oggetto] - da Pocciox - 22/10/2012, 20:37
[Nessun oggetto] - da digger - 22/10/2012, 20:41
[Nessun oggetto] - da Pocciox - 22/10/2012, 22:15
[Nessun oggetto] - da digger - 23/10/2012, 12:47
[Nessun oggetto] - da Pocciox - 23/10/2012, 13:33
[Nessun oggetto] - da pauldomy - 16/12/2012, 19:53

Discussioni simili
Discussione Autore Risposte Letto Ultimo messaggio
  [aiuto] No segnale su sapphire R9 280. Pocciox 5 2,453 14/01/2015, 22:11
Ultimo messaggio: digger
  aiuto portatile oirad94 1 1,705 22/12/2014, 16:27
Ultimo messaggio: Admin
  Aiuto Nella Definizone Rokys091 9 3,737 25/11/2014, 10:24
Ultimo messaggio: digger



Utenti che stanno guardando questa discussione: 2 Ospite(i)