Autor |
Beitrag |
Stefan-W
      
Beiträge: 475
Win 7 SP1
D2005 PE
|
Verfasst: Mi 08.12.04 17:12
hi,
du kannst doch einfach eine Function schreiben die wie folgt aussieht:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| function TForm1.Encode(Zeichen: String): String; begin
if Zeichen = 'A' then Result := '%' else if Zeichen = 'a' then Result := 'B' else if Zeichen = 'B' then Result := 'd'
else if Zeichen = 'z' then Result := '|' else if Zeichen = ' ' then Result := '>';
end; |
(für alle andern, ich weis es ist nicht die beste art aber es erfüllt den zweck)
Das wäre dann deine Tabelle.
Vergiss aber bitte nicht die Zeile
Delphi-Quelltext 1:
| procedure Encode(Zeichen: String): String; |
nach der Zeile
Delphi-Quelltext 1:
| procedure Button1Click(Sender: TObject); |
(oben vor private) einzutragen.
und dann schreibst du in deine Button-Procedure noch den aufruf für die Funktion...
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin for i := 1 to length(Memo1.Text) do begin Memo2.Text := Memo2.Text + Encode(Memo1.Text[i]); end; end; |
und schon hast du das was du willst.
Bei Fragen BITTE unbedingt in die Hilfe sehen, das spart dir so manche Mühe!
Und immer, immer wieder selbst ausprobieren, da lernst du am meisten!
Tschau
PS.: an die andern: bitte seid mir nicht böse, dass ich gleich eine (vielleicht) passende lösung gepostet hab...
|
|
Basti
      
Beiträge: 345
Windows Vista
D2005 Pers, D7 Pers
|
Verfasst: Mi 08.12.04 17:17
Weisst du, was eine Schleife und eine Verzweigung ist?
Ich ahne da nämlich übles, deshalb zur Vorsicht mal ein Link:
www.delphi-source.de/grundlagen/sprache/
Also Nochmal.
1. Lies eine Zeile des Memosaus
2. Gehe jedes Zeichen des Strings durch und verschlüssle es nach deiner Idee
3. gib die Zeile auf dem Ausgabememo aus
Schritte 1-3 müssen so oft wiederholt werden, wie du Zeilen hast.
Erscheint das logisch?
Wie du das verschlüsselst ist dein Ding!
Wir haben dir 2 Wege gezeigt: StringReplace und ich habe dir etwas vom ASCII
Code erzählt...
Vielleicht hilft dir das:
Nimm dir einfach einen Zettel und schreib ein Wort auf.
Dann codierst du dein Wort im Kopf und schreibst es auf (wenn möglich).
Anschließend üüberlegst du, was du gemacht hast und setzt es in Code um.
Also:
1. Buchstaben ausgewählt => verschlüsselt => zu neuem Wort hinzugefügt
2. Buchstaben ausgewählt => verschlüsselt => zu dem 1. verschlüssleten Buchstaben hinzugefügt
3. Buchstaben ausgewählt => verschlüsselt => zu dem verschlüssleten Wort hinzugefügt
....
_________________ Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 08.12.04 17:17
@stefan:
Die Anderen die es nicht machen, sind nur zu faul. Alles andere sind Ausreden.
Im ernst: wenn er sich bemüht hat und einfach nicht mehr weiter weiß, ist das schon ok.
|
|
Stefan-W
      
Beiträge: 475
Win 7 SP1
D2005 PE
|
Verfasst: Mi 08.12.04 17:23
@yogo: Basti hat ein wunderbaren weg wie man programmiert! Ich mach des genauso. Wenn ich weis was nacheinander geschieht kann ich das in Code umsetzen, und wenn du das trauf hast geht alles wie von allein...
@jasocul: Danke, binn jetzt erleichtert... Ich dachte ich bekomm jetzt Teamschläge... 
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: Mi 08.12.04 18:15
Vielen Dank, bis jetzt hat es funktioniert.Danke, danke, irgenwas musste ja gehen wenn es in delphi 5 geradeso nicht funktioniert het. Danke, danke!!
Hät nicht gedacht dass das mit dem else, if, then Verfahren geht!!
Zuletzt bearbeitet von yogo am Mi 08.12.04 18:19, insgesamt 1-mal bearbeitet
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: Mi 08.12.04 18:17
Eine frage noch was ist bitte 'Zeichen'?
|
|
Stefan-W
      
Beiträge: 475
Win 7 SP1
D2005 PE
|
Verfasst: Mi 08.12.04 18:22
Das ist das Parameter in der Funktion. Das was du in den Klammern eingibst wird in der Funktion unter dem Namen geführt... eigendlich eine Variable die aber halt den Übergabe-Parameter beschreibt...
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: Do 09.12.04 12:25
Ist sie auch in einem neueren Delphi? 
|
|
jasocul
      
