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
378
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
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225234- 254398
- 282541
- 342264
- 372008
- 151928
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191617- 121541
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211277Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101194