Suhteellisen polun määrittely

koodissa

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...?

5

379

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • ------------------

      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

    1. Huomenta ihana

      Kauniskasvoinen ihanuus 😘 saan sut vielä
      Ikävä
      40
      7003
    2. Hei rakas...

      Miten on työpäivä sujunut? Rakastan sinua 💗
      Ikävä
      32
      3948
    3. Ei tämä etene ikinä

      Kun kumpikaan ei enää ota yhteyttä. Mä en ainakaan uskalla.
      Ikävä
      46
      3357
    4. Edelleen sitä on vaikea uskoa

      Että olisit oikeasti rakastunut muhun
      Ikävä
      40
      2949
    5. Vitsi mihin menit. Heti takasin.

      Mä näin sut tuu takasin! Oli kiire, niin en ehtiny sin perään!
      Ikävä
      17
      2726
    6. Toiveikas vai toivoton

      torstai? Ajatuksia?
      Ikävä
      37
      2238
    7. Mukavaa päivää

      Mun rakkauden kohteelle ❤️ toivottavasti olet onnellinen
      Ikävä
      16
      2196
    8. Koko ajan olet

      Senkin suhteen kiusannut. Halut on ihan mielettömät olleet jo pitkään
      Ikävä
      41
      2153
    9. 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 kons
      Suomalaiset julkkikset
      47
      2097
    10. Miksi et irrota otettasi

      Suhteeni?
      Ikävä
      40
      2058
    Aihe