Pitäisi tehdä sellainen lomakkeen tulostus että tietyssä kohdassa printtausvaiheessa tulostus katkeaa ja keskeytyy. Kun paperi käännetään toisinpäin printerissä, vaikka nappia painamalla printtaus jatkuisi siitä mihin tulostus jäi. Mitenhän tuollainen olisi mahdollista tehdä?
Taitaa olla niin että joudut tekemään sivutuksen koodissa ja tulostamaan tavaran useampana tulostustyönä.
Eli esimerkiksi jos printtailet tekstiä niin tulostat rivejä niin paljon kuin tiedät paperille sopivan, ja sitten jatka-napista tulostat loput. Laitat vaikka globaalin muuttujan joka ilmoittaa jatkopaikan (esim. indeksin taulukossa).
Jos haluat jatka-napin ilmestyvän vasta tulostuksen loputtua, joudut tekemään tulostusjonon kuuntelijan. Jos tarvitset siinä apua, kerro käytätkö vb6:tta vai dotnettia.
Kiitos vastauksesta!
Tuo jatkanappi oli kyllä itsellänikin mielessä, mutta en keksinyt millään miten sen voisi toteuttaa.
Käytän VB 6:sta.
ehkä helpoin on vain tehdä kaksi nappia: "Tulosta etupuoli" ja "Tulosta toinen puoli". Sitten homma onnistuisi tällä tyylillä:
Dim keskeytysPaikka As Long Dim tulostettavaTavara() As String Private Sub Command1_Click() Dim i As Integer For i = 0 To keskeytysPaikka Printer.Print tulostettavaTavara(i) Next i End Sub Private Sub Command2_Click() Dim i As Integer For i = keskeytysPaikka + 1 To UBound(tulostettavaTavara) Printer.Print tulostettavaTavara(i) Next i End Sub
Ja nuo paikka-muuttujat laitat sopiviksi.
Jos haluat tehdä hienomman version ja tehdä sen kuuntelijan, voit vaikka tehdä timerin jossa kuunnellaan tulostimen tilaa sekunnin välein. Tulostimen tilan saat tutkittua seuraavan samplen avulla:
http://www.andreavb.com/tip070007.html
Eli tulostamisen aloitettuasi laitat timerin päälle ja tutkit milloin tulostustöitten lukumäärä on taas nolla. Sitten vain painike näkyviin.
Kiitos paljon avusta!
Näillä ohjeilla pääsen hyvin alkuun! ;)
Aihe on jo aika vanha, joten et voi enää vastata siihen.