Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi xor erklärung (https://www.delphipraxis.net/143989-xor-erklaerung.html)

painrestricter 27. Nov 2009 15:44

Re: xor erklärung
 
Delphi-Quellcode:
var
  Form1: TForm1;
  text : string;

implementation

{$R *.dfm}

//bla bla bla

procedure TForm1.Button2Click(Sender: TObject);
var i : integer;
begin
if memo1.Text <> '' then begin
 text := memo1.text;
 try
  for i := 1 to length(text) do
  text[i] := char(21 XOR Ord(text[i]));
 except
  showmessage('bla bla');
 end
end
else
 showmessage('bla bla');
end;
edit: ok ich hab den fehler gefunden: ich hab text also string deklariert, und delphi hat es als irgendwas anderes erkannt. Hab jetzt einen anderen variablen namen genommen, und siehe da, es geht :wall:

Christian Seehase 27. Nov 2009 17:34

Re: xor erklärung
 
Moin,

Zitat:

Zitat von painrestricter
ich hab text also string deklariert

Wobei es prinzipiell keine gute Idee ist Variablen mit dem gleichen Namen zu deklarieren, wie Eigenschaften von Objekten heissen.
Die Variable Text, die Du deklariert hast, ist nicht das, was in der ButtonClick-Routine angesprochen wird.
Dort wird Text als Caption des Formulares angesehen. Das ist dann wohl auch der Grund, warum es mit einem anderen Namen funktioniert.

BTW:
Die Variable ist wahrscheinlich als (privates) Feld des Formulares ganz gut aufgehoben (statt als globale Variable)

omata 27. Nov 2009 19:33

Re: xor erklärung
 
Der Vollständighalber...

char ist ein Datentyp und somit wird hier ein Typcast (ist grundsätzlich böse) durchgeführt.

Das Umwandlen einer Ordinalzahl in das zugehörige Zeichen wird mit der Funktion chr durchgeführt.

painrestricter 28. Nov 2009 13:19

Re: xor erklärung
 
christian, dasselbe hab ich dann auch bemerkt, war mein fehler :)
aber dafür hat man ja euch :thumb:

hab einen frei erfundenen variablen namen genommen und jetzt geht alles perfekt

danke


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 Uhr.
Seite 2 von 2     12   

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