![]() |
Re: Wie setzte ich ein Hochkomma als String?
Zitat:
Finde ich besser als diese vielen '''''' :angle2: |
Re: Wie setzte ich ein Hochkomma als String?
Wie mit dem Trennzeichen? So? 'onClick="self.location.href=''/ADOWebModul/DVDISAPI.dll/Reserv?FilmNr=' + ADODataSetFilmeFilmNr.AsString + '&' + '''">'
Funzt aber auch nicht...leider... Gambit |
Re: Wie setzte ich ein Hochkomma als String?
Versuch es mal mit nem Format, is am einfachsten
Delphi-Quellcode:
du musst nur die '25' in dem werte array, durch dein ADODataSetFilmeFilmNr.AsString ersetzen.
Format('onClick="self.location.href=%s/ADOWebModul/DVDISAPI.dll/Reserv?FilmNr=%s%0:s">', [#39, '25' ] );
mfg |
Re: Wie setzte ich ein Hochkomma als String?
Schöner Versuch aber auch das funzt nicht. Trotzdem Danke! Es funzt, solange das Attach nicht verschlüsselt wird. Sobald ich verschlüssele, fehlt das letzte Hochkomma. Habs in allen Varianten versucht...
Das Merkwürdige ist, dass das letzte Hochkomma eigentlich gar nichts mit dem Attach zu tun hat. Das letzte Hochkomma wird ja nur hinten drangehängt. Gambit |
Re: Wie setzte ich ein Hochkomma als String?
In einer URL wird ' als %27 (Hex-Code)
wird danhn sowas Id=[9596-3411BFF-0B2951]&FilmNr=24%27 KASI |
Re: Wie setzte ich ein Hochkomma als String?
Also ich denke es liegt daran: Der Verschlüsselungsmechanismus interpretiert das Hochkomma als Bestandteil der URL bzw. des Anhangs. Er verschlüsselt es daher mit. Ich müsste den String so aufbauen können, dass der Verschlüsselungsmechanismus das Hochkomma nicht als solches interpretiert. Wie weiß ich aber auch nicht...Vielleicht was für die Internetfreaks aber die lesen hier wohl nicht so oft mit, was?
Gruß Gambit |
Re: Wie setzte ich ein Hochkomma als String?
Hier mal ein Auszug aus der Unit, in der auch die Verschlüsselung des Attaches vorkommt:
Delphi-Quellcode:
Knackpunkt scheint folgende Zeile zu sein:
{attach the user id string as the first paramter to all references of this ISAPI DLL}
ChPos := FindSubStr(IsapiDllName, UpperCase(Response.Content), 1); while ChPos <> 0 do begin {copy out the URL} StartPos := ChPos + length(IsapiDllName); EndPos := FindSubStr('"', Response.Content, StartPos); S := copy(Response.Content, StartPos, EndPos-StartPos); {check if there are any parameters with this URL} ChPos := pos('?', S); if ChPos = 0 then Response.Content := copy(Response.Content, 1, StartPos-1) + S + '?Id=' + WebSession.GuidStr + copy(Response.Content, EndPos, length(Response.Content)) else begin {split the URL into its Action and Parameter pair} Action := copy(S, 1, ChPos-1); Parameters := copy(S, ChPos+1, length(S)); ... end;
Delphi-Quellcode:
Damit wird doch alles was vor dem " kommt als URL interpretiert, was ja auch in den allermeisten Fällen stimmt. Nur in diesem einen(meinem) Fall nicht.
EndPos := FindSubStr('"', Response.Content, StartPos);
Ich glaube da liegt der Hund begraben... Gambit |
Re: Wie setzte ich ein Hochkomma als String?
Ah, gut zu wissen, dass den Source der Verschlüsselung hast und entsprechend abändern kannst :wink:
Da ja mit der Position des Hochkommas gearbeitet wird, wird, wie du schon gesagt hast, alles bis vor das letzte Gänsefüßchen kopiert. Wenn du weißt, dass ein Hochkomma vor einem Gänsefüßchen nie zu der URL (bzw. zu dessen Parametern) dazugehört, dann reicht es, wenn du einfach folgende Zeile hinter die von dir hervorgehobene Zeile einfügst:
Delphi-Quellcode:
Eine saubere Variante wäre zu erfassen, ob als Attributsbegrenzer Hochkomata oder Gänsefüßchen verwendet wurden und dann das entsprechende Gegenstück am Ende zu suchen, anstatt sich nur auf Gänsefüßchen zu beschränken.
if Response.Content[EndPos-1] = '''' then Dec(EndPos);
|
Re: Wie setzte ich ein Hochkomma als String?
Oh Mann!! Das wars!! Aber auf diese eine entscheidene Zeile wär ich wohl heute nicht mehr gekommen... :oops: (Morgen wahrscheinlich auch nicht :oops: :oops: )
Ich war ja schon am Verzweifeln, konnte ja nicht ahnen oder habs einfach nicht, dass der Verfasser der Unit an so einen Fall nicht gedacht hat... Allerbesten Dank!! Was wäre ich ohne dieses Forum!! Gambit |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 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 by Thomas Breitkreuz