Veröffentlicht 7. Oktober 200915 j Tach Leute. Ich komm einfach nicht drauf. Hab mir schon tausende Themen durchgelesen. Das Ereignis findet statt, wenn ich einen Button klicke. Hier erstmal der Code: tbLizenz.Visible = true; label2.Visible = true; string strBuchstabe = tbNr.Text; string strAusgabe = ""; if (tbNr.Text == "") { MessageBox.Show("Fehlerhafte Eingabe!", "Fehler!"); tbLizenz.Visible = false; label2.Visible = false; } else { foreach (char c in strBuchstabe) { strBuchstabe = System.Convert.ToInt32(c).ToString(); strAusgabe += strBuchstabe; } tbLizenz.Text = strAusgabe; }[/PHP] Ich hab 2 Textboxen. Einmal Textbox für die Eingabe (tbNr) und einmal Ausgabe (tbLizenz). Ich möchte jedes Zeichen, das in dem String ist, den Ascii Code herauslesen und von der eingegebenen Zahl subtrahieren. String wäre z.B. Hallo: Also tbNr.Text - (minus) Ascii-Wert H - Ascii-Wert A ... ... ... Das Ergebnis möchte ich mir gerne in der Textbox für die Ausgabe anzeigen lassen. Danke für die Hilfe.
7. Oktober 200915 j Sowas? char.ConvertToUtf32("ABC", 0) //returns 65 char.ConvertToUtf32("ABC", 1) //returns 66 char.ConvertToUtf32("ABC", 2) //returns 67
7. Oktober 200915 j Autor Müsste das dann so aussehen:?! private void btnGenerieren_Click(object sender, EventArgs e) { tbLizenz.Visible = true; label2.Visible = true; string strBuchstabe = tbNr.Text; string strAusgabe = ""; if (tbNr.Text == "") { MessageBox.Show("Fehlerhafte Eingabe!", "Fehler!"); tbLizenz.Visible = false; label2.Visible = false; } else { foreach (char c in strBuchstabe) { strBuchstabe = System.Convert.ToInt32(c).ToString(); char.ConvertToUtf32(strBuchstabe, 0); char.ConvertToUtf32(strBuchstabe, 1); char.ConvertToUtf32(strBuchstabe, 2); char.ConvertToUtf32(strBuchstabe, 3); char.ConvertToUtf32(strBuchstabe, 4); char.ConvertToUtf32(strBuchstabe, 5); strAusgabe += strBuchstabe; } tbLizenz.Text = strAusgabe; } }[/PHP] Da ich Anfänger bin, versteh ich´s noch nicht so ganz, ob ich nun was falsches angegeben hab. Ab dem 3. bringt er mir, dass es außerhalb des Bereiches liegt?! Als Rückgabewert gibt er mir bei jedem Zeichen die 50 zurück.
7. Oktober 200915 j Kurze Frage zur Verständnis. Soll das eine Chiffre werden? Sieht mir ganz danach aus als wenn du deinen Klartext den du eingegeben hast durch das Umrechnen in ASCII und Subtrahieren des ASCII-Wertes von H in eine Geheimschrift wie die Caesarchiffre wandeln willst. Ist das richtig?
7. Oktober 200915 j Autor @Hahne. Nein das ist nicht richtig. Ich weiß garnicht was die Begriffe bedeuten, die Du mir grad an den Kopf wirfst:D Hier ist die Lösung...War eigentlich ganz einfach: for (int i = 0; i < tbKunde.Text.Length; i++) { iKey -= tbKunde.Text[i]; } tbLizenz.Text = iKey.ToString();[/PHP] Danke für Eure Hilfe
8. Oktober 200915 j Kurze Frage zur Verständnis. Soll das eine Chiffre werden? Sieht mir ganz danach aus als wenn du deinen Klartext den du eingegeben hast durch das Umrechnen in ASCII und Subtrahieren des ASCII-Wertes von H in eine Geheimschrift wie die Caesarchiffre wandeln willst. Ist das richtig? Wenn ich von der Benamung der zweiten Textbox ausgehe, dann soll das von ein "Lizenzgenerator" werden. Für nen Anfänger sollten aber erstmal andere, grundlegende, Dinge wichtiger sein.
8. Oktober 200915 j Autor Das hast Du schon gut erkannt. Klar, sind grundlegende Dinge besser, für einen Anfänger, aber ich denke, dass auch für Anfänger solche "Versuche" von großem Wert sind, um den Kenntnisstand zu erweitern.
8. Oktober 200915 j Aso gut das habe ich übersehen. Kam mir halt mit dem Umrechnen in ASCII so bekannt vor. Hatte das mal früher ähnlich gemacht als ich eine Caesarchiffre programmiert hatte.
8. Oktober 200915 j Das hast Du schon gut erkannt. Diese Variante einer Lizenzerstellung würde ich aber so nicht nutzen, da man, wenn es wirklich nur dieser Algorithmus ist, dies sehr leicht umgehen. Bearbeitet 8. Oktober 200915 j von lbm1305
8. Oktober 200915 j Autor Soll auch in dem Zusammenhang nur eine kleine Übung für mich sein, da ich erst angefangen habe, zu programmieren und Du siehst, ich hab eine Weile dafür gebraucht, dies zu lösen.
8. Oktober 200915 j Ich hätte eher sowas gedacht: for (int i = 0; i < tbKunde.Text.Length; i++) [INDENT]tbLizenz.Text += char.ConvertToUtf32(tbKunde.Text, i).ToString();[/INDENT]
8. Oktober 200915 j Ich hätte eher sowas gedacht: for (int i = 0; i < tbKunde.Text.Length; i++) [INDENT]tbLizenz.Text += char.ConvertToUtf32(tbKunde.Text, i).ToString();[/INDENT] Anderer Vorschlag (in einem Beispiel einer Console-Anwendung): string txtEingabe = "Hallo Welt"; foreach (var item in txtEingabe) { Console.Write((int)item); }
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.