Delphisovelluksessa voin avata sovelluksen Help-filen (vanhan mallinen *.hlp)seuraavalla käskyllä.
ShellExecute(Handle, 'open', 'HELP.HLP',nil,nil, SW_SHOWNORMAL);
Kaikki menee hyvin niin kauan kun tallennan ohjelman työtiedostot ohjelman asennushakemistoon, josta ohjelma on avattu. Mutta jos tallennan muualle niin Help ei enää avaudukaan, ohjelma ei löydä Helppiä (polku kadoksissa?). Eli tarttis siis määritellä Helpin polku tarkkaan seuraavaan tapaan:
ShellExecute(Handle, 'open', '\suhteellinenohjelmistopolku\Omasovellushakemisto\HELP.HLP',nil,nil, SW_SHOWNORMAL);
Mutta - miten määritellään tuo suhteellinen polku, eli mistä ohjelma löytää ohjelman oman hakemiston (ohjelmahan on asennettu asennusohjelmalla tiettyyn hakemistoon, joka on Windowsin tiedossa kyllä, mutta miten palautan tuon ohjelman hakemistopolun?
P.S.
html-helppi-file HELP.chm ei avaudu edes tuolla ekalla koodiversiolla missähän vika...?
Suhteellisen polun määrittely
5
394
Vastaukset
- ------------------
Ei ole nyt Delphiä käsillä mutta minkä arvon saa seuraava lause:
kerro_vastaus:=ExtractFilePath(Application.ExeName);- koodissa
Kiitos vinkistä.
Tämä toimii, kun haluaa käynnistää Helpin aina ohjelman kotihakemistosta:
var ohjelmapolku : string;
begin
ohjelmapolku := ExtractFilePath(Application.ExeName);
ohjelmapolku := ohjelmapolku 'HELP.HLP';
ShellExecute(Handle, PChar(ohjelmapolku), vali,nil,nil, SW_SHOWNORMAL);
end; - toimii2
koodissa kirjoitti:
Kiitos vinkistä.
Tämä toimii, kun haluaa käynnistää Helpin aina ohjelman kotihakemistosta:
var ohjelmapolku : string;
begin
ohjelmapolku := ExtractFilePath(Application.ExeName);
ohjelmapolku := ohjelmapolku 'HELP.HLP';
ShellExecute(Handle, PChar(ohjelmapolku), vali,nil,nil, SW_SHOWNORMAL);
end;Oops, painovirhe 5 rivillä('vali' pois), oikea muoto selvyden vuoksi tässä:
var ohjelmapolku : string;
begin
ohjelmapolku := ExtractFilePath(Application.ExeName);
ohjelmapolku := ohjelmapolku 'HELP.HLP';
ShellExecute(Handle, PChar(ohjelmapolku),nil,nil, SW_SHOWNORMAL);
end; - D_teuska_
toimii2 kirjoitti:
Oops, painovirhe 5 rivillä('vali' pois), oikea muoto selvyden vuoksi tässä:
var ohjelmapolku : string;
begin
ohjelmapolku := ExtractFilePath(Application.ExeName);
ohjelmapolku := ohjelmapolku 'HELP.HLP';
ShellExecute(Handle, PChar(ohjelmapolku),nil,nil, SW_SHOWNORMAL);
end;// Get full application path exename
ParamStr(0);
Elikkäs sovelluksen parametrien 0. indeksi sisältää
koko polun sekä sovelluksen *.exe nimen..
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Sä olet epävakaa
tai ainakin yrität onnistuneesti vaikuttaa siltä. Ei sun kanssa uskalla ruveta yhtään mihinkään, menis hommat ojasta all462075Mieti miten paljon yritin
Löytää yhteyttä kanssasi uudelleen sen väärinymmärryksen jälkeen. Koen etten tullut puoleltasi hyvin kohdelluksi mies😔571819- 361534
Yksi viesti häneltä ja ottaisin takaisin
Mutta ei sitä tule. Ja ehkä parempi niin, tein jo valintani. En saanut häneltä tarpeeksi, kaikki muu meni minun edelle j321443- 781238
- 581122
Keskisarjan puheet
Onko kansanedustajan sopivaa puhua tuollai vai pitäisikkö potkia pois eduskunnasta?189973- 57949
- 49913
- 24894