Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi String in Char umwandeln Sonderzeichen ' verändern in '' (https://www.delphipraxis.net/83840-string-char-umwandeln-sonderzeichen-veraendern.html)

Hallo_Thomas 7. Jan 2007 01:21


String in Char umwandeln Sonderzeichen ' verändern in ''
 
Hallo,

Ich habe zur Laufzeif folgenden String erstellt:


'o'#$13#$13#$13#$13#$13#$13#$13#$13'<agX_'#$1B'E'# $1C#$13'CXag\h`'

String[1]='o'
String[2]=#$13

Wie kann ich das ' Zeichen zur Laufzeit entwerten zu ''?

Harry M. 7. Jan 2007 01:28

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Was meinst Du mit entwerten?

// Edit: Guck mal ob StringReplace oder das Asci-Zeichen 39 was für dich wäre...

Hallo_Thomas 7. Jan 2007 01:35

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
' soll zu '' entwertet werden, damit Delphi den String so erkennt:

String[1]='
String[2]=o


Zitat:

Guck mal ob StringReplace oder das Asci-Zeichen 39 was für dich wäre...
hab ich schon, leider nix gefunden, leider ist '' auch sehr schwer zu suchen.

lbccaleb 7. Jan 2007 01:41

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
suchst du ungefähr sowas:


if string[1] = '''' then string[1] := '"'

das erste sind 4 x shift + raute taste
und das zweite sind 1 ausrufe zeichen in zwei apostrophs oder wie nennt man diee weiß ich jetzt nicht genau
das erkennt man hier nämlich so schlecht...

so hab ich das verstanden was du suchst..

Hallo_Thomas 7. Jan 2007 01:56

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Es ist immer das Zeichen über der Raute, also das, womit Delphi die Strings markiert

lbccaleb 7. Jan 2007 02:01

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
also willst du nur das ' in zwei von denen hintereinander machen??

Harry M. 7. Jan 2007 02:02

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Ja das ist Asci39
Delphi-Quellcode:
S := #39 + ' Bla ' + #39
Zeigt -> 'Bla'

Oder
Delphi-Quellcode:
StringReplace(S, #39,'"',[rfReplaceAll])

Hallo_Thomas 7. Jan 2007 02:18

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Liste der Anhänge anzeigen (Anzahl: 2)
Klappt leider nicht, ich stell gleich mal ein Beispiel Programm rein

Das Problem ist, der Sring wird zur Laufzeit nur mit einem #39 (') erstellt!



So hier ist es,das Beispel;

Muetze1 7. Jan 2007 02:45

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Liste der Anhänge anzeigen (Anzahl: 1)
Meinst du es so?

Ich muss dazu sagen, ich weiss nicht was du erreichen willst. Ich hatte bei der Arbeit vermutet du willst einen binären String dort ins Memofeld "pasten" und dann den so umwandeln dass du den umgewandelten String nehmen kannst und direkt bei dir im Delphi einfügen kannst z.B. bei einer String Zuweisung. Sehe ich das richtig?

Hallo_Thomas 7. Jan 2007 03:03

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Oh Danke, MEIN RETTER!


So Ähnlich!

Ich musste zwar ein doppelpost machenErster Post egal

Ich will den Spass(Binärdatei) eigentlich per email verschicken! Nur haute mich php immer bei \;';"; raus, und ich habs echt nicht geschafft die z
Zeichen zu entwerten! Jetzt klappt ja, Dankeschön!

Hallo_Thomas 7. Jan 2007 04:53

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Denkste, leider klappts noch immer nicht

Das sollte er tun
'o'#$13#$13#$13#$13#$13#$13#
Das macht der Code
'o'#19#19#19#19#19#19#19#19

Hatte noch eh bissl Experementiert, aber irgendwie will der Code nich

da ich nun ''o' hatte, wollte ich '' abschneiden, aber er nimmt nur ' oder 'o', alles Spass

marabu 7. Jan 2007 08:36

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Hallo Thomas,

wenn es sich bei deiner Zeichenkette

Zitat:

'o'#$13#$13#$13#$13#$13#$13#$13#$13'<agX_'#$1B'E'# $1C#$13'CXag\h`'
um ein Delphi String-Literal handelt und du das ganze in ein PHP String-Literal umwandeln möchtest, dann ist vorab festzustellen, dass der String selbst gar kein Apostroph enthält - die sichtbaren Apostrophe sind lediglich Metazeichen von Delphi. Wäre wirklich ein Apostroph enthalten so müsstest du es mit einem Backslash maskieren, genauso den Backslash selbst. Möchtest du den entstandenen String dann noch als mail-text versenden, dann musst du ihn in ein 7-Bit Format wandeln. Das musst du aber nicht selbst programmieren, denn dazu stehen in PHP Funktionen bereit. Schau mal in das Handbuch.

Grüße vom marabu

Nachtrag: #$13 heißt in PHP \0x13 - aber das hättest du im Handbuch bestimmt selbst herausgefunden.

Muetze1 7. Jan 2007 15:24

Re: String in Char umwandeln Sonderzeichen ' verändern in ''
 
Zitat:

Zitat von Hallo_Thomas
Das sollte er tun
'o'#$13#$13#$13#$13#$13#$13#
Das macht der Code
'o'#19#19#19#19#19#19#19#19

Ob der CharCode nun in dezimal oder Hexadezimal angegeben wird, ist doch Schnuppe. Wenn du es aber unbedingt in Hex haben willst, dann ersetze das
Delphi-Quellcode:
IntToStr(Ord(lChar))
im Code durch
Delphi-Quellcode:
'$' + IntToHex(Ord(lChar), 2)
Aber wozu das ist bzw. ob meine Vermutung mit dem Delphi String richtig ist - oder du vllt. einen PHP String haben willst - das hast du uns immernoch nicht verraten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:03 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