anoniem Geplaatst: 10 maart 2002 Delen Geplaatst: 10 maart 2002 Ik wil de mogelijk in mijn programma inbouwen om bepaalde gegevens uit te printen. Ik doe dit met de opdracht printer.print Het programma neemt dan automatisch de standaard printer die in windows is ingesteld. Het probleem is dat het programma crasht als het geen printer kan vinden (er is geen printer ingesteld, de printer is niet aangesloten, de printer staat uit, enz) Dit is op z'n zachts gezegd dus nogal zwakjes. Hoe kan ik mijn programma nu laten controleren of er wel een printer beschikbaar is? Quote Link naar reactie
anoniem Geplaatst: 10 maart 2002 Auteur Delen Geplaatst: 10 maart 2002 on error goto 100 printer.print 100 'geen printer werkt dit niet? Quote Link naar reactie
anoniem Geplaatst: 10 maart 2002 Auteur Delen Geplaatst: 10 maart 2002 Ik denk het niet :smile: en goto moet je zo min mogelijk proberen te gebruiken, eigenlijk helemaal niet. Je krijgt er op den duur namelijk hele onoverzichtelijke code van. Quote Link naar reactie
anoniem Geplaatst: 10 maart 2002 Auteur Delen Geplaatst: 10 maart 2002 De meeste on error statements doen eigenlijk hetzelfde als goto, en hoewel het gebruik van goto's sterk afgeraden wordt is het toch geen slechte zaak als ze gebruikt worden zoals in error afhandeling. Een 'on error resume label' is dus bruikbaar Quote Link naar reactie
anoniem Geplaatst: 10 maart 2002 Auteur Delen Geplaatst: 10 maart 2002 Commondialog kun je ook gebruiken voor de standaard printer (RTF = richtext): Private Sub printer() On Error GoTo Printercanceled CMDialog1.Flags = cdlPDReturnDC + cdlPDNoPageNums If RTF.SelLength = 0 Then CMDialog1.Flags = CMDialog1.Flags + cdlPDAllPages Else CMDialog1.Flags = CMDialog1.Flags + cdlPDSelection End If 'Document geladen, dan printen CMDialog1.ShowPrinter RTF.SelPrint CMDialog1.hDC If RTF.SelLength = 0 Then CMDialog1.Flags = CMDialog1.Flags + cdlPDAllPages Else CMDialog1.Flags = CMDialog1.Flags + cdlPDSelection End If CMDialog1.ShowPrinter If CMDialog1.hDC > 0 Then RTF.SelPrint CMDialog1.hDC End If Printercanceled: Exit Sub End Sub Quote Link naar reactie
anoniem Geplaatst: 10 maart 2002 Auteur Delen Geplaatst: 10 maart 2002 Je mag/ moet goto in VB alleen gebruiken in het geval van een error. Sterker nog; dat wordt aangeraden. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen