AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie setzte ich ein Hochkomma als String?

Ein Thema von Gambit · begonnen am 15. Sep 2003 · letzter Beitrag vom 16. Sep 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Wie setzte ich ein Hochkomma als String?

  Alt 15. Sep 2003, 21:40
Zitat von Gambit:
Tach!
Mal ne dumme Frage zwischendurch, wie setze ich ein Hochkomma als String. .....
Dafür gibt es, zumindest ab D5, die Funktion QuotedStr.

Finde ich besser als diese vielen ''''''
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#12

Re: Wie setzte ich ein Hochkomma als String?

  Alt 15. Sep 2003, 21:51
Wie mit dem Trennzeichen? So? 'onClick="self.location.href=''/ADOWebModul/DVDISAPI.dll/Reserv?FilmNr=' + ADODataSetFilmeFilmNr.AsString + '&' + '''">'

Funzt aber auch nicht...leider...

Gambit
  Mit Zitat antworten Zitat
anku

Registriert seit: 13. Sep 2003
51 Beiträge
 
#13

Re: Wie setzte ich ein Hochkomma als String?

  Alt 15. Sep 2003, 22:35
Versuch es mal mit nem Format, is am einfachsten
Format('onClick="self.location.href=%s/ADOWebModul/DVDISAPI.dll/Reserv?FilmNr=%s%0:s">', [#39, '25' ] ); du musst nur die '25' in dem werte array, durch dein ADODataSetFilmeFilmNr.AsString ersetzen.

mfg
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#14

Re: Wie setzte ich ein Hochkomma als String?

  Alt 15. Sep 2003, 22:59
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
  Mit Zitat antworten Zitat
kasi

Registriert seit: 18. Aug 2003
10 Beiträge
 
Delphi 5 Enterprise
 
#15

Re: Wie setzte ich ein Hochkomma als String?

  Alt 15. Sep 2003, 23:11
In einer URL wird ' als %27 (Hex-Code)
wird danhn sowas
Id=[9596-3411BFF-0B2951]&FilmNr=24%27

KASI
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#16

Re: Wie setzte ich ein Hochkomma als String?

  Alt 15. Sep 2003, 23:15
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
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#17

Re: Wie setzte ich ein Hochkomma als String?

  Alt 15. Sep 2003, 23:48
Hier mal ein Auszug aus der Unit, in der auch die Verschlüsselung des Attaches vorkommt:

Delphi-Quellcode:
{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;
Knackpunkt scheint folgende Zeile zu sein:

EndPos := FindSubStr('"', Response.Content, StartPos); 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.
Ich glaube da liegt der Hund begraben...

Gambit
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Wie setzte ich ein Hochkomma als String?

  Alt 16. Sep 2003, 00:29
Ah, gut zu wissen, dass den Source der Verschlüsselung hast und entsprechend abändern kannst
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:
if Response.Content[EndPos-1] = '''then Dec(EndPos); 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.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Gambit

Registriert seit: 28. Mai 2003
680 Beiträge
 
Delphi 7 Professional
 
#19

Re: Wie setzte ich ein Hochkomma als String?

  Alt 16. Sep 2003, 00:48
Oh Mann!! Das wars!! Aber auf diese eine entscheidene Zeile wär ich wohl heute nicht mehr gekommen... (Morgen wahrscheinlich auch nicht )

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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:39 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