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