Autor Beitrag
Cyberrob90
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 28.02.12 00:08 
Guten Abend,

ich habe ein kleines Problem.
Vielleicht ist es sogar ein klein wenig größer ;)

Ich möchte das Caesar-Chiffre in C# implementieren.
Hierfür habe ich eine TextBox1, welche einen String bekommt.

Dann die Buttons Decode und Encode.
Desweiteren noch TextBox2, welche den Decodierten, oder (falls vorher codiert eingegeben) den encodierten Text ausgeben soll.

Codeschnipsel zum Caesar Chiffre finde ich im Internet zuhauf, jedoch keine Möglichkeit, diese so einzubinden, dass sie wirklich nur per Druck auf den Button ausgeführt werden.

Vielleicht weiß hier jemand Rat?

Ist just for fun und ich studiere Informatik im 2. Semester.
Bitte also keine Ratschläge wie: Fang erstmal mit Grundlegendem an...
Denn das problem ist momentan größtenteils die Programmiersprache, nicht das generelle Verständnis. Wüsste halt gerne, wie sich das lösen lässt.

Ich erwarte auch nicht, dass hier wer den fertigen Code hinknallt, mich würde nur interessieren, wie ich den Code im Button aufrufen kann.
Beispielsweise diesen hier:
ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
class Program
 {
 /// <summary>
 /// Apply Caesar cipher with shift.
 /// </summary>
 static string Caesar(string value, int shift)
 {
 char[] buffer = value.ToCharArray();
 for (int i = 0; i < buffer.Length; i++)
 {
 // Letter.
 char letter = buffer[i];
 // Add shift to all.
 letter = (char)(letter + shift);
 // Subtract 26 on overflow.
 // Add 26 on underflow.
 if (letter > 'z')
 {
 letter = (char)(letter - 26);
 }
 else if (letter < 'a')
 {
 letter = (char)(letter + 26);
 }
 // Store.
 buffer[i] = letter;
 }
 return new string(buffer);
 }

 static void Main()
 {
 string a = "test";
 string b = Caesar(a, 18); // Ok
 string c = Caesar(b, -18); // Ok

 string d = Caesar(a, 1); // Ok
 string e = Caesar(d, -1); // Ok

 string f = "exxegoexsrgi";
 string g = Caesar(f, -4); // Ok

 Console.WriteLine(a);
 Console.WriteLine(b);
 Console.WriteLine(c);
 Console.WriteLine(d);
 Console.WriteLine(e);
 Console.WriteLine(f);
 Console.WriteLine(g);
 }

Gruß,
Cyberrob

PS: Sollte wie in diesem Video funktionieren, halt mit zweitem Textfeld.

www.youtube.com/watc...3q6HKzMGJC8KUkfsNhF6

Moderiert von user profile iconNarses: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4808
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 29.02.12 10:35 
Hallo Cyberrob90 :welcome:

zuallererst mußt du ja mal ein "Windows Form"-Projekt anlegen (denn dein bisheriger Code ist ja eine normale Konsolenapplikation) und dort dann TextBoxen und Buttons platzieren. Und dann mußt du halt im Button-Click Ereignis deinen Chiffre-Code aufrufen.

Trotzalledem sind dies Grundlagen, welche du z.B. im OpenBook Visual C# nachlesen kannst.

(sorry, wollte dir gestern schon schreiben, wurde dann aber abgelenkt...)