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
383
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
Hengenvaaralliset kiihdytysajot päättyivät karmealla tavalla, kilpailija kuoli
Onnettomuudesta on aloitettu selvitys. Tapahtuma keskeytettiin onnettomuuteen. Tapahtumaa tutkitaan paikan päällä yhtei1686144- 1471714
- 1131508
- 511260
Suureksi onneksesi on myönnettävä
Että olen nyt sitten mennyt rakastumaan sinuun. Ei tässä mitään, olen kärsivällinen ❤️46904Möykkähulluus vaati kuolonuhrin
Nuori elämä menettiin täysin turhaan tällä järjettömyydellä! Toivottavasti näitä ei enää koskaan nähdä Kauhavalla! 😢28844Älä mies pidä mua pettäjänä
En petä ketään. Älä mies ajattele niin. Anteeksi että ihastuin suhun varattuna. Pettänyt en ole koskaan ketään vaikka hu96827Reeniähororeeniä
Helvetillisen vaikeaa työskennellä hoitajana,kun ei kestä silmissään yhtään läskiä. Saati hoitaa sellaista. Mitä tehdä?5779- 41729
Tarvitsemme lisää maahanmuuttoa.
Väestö eläköityy, eli tarvitsemme lisää tekeviä käsiä ja veronmaksajia. Ainut ratkaisu löytyy maahanmuutosta. Nimenomaan219714