Beiträge: 6393
Erhaltene Danke: 147
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Do 09.12.04 12:35
Das ist eine vom Programmierer definierte Übergabe-Variable.
Die Funktion oder Prozedur, die du erstellst, benötigt einen Wert, mit dem diese dann arbeiten kann. Das wird dann als Parameter übergeben.
Innerhalb der Funktion kannst du dann die Variable mit dem übergebenen Wert benutzen.
Das gibts seit vielen Jahren. Sogar schon vor Delphi. Möglicherweise schon bevor du geboren warst. 
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: Do 09.12.04 14:20
Stringreplace ist nicht in der sysutils von Delphi 3 drin. Auch Eingabe und Ausgabe sind nirgens zu finden. Kann mir die einer mailen?
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: Do 09.12.04 15:09
|
|
Stefan-W
      
Beiträge: 475
Win 7 SP1
D2005 PE
|
Verfasst: Do 09.12.04 15:42
einfach ausprobieren...
bis es das macht was es soll...
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: Fr 10.12.04 22:21
iCh krieg es nicht gebacken. Erst will er von mir, dass ich die Variablen nur in die ButtonClick Prozedur reinschreibe. Ich glaube ich tappe im dunkeln.
Ich krieg in nicht einmal dazu, dass er das Ergebnis in ein Edit hineinschreibt. Eingabe und Ausgabe gibts ja auch nicht. lohnt es sich gleich eine neue Delphi Version zu kaufen.
Zuletzt bearbeitet von yogo am Fr 10.12.04 22:34, insgesamt 1-mal bearbeitet
|
|
Basti
      
Beiträge: 345
Windows Vista
D2005 Pers, D7 Pers
|
Verfasst: Fr 10.12.04 22:31
yogo hat folgendes geschrieben: | Eingabe und Ausgabe gibts ja auch nicht. lohnt es sich gleich eine neue Delphi Version zu kaufen. |
Was, wenn nicht das Einlesen von Editfeldern und das Ausgeben in Editfeldern, bezeichnest du als Ein- und Ausgabe?
Ich glaube nicht, dass du dir eine neue Delphi Version kaufen musst,
mit Delphi 3 kann man ganz tolle Sachen machen.
Ich glaube es liegt er an etwas anderem...
Was benutzt du denn für Code?
_________________ Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: Sa 11.12.04 12:16
Diesen:
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: 51: 52: 53: 54: 55: 56: 57: 58:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1; j,v: integer; s,t: string; c: char;
implementation
{$R *.DFM}
procedure TForm1.Button1click(Sender: TObject); var k,i : integer; begin s := (Edit1.text); k := length(s); v := StrToInt(Edit2.text); t := (Edit3.text); for i := 1 to k do begin c := s[i]; j := ord(c); j := j + v; c := chr(j); t := t + c; end; s := ''; k := length(t); for i := 1 to k do begin s := s + chr(ord(t[i]) - v); end end;
end. |
Moderiert von Christian S.: Code- durch Delphi-Tags ersetzt.
|
|
Basti
      
Beiträge: 345
Windows Vista
D2005 Pers, D7 Pers
|
Verfasst: So 12.12.04 14:59
Ich versteh das Problem nicht ganz - es funktioniert doch!
Also Fehler kommen keine und eine Ausgabe hast du ja nirgends programmiert...
_________________ Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: So 12.12.04 21:47
Ja, aber er soll ja das Ergebnis in ein Edit schreiben....
|
|
Basti
      
Beiträge: 345
Windows Vista
D2005 Pers, D7 Pers
|
Verfasst: So 12.12.04 21:55
Na dann musst du den Code dazu schreiben!
Eingabe => Veraarbeitung => Ausgabe
Eingabe hast du: s := (Edit1.text);
Verarbeitung hast du auch.
Aber wo hast du denn die Ausgabe?
Um etwas einzulesen, speicherst du den Wert eines Editfeldes in einer Variable.
Um etwas auszugeben, speicherst du den Wert ...... in .....
Die Eingabe ist doch das genaue Gegenteil der Ausgabe.
Nun überlegst du bloß welche Variable ausgegeben werden soll und in welches Editfeld.
_________________ Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
Zuletzt bearbeitet von Basti am So 12.12.04 22:01, insgesamt 2-mal bearbeitet
|
|
yogo 
      
Beiträge: 121
Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
|
Verfasst: So 12.12.04 21:57
|
|
Basti
      
Beiträge: 345
Windows Vista
D2005 Pers, D7 Pers
|
Verfasst: So 12.12.04 22:02
Basti hat folgendes geschrieben: | Nun überlegst du bloß welche Variable ausgegeben werden soll und in welches Editfeld. |
yogo hat folgendes geschrieben: | Weiss ich nicht. |
Na wenn du nicht weisst welche Variable und welches Editfeld, dann kann ich dir auch nicht helfen...
_________________ Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
|
|