DELPHI problem z edycja html przez delphi

0

No więc tak moj szablon html wyglada tak


<table bordercolor="#FFFFFF" border="2" cellpadding="5" cellspacing="0" align="center">
<caption height='10' align="centre"><b>Zmienne</b></caption>
<tr  >
	<td bgcolor="#FFFFFF" colspan="4" > <th colspan="3">Ogółem</th> <th colspan="3">Dom</th> <th colspan="3">Wyjazd</th>
</tr>

<tr>
	<th>L.p.</th>	<th>Nazwa drużyny</th>	<th>Mecze</th> <th>Punkty</th> <th>Zwycięstwa</th> <th>Remisy</th> <th>Porażki</th> <th>Zwycięstwa</th> <th>Remisy</th> <th>Porażki</th> <th>Zwycięstwa</th> <th>Remisy</th> <th>Porażki</th> <th>Bramki</th>
</tr>
<tr>
	<th><!--[0,1]--></th>	<td><!--[1,1]--></td>	<td><!--[2,1]--></td> <td><!--[3,1]--></td> <td><!--[4,1]--></td> <td><!--[5,1]--></td> <td><!--[6,1]--></td> <td><!--[7,1]--></td> <td><!--[8,1]--></td> <td><!--[9,1]--></td> <td><!--[10,1]--></td> <td><!--[11,1]--></td> <td><!--[12,1]--></td> <td><!--[13,1]--></td>
</tr>
<tr>
	<th><!--[0,2]--></th>	<td><!--[1,2]--></td>	<td><!--[2,2]--></td> <td><!--[3,2]--></td> <td><!--[4,2]--></td> <td><!--[5,2]--></td> <td><!--[6,2]--></td> <td><!--[7,2]--></td> <td><!--[8,2]--></td> <td><!--[9,2]--></td> <td><!--[10,2]--></td> <td><!--[11,2]--></td> <td><!--[12,2]--></td> <td><!--[13,2]--></td>
</tr>
<tr>
	<th><!--[0,3]--></th>	<td><!--[1,3]--></td>	<td><!--[2,3]--></td> <td><!--[3,3]--></td> <td><!--[4,3]--></td> <td><!--[5,3]--></td> <td><!--[6,3]--></td> <td><!--[7,3]--></td> <td><!--[8,3]--></td> <td><!--[9,3]--></td> <td><!--[10,3]--></td> <td><!--[11,3]--></td> <td><!--[12,3]--></td> <td><!--[13,3]--></td>
</tr>
<tr>
	<th><!--[0,4]--></th>	<td><!--[1,4]--></td>	<td><!--[2,4]--></td> <td><!--[3,4]--></td> <td><!--[4,4]--></td> <td><!--[5,4]--></td> <td><!--[6,4]--></td> <td><!--[7,4]--></td> <td><!--[8,4]--></td> <td><!--[9,4]--></td> <td><!--[10,4]--></td> <td><!--[11,4]--></td> <td><!--[12,4]--></td> <td><!--[13,4]--></td>
</tr>
<tr>	
	<th><!--[0,5]--></th>	<td><!--[1,5]--></td>	<td><!--[2,5]--></td> <td><!--[3,5]--></td> <td><!--[4,5]--></td> <td><!--[5,5]--></td> <td><!--[6,5]--></td> <td><!--[7,5]--></td> <td><!--[8,5]--></td> <td><!--[9,5]--></td> <td><!--[10,5]--></td> <td><!--[11,5]--></td> <td><!--[12,5]--></td> <td><!--[13,5]--></td>
</tr>
<tr>	
	<th><!--[0,6]--></th>	<td><!--[1,6]--></td>	<td><!--[2,6]--></td> <td><!--[3,6]--></td> <td><!--[4,6]--></td> <td><!--[5,6]--></td> <td><!--[6,6]--></td> <td><!--[7,6]--></td> <td><!--[8,6]--></td> <td><!--[9,6]--></td> <td><!--[10,6]--></td> <td><!--[11,6]--></td> <td><!--[12,6]--></td> <td><!--[13,6]--></td>
</tr>
<tr>
	<th><!--[0,7]--></th>	<td><!--[1,7]--></td>	<td><!--[2,7]--></td> <td><!--[3,7]--></td> <td><!--[4,7]--></td> <td><!--[5,7]--></td> <td><!--[6,7]--></td> <td><!--[7,7]--></td> <td><!--[8,7]--></td> <td><!--[9,7]--></td> <td><!--[10,7]--></td> <td><!--[11,7]--></td> <td><!--[12,7]--></td> <td><!--[13,7]--></td>
