OSDN Git Service

bata63
[gikonavigoeson/gikonavi.git] / HTMLCreate.pas
index 41c45b7..ce950e1 100644 (file)
@@ -600,6 +600,7 @@ const
        _END: string = '&END=';
 var
        i, j, k: Integer;
+    hpos, qpos : Integer;
        tmp: string;
        res: string;
 begin
@@ -627,10 +628,21 @@ begin
                end else begin
                        k := LastDelimiter('/', tmp);
                        Delete(tmp, 1, k);
-                       if AnsiPos('-', tmp) < AnsiPos('"', tmp) then
-                               Delete(tmp, AnsiPos('-', tmp), Length(tmp))
-                       else
-                               Delete(tmp, AnsiPos('"', tmp), Length(tmp));
+            hpos := AnsiPos('-', tmp);
+            qpos := AnsiPos('"', tmp);
+            if ( (hpos > 0) and (qpos > 0) ) then begin
+                if ( qpos < hpos ) then begin
+                    Delete(tmp, qpos, Length(tmp));
+                end else begin
+                    Delete(tmp, hpos, Length(tmp));
+                end;
+            end else begin
+                if ( qpos > 0 ) then begin
+                    Delete(tmp, qpos, Length(tmp));
+                end else if ( qpos > 0 ) then begin
+                    Delete(tmp, hpos, Length(tmp));
+                end;
+            end;
 
                        PRes.FBody := PRes.FBody + '<a href="#' + tmp + '">';
                end;
@@ -1459,10 +1471,10 @@ begin
                Line := CustomStringReplace(Line, '\81\97\81M', ',');
        end;
        //Trim\82µ\82Ä\82Í\82¢\82¯\82È\82¢\8bC\82ª\82·\82é\81@by\82à\82\82ã
-       PRes.FName := RemoveToken(Line, delimiter);
-       PRes.FMailTo := RemoveToken(Line, delimiter);
-       PRes.FDateTime := RemoveToken(Line, delimiter);
-       PRes.FBody := RemoveToken(Line, delimiter);
+       PRes.FName := MojuUtils.RemoveToken(Line, delimiter);
+       PRes.FMailTo := MojuUtils.RemoveToken(Line, delimiter);
+       PRes.FDateTime := MojuUtils.RemoveToken(Line, delimiter);
+       PRes.FBody := MojuUtils.RemoveToken(Line, delimiter);
        //\82Q\82¿\82á\82ñ\82Ë\82é\82Æ\82©\82¾\82Æ\81A\96{\95\82Ì\90æ\93ª\82É\82P\82Â\94¼\8ap\8bó\94\92\82ª\93ü\82Á\82Ä\82¢\82é\82Ì\82Å\8dí\8f\9c\82·\82é
        //\91¼\82Ì\8cf\8e¦\94Â\82Å\81A\83\8c\83X\8e©\91Ì\82Ì\8bó\94\92\82©\82à\82µ\82ê\82È\82¢\82¯\82Ç\82»\82ê\82Í\92ú\82ß\82é
        PRes.FBody := TrimLeft(PRes.FBody);
@@ -1470,7 +1482,7 @@ begin
        if PRes.FBody = '' then
                PRes.FBody := '&nbsp;';
 
-       PRes.FTitle := RemoveToken(Line, delimiter);
+       PRes.FTitle := MojuUtils.RemoveToken(Line, delimiter);
 end;
 
 {!
@@ -1489,7 +1501,7 @@ begin
     s1 := s;
     idx := AnsiPos(mark, s1);
     while idx <> 0 do begin
-        Result := Copy(s1, 1, idx - 1);
+        Result := Result + Copy(s1, 1, idx - 1);
         Delete(s1, 1, idx);
         // \83^\83O\82Ì\83G\83\93\83h\82ð\92T\82·
         idx := AnsiPos('">', s1);
@@ -1500,7 +1512,7 @@ begin
         idx := AnsiPos('</a>', s1);
         if idx <> 0 then begin
             Result := Result + Copy(s1, 1, idx - 1);
-            Delete(s1, 1, idx + 4);
+            Delete(s1, 1, idx + 3);
         end;
         idx := AnsiPos(mark, s1);
     end;