﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>A1VBCode Forums / Classic Visual Basic (VB 6 or earlier) / API  / Need help with Create DC problem / Latest Posts</title><generator>InstantForum.NET v4.1.1</generator><description>A1VBCode Forums</description><link>http://www.a1vbcode.com/vbforums/</link><webMaster>forums@a1vbcode.com</webMaster><lastBuildDate>Thu, 09 Feb 2012 04:31:43 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Need help with Create DC problem</title><link>http://www.a1vbcode.com/vbforums/Topic28392-5-1.aspx</link><description>Are these files that special that it need a HP DesignJet 1050C printer?&lt;br&gt;&lt;br&gt;Well, I'm assuming that they do. Maybe an explanation of the program would help.&lt;br&gt;&lt;br&gt;We are an architectural firm and the program was designed so that the process of adding things like security patches, print dates, specific banners, etc. could be merged with the actual drawings in an automated fashion and sent to one of our HP DesignJet devices. So, for example, I have a CAD file of a floor plan that I save as a .plt file. I then select that plot file in this application and what it does is, depending on the options I select, is it will take other .plt files that contain a banner (Copyright notice), another .plt file that has another banner (For construction only) and a 3rd file that contains the system date or print date that needs to appear properly positioned in the title block.&lt;br&gt;&lt;br&gt;The program essentially takes all of these different .plt files and "layers" them, strips down the HPGL code and builds one final .plt file that goes to the HP print queue for printing.&lt;br&gt;&lt;br&gt;Right now everything works, &lt;b&gt;except for creating the system date .plt file&lt;/b&gt;. When the program reaches that point it generates a popup dialogue box that says lhdc=0. Click OK.&lt;br&gt;After clicking OK, the program continues running and generates the new .plt file but sans date.&lt;br&gt;&lt;br&gt;The program was designed in VB6 about 8 years ago and runs flawlessly in 98, but generates this error in XP.&lt;br&gt;&lt;br&gt;I formatted the code better and I have gotten the code to the point mentioned above, but at this point I'm stumped. (The programmer is long gone by the way, hence why I'm stuck trying to fix it.)&lt;br&gt;&lt;br&gt;Can anyone think of another way of inserting the system date? Do any of you contract work. I would be happy to send the .exe file, if someoen thinks they can fix it for us, just tell me how much.&lt;br&gt;&lt;br&gt;Here's the code:&lt;br&gt;&lt;br&gt;&lt;div style='border: 3px solid #000000 color:#000000; background-image: none; background-color: #CCCCCC; Padding: 25px;'&gt;&lt;font color='#0000CC'&gt;Private&lt;/font&gt;&lt;font color='#0000CC'&gt;Sub&lt;/font&gt;Command4_Click()&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;count1&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Integer&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;five_times&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Boolean&lt;/font&gt;,er_or&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Boolean&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;spl(1000)&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;String&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;MyDocInfo&lt;font color='#0000CC'&gt;As&lt;/font&gt;DOCINFO&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;read_fil&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,bytes_read&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;fil_sz&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;ret&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Integer&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;printr&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,lhPrinter&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,lpWritten&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,hFont&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;lDoc&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,lReturn&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;lhDC&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,font_data&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,&lt;font color='#0000CC'&gt;object&lt;/font&gt;&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,nHeight&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;lpInitData&lt;font color='#0000CC'&gt;As&lt;/font&gt;DEVMODE,pDevModeInput&lt;font color='#0000CC'&gt;As&lt;/font&gt;DEVMODE&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;x&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Double&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Dim&lt;/font&gt;ret_val&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,prntr_ret&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;,pntrHand&lt;font color='#0000CC'&gt;As&lt;/font&gt;&lt;font color='#0000CC'&gt;Long&lt;/font&gt;&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;On&lt;/font&gt;&lt;font color='#0000CC'&gt;Error&lt;/font&gt;&lt;font color='#0000CC'&gt;GoTo&lt;/font&gt;err_hand&lt;br&gt; &lt;br&gt; proc_source="Sendbutton"&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;construction_copy=True&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;font color='#0000CC'&gt;Len&lt;/font&gt;(lbl_cust_name)=0&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; MsgBox"Pleaseloadcustomerinformationbeforeproceeding.",vbOKOnly,"Permitsets"&lt;br&gt; &lt;font color='#0000CC'&gt;Exit&lt;/font&gt;&lt;font color='#0000CC'&gt;Sub&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;site_copy=True&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;font color='#0000CC'&gt;Len&lt;/font&gt;(lbl_cust_name)=0&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; MsgBox"Pleaseloadcustomerinformationbeforeproceeding.",vbOKOnly,"Permitsets"&lt;br&gt; &lt;font color='#0000CC'&gt;Exit&lt;/font&gt;&lt;font color='#0000CC'&gt;Sub&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;br&gt; er_or=False&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;List1.ListCount=0&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; y=MsgBox("Nothingtosend!",vbExclamation)&lt;br&gt; &lt;font color='#0000CC'&gt;Exit&lt;/font&gt;&lt;font color='#0000CC'&gt;Sub&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;Combo1.ListIndex&lt;&gt;-1&lt;font color='#0000CC'&gt;Then&lt;/font&gt;prt_to_use=prt(Combo1.ListIndex)&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;For&lt;/font&gt;EachpntrInPrinters&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;pntr.DeviceName=prt_to_use&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Set&lt;/font&gt;Printer=pntr&lt;br&gt; Printer.ScaleMode=3&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;pntr.DeviceName="\\SALES\HP1050"&lt;font color='#0000CC'&gt;Or&lt;/font&gt;pntr.DeviceName="\\PRINTROOM\HP1050PLUS"&lt;font color='#0000CC'&gt;Or&lt;/font&gt;pntr.DeviceName="DesignJet"&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;opt_18.Value=True&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; Printer.PaperSize=257&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; Printer.PaperSize=258&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Exit&lt;/font&gt;&lt;font color='#0000CC'&gt;For&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Next&lt;/font&gt;&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;font color='#0000CC'&gt;InStr&lt;/font&gt;(prt_to_use,"LPT1")&lt;&gt;0&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; prt_to_use="LPT1.DOS"&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;br&gt; Form1.MousePointer=11&lt;br&gt; &lt;br&gt; &lt;font color='#009900'&gt;'Begin to make date plot file&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;chk_office.Value=0&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'printr = OpenPrinter(Printer.DeviceName, lhPrinter, 0)&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'l_ret = DocumentProperties(Me.hwnd, lhPrinter, Printer.DeviceName, lpInitData, pDevModeInput, 2)&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'l_ret = ClosePrinter(lhPrinter)&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;opt_18.Value=True&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; lpInitData.dmPaperSize=257&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; lpInitData.dmPaperSize=258&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'This is the original command 9/7/09&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'lhDC = CreateDC("", Combo1.Text, "FILE:", lpInitData)&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'GoTo skip2&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'lhDC = CreateDC("WINSPOOL", Combo1.Text, "FILE:", lpInitData)&lt;/font&gt;&lt;br&gt; lhDC=CreateDC("WINSPOOL",DesignJet,"",lpInitData)&lt;br&gt; &lt;br&gt; &lt;font color='#009900'&gt;'just trying something 11-09-2009&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'prntr_ret = OpenPrinter(Combo1.Text, pntrHand, 0)&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'MsgBox Str(prntr_ret)&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'lhDC = GetDC(prntr_ret)&lt;/font&gt;&lt;br&gt; &lt;br&gt; &lt;font color='#009900'&gt;'11-09-2009&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'createDC is not returning a DC for any printer&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'tried using openprinter but still returns 0&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'program works when using an existing textout.plt&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'if a textout.plt does not exist on the c drive, a zero kB file is generated and the for loop below&lt;/font&gt;&lt;br&gt; &lt;font color='#009900'&gt;'does not iterate because LOF(1) is less than 1&lt;/font&gt;&lt;br&gt; &lt;br&gt; &lt;br&gt; MsgBox&lt;font color='#0000CC'&gt;Str&lt;/font&gt;(lhDC),vbOKOnly,"lhDC"&lt;br&gt; &lt;br&gt; ret_val=GetLastError()&lt;br&gt; &lt;br&gt; &lt;font color='#009900'&gt;'MsgBox Str(ret_val), vbOKOnly, "GetLastError"&lt;/font&gt;&lt;br&gt; &lt;br&gt; nHeight=-MulDiv(16,GetDeviceCaps(lhDC,90),72)&lt;br&gt; &lt;br&gt; hFont=CreateFont(nHeight,0,0,0,700,0,0,0,0,0,0,0,FF_ROMAN,"Times&lt;font color='#0000CC'&gt;New&lt;/font&gt;Roman")&lt;br&gt; &lt;br&gt; MyDocInfo.lpszDocName=List1.List(0)&lt;br&gt; MyDocInfo.lpszOutput="c:\textout.plt"&lt;br&gt; &lt;br&gt; read_fil=StartDoc(lhDC,MyDocInfo)&lt;br&gt; read_fil=StartPage(lhDC)&lt;br&gt; &lt;br&gt; read_fil=SetTextColor(lhDC,&lt;font color='#0000CC'&gt;RGB&lt;/font&gt;(255,0,0))&lt;br&gt; &lt;br&gt; read_fil=SelectObject(lhDC,hFont)&lt;br&gt; &lt;br&gt; dt=&lt;font color='#0000CC'&gt;Format&lt;/font&gt;(&lt;font color='#0000CC'&gt;Date&lt;/font&gt;,"m-d-yyyy")&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;opt_18.Value=True&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; lReturn=&lt;font color='#0000CC'&gt;CLng&lt;/font&gt;(Printer.ScaleWidth)&lt;br&gt; l_ret=&lt;font color='#0000CC'&gt;CLng&lt;/font&gt;(Printer.ScaleHeight)&lt;br&gt; &lt;font color='#009900'&gt;'MsgBox Str(GetDeviceCaps(lhDC, HORZRES)) + " " + Str(GetDeviceCaps(lhDC, VERTRES)) + " " + Str(Printer.ScaleWidth)&lt;/font&gt;&lt;br&gt; read_fil=TextOut(lhDC,lReturn-400,l_ret-594,dt,&lt;font color='#0000CC'&gt;Len&lt;/font&gt;(dt))&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; lReturn=&lt;font color='#0000CC'&gt;CLng&lt;/font&gt;(Printer.ScaleWidth)&lt;br&gt; l_ret=&lt;font color='#0000CC'&gt;CLng&lt;/font&gt;(Printer.ScaleHeight)&lt;br&gt; &lt;font color='#009900'&gt;'MsgBox Str(GetDeviceCaps(lhDC, HORZRES)) + " " + Str(GetDeviceCaps(lhDC, VERTRES)) + " " + Str(lReturn) + " " + Str(l_ret)&lt;/font&gt;&lt;br&gt; read_fil=TextOut(lhDC,lReturn-525,l_ret-594,dt,&lt;font color='#0000CC'&gt;Len&lt;/font&gt;(dt))&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;br&gt; read_fil=EndPage(lhDC)&lt;br&gt; read_fil=EndDoc(lhDC)&lt;br&gt; &lt;br&gt; read_fil=DeleteObject(hFont)&lt;br&gt; &lt;br&gt; read_fil=DeleteDC(lhDC)&lt;br&gt; &lt;br&gt; skip2:&lt;br&gt; &lt;br&gt; &lt;font color='#009900'&gt;'Put needed data into array by finding certain sequences&lt;/font&gt;&lt;br&gt; &lt;br&gt; lbl_progress.Caption="Getting&lt;font color='#0000CC'&gt;date&lt;/font&gt;&lt;font color='#0000CC'&gt;and&lt;/font&gt;makingintoplt..."&lt;br&gt; lbl_progress.Visible=True&lt;br&gt; lbl_progress.Refresh&lt;br&gt; &lt;br&gt; &lt;font color='#009900'&gt;'file_source = "c:\textout.plt"&lt;/font&gt;&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;Open&lt;/font&gt;"c:\textout.plt"&lt;font color='#0000CC'&gt;For&lt;/font&gt;Binary&lt;font color='#0000CC'&gt;As&lt;/font&gt;#1&lt;br&gt; &lt;br&gt; ok_to_proceed=False&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;For&lt;/font&gt;x=1To&lt;font color='#0000CC'&gt;LOF&lt;/font&gt;(1)&lt;br&gt; &lt;font color='#0000CC'&gt;Get&lt;/font&gt;#1,x,buffer&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;ok_to_proceed=False&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;buffer=27&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; x=x+1&lt;br&gt; &lt;font color='#0000CC'&gt;Get&lt;/font&gt;#1,x,buffer&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;buffer=37&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; x=x+1&lt;br&gt; &lt;font color='#0000CC'&gt;Get&lt;/font&gt;#1,x,buffer&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;buffer=49&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; x=x+1&lt;br&gt; &lt;font color='#0000CC'&gt;Get&lt;/font&gt;#1,x,buffer&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;buffer=65&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; y=1&lt;br&gt; ok_to_proceed=True&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;For&lt;/font&gt;y=1To3&lt;br&gt; date_text(y)=0&lt;br&gt; &lt;font color='#0000CC'&gt;Next&lt;/font&gt;y&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; date_text(1)=0&lt;br&gt; date_text(2)=0&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; date_text(1)=0&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;buffer=80&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; x=x+1&lt;br&gt; &lt;font color='#0000CC'&gt;Get&lt;/font&gt;#1,x,buffer&lt;br&gt; &lt;font color='#0000CC'&gt;If&lt;/font&gt;buffer=71&lt;font color='#0000CC'&gt;Then&lt;/font&gt;&lt;br&gt; date_text(y)=27&lt;br&gt; y=y+1&lt;br&gt; date_text(y)=37&lt;br&gt; y=y+1&lt;br&gt; date_text(y)=49&lt;br&gt; y=y+1&lt;br&gt; date_text(y)=65&lt;br&gt; &lt;font color='#0000CC'&gt;Exit&lt;/font&gt;&lt;font color='#0000CC'&gt;For&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; date_text(y)=80&lt;br&gt; y=y+1&lt;br&gt; date_text(y)=buffer&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Else&lt;/font&gt;&lt;br&gt; date_text(y)=buffer&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; y=y+1&lt;br&gt; &lt;font color='#0000CC'&gt;End&lt;/font&gt;&lt;font color='#0000CC'&gt;If&lt;/font&gt;&lt;br&gt; &lt;font color='#0000CC'&gt;Next&lt;/font&gt;x&lt;br&gt; &lt;br&gt; &lt;font color='#0000CC'&gt;Close&lt;/font&gt;#1&lt;br&gt; &lt;br&gt; &lt;font color='#009900'&gt;'Kill "c:\textout.plt"&lt;/font&gt;&lt;br&gt;&lt;/div&gt;</description><pubDate>Wed, 18 Nov 2009 11:58:43 GMT</pubDate><dc:creator>javakenn</dc:creator></item><item><title>RE: Need help with Create DC problem</title><link>http://www.a1vbcode.com/vbforums/Topic28392-5-1.aspx</link><description>&lt;div class="Quote"&gt;&lt;b&gt;javakenn (11/17/2009)&lt;/b&gt;&lt;hr noshade size="1" class="hr"&gt;&lt;BR&gt;In answer to your other question, Yes I am trying to print to a &lt;i&gt;specific printer&lt;/i&gt;, in this case an HP DesignJet 1050C. This little application takes multiple .plt files and merges them into one .plt file and then sends it to the 1050C queue. There is a dialogue box in the application that allows you to choose other printers, but we always print to the same 1050C driver.&lt;BR&gt;&lt;BR&gt;That is what made me wonder if this could be a driver issue in reality, because the 98 and XP drivers are different. I'm experimenting with all possibilities at the moment.&lt;/div&gt;&lt;/P&gt;&lt;P&gt;Well you could always use the CommonDialog control for the printer control and set any printer properties that you need to use.&lt;/P&gt;&lt;P&gt;I've used Win98 for the past 9 years and I've never had any problem printing to any printer. Are these files that special that it need a HP DesignJet 1050C printer?  &lt;img align="absmiddle" src="http://www.a1vbcode.com/vbforums/Skins/Classic/Images/EmotIcons/Wink.gif" border="0" title="Wink"&gt;</description><pubDate>Tue, 17 Nov 2009 17:02:28 GMT</pubDate><dc:creator>Keithuk</dc:creator></item><item><title>RE: Need help with Create DC problem</title><link>http://www.a1vbcode.com/vbforums/Topic28392-5-1.aspx</link><description>Thanks, I will look at the API Guide and see what I can figure out.&lt;br&gt;&lt;br&gt;In answer to your other question, Yes I am trying to print to a &lt;i&gt;specific printer&lt;/i&gt;, in this case an HP DesignJet 1050C. This little application takes multiple .plt files and merges them into one .plt file and then sends it to the 1050C queue. There is a dialogue box in the application that allows you to choose other printers, but we always print to the same 1050C driver.&lt;br&gt;&lt;br&gt;That is what made me wonder if this could be a driver issue in reality, because the 98 and XP drivers are different. I'm experimenting with all possibilities at the moment.</description><pubDate>Tue, 17 Nov 2009 08:50:24 GMT</pubDate><dc:creator>javakenn</dc:creator></item><item><title>RE: Need help with Create DC problem</title><link>http://www.a1vbcode.com/vbforums/Topic28392-5-1.aspx</link><description>Welcome to A1vbcode &lt;STRONG&gt;javakenn&lt;/STRONG&gt;. &lt;IMG src="http://www.a1vbcode.com/vbforums/Uploads/Images/3d69f43e-c069-4aa3-a736-837d.gif"&gt;&lt;P&gt;Are you trying to print to a specific printer or any printer?&lt;/P&gt;&lt;P&gt;The best app that I can recommend for API calls is &lt;a href="http://allapi.mentalis.org/" target="_blank" class="SmlLinks"&gt;API-Guide&lt;/a&gt; and while you are there you can download the APiViewer as VB6's is 11 years old now. API-Guide is a great help when trying to work out API calls, each one has a decription of what it does and an example. &lt;img align="absmiddle" src="http://www.a1vbcode.com/vbforums/Skins/Classic/Images/EmotIcons/Wink.gif" border="0" title="Wink"&gt;&lt;P&gt;Oh I forgot to mension when you post VB code on here I would recommend you use &lt;a href="http://www.a1vbcode.com/vbforums/Topic10851-12-1.aspx" target="_blank" class="SmlLinks"&gt;Mark's Syntax.zip&lt;/a&gt;, it makes the true VB colours show correctly.</description><pubDate>Mon, 16 Nov 2009 13:32:48 GMT</pubDate><dc:creator>Keithuk</dc:creator></item><item><title>Need help with Create DC problem</title><link>http://www.a1vbcode.com/vbforums/Topic28392-5-1.aspx</link><description>I'm wondering if someone can help me with my code specifically related to the Create DC. I am not a programmer and really don't have the vocab and what I have been ready on Google is just not helping. This program runs fine in Windows 98 and until 2 months ago was run only on Win 98, however, we need this program to now run on XP &amp; 7. &lt;br&gt;&lt;br&gt;Based on what I have read and figured out the error message I receive is due to the a failure in Create DC. So what I'm trying to figure out is what is different between 98 and XP? Could it be related to the print driver rather than the code itself, etc?&lt;br&gt;&lt;br&gt;Anyway here is a good chunk of the code as it stands now, any help would be really, really appreciated!!  Thanks in advance&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;'Begin to make date plot file&lt;br&gt; If chk_office.Value = 0 Then&lt;br&gt;    'printr = OpenPrinter(Printer.DeviceName, lhPrinter, 0)&lt;br&gt;    'l_ret = DocumentProperties(Me.hwnd, lhPrinter, Printer.DeviceName, lpInitData, pDevModeInput, 2)&lt;br&gt;    'l_ret = ClosePrinter(lhPrinter)&lt;br&gt;    If opt_18.Value = True Then&lt;br&gt;        lpInitData.dmPaperSize = 257&lt;br&gt;    Else&lt;br&gt;        lpInitData.dmPaperSize = 258&lt;br&gt;    End If&lt;br&gt;    'This is the original command 9/7/09&lt;br&gt;    'lhDC = CreateDC("", Combo1.Text, "FILE:", lpInitData)&lt;br&gt;    'GoTo skip2&lt;br&gt;   &lt;b&gt; &lt;i&gt;lhDC = CreateDC("WINSPOOL", Combo1.Text, "FILE:", lpInitData)&lt;/i&gt;&lt;/b&gt;&lt;br&gt;    &lt;br&gt;    'just trying something 11-09-2009&lt;br&gt;    'prntr_ret = OpenPrinter(Combo1.Text, pntrHand, 0)&lt;br&gt;    'MsgBox Str(prntr_ret)&lt;br&gt;    'lhDC = GetDC(prntr_ret)&lt;br&gt;    &lt;br&gt;    '11-09-2009&lt;br&gt;    'createDC is not returning a DC for any printer&lt;br&gt;    'tried using openprinter but still returns 0&lt;br&gt;    'program works when using an existing textout.plt&lt;br&gt;    'if a textout.plt does not exist on the c drive, a zero kB file is generated and the for loop below&lt;br&gt;        'does not iterate because LOF(1) is less than 1&lt;br&gt;    &lt;br&gt;    &lt;br&gt;    MsgBox Str(lhDC), vbOKOnly, "lhDC"&lt;br&gt;    &lt;br&gt;    ret_val = GetLastError()&lt;br&gt;    &lt;br&gt;    'MsgBox Str(ret_val), vbOKOnly, "GetLastError"&lt;br&gt;    &lt;br&gt;    nHeight = -MulDiv(16, GetDeviceCaps(lhDC, 90), 72)&lt;br&gt;    &lt;br&gt;    hFont = CreateFont(nHeight, 0, 0, 0, 700, 0, 0, 0, 0, 0, 0, 0, FF_ROMAN, "Times New Roman")&lt;br&gt;    &lt;br&gt;    MyDocInfo.lpszDocName = List1.List(0)&lt;br&gt;    MyDocInfo.lpszOutput = "c:\textout.plt"&lt;br&gt;    &lt;br&gt;    read_fil = StartDoc(lhDC, MyDocInfo)&lt;br&gt;    read_fil = StartPage(lhDC)&lt;br&gt;    &lt;br&gt;    read_fil = SetTextColor(lhDC, RGB(255, 0, 0))&lt;br&gt;    &lt;br&gt;    read_fil = SelectObject(lhDC, hFont)&lt;br&gt;    &lt;br&gt;    dt = Format(Date, "m-d-yyyy")&lt;br&gt;    &lt;br&gt;    If opt_18.Value = True Then&lt;br&gt;        lReturn = CLng(Printer.ScaleWidth)&lt;br&gt;        l_ret = CLng(Printer.ScaleHeight)&lt;br&gt;        'MsgBox Str(GetDeviceCaps(lhDC, HORZRES)) + " " + Str(GetDeviceCaps(lhDC, VERTRES)) + " " + Str(Printer.ScaleWidth)&lt;br&gt;        read_fil = TextOut(lhDC, lReturn - 400, l_ret - 594, dt, Len(dt))&lt;br&gt;    Else&lt;br&gt;        lReturn = CLng(Printer.ScaleWidth)&lt;br&gt;        l_ret = CLng(Printer.ScaleHeight)&lt;br&gt;        'MsgBox Str(GetDeviceCaps(lhDC, HORZRES)) + " " + Str(GetDeviceCaps(lhDC, VERTRES)) + " " + Str(lReturn) + " " + Str(l_ret)&lt;br&gt;        read_fil = TextOut(lhDC, lReturn - 525, l_ret - 594, dt, Len(dt))&lt;br&gt;    End If&lt;br&gt;    &lt;br&gt;    read_fil = EndPage(lhDC)&lt;br&gt;    read_fil = EndDoc(lhDC)&lt;br&gt;    &lt;br&gt;    read_fil = DeleteObject(hFont)&lt;br&gt;    &lt;br&gt;    read_fil = DeleteDC(lhDC)&lt;br&gt;    &lt;br&gt;skip2:&lt;br&gt;    &lt;br&gt;'Put needed data into array by finding certain sequences&lt;br&gt;    &lt;br&gt;    lbl_progress.Caption = "Getting date and making into plt..."&lt;br&gt;    lbl_progress.Visible = True&lt;br&gt;    lbl_progress.Refresh&lt;br&gt;    &lt;br&gt;    'file_source = "c:\textout.plt"&lt;br&gt;    &lt;br&gt;    Open "c:\textout.plt" For Binary As #1&lt;br&gt;    &lt;br&gt;    ok_to_proceed = False&lt;br&gt;    &lt;br&gt;    For x = 1 To LOF(1)&lt;br&gt;        Get #1, x, buffer&lt;br&gt;        If ok_to_proceed = False Then&lt;br&gt;            If buffer = 27 Then&lt;br&gt;                x = x + 1&lt;br&gt;                Get #1, x, buffer&lt;br&gt;                If buffer = 37 Then&lt;br&gt;                    x = x + 1&lt;br&gt;                    Get #1, x, buffer&lt;br&gt;                    If buffer = 49 Then&lt;br&gt;                        x = x + 1&lt;br&gt;                        Get #1, x, buffer&lt;br&gt;                        If buffer = 65 Then&lt;br&gt;                            y = 1&lt;br&gt;                            ok_to_proceed = True&lt;br&gt;                        Else&lt;br&gt;                            For y = 1 To 3&lt;br&gt;                                date_text(y) = 0&lt;br&gt;                            Next y&lt;br&gt;                        End If&lt;br&gt;                    Else&lt;br&gt;                        date_text(1) = 0&lt;br&gt;                        date_text(2) = 0&lt;br&gt;                    End If&lt;br&gt;                Else&lt;br&gt;                    date_text(1) = 0&lt;br&gt;                End If&lt;br&gt;            End If&lt;br&gt;        Else&lt;br&gt;            If buffer = 80 Then&lt;br&gt;                x = x + 1&lt;br&gt;                Get #1, x, buffer&lt;br&gt;                If buffer = 71 Then&lt;br&gt;                    date_text(y) = 27&lt;br&gt;                    y = y + 1&lt;br&gt;                    date_text(y) = 37&lt;br&gt;                    y = y + 1&lt;br&gt;                    date_text(y) = 49&lt;br&gt;                    y = y + 1&lt;br&gt;                    date_text(y) = 65&lt;br&gt;                    Exit For&lt;br&gt;                Else&lt;br&gt;                    date_text(y) = 80&lt;br&gt;                    y = y + 1&lt;br&gt;                    date_text(y) = buffer&lt;br&gt;                End If&lt;br&gt;            Else&lt;br&gt;                date_text(y) = buffer&lt;br&gt;            End If&lt;br&gt;            y = y + 1&lt;br&gt;        End If&lt;br&gt;    Next x&lt;br&gt;    &lt;br&gt;    Close #1&lt;br&gt;    &lt;br&gt;    'Kill "c:\textout.plt"&lt;br&gt;&lt;br&gt;.......</description><pubDate>Mon, 16 Nov 2009 12:18:13 GMT</pubDate><dc:creator>javakenn</dc:creator></item></channel></rss>
