home *** CD-ROM | disk | FTP | other *** search
- #include "windows.h"
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "sqlca.h"
- #include "sqlenv.h"
- #include "sql.h"
- #include "winmod.h"
- #include "dbmmod.h"
- #include "cpconv.h"
-
-
- HANDLE hInstanceGV ;
-
- long FAR PASCAL WndProc (HWND, unsigned, WORD, LONG) ;
- short xClient, yClient ;
- int NOERRORS = TRUE ;
- int DBSTARTED = FALSE ;
- struct sqlca ca;
- char buffer[512];
-
-
- HANDLE tid;
- char sztid[6];
- char whdr[] = "WINMOD: TaskId = " ;
- char wheader[64];
- char szDatabase[DBNAME_SZ];
- char szTable[TNAME_SZ];
-
- char query[40];
- char sqlcode[40];
- char success[40];
- char failure[40];
- char badsqlca[40];
- char allocerr[40];
- char converr[40];
-
-
- HWND GlobalhWnd ;
- HMENU hWinedbMenu;
-
- int PASCAL WinMain (hInstance, hPrevInstance, lpszCmdLine, nCmdShow)
- HANDLE hInstance, hPrevInstance ;
- LPSTR lpszCmdLine ;
- int nCmdShow ;
- {
- static char szAppName [] = "WINMOD" ;
- HWND hWnd ;
- MSG msg ;
- WNDCLASS wndclass ;
-
- if (!hPrevInstance)
- {
- wndclass.style = CS_HREDRAW | CS_VREDRAW ;
- wndclass.lpfnWndProc = WndProc ;
- wndclass.cbClsExtra = 0 ;
- wndclass.cbWndExtra = 0 ;
- wndclass.hInstance = hInstance ;
- wndclass.hIcon = NULL ;
- wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;
- wndclass.hbrBackground = GetStockObject (WHITE_BRUSH) ;
- wndclass.lpszMenuName = "WinedbMenu" ;
- wndclass.lpszClassName = szAppName ;
-
- if (!RegisterClass (&wndclass))
- return FALSE ;
- }
-
- strcpy(wheader, whdr);
- tid = GetCurrentTask();
- (void)itoa(tid, sztid, 10);
- strcat(wheader,sztid);
-
- hInstanceGV = hInstance ;
-
- hWinedbMenu = LoadMenu(hInstance, "WinModMenu");
-
- GlobalhWnd=hWnd = CreateWindow (szAppName, wheader,
- WS_OVERLAPPEDWINDOW,
- CW_USEDEFAULT,
- CW_USEDEFAULT,
- 600,300,
- NULL,
- hWinedbMenu,
- hInstance,
- NULL) ;
-
-
- LoadString(hInstanceGV, IDSSQLCODE, sqlcode, 19);
- LoadString(hInstanceGV, IDSSUCCESS, success, 19);
- LoadString(hInstanceGV, IDSFAILURE, failure, 19);
- LoadString(hInstanceGV, IDSQUERY, query, 19);
- LoadString(hInstanceGV, IDSBADSQLCA,badsqlca,19);
- LoadString(hInstanceGV, IDSALLOCERR,allocerr,19);
- LoadString(hInstanceGV, IDSCONVERR ,converr, 19);
-
- ShowWindow (hWnd, nCmdShow) ;
- UpdateWindow (hWnd) ;
-
- while (NOERRORS)
- {
- if (PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))
- {
- if (msg.message == WM_QUIT)
- break ;
-
- TranslateMessage (&msg) ;
- DispatchMessage (&msg) ;
- }
- } /* end while */
-
- return msg.wParam ;
- }
-
-
-
- long FAR PASCAL WndProc (hWnd, iMessage, wParam, lParam)
- HWND hWnd ;
- unsigned iMessage ;
- WORD wParam ;
- LONG lParam ;
- {
- short rc;
- FARPROC lpproc ;
-
- switch (iMessage)
- {
- case WM_CREATE:
- break ;
-
- case WM_SIZE:
- xClient = LOWORD (lParam) ;
- yClient = HIWORD (lParam) ;
- break ;
-
- case WM_DESTROY:
- if (DBSTARTED)
- {
- sqlStop( (struct sqlca far *)&ca );
- DBSTARTED = FALSE;
- }
- PostQuitMessage (0) ;
- break ;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDMCATALOG:
- lpproc = MakeProcInstance((FARPROC)CatalogDlg, hInstanceGV);
- DialogBox(hInstanceGV, MAKEINTRESOURCE(CATALOGDIALOG), hWnd, lpproc);
- FreeProcInstance( lpproc );
- break;
-
- case IDMSTARTUSING:
- lpproc = MakeProcInstance((FARPROC)StartDBDlg, hInstanceGV);
- DialogBox(hInstanceGV, MAKEINTRESOURCE(STARTDBDIALOG), hWnd, lpproc);
- FreeProcInstance( lpproc );
- break;
-
- case IDMQUERY:
- lpproc = MakeProcInstance((FARPROC)QueryDBDlg, hInstanceGV);
- DialogBox(hInstanceGV, MAKEINTRESOURCE(QUERYDBDIALOG), hWnd, lpproc);
- FreeProcInstance( lpproc );
- break;
-
- case IDMSTOPUSING:
- rc = sqlStop( (struct sqlca far *)&ca );
- DBSTARTED = FALSE;
- if ( ! err( hWnd, rc, &ca ) )
- {
- LoadString(hInstanceGV, IDSDBDISC, buffer, 512);
- MessageBox( hWnd, buffer, success, MB_OK );
- DBSTARTED = FALSE;
- }
- break;
-
- case IDMUNCATALOG:
- lpproc = MakeProcInstance((FARPROC)UnCatalogDlg, hInstanceGV);
- DialogBox(hInstanceGV, MAKEINTRESOURCE(UNCATLGDIALOG), hWnd, lpproc);
- FreeProcInstance( lpproc );
- break;
-
- case IDMEXIT:
- if (DBSTARTED) {
- sqlStop( (struct sqlca far *)&ca );
- DBSTARTED = FALSE;
- }
- PostQuitMessage (0) ;
- break ;
-
- default:
- break;
- }
- break;
-
- default:
- return DefWindowProc (hWnd, iMessage, wParam, lParam) ;
- }
- return 0L ;
- }
-
-
- short err( HWND hWnd, short rc, struct sqlca far * ca )
- {
- char buf[512];
- short r=0;
-
- if ( rc ) {
- r = rc;
- if ( rc == BAD_SQLCA )
- MessageBox( hWnd, badsqlca, "", MB_OK );
- else if ( rc == ALLOC_ERR )
- MessageBox( hWnd, allocerr, "", MB_OK );
- else if ( rc == CONVERSION_ERROR )
- MessageBox( hWnd, converr, "", MB_OK );
- }
- else if ( ca->sqlcode ) {
- r = (short)ca->sqlcode;
- sqlxintp( (char far *)buf, 512, 0, (struct sqlca far *)ca );
- MessageBox( hWnd, buf, sqlcode, MB_OK );
- }
- return( (int)r );
- }
-
-
-
- BOOL FAR PASCAL CatalogDlg(hWnd, message, wParam, lParam)
- HWND hWnd;
- unsigned message;
- WORD wParam;
- LONG lParam;
- {
- char node[12];
- int i;
- short rc;
-
- switch (message)
- {
- case WM_INITDIALOG:
- return TRUE;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDOK:
- i = GetDlgItemText(hWnd, IDDTEXT1, (LPSTR)szDatabase, DBNAME_SZ-1 );
- szDatabase[i] = '\0';
-
- i = GetDlgItemText(hWnd, IDDTEXT2, (LPSTR)node, 11 );
- node[i] = '\0';
-
- rc = sqlxcatd( (char far *)szDatabase, (char far *)"", ' ',
- (char far *)node, '0', (char far *)"", 0,
- (struct sqlca far *)&ca
- );
-
- if ( ! err( hWnd, rc, &ca ) )
- {
- LoadString(hInstanceGV, IDSDBCATLG, buffer, 512);
- MessageBox( hWnd, buffer, success, MB_OK );
- }
- /* no break */
-
- case IDCANCEL:
- EndDialog(hWnd, TRUE);
- break;
-
- default:
- return FALSE;
- }
- break; /* end of WM_COMMAND */
-
- default:
- return FALSE;
-
- } /* end switch (message) */
-
- return TRUE;
- }
-
-
-
-
- BOOL FAR PASCAL UnCatalogDlg(hWnd, message, wParam, lParam)
- HWND hWnd;
- unsigned message;
- WORD wParam;
- LONG lParam;
- {
- int i;
- short rc;
-
- switch (message) {
- case WM_INITDIALOG:
- return TRUE;
-
- case WM_COMMAND:
- switch (wParam) {
- case IDOK:
- i = GetDlgItemText(hWnd, IDDTEXT1, (LPSTR)szDatabase, DBNAME_SZ-1 );
- szDatabase[i] = '\0';
-
- rc = sqlxuncd( (char far *)szDatabase,
- (struct sqlca far *) &ca );
-
- if ( ! err( hWnd, rc, &ca ) )
- {
- LoadString(hInstanceGV, IDSDBUNCATLG, buffer, 512);
- MessageBox( hWnd, buffer, success, MB_OK );
- }
- /* no break */
-
- case IDCANCEL:
- EndDialog(hWnd, TRUE);
- break;
-
- default:
- return FALSE;
- }
- break; /* end of WM_COMMAND */
-
- default:
- return FALSE;
-
- } /* end switch (message) */
-
- return TRUE;
- }
-
-
- BOOL FAR PASCAL StartDBDlg(hWnd, message, wParam, lParam)
- HWND hWnd;
- unsigned message;
- WORD wParam;
- LONG lParam;
- {
- int i;
- short rc;
-
- switch (message)
- {
- case WM_INITDIALOG:
- return TRUE;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDOK:
- i = GetDlgItemText(hWnd, IDDTEXT1, (LPSTR)szDatabase, DBNAME_SZ-1 );
- szDatabase[i] = '\0';
-
-
- rc = sqlStart( (char far *) szDatabase,
- (struct sqlca far *) &ca );
-
- if ( ! err( hWnd, rc, &ca ) )
- {
- LoadString(hInstanceGV, IDSDBCONNECT, buffer, 512);
- MessageBox( hWnd, buffer, success, MB_OK );
- DBSTARTED = TRUE;
- }
- /* no break */
-
- case IDCANCEL:
- EndDialog(hWnd, TRUE);
- break;
-
- default:
- return FALSE;
- }
- break; /* end of WM_COMMAND */
-
- default:
- return FALSE;
-
- } /* end switch (message) */
-
- return TRUE;
- }
-
- BOOL FAR PASCAL QueryDBDlg(hWnd, message, wParam, lParam)
- HWND hWnd;
- unsigned message;
- WORD wParam;
- LONG lParam;
- {
- int i;
- short rc;
- char result[20];
-
- switch (message)
- {
- case WM_INITDIALOG:
- return TRUE;
-
- case WM_COMMAND:
- switch (wParam)
- {
- case IDOK:
- i = GetDlgItemText(hWnd, IDDTEXT1, (LPSTR)szTable, TNAME_SZ-1 );
- szTable[i] = '\0';
-
- rc = sqlQuery( (char far *)szTable, (char far *) result,
- (struct sqlca far *) &ca );
- if ( ! err( hWnd, rc, &ca ) )
- MessageBox( hWnd, result, query, MB_OK );
-
- /* no break */
-
- case IDCANCEL:
- EndDialog(hWnd, TRUE);
- break;
-
- default:
- return FALSE;
- }
- break; /* end of WM_COMMAND */
-
- default:
- return FALSE;
-
- } /* end switch (message) */
-
- return TRUE;
- }
-
-