</tr>
<tr>
	<th><!--[0,8]--></th>	<td><!--[1,8]--></td>	<td><!--[2,8]--></td> <td><!--[3,8]--></td> <td><!--[4,8]--></td> <td><!--[5,8]--></td> <td><!--[6,8]--></td> <td><!--[7,8]--></td> <td><!--[8,8]--></td> <td><!--[9,8]--></td> <td><!--[10,8]--></td> <td><!--[11,8]--></td> <td><!--[12,8]--></td> <td><!--[13,8]--></td>
</tr>
<tr>
	<th><!--[0,9]--></th>	<td><!--[1,9]--></td>	<td><!--[2,9]--></td> <td><!--[3,9]--></td> <td><!--[4,9]--></td> <td><!--[5,9]--></td> <td><!--[6,9]--></td> <td><!--[7,9]--></td> <td><!--[8,9]--></td> <td><!--[9,9]--></td> <td><!--[10,9]--></td> <td><!--[11,9]--></td> <td><!--[12,9]--></td> <td><!--[13,9]--></td>
</tr>
<tr>
	<th><!--[0,10]--></th>	<td><!--[1,10]--></td>	<td><!--[2,10]--></td> <td><!--[3,10]--></td> <td><!--[4,10]--></td> <td><!--[5,10]--></td> <td><!--[6,10]--></td> <td><!--[7,10]--></td> <td><!--[8,10]--></td> <td><!--[9,10]--></td> <td><!--[10,10]--></td> <td><!--[11,10]--></td> <td><!--[12,10]--></td> <td><!--[13,10]--></td>
</tr>
<tr>
	<th><!--[0,11]--></th>	<td><!--[1,11]--></td>	<td><!--[2,11]--></td> <td><!--[3,11]--></td> <td><!--[4,11]--></td> <td><!--[5,11]--></td> <td><!--[6,11]--></td> <td><!--[7,11]--></td> <td><!--[8,11]--></td> <td><!--[9,11]--></td> <td><!--[10,11]--></td> <td><!--[11,11]--></td> <td><!--[12,11]--></td> <td><!--[13,11]--></td>
</tr>
<tr>
	<th><!--[0,12]--></th>	<td><!--[1,12]--></td>	<td><!--[2,12]--></td> <td><!--[3,12]--></td> <td><!--[4,12]--></td> <td><!--[5,12]--></td> <td><!--[6,12]--></td> <td><!--[7,12]--></td> <td><!--[8,12]--></td> <td><!--[9,12]--></td> <td><!--[10,12]--></td> <td><!--[11,12]--></td> <td><!--[12,12]--></td> <td><!--[13,12]--></td>
</tr>
<tr>
	<th><!--[0,13]--></th>	<td><!--[1,13]--></td>	<td><!--[2,13]--></td> <td><!--[3,13]--></td> <td><!--[4,13]--></td> <td><!--[5,13]--></td> <td><!--[6,13]--></td> <td><!--[7,13]--></td> <td><!--[8,13]--></td> <td><!--[9,13]--></td> <td><!--[10,13]--></td> <td><!--[11,13]--></td> <td><!--[12,13]--></td> <td><!--[13,13]--></td>
</tr>
<tr>
	<th><!--[0,14]--></th>	<td><!--[1,14]--></td>	<td><!--[2,14]--></td> <td><!--[3,14]--></td> <td><!--[4,14]--></td> <td><!--[5,14]--></td> <td><!--[6,14]--></td> <td><!--[7,14]--></td> <td><!--[8,14]--></td> <td><!--[9,14]--></td> <td><!--[10,14]--></td> <td><!--[11,14]--></td> <td><!--[12,14]--></td> <td><!--[13,14]--></td>
</tr>
<tr>
	<th><!--[0,15]--></th>	<td><!--[1,15]--></td>	<td><!--[2,15]--></td> <td><!--[3,15]--></td> <td><!--[4,15]--></td> <td><!--[5,15]--></td> <td><!--[6,15]--></td> <td><!--[7,15]--></td> <td><!--[8,15]--></td> <td><!--[9,15]--></td> <td><!--[10,15]--></td> <td><!--[11,15]--></td> <td><!--[12,15]--></td> <td><!--[13,15]--></td>
