Anfängerproblem ganzen Satz<>Zahlenkombination bitte um hilfe

heigeo

Grünschnabel
Hallo Leute.
Bin neu hier und habe ein kleines Problem. Ich bin ein kompletter Neuling in Verbindung mit VB...

Schaut nun so aus, ich möchte gerne ein kleines Programm erstellen... Ein Programm das "mehr oder weniger" verschlüsselt. Und zwar in 2 Varianten...

Im Prinzip soll es nur die Buchstaben in die jeweilige Position umwandeln.

Also Zb ich schreibe den Satz: Hallo Sollte rauskommen 8-1-12-12-15

satzzeichen müssen dabei NICHT beachtet werden... und wenn möglich sollte es auch die möglichkeit geben die einstellungen zu ändern (zb: Z wird auf einmal 1 und nicht 26 oder so etwas in der richtung)

sonderbuchstaben wie ß,ö,ä,ü usw müssen nicht umgewandelt werden, und es dürfen nur 1-26 vorkommen und ich hab echt keinen plan wie ich das anstellen könnte... :( hab schon gegoogelt bis zum umfallen gg finde keine lösung wie ich an das problem rangehen könnte...) das mit den einstellungen wäre halt optimal. Aber ich denke das wird dann noch VIEL schwieriger sein oder?

Kann mir da bitte irgendjemand helfen?
 
Klingt interessant ;-)

Mit welchem Programm musst/sollst/kannst Du dies umsetzen)

Meine VB Kenntnisse beziehen sich größtenteils aus MS Office. Allso würde ich mir erstmal mehrere Schlüsselpaare anlegen, (einmal ist A=1, einmal A=5, einmal A=15 usw.).

Die Schlüsselpaare müssen fest gespeichert sein, hier wäre eine Tabelle möglich (allerdings leichter lesbar) oder ein Array.
Dann müsste der Text eingelesen werden und Schritt für Schritt umgewandelt werden. Theoretisch könnte man sogar noch eine zusätzliche Zahl mitgeben, die den Schlüsselsatz für jeden Buchstaben mitgibt, also für A mit Schlüssel 1 = 11.
Die Entschlüsselung dann analog dazu.
 
Zuletzt bearbeitet:
Ich hab sowas ähnliches gemacht, nur wurden bei mir die Buchstaben vertauscht (z.B. A wurde zu E, B wurde zu Q u.ä.)

Hab dir die Form mal hochgeladen Click!

Vielleicht hilft dir das ein bisschen weiter :)

Mfg Raz0r
 
Danke für Eure Antworten :)
Also ich will es am liebsten mit Microsoft Visual Basic machen. wenn wer mal ein Tutorial machen könnte hehe

wäre sicher eine Bereicherung für die Tutorials;)

@ XanRaZor: danke werde mir mal die form ansehen :) vielleicht hilft es mir ja weiter. Wie gesagt ich spiele mich erst seit kurzen mit VB arbeite Tutorials durch, Sieh mir die Befehle an. und überlege selbstständig was welcher Befehl wofür steht.

Das Programm wäre irrsinnig wichtig :) Ich will es unbedingt haben. Nur werde ich noch ziemlich lange brauchen um an die Lösung zu kommen gg.

Freu mich über jeden weiteren Tipp bzw gleich für eine Lösung ;-)

lg heigeo
 
hab es jetzt geschafft einen text zu verschlüsseln... nur beim entschlüsseln gibt es probleme...
wie ich schon beschrieben habe ist ja zwischen jeder verschlüsselten zahl ein "-"
MIT AUSNAHME wenn ein abstand kommt denn da sind es 2x"--"
wie müsste ich den code abändern dass es stimmt?

Code:
Case "24"
      txt_Plain.Text = txt_Plain.Text & "x"
   Case "25"
      txt_Plain.Text = txt_Plain.Text & "y"
   Case "26"
      txt_Plain.Text = txt_Plain.Text & "z"
   Case "-"
      txt_Plain.Text = txt_Plain.Text & ""
   Case Else
      txt_Plain.Text = txt_Plain.Text & SingleSign
 
