Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi zugriffsverletzung String -> edit1.text ????!!!! (https://www.delphipraxis.net/117031-zugriffsverletzung-string-edit1-text.html)

5etH 10. Jul 2008 09:29


zugriffsverletzung String -> edit1.text ????!!!!
 
Hallo zusammen ...

ich arbeite an einer simplen verschlüsselung und bekomme eine zugriffsverletzung an der makierten stelle.

dort sollte eigentlich der verschlüsselte key stehen, bekomme aber eine zugriffsverletzung

hoffe ihr könnt mir helfen

Delphi-Quellcode:
procedure TForm9.Button6Click(Sender: TObject);
var key11 : Integer;
KeyA : array of Integer;
zwisch1 : array[0..9] of integer;
schluessel1, KeyX : String;
i : Integer;
const bin0: array[0..3] of Integer = (2,4,6,8);
const bin1: array[0..3] of Integer = (3,5,7,9);
begin
key11 := 1011101011; // ist zu verschlüsseln
    keyx := '';
    schluessel1 := IntToStr(key11);
    SetLength(KeyA, Length(schluessel1));
    Randomize;
    for I := 1 to length(schluessel1) do
      begin
        zwisch1[i] := StrToInt(schluessel1[i]);
         case StrToInt(Schluessel1[i]) of  
           0: keyA[i] := (bin0[random(3)]); //Wenn 0 verschlüssel mit ...
           1: keyA[i] := (bin1[random(3)]); //Wenn 1 verschlüssel mit ...
         end;
      end;
      for I := 1 to length(schluessel1) do
        begin
          keyX := keyX + IntToStr(keyA[i]);
        end;
        edit1.text := keyx; // Zugrifssverletzung hier
end;

schonmal vielen dank
euer Manu

Sharky 10. Jul 2008 09:37

Re: zugriffsverletzung String -> edit1.text ????!!!!
 
Hei 5etH,

so wie ich das sehe kommt die Zugriffsverletzung früher.
KeyA ist ein dynamisches Array. Diese beginnen bei 0. Du arbeitest aber von 1 bis Lenth(schluessel).
Also:
Delphi-Quellcode:
      for I := 1 to length(schluessel1) do
        begin
          keyX := keyX + IntToStr(keyA[i-1]);
        end;

DeddyH 10. Jul 2008 09:43

Re: zugriffsverletzung String -> edit1.text ????!!!!
 
Sogar noch etwas früher:
Delphi-Quellcode:
zwisch1[i] := StrToInt(schluessel1[i]);
-->
Delphi-Quellcode:
zwisch1[i - 1] := StrToInt(schluessel1[i]);

5etH 10. Jul 2008 09:47

Re: zugriffsverletzung String -> edit1.text ????!!!!
 
cool danke deddyH deine lösung war richtig ^^ hat mir geholfen vielen dank

Luckie 10. Jul 2008 09:50

Re: zugriffsverletzung String -> edit1.text ????!!!!
 
Noch ein paar Tipps:
- Du solltest dich entscheiden, ob du Variablen groß oder klein schreibst.
- Deinen Code sauberer formatieren.

Sharky 10. Jul 2008 09:54

Re: zugriffsverletzung String -> edit1.text ????!!!!
 
Zitat:

Zitat von 5etH
... deine lösung war richtig ...

:gruebel:
Und meine nicht? (Okay, den anderen Fehler hatte ich übersehen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz