void vrpn_SerialPort::open(const char * portname, long baud, int charsize, vrpn_SER_PARITY parity) { if (is_open()) { throw AlreadyOpen(); } _comm = vrpn_open_commport(portname, baud, charsize, parity); if (!is_open()) { throw OpenFailure(); } }
void Include( char *inc_name ) { //================================= file_handle fp; char bld_name[MAX_FILE+1]; char err_msg[ERR_BUFF_SIZE+1]; SDInitAttr(); CopyMaxStr( inc_name, bld_name, MAX_FILE ); MakeName( bld_name, SDSrcExtn( bld_name ), bld_name ); if( AlreadyOpen( inc_name ) ) return; if( AlreadyOpen( bld_name ) ) return; // try file called <include_name>.FOR. fp = SDOpen( bld_name, READ_FILE ); if( fp != NULL ) { SrcInclude( bld_name ); CurrFile->fileptr = fp; } else { // get error message before next i/o SDError( NULL, err_msg ); // try library fp = IncSearch( inc_name ); if( fp != NULL ) { // SrcInclude( inc_name ) now done in LIBSUPP CurrFile->fileptr = fp; CurrFile->flags |= INC_LIB_MEMBER; } else { // could not open include file InfoError( SM_OPENING_FILE, bld_name, err_msg ); } } // clear RetCode so that we don't get "file not found" returned // because we could not open include file RetCode = _SUCCESSFUL; AddDependencyInfo( CurrFile ); }
void Database::init(const std::string &path, const std::string &conn_name, const std::string &create_script) { if (db.get() != nullptr && db->isOpen()) throw AlreadyOpen(path); QString qconn_name = QString::fromStdString(conn_name); if (QSqlDatabase::contains(qconn_name)) { db.reset(new QSqlDatabase(QSqlDatabase::database(qconn_name))); } else { db.reset(new QSqlDatabase(QSqlDatabase::addDatabase(cfg::db::driver, qconn_name))); } QFileInfo info(QString::fromStdString(path)); if (!info.exists()) { info.setFile(QString::fromStdString(create_script)); if (!info.exists() || !info.isFile()) throw InvalidFile(create_script); db->setDatabaseName(QString::fromStdString(path)); if (!db->open()) throw DatabaseError(db->lastError()); QFile file(QString::fromStdString(create_script)); if (!file.open(QFile::ReadOnly)) throw InvalidFile(create_script); QString query = file.readAll(); auto query_list = query.split(';'); for (auto curr_query: query_list) { curr_query = curr_query.trimmed(); if (curr_query.isEmpty()) continue; execute(curr_query.toStdString()); } } else { db->setDatabaseName(QString::fromStdString(path)); } if (!db->open()) throw DatabaseError(db->lastError()); }
HDDEDATA FAR PASCAL _export PowDdeServerProc (UINT type,UINT fmt,HCONV hconv,HSZ hsz1,HSZ hsz2,HDDEDATA hdata,DWORD dwData1,DWORD dwData2) { LPSTR exec; HWND hWnd; DWORD size; HDDEDATA hDat; switch (type) { case XTYP_CONNECT: return (HDDEDATA)IsTopic(hsz1); case XTYP_EXECUTE: { char buf[1000]; if (IsTopic(hsz1)) { DdeGetData(hdata,buf,sizeof(buf),0); exec=GetExecData(buf); if (IsCommand(buf,"openfile")) { if (*exec && (hWnd=AlreadyOpen(exec))) BringWindowToTop(hWnd); else { #ifndef _WIN32 DownStr(exec); #endif AddFile(exec); } return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"newfile")) { hWnd=AddFile(0); if (hWnd && *exec) { HWND old; if (old=AlreadyOpen(exec)) SendMessage (hwndMDIClient,WM_MDIDESTROY,(WPARAM)old,0L); #ifndef _WIN32 DownStr(exec); #endif SetWindowText(hWnd,exec); SetWindowWord(hWnd,GWW_UNTITLED,0); } return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"savefile")) { if (GetActiveEditWindow(hwndMDIClient)) { if (*exec) { #ifndef _WIN32 AnsiLower(exec); #endif SetWindowText(GetActiveEditWindow(hwndMDIClient),exec); SetWindowWord(GetActiveEditWindow(hwndMDIClient),GWW_UNTITLED,0); } SendMessage(hwndFrame,WM_COMMAND,IDM_FILESAVE,0); } return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"activate")) { if (*exec && (hWnd=AlreadyOpen(exec))) BringWindowToTop(hWnd); return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"appendtext") || IsCommand(buf,"addtext")) { if (*exec && GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient))) EditAddText(GetActiveEditWindow(hwndMDIClient),exec); return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"inserttext")) { if (*exec && GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient))) EditInsertText(GetActiveEditWindow(hwndMDIClient),exec); return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"appendfile") || IsCommand(buf,"addtext")) { if (*exec && GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient))) { EditGotoPos(GetActiveEditWindow(hwndMDIClient),-1,-1); InsertFile(exec); } return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"insertfile")) { if (*exec && GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient))) InsertFile(exec); return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"showposition")) { /* go to line/col of a given file (open if necessary) */ if (*exec) { char *file,*sline,*scol; int line=-1,col=-1; file=strtok(exec," "); if (file) { /* read position */ sline=strtok(NULL," "); if (sline) { line=atoi(sline); scol=strtok(NULL," "); if (scol) col=atoi(scol); } /* display the file */ if (hWnd=AlreadyOpen(file)) BringWindowToTop(hWnd); else { #ifndef _WIN32 DownStr(file); #endif AddFile(file); } /* set caret to given position */ EditGotoPos(GetActiveEditWindow(hwndMDIClient),line,col); } } return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"addtool")) { /* create a new tool */ if (*exec) { LPSTR lp; char *name,*cmd,*dir,*options; BOOL menu,askArg,toTop; int buttonId; name=cmd=dir=options=NULL; menu=askArg=toTop=FALSE; buttonId=0; /* read tool name */ name=strtok(exec,","); if (name) { cmd=strtok(NULL,","); if (cmd) { dir=strtok(NULL,","); if (dir) { options=strtok(NULL,","); if (options) { lp=strtok(NULL,","); if (lp) { menu=(BOOL)atoi(lp); lp=strtok(NULL,","); if (lp) { buttonId=atoi(lp); lp=strtok(NULL,","); if (lp) { toTop=(BOOL)atoi(lp); lp=strtok(NULL,","); if (lp) { askArg=(BOOL)atoi(lp); } } } } } } } } if (strcmp(dir," ")==0) dir=""; if (strcmp(options," ")==0) options=""; if (name && cmd && *name && *cmd && (menu || buttonId)) ToolAdd(name,cmd,dir,options,menu,buttonId,toTop,askArg); } return (HDDEDATA)DDE_FACK; } else if (IsCommand(buf,"deletetool")) { /* remove an external tool */ if (*exec) ToolDelete(exec); return (HDDEDATA)DDE_FACK; } } return (HDDEDATA)DDE_FNOTPROCESSED; } case XTYP_POKE: { if (IsTopic(hsz1)) { if (IsEqualString(hsz2,"editbuffer")) { if (GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient))) { LPSTR lBuf; if (lBuf=DdeAccessData(hdata,(LPDWORD)&size)) { EditResetContent(GetActiveEditWindow(hwndMDIClient)); EditAddText(GetActiveEditWindow(hwndMDIClient),lBuf); DdeUnaccessData(hdata); } } return (HDDEDATA)DDE_FACK; } } return (HDDEDATA)DDE_FNOTPROCESSED; } case XTYP_REQUEST: { if (IsTopic(hsz1)) { if (IsEqualString(hsz2,"activefile")) { if (GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient))) { long len; char name[100]; HSZ hitem; hitem=DdeCreateStringHandle(ddeInstId,(LPSTR)"activefile",CP_WINANSI); len=GetWindowText(GetActiveEditWindow(hwndMDIClient),(LPSTR)name,sizeof(name)); return DdeCreateDataHandle(ddeInstId,(LPSTR)name,len+1,0,hitem,CF_TEXT,0); } } else if (IsEqualString(hsz2,"editbuffer")) { if (GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient))) { LPSTR lp; HGLOBAL h; if (h=EditGetText(GetActiveEditWindow(hwndMDIClient))) { HSZ hitem; hitem=DdeCreateStringHandle(ddeInstId,(LPSTR)"editbuffer",CP_WINANSI); lp=GlobalLock(h); hDat=DdeCreateDataHandle(ddeInstId,lp,GlobalSize(h),0,hitem,CF_TEXT,0); GlobalUnlock(h); GlobalFree(h); } else hDat=0; return hDat; } } else if (IsEqualString(hsz2,"compiler")) { /* return name of active compiler interface dll */ char name[100]; HSZ hitem; hitem=DdeCreateStringHandle(ddeInstId,(LPSTR)"compiler",CP_WINANSI); strcpy(name,actConfig.compiler); return DdeCreateDataHandle(ddeInstId,(LPSTR)name,strlen(name)+1,0,hitem,CF_TEXT,0); } else if (IsEqualString(hsz2,"executable")) { /* return name of target executale */ BOOL isExecutable; //FARPROC lpfn; char name[500]; HSZ hitem; if (IsCompilerInterfaceLoaded()) { if (!*actPrj) { RemoveMessageWindow(); if (GetActiveEditWindow(hwndMDIClient) && IsEditWindow(GetActiveEditWindow(hwndMDIClient)) && !GetWindowWord(GetActiveEditWindow(hwndMDIClient),GWW_UNTITLED)) { SetDefaultProjectName(); isExecutable=(*compGetTarget)(hCompData,(LPSTR)name); if (*name && *RunArgs) { /* append run arguments (as string included in "") */ strcat(name," \""); strcat(name,RunArgs); strcat(name,"\""); } } else *name=0; } else isExecutable=(*compGetTarget)(hCompData,(LPSTR)name); } else *name=0; hitem=DdeCreateStringHandle(ddeInstId,(LPSTR)"executable",CP_WINANSI); return DdeCreateDataHandle(ddeInstId,(LPSTR)name,strlen(name)+1,0,hitem,CF_TEXT,0); } } return (HDDEDATA) NULL; } } if (type&XCLASS_FLAGS) return (HDDEDATA)DDE_FNOTPROCESSED; else return (HDDEDATA)NULL; }
//--------------------------------------------------------------------------- // InitializeInstance // // Performs a per-instance initialization of WTD. The WTD Command Line // parser is first called - if a valid command line was given, it does NOT // RETURN from that call, since the WTD BASIC engine is invoked straight // from there, and then the program exits. // // However, if an invalid command line (or none at all) is given, we come // back here and create the frame window, and an MDI child. // // RETURNS: TRUE if successful, or FALSE if not //--------------------------------------------------------------------------- BOOL APIENTRY InitializeInstance(LPSTR lpCmdLine, INT nCmdShow) { extern HWND hwndMDIClient; CHAR sz[320]; CHAR *def = "", *szCreate = "-2147450880"; /* this is really 0x80008000 */ INT i, j, FrameState, VPstate, flags, len; INT actions[3] = {IDD_NEVER, IDD_ALWAYS, IDD_QUERY}; HANDLE *hScr; #ifdef DEBUG auxport = 0; #endif // Set up the helpfile name and the INI file name //----------------------------------------------------------------------- SetHelpFileName (); len = GetModuleFileName (GetModuleHandle (szModName), szIni, sizeof(szIni)); while (szIni[len] != '\\') len--; szIni[len+1] = 0; strcat (szIni, szIniName); UseIniInclude ("INCLUDE", szDrvr, szIni); // Initialize the pre-defined symbol space. //----------------------------------------------------------------------- for (i=0; i<16; i++) DefPtrs[i] = DefSym[i]; // Get Window state information (max'd, hidden, etc) //----------------------------------------------------------------------- FrameState = GetPrivateProfileInt (szDrvr, "FrameState", 0, szIni); VPstate = GetPrivateProfileInt (szDrvr, "VPState", 0, szIni); ChildState = GetPrivateProfileInt (szDrvr, "MDIState", 0, szIni); GetPrivateProfileString (szDrvr, "FramePos", szCreate, sz, 80, szIni); Frx = LOWORD(atol (sz)); Fry = HIWORD(atol (sz)); GetPrivateProfileString (szDrvr, "FrameSize", szCreate, sz, 80, szIni); Frh = LOWORD(atol (sz)); Frw = HIWORD(atol (sz)); GetPrivateProfileString (szDrvr, "VPPos", szCreate, sz, 80, szIni); VPx = LOWORD(atol (sz)); VPy = HIWORD(atol (sz)); GetPrivateProfileString (szDrvr, "VPSize", szCreate, sz, 80, szIni); VPh = LOWORD(atol (sz)); VPw = HIWORD(atol (sz)); // Read the "Get XY-Coords" dialog settings //----------------------------------------------------------------------- flags = GetPrivateProfileInt (szXY, "Opts", XY_VIEWPORT | XY_STATBAR, szIni); fInsEdit = flags & XY_INSEDIT; fInsClip = flags & XY_INSCLIP; fVP = flags & XY_VIEWPORT; fStatbar = flags & XY_STATBAR; iFmtIndex = GetPrivateProfileInt (szXY, "Format", 0, szIni); // Read the search/replace vars //----------------------------------------------------------------------- GetPrivateProfileString (szDrvr, "SR", def, sz, 80, szIni); SRx = LOWORD(atol (sz)); SRy = HIWORD(atol (sz)); GetPrivateProfileString (szDrvr, "Srch", def, szSrchbuf, sizeof(szSrchbuf), szIni); GetPrivateProfileString (szDrvr, "Repl", def, szReplbuf, sizeof(szSrchbuf), szIni); // Get the environment dialog options //----------------------------------------------------------------------- flags = GetPrivateProfileInt (szDrvr, "EnvFlags", ENV_SAVEASK | ENV_CMPDLG | ENV_BACKUP, szIni); SaveAction = actions[flags & ENV_SAVEACTION]; AutoMini = flags & ENV_AUTOMINI; AutoRest = flags & ENV_AUTOREST; qsave = flags & ENV_QUERYSAVE; ChgArgs = flags & ENV_RTARGS; fBackup = flags & ENV_BACKUP; fDoCmpDlg = flags & ENV_CMPDLG; TabStops = GetPrivateProfileInt (szDrvr, "TabStops", 4, szIni); // Find and Search/Replace options //----------------------------------------------------------------------- flags = GetPrivateProfileInt (szDrvr, "SearchFlags", 0, szIni); fSrchCase = flags & SRCH_SRCHCASE; WholeWord = flags & SRCH_WHOLEWORD; // Recorder options -- the 0x3C is 60 decimal, which is the default // string length //----------------------------------------------------------------------- iRecPause = GetPrivateProfileInt (szRecorder, "Pause", 2000, szIni); flags = GetPrivateProfileInt (szRecorder, "Flags", 0x3C00 | REC_KEYS | REC_CLICKS | REC_INCDECL | REC_BALANCE, szIni); iRecInsert = flags & REC_INSERT; fRecKeys = flags & REC_KEYS; fRecClicks = flags & REC_CLICKS; fRecMoves = flags & REC_MOVES; fRecRelWnd = flags & REC_RELWND; fRecIncDecl = flags & REC_INCDECL; fRecBalance = flags & REC_BALANCE; iRecLen = HIBYTE (flags); // Runtime options //----------------------------------------------------------------------- flags = GetPrivateProfileInt (szDrvr, "RTFlags", RF_SAVERTA | #ifdef WIN32 RF_CDECL | #endif RF_ARRAYCHECK, szIni); SaveRTA = flags & RF_SAVERTA; ArrayCheck = flags & RF_ARRAYCHECK; PointerCheck = flags & RF_PTRCHECK; CdeclCalls = flags & RF_CDECL; ExpDeclare = flags & RF_EXPDECL; GetPrivateProfileString (szDrvr, "Cmd", def, cmdbuf, sizeof (cmdbuf), szIni); GetPrivateProfileString (szDrvr, "Tm", def, tmbuf, sizeof (tmbuf), szIni); GetPrivateProfileString (szDrvr, "Defc", def, sz, 80, szIni); SymCount = min (atoi (sz), 16); GetPrivateProfileString (szDrvr, "Defs", def, sz, 320, szIni); def = sz; while (*def == ' ') def++; j = 0; for (i=0; i<SymCount; i++) { while ((*def) && (*def != ' ')) DefSym[i][j++] = *def++; DefSym[i][j] = 0; def++; j = 0; } // Create the ViewPort window first //----------------------------------------------------------------------- hwndViewPort = SetupViewport (); if (!hwndViewPort) return (FALSE); if ((VPstate & 3) == 1) ShowWindow (hwndViewPort, SW_SHOWMAXIMIZED); else if ((VPstate & 3) == 2) ShowWindow (hwndViewPort, SW_SHOWMINIMIZED); // Parse the command line - if this function returns NULL, then we're // done -- no need to continue //----------------------------------------------------------------------- if (!(hScr = ParseCommandLine (lpCmdLine))) { DestroyWindow (hwndViewPort); return (FALSE); } // Get the names of the last four files opened and store them in the // list //----------------------------------------------------------------------- iFileCount = GetPrivateProfileInt (szDrvr, "fCount", 0, szIni); for (i=0; i<iFileCount; i++) { CHAR buf[10]; wsprintf (buf, "File%d", i+1); GetPrivateProfileString (szDrvr, buf, def, sz, 128, szIni); pFileOpened[i] = (PSTR)LptrAlloc (lstrlen(sz)+1); if (!pFileOpened[i]) { MPError (NULL, MB_OK | MB_ICONSTOP, IDS_OUTOFMEM); DestroyWindow (hwndViewPort); return (FALSE); } lstrcpy (pFileOpened[i], sz); } // Get the base window title //----------------------------------------------------------------------- LoadString (hInst, IDS_APPNAME, sz, sizeof(sz)); // Create the frame //----------------------------------------------------------------------- hwndFrame = CreateWindow (szFrame, sz, WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, Frx, Fry, Frw, Frh, NULL, NULL, hInst, NULL); if ((!hwndFrame) || (!hwndMDIClient) || (!hwndViewPort)) return (FALSE); // Display the frame window //----------------------------------------------------------------------- if (nCmdShow != SW_SHOWNORMAL) ShowWindow (hwndFrame, nCmdShow); else if (FrameState == 1) ShowWindow (hwndFrame, SW_SHOWMAXIMIZED); else if (FrameState == 2) ShowWindow (hwndFrame, SW_SHOWMINIMIZED); else ShowWindow (hwndFrame, SW_SHOWNORMAL); // Show the viewport if we're supposed to (sending it a WM_COMMAND msg // with the IDM_WINDOWSHOW parm... //----------------------------------------------------------------------- if (!(VPstate & 4)) SendMessage (hwndFrame, WM_COMMAND, IDM_WINDOWSHOW, 0L); // Load main menu accelerators //----------------------------------------------------------------------- if (!(hAccel = LoadAccelerators (hInst, IDMULTIPAD))) return (FALSE); UpdateWindow (hwndFrame); // Load the scripts given on the command line. //----------------------------------------------------------------------- NextFile = 0; for (i=0; hScr[i]; i++) { CHAR *scr; // If this is the first file and it has nothing in it, we add an // untitled script and we're done. //------------------------------------------------------------------- scr = LocalLock (hScr[i]); if ((!i) && (!*scr)) { AddFile (NULL); break; } // Check for an extension -- if not there, append default. Then, // load the file if it isn't already loaded. //--------------------------------------------------------------- EnsureExt (scr, 80); if (!AlreadyOpen (scr)) AddFile (scr); LocalUnlock (hScr[i]); LocalFree (hScr[i]); } for (i = 0 ; i < 4 ; i++) { wsprintf (sz, "wattrec%d", i + 1); hBitmap [i] = LoadBitmap (hInst, (LPSTR) sz); if (!hBitmap [i]) return FALSE; } // We're done. //----------------------------------------------------------------------- return (TRUE); }