WebBrowser na CD - nie otwiera strony..

0

Cześć po sporej przerwie,

mam taki problemik - jak skompilować swój programik z TWebBrowser
aby otwierało mi stronę w formie HTML, która znajduje się na płycie CD?

zakładamy że (x) to litera dysku CD-ROM:
// Użyłem slashy zamiast backslash ponieważ
// scrypt forum maskował je...

[code]program jest na => x:/program.exe
strona www na => x:/docs/pl/index.html[/code]

I jak teraz zrobic żeby otwierało plik index.html ?
Od razu mówie że nie mogę zrobić tak:

[code]WebBrowser1.Navigate('x:/docs/pl/index.html');[/code]

ponieważ u każdego CD-ROM ma inną litere ;)
wie ktoś jak rozwiązać ten problem, aby na każdym CD-ROMie
działało mi to przy autostarcie ?

Pozdro.

0

masz tu moja prosta funkcje. Przerob ja tylko i wykrywaj se
gdzie jest CD

function getDiskType(stacja: string): string;
var
i : word;
begin
i := GetDriveType(PChar(LowerCase(stacja)));
case i of
0: result := 'Nieznany typ';
1: result := 'Katalog główny nie istnieje';
DRIVE_REMOVABLE: result := 'Floppy';
DRIVE_FIXED: result := 'Twardy dysk';
DRIVE_REMOTE: result := 'Dysk Sieciowy';
DRIVE_CDROM: result := 'CD-ROM';
DRIVE_RAMDISK: result := 'RAM-DISK';
end;
end;

a jak nie chce laczyc sie ze strona to zmien adres na file// itd.

0

poza tym FAQ, arty, i poprzeglądaj forum :) ...

0

Thx chmolu & Rudy,

teraz działa to następne pytanie z tej dziedziny:

mam w komputerze CD-ROM i nagrywarke
i to coś:

[code]
procedure TForm1.FormCreate(Sender: TObject);

function GetCDROM : String;
var
I : Integer;
Drive : String;
DTYpe : Integer;
begin
for I := Ord('A') to Ord('Z') do
begin
Drive := Chr(i) + ':';
DType := GetDriveType(PCHar(Drive));

if DType = DRIVE_CDROM then Result := Drive;

end;
end;

var
Drive : String;
begin
Drive := GetCDROM;
ShowMessage(Drive);
end;
[/code]

pokazuje mi że CD-ROM ma litere E:
fakt, faktem - że litera E: to napęd CD
ale mam też napęd CD o literce D: ;)

to jak będzie płytka w napędzie D:
to program nie pogubie się i nie zacznie szukać
potem strony na E:/...

0

RO(T)FL

WebBrowser1.Navigate(ParamStr(0)[1]+':\docs\pl\index.html');

0

Skoro program i stronka znajdują się na tym samym dysku, to po co wpisywać literę dysku?? Wystraczy

WebBrowser1.Navigate('\docs\pl\index.html');

0

Albo możesz sobie wyciągnąć litere CD-ROMa z GetCurrentDir - zwraca ci ścieżke w której aktualnie znajduje sie program.

0

<font color="green">Albo możesz sobie wyciągnąć litere CD-ROMa z GetCurrentDir - zwraca ci ścieżke w której aktualnie znajduje sie program.
</span>

to samo co ParamStr(0); ;) Tyle że paramstr(0) zwraca całą ścieżkę łącznie z nazwą proga ... Szymek juz o tym pisał wyżej

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