24. januar 2004 - 16:32Der er
19 kommentarer og 1 løsning
For hvert bogstav
Jeg vil gerne have lidt hjælp til noget password hvis jeg taster et navn skal for hvert bogstav udeles en mængte tal og bogstaver på en linie som stil med denne her "fds4-56sd-f654-sd8f"
en logisk metode: Find bogstavets HEX decimal, denne er 2 cifre, dereftef kan du for de to nye bogdtaver, finde deres HEX decimaler, og nu har du en logisk måde at give hvert bogsav, eller et hvilket somhelst tegn et 4 cifret nummer
Er det således du ønsker det : Private Sub Command1_Click() Dim Myletters(128) As String 'Oversatte tekster... Myletters(32) = "space" Myletters(65) = "a-bogstav" Myletters(66) = "b-bogstav" Myletters(69) = "a-bogstav" ...her skal alle ascii karakters defineres - jeg har kun defineret de bogstaver testen skulle bruge test = "ABE" For i = 1 To Len(test) Debug.Print Mid(test, i, 1) outputstr = outputstr & Myletters(Asc(Mid(test, i, 1))) Next i
Det skal være sådanne så man i en textbox_Change skriver et navn og man rammer et "p" eller et andet givent bogstav skal den ændre p til eks."TI76" i en label mens andre ikke givent bogstaver sker der ikke noget ved.
Ja det ændrer jo ikke noget på løsningen, men hvis du vil se det implementeret, så opret en formular, med et tekstfelt som skal hedde text1 og så skal du lægge flg. kode ind:
Dim Myletters(128) As String Dim OutputStr As String
Private Sub Text1_KeyPress(KeyAscii As Integer) Myletters(32) = "space" Myletters(65) = "a-bogstav" Myletters(66) = "b-bogstav" Myletters(69) = "e-bogstav"
If Len(Myletters(KeyAscii)) > 0 Then OutputStr = OutputStr & Myletters(KeyAscii) Else OutputStr = OutputStr & Chr(KeyAscii) End If
En udbygning af ovenstående ville være at have 2 tekstbokse : 1 til at indtaste og 1 til at vise resultatet i, da den enkle implementering virker men ikke er brugervenlig, da der ikke står de tegn i tekstboksen, som brugeren har indtastet :-)
Jeg har nu lavet den følgende kode med det som du har skrevet men med output til text2 og jeg kan kun få space til at virke hvor den retunere "space" i text2 men den gør det ikke med a-bogstav b-bogstav og e-bogstav :(
det skyldes at KeyAscii for A er 65 men KeyAscii for a ikke er 65 (forskel på store og små bogstaver). Prøv at udskrive KeyAscii som det første i sub Text1_KeyPress, så vil du kunne se ascii værdien på de tegn du indtaster - f.eks er ascii værdien for C 67 - og skal dette tegn omformes så skal du have en extra linie i sub'en som hedder MyLetters(67) = "hvaddunusynes".
Det er en usædvanlig dårlig ide at 'opfinde' sin egen krypterings algoritme. Der findes algoritmer til kryptering i CryptoAPI som dels er gennemprøvede og fejlfri, og som dels er meget sværere at knække, end noget man selv kan strikke sammen. Blot et godt råd :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.