hab es jetzt geschafft einen text zu verschlüsseln... nur beim entschlüsseln gibt es probleme...
wie ich schon beschrieben habe ist ja zwischen jeder verschlüsselten zahl ein "-"
MIT AUSNAHME wenn ein abstand kommt denn da sind es 2x"--"
wie müsste ich den code abändern dass es stimmt?

Code:
Case "24"
      txt_Plain.Text = txt_Plain.Text & "x"
   Case "25"
      txt_Plain.Text = txt_Plain.Text & "y"
   Case "26"
      txt_Plain.Text = txt_Plain.Text & "z"
   case "--"
      txt_Plain.Text = txt_Plain.Text & " "
   Case "-"
      txt_Plain.Text = txt_Plain.Text & ""
   Case Else
      txt_Plain.Text = txt_Plain.Text & SingleSign

Probier mal das, das müsste gehen ;)
 
Gut das funktioniert nun, wenn zwei "--" sind ist das ein Abstand ist. Funktioniert so weit so gut. Danke erstmals :)

Kann ich auch irgendwie einen Code einbauen, dass mir beim entschlüsseln aus zB:
1-2-3--4-5-6 abc def macht? Denn zurzeit gibt er mir automatisch zu jeden buchstaben den "-" dazu

Und wenn ich den Code
Code:
Case "-"
      txt_Plain.Text = txt_Plain.Text & ""
schreibe, wird natürlich der Code
Code:
Case "--"
      txt_Plain.Text = txt_Plain.Text & " "
ignoriert... Hm...... Grübel grübel.

Edit: Ok nun hab ich ein etwas größeres Problem :(

Der Code muss irgendwie total anders geschrieben werden :(. Zumindest beim Entschlüsseln...

Denn: wir haben ja 26 Buchstaben... Gut wenn ich natürlich jetzt die ganze zeit
Code:
Case "1"
      txt_Plain.Text = txt_Plain.Text & "a"
   Case "2"
      txt_Plain.Text = txt_Plain.Text & "b"
   Case "3"
      txt_Plain.Text = txt_Plain.Text & "c"
usw schreibe wird es ab 11 problematisch :(
denn wenn ich jetzt dann 11 habe wandelt er es nicht so wie er es sollte in K um sondern in AA weil es ja aus zwei "1" besteht :( Grübel grübel :(
 
Zuletzt bearbeitet:
Hier mal ne Funktion zum Verschlüsseln:

Code:
Private Function CodeString(byref iText as string) as string
  dim oText as string
  dim i as integer

  for i = 1 to len(iText)
    otext = otext & format(asc(mid(itext,i,1)),"000")
  next i

  CodeString=oText
end function

Und hier zum entschlüsseln:

Code:
Private Function EnCodeString(byref iText as string) as string
  dim oText as string
  dim i as integer

  for i = 1 to len(iText) step 3
    otext = otext & chr(mid(itext,i,3))
  next i

  EnCodeString=oText
end function

Somit verschlüsselst du einen String mit z.B.

Code:
Text = CryptString("Test 123")

und entschlüsseln tust du das ganze wieder mit

Code:
Text = EnCryptString("056041123001")

Da ich das ganze jetzt schnell aus dem Kopf gemacht habe, und hier kein VB6 installiert habe, konnte ich das ganze nicht testen, müsste aber funktionieren ;)


Edit: Zur Erklärung, was ich gemacht habe:

Das Problem ist, dass es, wei du schon gesagt hast ab 11 problematisch wird. Und du kannst keine Satzzeichen usw verschlüsseln. Es gibt aber einen Zeichensatz (ASCII), wo alle Zeichen einen Zahlenwert schon zugewiesen haben. Diese bekommt man mit Asc(<Buchstabe>), und mit dieser Zahl (ist ein Byte) kann man dann wieder einen Buchstaben machen mit Chr(<ZAHL>). Das selbe mache ich auch.
Beim Verschlüsseln wird jeder Buchstabe in ne Zahl mit 3 Stelllen umgewandelt. (aus 3 wird 003, aus 73 wird 073 usw.) Somit ist die entschlüsselung einfach... Schaus dir mal durch, wennste nicht weißt, was ich da gemacht habe, dann frag einfach ;)
 
Zuletzt bearbeitet:
Zurück