|
Post by Marco Kurvers on May 8, 2024 11:05:50 GMT
For English persons, this is in Dutch. Translate this so that you can read what's below.
Er is een dialog venster om af te kunnen drukken, de PRINTERDIALOG. Jammer genoeg kan ik daar niet veel over vertellen en voorbeelden van laten zien, want ik heb geen printer. Hierbij vraag ik om hulp. Wie kan een goede uitleg geven over hoe dit venster werkt en hoe de variabelen, die daarvoor nodig zijn, werken?
|
|
|
Post by willembever on Jul 1, 2024 12:40:57 GMT
In theorie is dit net zo'n printerdialoog zoals je in elk programma met print optie kunt vinden. Wat het echter wat lastiger maakt is dat er diverse variabelen door dit printerdialoog worden ingesteld waarmee we iets kunnen of moeten doen. In mijn geval ziet het er zo uit:
De moderne printers regelen zelf het aantal exemplaren, maar in tegenstelling tot de handleiding werd de variabele PrintCopies bij mij wel op het gevraagde aantal gezet. Wel gemakkelijk is PrinterName$. Als we cancel/Annuleren aanklikken dan blijft deze string leeg. Daarmee slaan we de print routine over. PrintCollate en PrinterFont$ heb ik niet getest. De laatste is wel duidelijk wat we daar mee kunnen doen.
Ik heb ook getest met Microsoft Print to PDF en dat werkt goed, dus om te testen zonder printer is deze optie te gebruiken. Als test heb ik de labels afdrukken optie van PIMS gebruikt:
sub DrukLabels ' opdracht 4 cls print "** labels drukken **" print print "deze routine was bedoeld voor een printer met ketting papier" print "op een systeem met printer/parallel-poort. (bijv. MS/DOS)" print "Via Liberty Basic moet deze aan de persoonlijke situatie" print "worden aangepast, eventueel voor een printer via USB." print INPUT "Wilt u Printen of Stoppen? (P/S) "; S$ S$ = LEFT$(upper$(S$),1) print if S$ = "P" then Onmogelijk = 0 call VraagBereik 'als bereik 0 is dan is onmogelijk 1 end if if S$ = "S" then Onmogelijk = 1 if Onmogelijk = 0 then printerdialog 'start printer dialoog goto [GeenTest] 'we slaan de test over FOR I = 1 TO 3 'is test voor pinfeed printers INPUT "LOAD & ALIGN LABELS; HIT RETURN";W9 FOR J = 1 TO 5 LPRINT "XXXXXXXXXXXXXXXXXXXXXXXXX" NEXT J LPRINT "" 'dump NEXT I dump [GeenTest] if PrinterName$ <> "" then 'Als we cancel hebben gedrukt dan is 'PrinterName$ leeg en drukken we niets af FOR I = T1 TO T2 T1$ = R$(I) T$ = LEFT$(T1$,5) T3 = VAL(T$) T$ = T1$ T1$ = CHR$(126) CALL ParseString2 'PARSE STRING if AantItem > 5 then FOR J = 1 TO 5 LPRINT B$(J) NEXT J LPRINT "" else if AantItem < 5 then FOR J = 1 TO AantItem LPRINT B$(J) NEXT J FOR J = AantItem to 6 LPRINT "" NEXT J end if end if NEXT I print dump end if end if end sub
Hopelijk geeft dit al vast een idee hoe e.e.a. werkt, maak maar eens een testprogramma en gebruik Microsoft Print to PDF.
|
|