</tr>
<tr>
	<th><!--[0,16]--></th>	<td><!--[1,16]--></td>	<td><!--[2,16]--></td> <td><!--[3,16]--></td> <td><!--[4,16]--></td> <td><!--[5,16]--></td> <td><!--[6,16]--></td> <td><!--[7,16]--></td> <td><!--[8,16]--></td> <td><!--[9,16]--></td> <td><!--[10,16]--></td> <td><!--[11,16]--></td> <td><!--[12,16]--></td> <td><!--[13,16]--></td>
</tr>
<tr>
	<th><!--[0,17]--></th>	<td><!--[1,17]--></td>	<td><!--[2,17]--></td> <td><!--[3,17]--></td> <td><!--[4,17]--></td> <td><!--[5,17]--></td> <td><!--[6,17]--></td> <td><!--[7,17]--></td> <td><!--[8,17]--></td> <td><!--[9,17]--></td> <td><!--[10,17]--></td> <td><!--[11,17]--></td> <td><!--[12,17]--></td> <td><!--[13,17]--></td>
</tr>
<tr>
	<th><!--[0,18]--></th>	<td><!--[1,18]--></td>	<td><!--[2,18]--></td> <td><!--[3,18]--></td> <td><!--[4,18]--></td> <td><!--[5,18]--></td> <td><!--[6,18]--></td> <td><!--[7,18]--></td> <td><!--[8,18]--></td> <td><!--[9,18]--></td> <td><!--[10,18]--></td> <td><!--[11,18]--></td> <td><!--[12,18]--></td> <td><!--[13,18]--></td>
</tr>
<tr>
	<th><!--[0,19]--></th>	<td><!--[1,19]--></td>	<td><!--[2,19]--></td> <td><!--[3,19]--></td> <td><!--[4,19]--></td> <td><!--[5,19]--></td> <td><!--[6,19]--></td> <td><!--[7,19]--></td> <td><!--[8,19]--></td> <td><!--[9,19]--></td> <td><!--[10,19]--></td> <td><!--[11,19]--></td> <td><!--[12,19]--></td> <td><!--[13,19]--></td>
</tr>
<tr>
	<th><!--[0,20]--></th>	<td><!--[1,20]--></td>	<td><!--[2,20]--></td> <td><!--[3,20]--></td> <td><!--[4,20]--></td> <td><!--[5,20]--></td> <td><!--[6,20]--></td> <td><!--[7,20]--></td> <td><!--[8,20]--></td> <td><!--[9,20]--></td> <td><!--[10,20]--></td> <td><!--[11,20]--></td> <td><!--[12,20]--></td> <td><!--[13,20]--></td>
</tr>
<tr>
	<th><!--[0,21]--></th>	<td><!--[1,21]--></td>	<td><!--[2,21]--></td> <td><!--[3,21]--></td> <td><!--[4,21]--></td> <td><!--[5,21]--></td> <td><!--[6,21]--></td> <td><!--[7,21]--></td> <td><!--[8,21]--></td> <td><!--[9,21]--></td> <td><!--[10,21]--></td> <td><!--[11,21]--></td> <td><!--[12,21]--></td> <td><!--[13,21]--></td>
</tr>
<tr>
	<th><!--[0,22]--></th>	<td><!--[1,22]--></td>	<td><!--[2,22]--></td> <td><!--[3,22]--></td> <td><!--[4,22]--></td> <td><!--[5,22]--></td> <td><!--[6,22]--></td> <td><!--[7,22]--></td> <td><!--[8,22]--></td> <td><!--[9,22]--></td> <td><!--[10,22]--></td> <td><!--[11,22]--></td> <td><!--[12,22]--></td> <td><!--[13,22]--></td>
</tr>
<tr>
	<th><!--[0,23]--></th>	<td><!--[1,23]--></td>	<td><!--[2,23]--></td> <td><!--[3,23]--></td> <td><!--[4,23]--></td> <td><!--[5,23]--></td> <td><!--[6,23]--></td> <td><!--[7,23]--></td> <td><!--[8,23]--></td> <td><!--[9,23]--></td> <td><!--[10,23]--></td> <td><!--[11,23]--></td> <td><!--[12,23]--></td> <td><!--[13,23]--></td>
