![]() |
AW: Doppelte Hochkommata
Was passiert, wenn man die doppelten einfachen Hochkommata auswechselt auf doppelte Hochkommata chr(34) ?
|
AW: Doppelte Hochkommata
Zitat:
Delphi-Quellcode:
bleiben die doppelten einfachen Hochkommata
s := ReplaceStr(dmsDocObj.URL, '''''', '""');
|
AW: Doppelte Hochkommata
Zitat:
Delphi-Quellcode:
Was kommt da raus?
s := dmsDocObj.URL;
s2 := ''; for p := 1 to s.length do begin s2 := Format('%s#%.3d',[s2,Ord(Copy(s, p, 1))]); end; ShowMessage(s2); Steht dadrinne irgendwo #061#039#039#076#068#080#039#039? Wenn nein, was sind die zwei Zeichen vor #076#068#080 und was die zwei Zeichen dahinter? Die Url im Eingangspost läßt sich im FireFox ohne besagte Fehlermeldung aufrufen. Poste bitte mal die Originalurl aus dmsDocObj.URL (alles ab /sap/) zwischen [code]hier die Url einfügen[/code]-Tags. |
AW: Doppelte Hochkommata
Zitat:
Delphi-Quellcode:
Also nur durch ein einziges doppeltes HK ersetzen.
StringReplace(dmsDocObj.URL, '''''', '"', [rfReplaceAll]);
... oder besser lesbar ... StringReplace(dmsDocObj.URL, chr(39) + chr(39), chr(34), [rfReplaceAll]); |
AW: Doppelte Hochkommata
Wird im Debugger das doppelte '' angezeigt, oder ist es wirklich drin?
Im Debugger sieht ein ab'cd natürlich aus wie
Delphi-Quellcode:
, genauso wie im Quellcode, aber IM String ist natürlich nur ein '.
'ab''cd'
|
AW: Doppelte Hochkommata
Zitat:
Code:
'/sap/opu/odata/sap/Z_ISHMED_BASIC_API_SRV/documentsSet(Dokar=''LDP'',Doknr=''10043643970'',Doktl=''000'',Dokvr=''00'')/$value'
Delphi-Quellcode:
ergibt
s := StringReplace(dmsDocObj.URL, chr(39) + chr(39), chr(34), [rfReplaceAll]);
Code:
'/sap/opu/odata/sap/Z_ISHMED_BASIC_API_SRV/documentsSet(Dokar=''LDP'',Doknr=''10043643970'',Doktl=''000'',Dokvr=''00'')/$value'
|
AW: Doppelte Hochkommata
Zitat:
|
AW: Doppelte Hochkommata
Zitat:
Delphi-Quellcode:
s := dmsDocObj.URL;
s2 := ''; for p := 1 to s.length do begin s2 := Format('%s#%.3d',[s2, Ord(Copy(s, p, 1)[1] )]); end;
Code:
Es steht nur jeweils ein #039 davor und danach. Damit wäre der String korrekt und ich muss den Fehler an anderer Stelle suchen...:oops:
'#104#116#116#112#115#058#047#047#102#102#112#112#097#115#046#097#100#046#107#108#105#110#105#107#046#117#110#105#045#117#108#109#046#100#101#058#056#052#052#051#047#115#097#112#047#111#112#117#047#111#100#097#116#097#047#115#097#112#047#090#095#073#083#072#077#069#068#095#066#065#083#073#067#095#065#080#073#095#083#082#086#047#100#111#099#117#109#101#110#116#115#083#101#116#040#068#111#107#097#114#061#039#076#068#080#039#044#068#111#107#110#114#061#039#049#048#048#052#051#054#052#051#057#055#048#039#044#068#111#107#116#108#061#039#048#048#048#039#044#068#111#107#118#114#061#039#048#048#039#041#047#036#118#097#108#117#101'
|
AW: Doppelte Hochkommata
Zitat:
Angezeigt/kopiert wird die Schreibweise der String-Konstante. Darum auch vorne und hinten noch je ein ' Wären es wirklich Doppelte, dann sähe es so aus
Delphi-Quellcode:
'/sap/opu/odata/sap/Z_ISHMED_BASIC_API_SRV/documentsSet(Dokar=''''LDP'''',Doknr=''''10043643970'''',Doktl=''''000'''',Dokvr=''''00'''')/$value'
Delphi-Quellcode:
'/sap/opu/odata/sap/Z_ISHMED_BASIC_API_SRV/documentsSet(Dokar=''LDP'',Doknr=''10043643970'',Doktl=''000'',Dokvr=''00'')/$value'
entspricht /sap/opu/odata/sap/Z_ISHMED_BASIC_API_SRV/documentsSet(Dokar='LDP',Doknr='10043643970',Doktl ='000',Dokvr='00')/$value die Konstante hätte aber auch z.B. so aussehen können
Delphi-Quellcode:
'/sap/opu/odata/sap/Z_ISHMED_BASIC_API_SRV/documentsSet(Dokar='#39'LDP'#39',Doknr='#39'10043643970'#39',Doktl='#39'000'#39',Dokvr='#39'00'#39')/$value'
oder in der ausführlichen Schreibweise
Delphi-Quellcode:
'/sap/opu/odata/sap/Z_ISHMED_BASIC_API_SRV/documentsSet(Dokar=' + #39 + 'LDP' + #39 + ',Doknr=' + #39 + '10043643970' + #39 + ',Doktl=' + #39 + '000' + #39 + ',Dokvr=' + #39 + '00' + #39 + ')/$value'
oder oder oder ... Ein doppeltes '' in der String-Konstante ist ein '-Zeichen. Ein einfaches ' am Anfang/Ende/Dazwischen ist der Anfange oder das Ende der Konstante. Und ''' am Anfang oder Ende sind der Anfang/Ende plus ein '-Zeichen. Ähnlich wie in C-Sprachen ein \-Zeichen als \\ in String-Konstanten steht. |
AW: Doppelte Hochkommata
Zitat:
" entspricht %39 als urlcodierter Wert. Alle hier erwähnten Lösungen konvertieren den Text in Delphi Syntax, aber lösen nicht den Grundfehler, dass die URL nicht korrekt codiert ist. EDIT: Das letzte %39 in meienem obigen Beispiel darf kein Leerschlag enthalten! Also immer %39, da macht die Forumsoftware irgend was damit falsch. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 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