Tulosta minkä tahansa tyyppinen asiakirja Delphin avulla

click fraud protection

Jos sinun Delfoi sovelluksen on toimittava erityyppisissä tiedostoissa. Yksi sovelluksellesi mahdollisesti liittyvistä tehtävistä on antaa sovelluksen käyttäjän tulostaa tiedosto riippumatta siitä, minkä tyyppinen tiedosto on.

Useimmat asiakirjakeskeiset sovellukset, kuten MS Word, MS Excel tai Adobe, voivat helposti tulostaa kyseisessä ohjelmassa luodut asiakirjat. Esimerkiksi, Microsoft Word tallentaa kirjoittamasi asiakirjan DOC-laajennuksella. Koska Word määrittelee, mikä on .DOC-tiedoston "raaka" sisältö, se osaa tulostaa .DOC-tiedostot. Sama pätee kaikkiin "tunnettuihin" tiedostotyyppeihin, joissa on joitain tulostettavia tietoja.

Entä jos sinun on tulostettava erityyppisiä asiakirjoja / tiedostoja sovelluksestasi? Voitko tietää, kuinka tiedosto lähetetään tulostimelle, jotta se tulostetaan oikein?

Tulosta Delphistä

Voimme kysyä Windowsilta, mikä sovellus voi tulostaa esimerkiksi PDF-tiedoston. Tai vielä paremmin, voimme kertoa Windowsille, tässä on yksi PDF-tiedosto, lähettää sen sovellukseen liittyvään / PDF-tiedostojen tulostamisesta vastaavaan.

instagram viewer

Avaa tämä Windows Explorer ja siirry hakemistoon, joka sisältää joitain tulostettavia tiedostoja. Kun napsautat hiiren kakkospainikkeella tiedostoa Windowsin Resurssienhallintajärjestelmän tiedostotyypeissä, löydät "Tulosta" -komennon. Tulosta kuori -komennon suorittaminen johtaa tiedoston lähettämiseen oletustulostimelle. No, juuri sitä me haluamme: tiedostotyypin tapauksessa soita menetelmälle, joka lähettää tiedoston siihen liittyvään sovellukseen tulostamista varten. Toiminto, jonka jälkeen olemme, on ShellExecute API -toiminto.

ShellExecute: Tulosta / Tulosta

ShellExecute voi kuitenkin tehdä paljon enemmän. ShellExecute voidaan käyttää käynnistä sovellus, avaa Windows Explorer, aloita haku määritetystä hakemistosta ja - mikä kiinnostaa meitä - tulosta määritetty tiedosto.

Määritä tulostin

Edellä mainittua puhelua käyttämällä C-aseman juuressa oleva asiakirja "document.doc" lähetetään Windowsin oletustulostimeen. ShellExecute käyttää "oletustulostinta" aina "tulostus" -toimintoon. Entä jos sinun on tulostettava toiselle tulostimelle, entä jos haluat antaa käyttäjän muuttaa tulostinta?

PrintTo Shell -komento

Ennen kopiointia ja liittämistä: Kaikissa Delphi-ohjelmissa käytettävissä olevaa yleistä tulostinta (TPrinter-tyyppi) voidaan hallita sovelluksen suorittamaa tulostusta. Tulostin määritetään "tulostimet" -yksikössä, ShellExecute määritetään "shellapi" -yksikössä.

  1. Pudota TComboBox lomakkeelle. Nimeä se "cboPrinter". Aseta tyyliin csDropDownLidt
  2. Laita seuraavat kaksi riviä lomakkeen OnCreate-parilliseen käsittelyyn:
    // on käytettävissä tulostimia yhdistelmäruudussacboPrinter. Kohteita. Määritä (tulostin. Tulostimet);// valitse esiasetus / aktiivinen tulostincboPrinter. ItemIndex: = tulostin. PrinterIndex;
Käytä tulostamaan mitä tahansa asiakirjatyyppiä määritettyyn tulostimeen

Huomaa: Joillakin asiakirjatyypeillä ei ole tulostamiseen liittyvää sovellusta. Joillakin ei ole määritetty tulostustoimintoa.

instagram story viewer