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 <commdlg.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
// Play with this number
|
||||
#define BUFSIZE 2048
|
||||
@ -17,6 +18,8 @@ typedef struct
|
||||
|
||||
|
||||
BOOL bAbort; // Global printing abort flag
|
||||
FILE *fp;
|
||||
|
||||
|
||||
|
||||
//*************************************************************
|
||||
@ -56,6 +59,7 @@ BOOL FAR PASCAL __export _PrintFile ( LPSTR szFile,
|
||||
|
||||
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
|
||||
|
||||
@ -65,7 +69,10 @@ BOOL FAR PASCAL __export _PrintFile ( LPSTR szFile,
|
||||
bLocalDC = FALSE; // Use passed in hPrnDC
|
||||
|
||||
if (!hPrnDC)
|
||||
{
|
||||
MessageBox(GetFocus(), "Non riesco a ottenere il Printer DC", "ERRORE FATALE", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
// PASSTHROUGH is required. If driver doesn't support it, bail out.
|
||||
@ -73,6 +80,7 @@ BOOL FAR PASCAL __export _PrintFile ( LPSTR szFile,
|
||||
iEsc = PASSTHROUGH;
|
||||
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;
|
||||
goto MSFCleanUp;
|
||||
}
|
||||
@ -113,6 +121,24 @@ BOOL FAR PASCAL __export PrintFile(LPSTR szFile)
|
||||
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)
|
||||
{
|
||||
HGLOBAL HMem;
|
||||
@ -120,6 +146,7 @@ VOID SendFile(HDC hPrnDC, LPSTR szFile)
|
||||
OFSTRUCT ofs;
|
||||
HFILE hFile;
|
||||
|
||||
MessageBox(GetFocus(), "Inizio lettura file", "ERRORE FATALE", MB_OK | MB_ICONHAND | MB_SYSTEMMODAL);
|
||||
HMem = GlobalAlloc(GPTR, sizeof(WORD) + BUFSIZE);
|
||||
if (HMem == NULL)
|
||||
{
|
||||
@ -134,9 +161,10 @@ VOID SendFile(HDC hPrnDC, LPSTR szFile)
|
||||
return;
|
||||
}
|
||||
|
||||
hFile = OpenFile((LPSTR) szFile, &ofs, OF_READ);
|
||||
hFile = OpenFile((LPSTR) szFile, &ofs, OF_READ | OF_SHARE_COMPAT);
|
||||
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|
|
||||
GlobalUnlock(HMem);
|
||||
GlobalFree(HMem);
|
||||
@ -154,6 +182,7 @@ VOID SendFile(HDC hPrnDC, LPSTR szFile)
|
||||
do {
|
||||
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
|
||||
break;
|
||||
}
|
||||
|
@ -16,8 +16,11 @@ HDC FAR PASCAL __export GetPrinterDC(HGLOBAL, HGLOBAL);
|
||||
BOOL CALLBACK __export PrintAbortProc(HDC, int);
|
||||
BOOL FAR PASCAL __export _SpoolRow( LPSTR, WORD, HDC, HGLOBAL, HGLOBAL);
|
||||
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
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _INC_SPOOL */
|
||||
#endif /* _INC_SPOOL */
|
||||
|
Loading…
x
Reference in New Issue
Block a user