Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PosEx Bug? (https://www.delphipraxis.net/157507-posex-bug.html)

youuu 14. Jan 2011 09:37

PosEx Bug?
 
Hi,

ich hab ein Problem und zwar, scan ich einen Quelltext nach Links mit Pos.

Quelltext abschnitt:

Code:
<HTML><HEAD><TITLE>SV Büro Homepage</TITLE>
<META NAME="AUTHOR" CONTENT="Ihr Name">
.
.
.
<AREA SHAPE=RECT COORDS=" 0, 0, 109, 120" HREF="hul.htm">
so, ich benutze hierzu

Delphi-Quellcode:
      Pos2:= 0;  <-- Start des Quelltextes
      if PosEx('href=', Source, Pos2 + 1) <> 0 then begin   <-- Sobald er ein Href findet
        Pos1:= PosEx('href="', Source, Pos2 + 1); <-- Gefunden
        Pos2:= PosEx('"', Source, Pos1 + 8); <-- Gefunden
        Copy(bla)
Das Problmem an der Sache ist das Pos1 immer auf 0 rutsch Egal wo der eigentlich Href steht.
Denn ich weiß das 100% kein Href am Anfang des Quelltext zufinden ist sondern erst bei Position 1xxx, jedoch zeigt im Debugger Pos1 immer auf Position 0.

Wie kann das sein?
Selbst wenn ich
Delphi-Quellcode:
Pos1:= PosEx('href="', Source, 200);
Testweise probiere, springt er auf 0 zurück

DeddyH 14. Jan 2011 09:40

AW: PosEx Bug?
 
Ein Rückgabewert von 0 heißt nicht "Textanfang", sondern "nicht gefunden". Du musst irgendetwas falsch machen.

[edit] Aus der Hilfe geht es nicht hervor, aber vermutlich ist PosEx genau wie Pos case-sensitive. Das solltest Du überprüfen. [/edit]

Bernerbaer 14. Jan 2011 09:43

AW: PosEx Bug?
 
href <> HREF

youuu 14. Jan 2011 09:44

AW: PosEx Bug?
 
Stimmt, case-sensitive würde das Problem erklären, danke ich werde es gleich mal abändern.

Nach Abänderung funktioniert alles bestens... das ich nicht selbe rmal drauf gekommen bin :/

Danke euch

himitsu 14. Jan 2011 10:03

AW: PosEx Bug?
 
Delphi-Quellcode:
PosEx
ist genauso wie
Delphi-Quellcode:
Pos
, nur daß es da einen zusätzlichen Startparameter gibt. (Das steht aber auch in der OH drin)

Abgesehn davon sind alle Stringfunktionen erstmal CaseSensitive sind, es sei denn es wurde was anderes gesagt.

PS:
AnsiSameStr = CaseSensitive
AnsiSameText = nicht CaseSensitive


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