zmiana znakow podczas zapisu do pliku

0

witajcie. ostatnio zapisywalem dane do pliku txt ale lepszy rozwaizaniem jak dla mnie okazal sie HTML... wlasie do niego dopisuje dane ale jest pewnien problem poniewaz html nie wyswietla tekstu ktory zawarty jest pomiedzy znakami "<" i ">" bo mysli ze sa to tagi html. dlatego chcialbym aby znaki <> byly zamienione na odpowiedniki:
">" na ">"
"<" na "<" w rezultacie czego slowo "<heja> bedzie zapisane jako "<heja>"

nie bardzo wiem jak to wykonac :( dla ulatwienia podam kodzik ktory zrobilem do zapisywania : (btw. nie smiac sie prosze:P moze nie jest najlepszy ale za to dziala :> wiem ze to slabe wytlumaczenie):

 assignfile(t, 'sms_arch.html');
 if FileExists('sms_arch.html') then
    Append(t)
   else
    begin
     Rewrite(t);
     writeln(t, '<html><head><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">');
     writeln(t, '<style TYPE="text/css">}');
     writeln(t, '.tresc { COLOR: #000000; FONT-FAMILY: Arial, Tahoma, Verdana, Geneva, sans-serif, Helvetica; FONT-SIZE: 9pt; FONT-WEIGHT: normal;}</STYLE>');
     writeln(t, '</HEAD>');
     writeln(t, '<BODY>');
     writeln(t, '<table width=90% border=1 bordercolor=black class=tresc>');
    end;
     writeln(t, '<TR><TD BGCOLOR="#DEDEDE"><B>');
     writeln(t, FormatDateTime('dd mmmm yyyy', Now) + (' ; ') + TimeToStr(Time),'</B></td></tr>');
     writeln(t, '<TR><TD>');
     write(t, '-');
     for i := 0 to src.lines.count-1 do
       writeln(t, src.lines[i]+s);
       closefile(t);

z gory dzieki za pomoc! [browar]

wrrr... nie wiem jak juz zrobic... "<" ma zamienic na " & l t ; "
a ">" na "& g t ; "

0

Zamieniasz po prostu "zabronione" znaki na unicode i wyciągasz numer znaku. Następnie zapisujesz ten numer, a przed nim umieszczasz &# i to tyle..

np. znak '<' = 60 = &# 60 - jak tak zapiszesz to wyswietli go przegladarka, ew.
możesz także zapisać w postaci szesnastkowej (za hashem nie powinno byc spacji)
do zamiany znaku na jej postać liczbową służy ord(znak)

tu masz tabele wszystkich wartosci :

http://web.reporter.pl/html/t/znaki.php

0
for i := 0 to src.lines.count - 1 do
       writeln(t, StringReplace(StringReplace(src.lines[i]+s, '<', '*X', [rfReplaceAll]), '>', *Y;', [rfReplaceAll]));

Za *X podstaw LT ze znaczkiem na początku .. - jak on się zwał (Shift + 7) :)

Za *Y - (Shift+ 7) + GT

0

Za *X podstaw LT ze znaczkiem na początku .. - jak on się zwał (Shift + 7) :)

heh... tez nigdy nie wiem jak on sie zwie ;) ale wiadomo o co chodzi hehe...

dzieki wielkie !! [uklon]

0

Za *X podstaw LT ze znaczkiem na początku .. - jak on się zwał (Shift + 7) :)

heh... tez nigdy nie wiem jak on sie zwie ;) ale wiadomo o co chodzi hehe...

dzieki wielkie !! [uklon]

ampersand ??

0

& = i
przynajmniej ja na niego tak wołam :)

0

hehe... oboje przedmowcy maja racje ;) ale gdybym napisal "i" to dopiero mielibyscie zagadke :P i to cos malo zwiazana z samym kodem ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1