Mam problem z podglądem pliku html...

0

Cześć!
Mam kod html w komponencie Memo1. Mam przycisk, jak na którego klikne to mi program robi w swoim katalogu (czyli tam gdzie sie znajduje) ten plik html ze źródłem z Memo i go uruchamia:

Memo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName) + 'podglad.html');
ShellExecute(Handle, 'open', PChar(ExtractFilePath(Application.ExeName) + 'podglad.html'), nil, nil, SW_SHOWMAXIMIZED);

To wszystko działa ale jest jeden poważny błąd!
Przypuśćmy że ten mój program znajduje się w katalogu C:/Windows/Pulpit/MójProg/.
No i teraz uruchamiam sobie ten program i otwieram dokument html, który znajduje się w katalogu D:/MojaStrona/.
Przypuśćmy, że w tym katalogu "MojaStrona" znajdują się pliki: index.html i styl.css.
No i tak. Otwieram sobie ten index.html moim programem i wszystko jest OK doputy, dopóki nie nacisnę przycisku z podglądem ( to ten kod powyżej ).
Program zapisuje to co jest w Memo (czyli zawartość tego index.html) do swojego katalogu a potem ten plik uruchamia, tak jak opisałem to wyżej. Takim działaniem ten podgląd jest do d**y bo nie widać styli z katalogu MojaStrona.
No i jak zrobić że jak biore podgląd to żeby zapisał plik w katalogu MojaStrona.
Najlepiej by było jak program by dopisywał prefiks np. klikam raz podgląd to program robi w katalogu MojaStrona plik index_00, klikam drugi raz podgląd to robi w katalogu MojaStrona plik index_01 itd.
Proszę Was o pomoc!!

0

no popatrz - zrób instalację programu i żeby ona zapisała ścieżkę gdzie go zainstalowala (ten program) do pliku "C:\moj_program_html.cfg"

(umieść na formie memo1 i daj mu takie właściowści: wordwrap = false, visible = false;
a w wart. public walnij
katalog_mojego_programu : string;

teraz w form1 on create

memo1.lines.clear;
if fileexists('C:\moj_program_html.cfg') then
begin
memo1.lines.loadfromfile('C:\moj_program_html.cfg');
katalog_mojego_programu := memo1.lines[0];
end else
begin
ShowMessage('Aplikacja została źle zainstalowana. Zainstaluj ponownie aplikacje!');
close;
end;

i teraz tamten kod.

Memo1.Lines.SaveToFile(katalog_mojego_programu +'\podglad.html');
ShellExecute(Handle, 'open', PChar(katalog_mojego_programu +'\podglad.html'),nil, nil, SW_SHOWMAXIMIZED);

i chyba wszystko działa :]

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