Autor Beitrag
Stefan-W
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 475

Win 7 SP1
D2005 PE
BeitragVerfasst: Mi 08.12.04 17:12 
hi,

du kannst doch einfach eine Function schreiben die wie folgt aussieht:
ausblenden 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'

// ... hier bitte dann alle Zeichen die du ändern möchtest reinschreiben

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
ausblenden Delphi-Quelltext
1:
procedure Encode(Zeichen: String): String;					

nach der Zeile
ausblenden 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...

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 345

Windows Vista
D2005 Pers, D7 Pers
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 475

Win 7 SP1
D2005 PE
BeitragVerfasst: 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... :roll:
yogo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Mi 08.12.04 18:17 
Eine frage noch was ist bitte 'Zeichen'?
Stefan-W
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 475

Win 7 SP1
D2005 PE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Do 09.12.04 12:25 
Ist sie auch in einem neueren Delphi? :?:
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: 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. :wink:
yogo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Do 09.12.04 15:09 
etwa so:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.Button1.click(Sender: TObjekt)
var
  i,j,v: integer;
  s,t: string;
  c: character;
begin
  s := (Edit1.text);
  v := (Edit2.text);
  t := (Edit3.text);
  for i := 1 to lenght(s) do
  begin
    c := s[i];
    j := ord(c);
    j := j + v;
    c := chr(j);
    t := t + c;
  end;
  s := '';
  for i := 1 to lenght(t) do
  begin
    s := s + chr(ord(t[i]) - v);
  end
end;


Moderiert von user profile iconUGrohne: Delphi-Tags hinzugefügt.
Stefan-W
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 475

Win 7 SP1
D2005 PE
BeitragVerfasst: Do 09.12.04 15:42 
einfach ausprobieren...
bis es das macht was es soll...
yogo Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 345

Windows Vista
D2005 Pers, D7 Pers
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: Sa 11.12.04 12:16 
Diesen:
ausblenden volle Höhe Delphi-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:
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
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  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 user profile iconChristian S.: Code- durch Delphi-Tags ersetzt.
Basti
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 345

Windows Vista
D2005 Pers, D7 Pers
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: So 12.12.04 21:47 
Ja, aber er soll ja das Ergebnis in ein Edit schreiben....
Basti
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 345

Windows Vista
D2005 Pers, D7 Pers
BeitragVerfasst: So 12.12.04 21:55 
Na dann musst du den Code dazu schreiben! :lol:

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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 121

Windowse, Linuxe
Delphi 3 Prof., D5 Enterprise, D6 Enterprise, Kylix, Delphi 2010
BeitragVerfasst: So 12.12.04 21:57 
Weiss ich nicht.
Basti
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 345

Windows Vista
D2005 Pers, D7 Pers
BeitragVerfasst: 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.