Implementazioni richieste da Mario Benuzzi
git-svn-id: svn://10.65.10.50/trunk@4211 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1395cc15e3
commit
b782412b34
@ -4,6 +4,7 @@
|
|||||||
#include <print.h>
|
#include <print.h>
|
||||||
#include <commdlg.h>
|
#include <commdlg.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
// Play with this number
|
// Play with this number
|
||||||
#define BUFSIZE 2048
|
#define BUFSIZE 2048
|
||||||
@ -17,6 +18,8 @@ typedef struct
|
|||||||
|
|
||||||
|
|
||||||
BOOL bAbort; // Global printing abort flag
|
BOOL bAbort; // Global printing abort flag
|
||||||
|
FILE *fp;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//*************************************************************
|
//*************************************************************
|
||||||
@ -56,16 +59,20 @@ BOOL FAR PASCAL __export _PrintFile ( LPSTR szFile,
|
|||||||
|
|
||||||
bAbort = FALSE; // Haven't aborted yet
|
bAbort = FALSE; // Haven't aborted yet
|
||||||
|
|
||||||
|
MessageBox(GetFocus(), "Inizio stampa file", "ERRORE FATALE", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL);
|
||||||
|
|
||||||
// Make sure we have a printer DC
|
// Make sure we have a printer DC
|
||||||
|
|
||||||
if (!hPrnDC)
|
if (!hPrnDC)
|
||||||
hPrnDC = GetPrinterDC(hDevNames, hDevMode);
|
hPrnDC = GetPrinterDC(hDevNames, hDevMode);
|
||||||
else
|
else
|
||||||
bLocalDC = FALSE; // Use passed in hPrnDC
|
bLocalDC = FALSE; // Use passed in hPrnDC
|
||||||
|
|
||||||
if (!hPrnDC)
|
if (!hPrnDC)
|
||||||
|
{
|
||||||
|
MessageBox(GetFocus(), "Non riesco a ottenere il Printer DC", "ERRORE FATALE", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// PASSTHROUGH is required. If driver doesn't support it, bail out.
|
// PASSTHROUGH is required. If driver doesn't support it, bail out.
|
||||||
@ -73,6 +80,7 @@ BOOL FAR PASCAL __export _PrintFile ( LPSTR szFile,
|
|||||||
iEsc = PASSTHROUGH;
|
iEsc = PASSTHROUGH;
|
||||||
if (!Escape(hPrnDC, QUERYESCSUPPORT, sizeof(int), (LPSTR)&iEsc, NULL))
|
if (!Escape(hPrnDC, QUERYESCSUPPORT, sizeof(int), (LPSTR)&iEsc, NULL))
|
||||||
{
|
{
|
||||||
|
MessageBox(GetFocus(), "La stampante non ha il supporto passthrough", "ERRORE FATALE", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL);
|
||||||
bAbort = TRUE;
|
bAbort = TRUE;
|
||||||
goto MSFCleanUp;
|
goto MSFCleanUp;
|
||||||
}
|
}
|
||||||
@ -113,6 +121,24 @@ BOOL FAR PASCAL __export PrintFile(LPSTR szFile)
|
|||||||
return _PrintFile(szFile, NULL, NULL, NULL);
|
return _PrintFile(szFile, NULL, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Le seguenti funzioni sono per aprire un file, scriverlo e chiuderlo*/
|
||||||
|
BOOL FAR PASCAL __export OpenText ( LPSTR szFile, LPSTR szMode)
|
||||||
|
{
|
||||||
|
fp = fopen(szFile,szMode);
|
||||||
|
return fp != NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
int FAR PASCAL __export WriteText(LPSTR szString)
|
||||||
|
{
|
||||||
|
return fprintf(fp,"%s",(char*)szString);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL FAR PASCAL __export CloseText()
|
||||||
|
{
|
||||||
|
fclose(fp);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
VOID SendFile(HDC hPrnDC, LPSTR szFile)
|
VOID SendFile(HDC hPrnDC, LPSTR szFile)
|
||||||
{
|
{
|
||||||
HGLOBAL HMem;
|
HGLOBAL HMem;
|
||||||
@ -120,6 +146,7 @@ VOID SendFile(HDC hPrnDC, LPSTR szFile)
|
|||||||
OFSTRUCT ofs;
|
OFSTRUCT ofs;
|
||||||
HFILE hFile;
|
HFILE hFile;
|
||||||
|
|
||||||
|
MessageBox(GetFocus(), "Inizio lettura file", "ERRORE FATALE", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL);
|
||||||
HMem = GlobalAlloc(GPTR, sizeof(WORD) + BUFSIZE);
|
HMem = GlobalAlloc(GPTR, sizeof(WORD) + BUFSIZE);
|
||||||
if (HMem == NULL)
|
if (HMem == NULL)
|
||||||
{
|
{
|
||||||
@ -134,9 +161,10 @@ VOID SendFile(HDC hPrnDC, LPSTR szFile)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
hFile = OpenFile((LPSTR) szFile, &ofs, OF_READ);
|
hFile = OpenFile((LPSTR) szFile, &ofs, OF_READ | OF_SHARE_COMPAT);
|
||||||
if (hFile == HFILE_ERROR)
|
if (hFile == HFILE_ERROR)
|
||||||
{
|
{
|
||||||
|
MessageBox(GetFocus(), "Non riesco ad aprire il file di stampa", "ERRORE FATALE", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL);
|
||||||
bAbort = TRUE; // Can't open file|
|
bAbort = TRUE; // Can't open file|
|
||||||
GlobalUnlock(HMem);
|
GlobalUnlock(HMem);
|
||||||
GlobalFree(HMem);
|
GlobalFree(HMem);
|
||||||
@ -154,6 +182,7 @@ VOID SendFile(HDC hPrnDC, LPSTR szFile)
|
|||||||
do {
|
do {
|
||||||
if ((lpPTS->wSize=_lread(hFile, lpPTS->bData, BUFSIZE)) == HFILE_ERROR)
|
if ((lpPTS->wSize=_lread(hFile, lpPTS->bData, BUFSIZE)) == HFILE_ERROR)
|
||||||
{
|
{
|
||||||
|
MessageBox(GetFocus(), "Errore di lettura sul file di stampa", "ERRORE FATALE", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL);
|
||||||
bAbort = TRUE; // error reading file
|
bAbort = TRUE; // error reading file
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,11 @@ HDC FAR PASCAL __export GetPrinterDC(HGLOBAL, HGLOBAL);
|
|||||||
BOOL CALLBACK __export PrintAbortProc(HDC, int);
|
BOOL CALLBACK __export PrintAbortProc(HDC, int);
|
||||||
BOOL FAR PASCAL __export _SpoolRow( LPSTR, WORD, HDC, HGLOBAL, HGLOBAL);
|
BOOL FAR PASCAL __export _SpoolRow( LPSTR, WORD, HDC, HGLOBAL, HGLOBAL);
|
||||||
BOOL FAR PASCAL __export SpoolRow( LPSTR, WORD );
|
BOOL FAR PASCAL __export SpoolRow( LPSTR, WORD );
|
||||||
|
BOOL FAR PASCAL __export OpenText( LPSTR, LPSTR );
|
||||||
|
int FAR PASCAL __export WriteText( LPSTR );
|
||||||
|
BOOL FAR PASCAL __export CloseText();
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _INC_SPOOL */
|
#endif /* _INC_SPOOL */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user