Centar za edukaciju-BiH



#1 09.12.2010 07:24
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Poruka o završetku printanja, dali može?
Dobro jutro.
Iz Access aplikacije šaljem preko mreže na printanje dokumente na printer koji je u drugoj prostoriji.
Kako ima puno listova pa printanje traje i preko sat vremena zanima me dali je moguče napraviti neki Cod koji bi mi na mom kompjuetru izbacio poruku da je printanje zavrÅ¡eno.
Pozdrav
↑  ↓

#2 09.12.2010 11:49
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Poruka o završetku printanja, dali može?
Ne vjerujem da moze sa vb jer kada posaljes na print vise nista nemas sa njim ali treba pogledati sta ima u api funkcijama.
Nisam imao priliku ovo raditi ali pogledat cu veceras.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#3 09.12.2010 16:49
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Poruka o završetku printanja, dali može?
Moze se to napraviti sa api procedurama ali je poprilicno koda.
Druga stvar je odakle krenuti:
Znaci dali provjeravtati samo default printer ako ih ima vise ili samo odabtani printer.
Drugo je pitanje odakle provjeravati.
Dali sa neke forme on timer pa da stalno provjerava ili napraviti komandni taster pa kada se klikne da provjeri.

Imas jedan kod koji nalati sve imstalisane printere e sad na osnovu toga slijedi drugi kod za provjeru statusa printera.

Sve u svemu ima prilicno koda.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 09.12.2010 17:02 od strane zxz. ↑  ↓

#4 09.12.2010 19:04
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Poruka o završetku printanja, dali može?
Evo ti kod za printer. Odnosno za citanje instalisanih printera.
Sada moras reci kako ces dalje.
Dali da odredis jedan printer ili default printer koji ces provjeravati.
Ovo ide na vrh modula.
PreuzmiIzvorni kôd (Visual Basic):
  1. Declare Function aht_apiGetProfileSection Lib "kernel32" Alias "GetProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
  2. Declare Function aht_apiWriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal strAppName As String, ByVal strKeyName As String, ByVal strValue As String) As Integer
  3. Const MAX_VEL = 255
  4. Const MAX_SEK = 2048


PreuzmiIzvorni kôd (Visual Basic):
  1. Function UpisST()
  2. Dim Db As Database
  3. Dim SQL As String
  4. Dim ST As Integer, a As Integer, B As Integer
  5. Dim STP As String, Diostr1 As String, Diostr2 As String
  6. Dim Rs As Recordset
  7. Dim NazivS As String, DrN As String, NPort As String
  8.  
  9. Set Db = CurrentDb()
  10.  
  11. SQL = "DELETE * FROM Stampaci;"
  12. DoCmd.RunSQL (SQL)
  13. a = 1
  14. SQL = "SELECT * FROM Stampaci;"
  15. Set Rs = Db.OpenRecordset(SQL)
  16.    STP = Space(MAX_VEL)
  17.    ST = aht_apiGetProfileSection("DEVICES", STP, MAX_SEK)
  18. START:
  19.  
  20.  Diostr1 = DioStr(a, STP, Chr(0), 0)
  21.  Diostr1 = DioP(Diostr1)
  22.  If Diostr1 = "" Then
  23.   GoTo Kraj
  24.  End If
  25.  Rs.AddNew
  26.  For B = 1 To 3
  27.  Diostr2 = DioStr(B, Diostr1, ",", 1)
  28.      Select Case B
  29.         Case 1
  30.         NazivS = Trim(Diostr2)
  31.         Case 2
  32.         DrN = Trim(Diostr2)
  33.         Case 3
  34.         NPort = Trim(Diostr2)
  35.      End Select
  36.  Next B
  37.  Rs.Fields(0) = a
  38.  Rs.Fields(1) = Trim(NazivS)
  39.  Rs.Fields(2) = DrN
  40.  Rs.Fields(3) = NPort
  41.  Rs.Update
  42.  'Forms![F]![T] = NazivS
  43. B = 1
  44.  a = a + 1
  45. GoTo START
  46. Kraj:
  47. Rs.Close
  48. Set Db = Nothing
  49. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 09.12.2010 19:06 od strane zxz. ↑  ↓

