[VB6] Printer instellingen opslaan

Pagina: 1
Acties:

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 10:29
Hallo,

Ik ben bezig met een programma dat stickers afdrukt op de ene printer en lijsten afdrukt op de andere. Dit programma draait op verschillende computers dus de printer bezetting veranderd ook wel eens.

Hoe kan ik de data van de keuze uit deze combobox opslaan (in een database in een tekst veld) zodat je niet telkens bij het opstarten van het programma de printer moet kiezen?

code:
1
2
3
4
5
Dim OnePrinter As Printer
    
For Each OnePrinter In Printers
    cmbTekstPrinter.AddItem OnePrinter.DeviceName
Next


Weet iemand dat?

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Iets als:

Lijst maken:
code:
1
2
3
4
5
Dim OnePrinter As Printer
  
For Each OnePrinter In Printers
    cmbTekstPrinter.AddItem OnePrinter.DeviceName
Next


Opslaan:
code:
1
2
3
4
5
6
Dim lngFreeFile as long

lngfreefile = freefile
open strfilename for output as #lngfreefile
print #lngfreefile,, cmbTekstPrinter.text
close #lngfreefile


Laden van printer:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Dim lngFreeFile as long
dim strPrinterNaam as string

lngfreefile = freefile
open strfilename for input as #lngfreefile
input #lngfreefile,strPrinterNaam
close #lngfreefile

Dim OnePrinter As Printer
  
For Each OnePrinter In Printers
     if strcomp(oneprinter.devicename, strPrinterNaam, vbTextCompare) = 0 Then Exit for
Next


En de printer object zit nu dus in OnePrinter.

100% uit de hand getypt, dus kans dat er een fout inzit :)

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 10:29
Heej, ik was ook bezig geweest en ik heb het zo gedaan:

Laden
code:
1
2
3
For i = 0 To Printers.Count - 1
    cmbTekstPrinter.AddItem Printers(i).DeviceName
Next


Opslaan
code:
1
2
3
4
5
6
For i = 0 To Printers.Count - 1
    If Printers(i).DeviceName = cmbTekstPrinter.Text Then
        SaveSetting "TekstPrinter", CStr(i), False
        frmHoofd.intTekstPrinter = i
    End If
Next


Opvragen
code:
1
Printers(frmHoofd.intTekstPrinter ).Orientation = 2


Maar bij die regel bij het opvragen gaat het mis... Hij zegt steeds dat Orientation Read-Only is. Wanneer ik
code:
1
Printer.Orientation = 2

gebruik werkt het wel gewoon. Hoe kan ik dit oplossen?

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

Ik zou dit eens gokken...

code:
1
2
3
4
5
Dim myPrinter as Printer

Set MyPrinter = Printers(frmHoofd.intTekstPrinter)

MyPrinter.Orientation =2

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 10:29
Die is ook read-only...

Kun je de printer onder het object printer niet wijzigen?

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 10:29
Ik zag net iets in een boek dat ik gebruik moets maken van het Windows-GDI maar verder niets. Kan dit kloppen en zo ja, hoe moet dat dan?

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 10:29
Laat dat GDI maar. Ik heb nu iets veel eenvoudiger:

code:
1
2
3
4
5
6
7
Set objOldPrinter = Printer
Set Printer = Printers(frmHoofd.intLabelPrinter)

Printer.Print ""
Printer.Print "Dit is een test!"
Printer.EndDoc
Set Printer = objOldPrinter

Verwijderd

hee ate,
edit knop is ook makkelijk

[ Voor 17% gewijzigd door Verwijderd op 22-05-2003 15:02 ]


  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 10:29
Verwijderd schreef op 22 May 2003 @ 15:02:
hee ate,
edit knop is ook makkelijk
Ha, niet als je een antwoord heb Eric/k :)
Pagina: 1