Autor Beitrag
g1o2k4
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Sa 26.08.06 01:04 
nabend

hab ich nen fehler gemacht oder woran liegts , dass ich immer nen fehler bekomm ?

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:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.Text := '';
end;

procedure TForm1.Button1Click(Sender: TObject);
var s:string;
    i:integer;
begin
  s:=Memo1.Text;
  for i:=1 to length(s) do
  begin
    s[i]:=char(strtoint(Edit1.text) Xor Ord(s[i]));
  end;
  Memo1.text := s;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
    s:string;
    x:integer;
begin
  s := Memo1.text;
    for i:=0 to 255 do
    begin
      s[i]:=char(i Xor ord(s[i]));
      if s='test' then
      exit;
    end;
    Memo1.text := s;
end;


was ist der befehl dafür aus einer schleife rauszugehen und diese als erledigt zu betrachten ?

mfg g1o
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: Sa 26.08.06 01:38 
Du müsstest schon verraten, welcher Fehler wo auftritt. Laufzeitfehler(und das nur im Titel) ist da sicherlich wenig hilfreich.

Der gesuchte Befehl heißt break; Hätte dir die Delphi-Hilfe verraten können, einfach nach 'exit' suchen und dann bei 'Siehe auch'.

Falls das jetzt etwas Oberlehrerhaft klang, so wars nicht gemeint ;)

HTH, Martok

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
g1o2k4 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Sa 26.08.06 08:56 
also als fehler kommt:
"Im Projekt ....exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 004028F5 in Modul ....exe. Lesen von Adresse 00C9FFFC."

ich hab den code allerdings noch etwas modifiziert:

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:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
    i:integer;
begin
  s:=Memo1.Text;
  for i:=1 to length(s) do
  begin
    s[i]:=char(strtoint(Edit1.text) Xor Ord(s[i]));
  end;
  Memo1.text := s;
end;

procedure TForm1.Button2Click(Sender: TObject);
var i,l,x:integer;
    s:string;
    t:string;
begin
  s := Memo1.text;
    for i:=0 to 255 do
    begin
      for l:=0 to length(s) do
      begin
        s[l]:=char(i Xor ord(s[l]));
      end;
      t := s;
      for l:=0 to length(s) do
      begin
      s[l]:=char(i Xor Ord(s[l]));
      end;
      if t='test' then
      break;
    end;
    Memo1.text := t;
end;
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Sa 26.08.06 09:07 
ausblenden Delphi-Quelltext
1:
2:
3:
      for l:=0 to length(s) do  
      ...
      for l:=0 to length(s) do

Strings beginnen ab 1 zu zählen, nicht ab 0.

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Sa 26.08.06 09:11 
ausblenden Delphi-Quelltext
1:
  for l:=0 to length(s)-1 do					

Zitat:
Strings beginnen ab 1 zu zählen, nicht ab 0.
Und gehen daher bis Länge -1

_________________
Markus Kinzler.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Sa 26.08.06 11:50 
Du verwechselst da was.

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
g1o2k4 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 493



BeitragVerfasst: Sa 26.08.06 17:52 
jo stimmt. es ist wie keldorn es sagt. hab alles ausprobiert und schrittweise kompiliert und es hängt wirklich daran, dass strings bei 1 zu zählen beginnen.

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:
// verschlüsseln
procedure TForm1.Button1Click(Sender: TObject);
var s,t:string;
    i:integer;
begin
  s:=Memo1.Text;
  t :=s[1];

  for i:=1 to length(s) do
  begin
    s[i]:=char(strtoint(Edit1.text) Xor Ord(s[i]));
  end;
  Memo1.text := s;
end;

//entschlüsseln
procedure TForm1.Button2Click(Sender: TObject);
var i,l,x:integer;
    s:string;
    t:string;
begin
    for i:=0 to 255 do
    begin
        s := Memo1.text;
        label1.caption := inttostr(i);
        for l:=1 to length(s) do
          s[l]:=char(i Xor ord(s[l]));

          //for l:=1 to length(s) do
          //s[l]:=char(i Xor Ord(s[l]));

      if s='test' then
        break;
    end;
    Memo1.text := s;
end;


danke für die hilfe ! g1o