</tr>
<tr>
	<th><!--[0,24]--></th>	<td><!--[1,24]--></td>	<td><!--[2,24]--></td> <td><!--[3,24]--></td> <td><!--[4,24]--></td> <td><!--[5,24]--></td> <td><!--[6,24]--></td> <td><!--[7,24]--></td> <td><!--[8,24]--></td> <td><!--[9,24]--></td> <td><!--[10,24]--></td> <td><!--[11,24]--></td> <td><!--[12,24]--></td> <td><!--[13,24]--></td>
</tr>
<tr>
	<th><!--[0,25]--></th>	<td><!--[1,25]--></td>	<td><!--[2,25]--></td> <td><!--[3,25]--></td> <td><!--[4,25]--></td> <td><!--[5,25]--></td> <td><!--[6,25]--></td> <td><!--[7,25]--></td> <td><!--[8,25]--></td> <td><!--[9,25]--></td> <td><!--[10,25]--></td> <td><!--[11,25]--></td> <td><!--[12,25]--></td> <td><!--[13,25]--></td>
</tr>
<tr>
	<th><!--[0,26]--></th>	<td><!--[1,26]--></td>	<td><!--[2,26]--></td> <td><!--[3,26]--></td> <td><!--[4,26]--></td> <td><!--[5,26]--></td> <td><!--[6,26]--></td> <td><!--[7,26]--></td> <td><!--[8,26]--></td> <td><!--[9,26]--></td> <td><!--[10,26]--></td> <td><!--[11,26]--></td> <td><!--[12,26]--></td> <td><!--[13,26]--></td>
</tr>
<tr>
	<th><!--[0,27]--></th>	<td><!--[1,27]--></td>	<td><!--[2,27]--></td> <td><!--[3,27]--></td> <td><!--[4,27]--></td> <td><!--[5,27]--></td> <td><!--[6,27]--></td> <td><!--[7,27]--></td> <td><!--[8,27]--></td> <td><!--[9,27]--></td> <td><!--[10,27]--></td> <td><!--[11,27]--></td> <td><!--[12,27]--></td> <td><!--[13,27]--></td>
</tr>
<tr>
	<th><!--[0,28]--></th>	<td><!--[1,28]--></td>	<td><!--[2,28]--></td> <td><!--[3,28]--></td> <td><!--[4,28]--></td> <td><!--[5,28]--></td> <td><!--[6,28]--></td> <td><!--[7,28]--></td> <td><!--[8,28]--></td> <td><!--[9,28]--></td> <td><!--[10,28]--></td> <td><!--[11,28]--></td> <td><!--[12,28]--></td> <td><!--[13,28]--></td>
</tr>
<tr>
	<th><!--[0,29]--></th>	<td><!--[1,29]--></td>	<td><!--[2,29]--></td> <td><!--[3,29]--></td> <td><!--[4,29]--></td> <td><!--[5,29]--></td> <td><!--[6,29]--></td> <td><!--[7,29]--></td> <td><!--[8,29]--></td> <td><!--[9,29]--></td> <td><!--[10,29]--></td> <td><!--[11,29]--></td> <td><!--[12,29]--></td> <td><!--[13,29]--></td>
</tr>
<tr>
	<th><!--[0,30]--></th>	<td><!--[1,30]--></td>	<td><!--[2,30]--></td> <td><!--[3,30]--></td> <td><!--[4,30]--></td> <td><!--[5,30]--></td> <td><!--[6,30]--></td> <td><!--[7,30]--></td> <td><!--[8,30]--></td> <td><!--[9,30]--></td> <td><!--[10,30]--></td> <td><!--[11,30]--></td> <td><!--[12,30]--></td> <td><!--[13,30]--></td>
</tr>
<tr>
	<th><!--[0,31]--></th>	<td><!--[1,31]--></td>	<td><!--[2,31]--></td> <td><!--[3,31]--></td> <td><!--[4,31]--></td> <td><!--[5,31]--></td> <td><!--[6,31]--></td> <td><!--[7,31]--></td> <td><!--[8,31]--></td> <td><!--[9,31]--></td> <td><!--[10,31]--></td> <td><!--[11,31]--></td> <td><!--[12,31]--></td> <td><!--[13,31]--></td>
