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:
alex 1997-03-17 09:33:36 +00:00
parent 1395cc15e3
commit b782412b34
2 changed files with 35 additions and 3 deletions

View File

@ -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,16 +59,20 @@ 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
if (!hPrnDC)
hPrnDC = GetPrinterDC(hDevNames, hDevMode);
else
else
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;
}

View File

@ -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 */