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
349
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
Poliisitehtävä alkuviikosta Maisan kotona
Iltasanomat: Helsingin poliisilaitos vahvistaa, että Vantaalla on ollut poliisitehtävä kyseisenä ajankohtana. Poliisin862048Tämä on sinulle vaikka kaikki lukee
Vaikka kuinka olet viisas ja kaikin puolin velho, niin et tiedä tilanteestani. Senkin takia menetät mielenkiinnon. Eikä111662- 1021152
Lulu selvityttää Elokapinan lakkautusta
Persukannattajien mielistely otti Lulu Ranteella aika tavalla runtua, kun hän aikoo selvityttää mahdollisuuksia Elokapin3501126Ensitreffit Matti joutuu "ulkoruokintaan" - Väärinymmärrysten suossa Taina-vaimon kanssa: "Oli..."
No nyt on kyllä väärinymmärrystä kerrakseen… Mitä luulet, pysyykö Taina ja Matti yhdessä vai onko tulevaisuudessa ero ed31113Harmi, kun sillä nousi
kaikki huomio päähän. Vaikutti aluksi niin mukavalta ja vaatimattomalta 😔53851Täytyy sanoa
Että olit kyllä mielenkiintoisin ja omaperäisin nainen mitä olen koskaan tavannut. Aivan kuin joku olisi tiputtanut sinu21839Miten saisin
Hurmattua sinut uudelleen,? Pissin omiin muroihini ensinmäisellä kerralla koska olin tyhmä ja liiaksi kiinni menneess31777Persu Meri Valkama kadehtii Sanna Marinin menestystä
Taas yksi persu tuli nolaamaan itsensä kadehtiessaan menestynyttä Suomen kansan supertähteä Sanna Marinia. https://demo237737Raamatun tärkein lause
Ja Mooses tuli alas vuorilta missä jumala oli, Mooseksen mukaan, ilmoittanut hänelle, että hän ja koko juutalainen väki,367719