#5 09.12.2010 19:07
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Poruka o završetku printanja, dali može?
PreuzmiIzvorni kôd (Visual Basic):
  1. Function DioStr(Dio As Integer, str As String, Karakter As String, Opcija As Integer) As String
  2. Dim Pozicija1, Pozicija2, Brojac
  3. '***********************************************************************
  4. 'FUNKCIJA ZA SJECENJE STRINGA KADA JE POZNAT
  5. 'KARAKTER IZMEDJU KOJEG SE SIJECE STRING
  6. 'Autor funkcije(ZXZ)
  7. '***********************************************************************
  8. On Error GoTo Greska:
  9. Pozicija2 = 1
  10.         If Opcija = 0 Then
  11.             If Right(str, 1) <> Karakter Then                           'Dali je desni karakter razlicit ako jeste tada
  12.                      str = Trim(str) & Karakter                          'Dodaj karakter na kraj
  13.             End If 'Kraj uslova
  14.        End If
  15.   'POZICIJA IZMEDJU DVA KARAKTERA
  16.            For Brojac = 1 To Dio
  17.                     Pozicija1 = InStr(Pozicija2, str, Karakter, 1)
  18.                             If Brojac < Dio Then
  19.                                Pozicija2 = Pozicija1 + 1
  20.                                If Pozicija1 = 0 Then GoTo Upozorenje
  21.                             End If
  22.             Next Brojac
  23.  'DIO STRINGA IZMEDJU DVIJE POZICIJE
  24.        DioStr = Mid(str, Pozicija2, Pozicija1 - Pozicija2)
  25.  Exit Function
  26. Greska:
  27.              If Err.Number = 5 Then
  28. Upozorenje:
  29.                    DioStr = ""
  30.              Else
  31.                     MsgBox "GreÅ¡ka Br: " & Err.Number, vbCritical + vbOKOnly + vbDefaultButton1, "Napomena!!!"
  32.              End If
  33. End Function

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
Ovaj post je ureden 1 puta. Posljednja izmjena 09.12.2010 19:08 od strane zxz. ↑  ↓

#6 09.12.2010 19:08
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Poruka o završetku printanja, dali može?
PreuzmiIzvorni kôd (Visual Basic):
  1. Function DioP(DioN As String) As String
  2. Dim Br As Integer
  3. Dim DioK As String
  4.  
  5. DioN = DioN & ","
  6. For Br = 1 To Len(DioN)
  7.      DioK = Left(DioN, Br)
  8.      If Right(DioK, 1) = "=" Then
  9.          DioP = Left(DioN, Br - 1) & "," & Right(DioN, Len(DioN) - Br)
  10.          GoTo Kraj:
  11.      End If
  12. Next Br
  13. Kraj:
  14. End Function

PreuzmiIzvorni kôd (Visual Basic):
  1. Function SetPrt(NazivI As String) As Boolean
  2. Dim Db As Database
  3. Dim Rs As Recordset
  4. Dim SQL As String
  5. Dim NazivP As String
  6.  
  7. Set Db = CurrentDb()
  8. SQL = "SELECT * FROM Izvjestaji WHERE (((Izvjestaji.IzvjN)='" & NazivI & "'));"
  9. Set Rs = Db.OpenRecordset(SQL)
  10. NazivP = Rs.Fields(0)
  11. Rs.Close
  12. SQL = "SELECT * FROM Stampaci WHERE (((Stampaci.BrST)=" & NazivP & "));"
  13. Set Rs = Db.OpenRecordset(SQL)
  14. NazivP = Rs.Fields(1) & "," & Rs.Fields(2) & "," & Rs.Fields(3)
  15. SetPrt = (aht_apiWriteProfileString("Windows", _
  16.     "Device", NazivP) <> 0)
  17.  
  18. End Function

Napravi jednu tabelu sa 4 polja i daj joj ime Stampaci.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#7 09.12.2010 19:31
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Poruka o završetku printanja, dali može?
Hvala na odgovorima, dao si si truda.
Ja ću ovo pokuÅ¡ati odraditi sutra na poslu jer kod kuće namam printer pa ne mogu isprobati.
Pozdrav
↑  ↓

#8 09.12.2010 19:43
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Poruka o završetku printanja, dali može?
MožeÅ¡ li mi u međuvremenu malo pojasniti upotrebu procedur koje si priložio.
Kažeš i da napravim tablicu sa 4 polja, koje nazive polja da stavim?
Pozdrav
↑  ↓

#9 09.12.2010 19:44
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Postovi:10,610


Predmet:Re: Poruka o završetku printanja, dali može?
Ovaj dio koda imao sam gotov.
Ja ga koristim kad imam vise printera pa napr. jedan izvjestaj ide na jedan printer a neki drugi (zbog formata papira ili boje) na drugi.
Onda napravim tabelu sa nazivima izvjestaja i u produzetku na kojem se stampacu stampa.
Poslije napravim formu tako da korisnik moze sam birati gdje sta stampati.
Ostaje tako dokle god ne promijeni.

Drugi dio nemam gotov ali cu pokusati odraditi kada kazes kako hoces.
Drugi dio je da provjerava status printera.

Ovaj prvi dio je koristan za sve.
Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.
↑  ↓

#10 09.12.2010 20:14
pmiroslav Van mreze
Clan
Registrovan od:02.02.2009
Postovi:1,458


Predmet:Re: Poruka o završetku printanja, dali može?
Ja, Å¡to se tiče ovog konkretnog skučaja sve Å¡tampam uglavom na jedan printer (Epson 8000DX).
Radi se o dokumentima za radni nalog. Trebovnice, radne liste, Zbirnik materijala za radni nalog.
Na kopmpjuteru koji koristim za slanje na štampanje imam prijavljeno više printera, a konkretni printer nije Defaultni.
Pozdrav
↑  ↓

Stranice (3):1,2,3


Sva vremena su GMT +01:00. Trenutno vrijeme: 3: 54 am.