No pomó?żcie mi z tym 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

Moze obok przycisku podgladu dac CheckBox "Czy chcesz uzywac wlasnych styli" (lub cos w tym stylu) a wtedy okienko z prozba o podanie sciezki do katalogu z stylami.
I wtedy plik byl by zapisywany do katalogu wczesnij ustalonego.

PS. Ja tez pisze edytro HTML'a wiec moge ci troszke pomóc jak bys mial problemy--Ozyrys Pozdrawiam {hello}
Delphi 6

0

jako otwierasz to np. opendialogiem to zapewne masz tak
memo1.lines.loadfromfile(opendialog1.filename);
wiec mozesz ta nazwe podac do jakiejs zmiennej np.

[...]
{private declarations}
var Nazwahtmla: string;
[...]
nazwahtmla:=opendialog1.filename;
memo1.lines.loadfromfile(nazwahtmla);
[...]
//i teraz wystarczy zmodyfikowac tamten kod do postaci
procedure butonklik.....
var
n: integer;
plik: string;
begin
plik:=nazwahtmla;
delete(plik,pos('.',plik),5);
n:=-1;
repeat
inc(n);
until not FileExists(plik+inttostr(n)+'.html');
Memo1.Lines.SaveToFile(plik+inttostr(n)+'.html');
ShellExecute(Handle, 'open', PChar(plik+inttostr(n)+'.html'), nil, nil, SW_SHOWMAXIMIZED);
end;

powinno dzialac, albo bedzie kilka bledow, ale idea jest ok ;) --sys:> logout....

0

Adrian16 po jaka cholere piszesz nowy watek ??????????? :[[ :[[ :[[ ---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-

0

No własnie przeciez odpowiedziałem tobie na tamten post!!!!!!!!!!!! - i wyszystko było dobrze.

0

Ale odpowiedziales nie na moje pytanie. Nie chodziło mi o jakies pierd***ne instalki!

0

nie trzeba przeciez do tego isntalacji mozna przeciez walnac w oncreate
sciezka_do_programu := application coś tam

0

Sheitar napisał:
&gtjako otwierasz to np. opendialogiem to...

OK Sheitar a co jezeli tworzysz nowy plik (a nie otwierszasz utworzony)....?--Ozyrys Pozdrawiam {hello}
Delphi 6

0

ozyrys napisał:

&gtOK Sheitar a co jezeli tworzysz nowy plik (a nie otwierszasz utworzony)....?

To trzeba jakos wykombinowac ;)
Jesli robisz nowy plik to ta zmienna o ktorej mowilem [NazwaHtmla] zaluzmy ze ma wartosc , i podczas nacisnieca podgladu niech bedzie sprawdzony warunek if Length(NazwaHtmla)=0 then lub if NazwaHtmla= then ShowMessage('Nie mozesz podgladac nie zapisanego pliku :P');--sys:> logout....

0

Sheitar napisał:
...mozesz podgladac nie zapisanego pliku

No własnie , nie mozna ! :[ wiec juz lepiej to zrobic moim sposobem = zaznaczyc 'uzywaj styli' i wtedy podaj sciezke do katalogu z sytalmi a tak to ogranicza podglad (czy zapislabys stronie nie wiedzac jak ona wyglada ?? - wiem ze po kodzie mozna wiedzic jak strona wyglada , ale ja zawsze lubie zobaczyc efekt przed zapisaniem)--Ozyrys Pozdrawiam {hello}
Delphi 6

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