Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Memo.text mit String vergleichen: Merkwürdige zeichen... (https://www.delphipraxis.net/35860-memo-text-mit-string-vergleichen-merkwuerdige-zeichen.html)

manuel 12. Dez 2004 20:22


Memo.text mit String vergleichen: Merkwürdige zeichen...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Leute,

ich habe eine Routine erstellt, die einen normalen String mit dem kompletten Inhalt eines Memofeldes vergleichen soll:

Code:
if Memo1.text = teststring then showMessage('OK');
sollte eigentlich einwandfrei funktionieren.
seltsamerweise erscheinen im Debugger nach dem Inhalt von Memo1.text weiter merkwürdige Zeichen, und der Vergleich von sonst identischen Strings scheitert.
Hier der Inhalt von Memo1.text:
Delphi-Quellcode:
memo1.text:='testtext'#$D#$A
:? :? :?

was hat das zu bedauten, und wie kann ich das Abstellen?

Danke schon mal im voraus...

manuel

nailor 12. Dez 2004 20:24

Re: Memo.text mit String vergleichen: Merkwürdige zeichen...
 
bei mir klappts. zeig mal mehr code.

manuel 12. Dez 2004 20:32

Re: Memo.text mit String vergleichen: Merkwürdige zeichen...
 
Laut Debugger wird im Funtionsaufruf schon der merkwürdige Inhalt des Memos an die Funktion übergeben... :?


Funktionsaufruf:

Code:
personal.checkLicenceKey(memo1.text);
Die eigentliche Funtion:

Code:
function TPersonalization.checkLicenceKey(aLicenceKey:String):boolean;
begin

  temp:=help.Hash(aLicenceKey);
  temp:=temp+'-'+IntToStr(Check.generateCheckSum(temp));

  strlength:=length(temp);

  string1:=copy(aLicenceKey,2,StrToInt(aLicenceKey[1])-2);
  string2:=copy(aLicenceKey,StrToInt(aLicenceKey[1])+5,(length(aLicenceKey)-(StrToInt(aLicenceKey[1])+4)));
  string1:=string1+string2;

  i:=0;
  while i <> regenerated do
  begin
      string1:=ReHashLicenceKey(string1);
      inc(i);
  end;

  showMessage(aLicenceKey+#10+#13+temp+#10+#13+string1);
  if temp = (string1) then
  begin
    Result:=True;
 //   LicenceTime:=StrToInt(aLicenceKey[StrToInt(aLicenceKey[1])]);
 //   showMessage('Lizenzdauer: '+IntToStr(LicenceTime));
  end
  else Result:=false;
end;

SirThornberry 12. Dez 2004 20:32

Re: Memo.text mit String vergleichen: Merkwürdige zeichen...
 
*lol*
Zitat:

#$D#$A
heißt nix anderes als
Delphi-Quellcode:
#13#10
und das ist nix anderes als ein Zeilenumbruch. Du müsstest einfach nur den Zeilenumbruch aus dem Memo entfernen und schon gehts.

nailor 12. Dez 2004 20:34

Re: Memo.text mit String vergleichen: Merkwürdige zeichen...
 
schon klar, dass #DA 1310 ist, aber das kann doch genausogut auch an dem String drankleben. Kommt immer drauf an, was man machen will.

manuel 12. Dez 2004 20:35

Re: Memo.text mit String vergleichen: Merkwürdige zeichen...
 
Was soll ich dazu sagen ? :wall:

hat mich allerdings etwas irritiert dass das ganze nach den Hochkommas stand...

Dann vielen dank für die prompte Hilfe...


Gruß

manuel

:coder2:

SirThornberry 12. Dez 2004 20:38

Re: Memo.text mit String vergleichen: Merkwürdige zeichen...
 
Zitat:

Zitat von nailor
schon klar, dass #DA 1310 ist, aber das kann doch genausogut auch an dem String drankleben. Kommt immer drauf an, was man machen will.

@Nailor: Nimms mir nicht übel aber #DA ist was anders als #D#A und 1310 ist was anderes als #13#10


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

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