</tr>
<tr>
	<th><!--[0,32]--></th>	<td><!--[1,32]--></td>	<td><!--[2,32]--></td> <td><!--[3,32]--></td> <td><!--[4,32]--></td> <td><!--[5,32]--></td> <td><!--[6,32]--></td> <td><!--[7,32]--></td> <td><!--[8,32]--></td> <td><!--[9,32]--></td> <td><!--[10,32]--></td> <td><!--[11,32]--></td> <td><!--[12,32]--></td> <td><!--[13,32]--></td>
</tr>
	


</table>

I chce aby zamiast komentarzy wczytywalo mi odpowiednio wartosci ze stringgrida ale niestety program w ten sposob napisany cos mi sie sypie za duzo rzeczy sie usuwa. Mam nadzieje ze ktos mi pomoze skorygowac jego dzialanie.Oczywiscie wszystkie sciezki sa w porzadku i program normalnie sie odpala.

procedure Twidok.BitBtn1Click(Sender: TObject);
var FT:textfile;a,a1,w,t,t1,s:string;adr,adr1:pchar;x,y,k,i:byte;
begin
  a:=glowna.dir1+'\szablon.tpl';
  a1:=glowna.dir1+'\eksport\html\'+zmienne.rt.nazwa2+'.html';
  adr:=PAnsiChar(a);
  adr1:=PAnsiChar(a1);
  CopyFile(adr,adr1,false);
  AssignFile(FT,adr1);
  reset(FT);
  read(FT,t);

  while not eof(FT) do
  begin
    Readln(FT, t);
    t1:=t1+t;
  end;
  t:=t1;
  showmessage(t);
  Showmessage(inttostr(pos('<!--[0,1]-->',t)));
    for y:=1 to 32 do
    begin
      for x:=0 to 13 do
        begin
        s:='<!--['+inttostr(x)+','+inttostr(y)+']-->';
        i:=Pos(s,t);
        if (x and y)<11 then k:=12;
        if ((x>10)and(y<11)) then k:=13;
        if (x and y)>10 then k:=14;
        Delete(t,i,k);
        w:=stringgrid1.Cells[x,y]+' ';
        Insert(w,t,i);
        end;
    end;
    Showmessage(t);
    rewrite(ft);
    write(ft,t);
  closefile(FT);
end;
0

Nie bardzo mam pomysłu, ale jak za dużo usuwa to polecałbym jeżeli nie wiesz jak poprawić ten kod, ja też
nie mam pomysłu, ale skorzystał bym z modułu do wyrażen regularnych. Strona jednego z modułów już nie
jest chyba online, ale jej archiwum dostępne jest pod poniższym adresem. W zipie lub rarze pod pierwszym
z linków są również dema z przykładami użycia oraz dokumentacja. Więcej możesz znaleźć w google, a i tu
dodałem jeszcze przykłąd kodu, który ze podstrony na demotywatory.pl wyciąga adres samego obrazka, bo
kiedyś napisałem sobie downloader ktory wyciągał właśnie te ljnki z kodu html. Powinien jeszcze działać ok ;)

http://web.archive.org/web/20080719120145/regexpstudio.com/TRegExpr/TRegExpr.html
function ExtractDemotJpgLink(const AInputString: string): string;
var
  R : TRegExpr;
  JpgUrlRE : string;
begin
  Result := '';
  JpgUrlRE := '<div class="demot_pic"><img src="(.+)" class="demot"';
  R := TRegExpr.Create;
  try
    R.Expression := JpgUrlRE;
    if R.Exec(AInputString) then
      repeat
        Result := R.Match[1];
    until not R.ExecNext;
  finally
    R.Free;
  end;
end;
</delphi<
0

a ja bym zrobil inaczej...:

zalozmy z e w zmiennej S masz cala zawartosc pliku..:

var s_old, s_new:String;
	s:String;
	x,y:Integer;
begin
for y:=1 to 32 do
        for x:=0 to 13 do
		begin
                s_old:='<!--['+inttostr(x)+','+inttostr(y)+']-->';
		s_new:=stringgrid1.Cells[x,y]+' '
		s:=StringReplace(s, s_old, s_new, [rfReplaceAll] );
                end;
end;

...czy jakos tak.. ;]

0

Cimak wielkie dzięki nawet nie wiedzialem nic o takiej instrukcji bardzo mi pomogles ;]

0

maju 1993 radze sobie poczytac //4programmers.net/Delphi/%C5%81a%C5%84cuchy/Operacje
teraz poswiecisz troche czasu a za jakis czas skojarzysz ze byla taka funkcja i mozna z niej korzystac.

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