//--------------------------------------------------------------------------- #pragma hdrstop #include #include "ITSSkinF.h" #include "ITSUtilF.h" #include "AppGlobalF.h" #pragma hdrstop #include "VMSM500MF.h" #include "VMSM500MSRCF.h" //--------------------------------------------------------------------------- #pragma package(smart_init) //ÆûÀ¯Çü void __fastcall TVMSM500M::FillVmsFormType(TcxComboBox *ACombo) { String sQry; TADOQuery *pADO = NULL; ACombo->Properties->Items->Clear(); sQry = "SELECT VMS_FORM_TYPE_CD AS CD, \r\n" " VMS_FORM_TYPE_NM AS NM, \r\n" " EDTN_CD \r\n" " FROM TB_VMS_FORM_TYPE \r\n" " ORDER BY CD ASC \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { String sUse = pADO->FieldByName("EDTN_CD")->AsString; if (sUse == "EDI2") continue; String sCd = pADO->FieldByName("CD")->AsString; String sNm = pADO->FieldByName("NM")->AsString; ACombo->Properties->Items->Add(" [" + sCd + "] " + sNm); } ACombo->ItemIndex = 0; } catch(EDatabaseError &E) { DBERRORMSG("FillVmsFormType", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { DBERRORMSG("FillVmsFormType", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } } //--------------------------------------------------------------------------- //Ç¥Ãâ¹æ¹ý void __fastcall TVMSM500M::FillVmsFormDispMode(TcxComboBox *ACombo) { String sQry; TADOQuery *pADO = NULL; ACombo->Properties->Items->Clear(); sQry = "SELECT VMS_MSG_DSPL_MTHD_CD AS CD, \r\n" " VMS_MSG_DSPL_MTHD_NM AS NM, \r\n" " EDTN_CD \r\n" " FROM TB_VMS_MSG_DSPL_MTHD \r\n" " ORDER BY CD ASC \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { String sUse = pADO->FieldByName("EDTN_CD")->AsString; if (sUse == "EDI2") continue; String sCd = pADO->FieldByName("CD")->AsString; String sNm = pADO->FieldByName("NM")->AsString; ACombo->Properties->Items->Add(" [" + sCd + "] " + sNm); } ACombo->ItemIndex = 0; } catch(EDatabaseError &E) { DBERRORMSG("FillVmsFormType", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { DBERRORMSG("FillVmsFormType", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } } //--------------------------------------------------------------------------- //Ç¥Ãâ¹æÇâ void __fastcall TVMSM500M::FillVmsFormDispDir(TcxComboBox *ACombo) { String sQry; TADOQuery *pADO = NULL; ACombo->Properties->Items->Clear(); sQry = "SELECT VMS_MSG_DSPL_DRCT_CD AS CD, \r\n" " VMS_MSG_DSPL_DRCT_NM AS NM, \r\n" " EDTN_CD \r\n" " FROM TB_VMS_MSG_DSPL_DRCT \r\n" " ORDER BY CD ASC \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { String sUse = pADO->FieldByName("EDTN_CD")->AsString; if (sUse == "EDI2") continue; String sCd = pADO->FieldByName("CD")->AsString; String sNm = pADO->FieldByName("NM")->AsString; ACombo->Properties->Items->Add(" [" + sCd + "] " + sNm); } ACombo->ItemIndex = 0; } catch(EDatabaseError &E) { DBERRORMSG("FillVmsFormType", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { DBERRORMSG("FillVmsFormType", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } } //--------------------------------------------------------------------------- //VMS Font void __fastcall TVMSM500M::FillVmsFont(TcxComboBox *ACombo) { String sQry; TADOQuery *pADO = NULL; ACombo->Properties->Items->Clear(); sQry = "SELECT VMS_FONT_SHPE_CD AS CD, \r\n" " VMS_FONT_SHPE_NM AS NM, \r\n" " EDTN_CD \r\n" " FROM TB_VMS_FONT_SHPE \r\n" " ORDER BY CD ASC \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { String sUse = pADO->FieldByName("EDTN_CD")->AsString; if (sUse == "EDI2") continue; String sCd = pADO->FieldByName("CD")->AsString; String sNm = pADO->FieldByName("NM")->AsString; ACombo->Properties->Items->Add(" [" + sCd + "] " + sNm); } ACombo->ItemIndex = 0; } catch(EDatabaseError &E) { DBERRORMSG("FillVmsFormType", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { DBERRORMSG("FillVmsFormType", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } } //--------------------------------------------------------------------------- void __fastcall TVMSM500M::LoadFormObjectInfo(String AFormId, TVmsFormDesigner *ADesigner, String AFormType) { ADesigner->Clear(); String sQry; TADOQuery *pADO = NULL; sQry = "SELECT A.*, \r\n" " C.VMS_FONT_SHPE_NM, \r\n" " B.IMAG_DATA AS SYMB_IMG, \r\n" " B.SYMB_EXPL AS SYMB_IMG_NM \r\n" " FROM TB_VMS_FORM_OBJECT A, \r\n" " TB_VMS_SYMB_LIB B, \r\n" " TB_VMS_FONT_SHPE C \r\n" " WHERE A.VMS_FORM_ID = :p01 \r\n" " AND A.SYMBLIB_NMBR = B.SYMBLIB_NMBR(+) \r\n" " AND A.VMS_FONT_TYPE_CD = C.VMS_FONT_SHPE_CD(+) \r\n" " ORDER BY A.FORM_OBJECT_ID ASC \r\n"; #if 0 FORM_OBJECT_ID N NUMBER(5) N FORM OBJECT ID VMS_FORM_ID N NUMBER(5) N VMS FORM ID VMS_FORM_DSPL_ROW N NUMBER(2) Y VMS FORM Ç¥Ãâ Çà VMS_FORM_DSPL_CLMN N NUMBER(2) Y VMS FORM Ç¥Ãâ Ä®·³ VMS_FORM_OBJECT_TYPE_CD N NUMBER(3) N VMS FORM OBJECT À¯Çü ÄÚµå VMS_FONT_TYPE_CD N NUMBER(3) N VMS ±Û²Ã À¯Çü ÄÚµå VMS_FONT_HUE_CD N NUMBER(9) N VMS ±Û²Ã »ö»ó ÄÚµå VMS_FONT_STYL_CD N NUMBER(3) Y VMS ±Û²Ã ¹æ½Ä ÄÚµå VMS_FONT_SIZE N NUMBER(3) Y 0 VMS ±Û²Ã Å©±â VMS_FONT_ALIGN N NUMBER(1) Y 0 VMS Ç¥Ãâ ¹®ÀÚ¿­Á¤¿­¹æ½Ä(0:LEFT,1:RIGHT,2:CENTER) VMS_DSPL_TXT N VARCHAR2(200) Y VMS Ç¥Ãâ ÅØ½ºÆ® VMS_DSPL_FIGR N BLOB Y VMS Ç¥Ãâ µµÇü VMS_DSPL_XCRDN N NUMBER(5) Y VMS Ç¥Ãâ XÁÂÇ¥ VMS_DSPL_YCRDN N NUMBER(5) Y VMS Ç¥Ãâ YÁÂÇ¥ VMS_DSPL_WIDTH N NUMBER(5) Y 0 VMS Ç¥Ãâ ³ÐÀÌ VMS_DSPL_HEIGHT N NUMBER(5) Y 0 VMS Ç¥Ãâ ³ôÀÌ VMS_DSPL_BLINKING N NUMBER(1) Y 0 VMS Ç¥Ãâ Á¡¸ê ¿©ºÎ(0:Áö¼Ó, 1:Á¡¸ê) VMS_DSPL_BKCOLOR N NUMBER(1) Y 0 VMS Ç¥Ãâ ¹è°æ»ö»óÄÚµå VMS_DSPL_SIZE N NUMBER(7) Y 0 VMS Ç¥Ãâ Å©±â(¹®ÀÚ:¹®ÀÚ±æÀÌ,À̹ÌÁö:À̹ÌÁöÀüüũ±â) TRFC_FILL_CD N CHAR(1) Y 'N' FILL-IN ¸Þ½ÃÁö ¿©ºÎ SYMBLIB_NMBR N NUMBER(4) N 0 ½É¹ú¶óÀ̺귯¸® ¹øÈ£ #endif try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AFormId); ITSDb_SQLOpen(pADO); int nDrawType; String sObjKind; for( ; !pADO->Eof; pADO->Next()) { int nFormId = pADO->FieldByName("VMS_FORM_ID")->AsInteger; int nObjId = pADO->FieldByName("FORM_OBJECT_ID")->AsInteger; int nObjType = pADO->FieldByName("VMS_FORM_OBJECT_TYPE_CD")->AsInteger; if (nObjType == 1 || //À̹ÌÁö ½Éº¼ nObjType == 2 || //ÆÄÀÏÀ̹ÌÁö nObjType == 3 || //¼ÒÅëÁ¤º¸À̹ÌÁö nObjType == 17 || //¼ÒÅëÀ̹ÌÁö1 nObjType == 27 || //¼ÒÅëÀ̹ÌÁö2 nObjType == 37 || //¼ÒÅëÀ̹ÌÁö3 nObjType == 47 ) //¼ÒÅëÀ̹ÌÁö4 { if (nObjType == 3) sObjKind = OBJKIND_IMAGE; else sObjKind = OBJKIND_IMAGEID; nDrawType = 1; //À̹ÌÁö±×¸®±â } else { sObjKind = OBJKIND_TEXT; //¹®ÀÚ¿­ nDrawType = 0; //¹®ÀÚ¿­±×¸®±â } int nBlinking = pADO->FieldByName("VMS_DSPL_BLINKING")->AsInteger; int nPosX = pADO->FieldByName("VMS_DSPL_XCRDN")->AsInteger; int nPosY = pADO->FieldByName("VMS_DSPL_YCRDN")->AsInteger; TVmsFormObject *pObj = ADesigner->AddObject((VmsObjectDrawType)nDrawType); if (!pObj) continue; String sIfscId = pADO->FieldByName("VMS_IFSC_ID")->AsString; String sFillCd = pADO->FieldByName("TRFC_FILL_CD")->AsString; pObj->ObjSeq = nObjId; pObj->ObjId = nObjId; pObj->ObjKind = sObjKind; pObj->Tag = sIfscId; if (AFormType == "15") { if (nObjType == 0 || nObjType == 1 || nObjType == 2) { pObj->Tag = sFillCd; } } pObj->ObjType = pADO->FieldByName("VMS_FORM_OBJECT_TYPE_CD")->AsString; pObj->ObjSize = pADO->FieldByName("VMS_DSPL_SIZE")->AsInteger; pObj->BkColorCode = pADO->FieldByName("VMS_DSPL_BKCOLOR")->AsString; pObj->Blink = nBlinking == 1 ? true : false; pObj->ImageId = pADO->FieldByName("SYMBLIB_NMBR")->AsString; pObj->Text = pADO->FieldByName("VMS_DSPL_TXT")->AsString; if (pObj->ObjKind == OBJKIND_TEXT) // ¹®ÀÚ¿­ { int nFontBold = pADO->FieldByName("VMS_FONT_STYL_CD")->AsInteger; pObj->FontName = pADO->FieldByName("VMS_FONT_SHPE_NM")->AsString; pObj->FontNameCode = pADO->FieldByName("VMS_FONT_TYPE_CD")->AsString; pObj->FontColorCode = pADO->FieldByName("VMS_FONT_HUE_CD")->AsString; pObj->FontSize = pADO->FieldByName("VMS_FONT_SIZE")->AsInteger; pObj->FontBold = nFontBold == 1 ? true : false; pObj->TextAlign = pADO->FieldByName("VMS_FONT_ALIGN")->AsInteger; } else //if (sObjKind == "1" || sObjKind == "2") // À̹ÌÁö(1), À̹ÌÁö ID(2) { if (pObj->ObjKind == OBJKIND_IMAGEID) { if (pObj->Text.Trim() == "") { pObj->Text = pObj->ImageId; } } TStream *pStream = NULL; pStream = pADO->CreateBlobStream(pADO->FieldByName("VMS_DSPL_FIGR"), bmRead); try { if (pStream && pStream->Size > 0) { Graphics::TBitmap *Bitmap = pObj->GetBitmap(); pStream->Position = 0; Bitmap->LoadFromStream(pStream); pObj->SetSize(Bitmap->Width, Bitmap->Height); } } __finally { SAFE_DELETE(pStream); } } pObj->SetPos(nPosX, nPosY); pObj->Show(); pObj->BringToFront(); } } catch(EDatabaseError &E) { DBERRORMSG("VMS Form Object Query", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &exception) { DBERRORMSG("VMS Form Object Query", String(exception.ClassName()), exception.Message, sQry); throw Exception(String(exception.ClassName()) + exception.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } } //--------------------------------------------------------------------------- void __fastcall TVMSM500M::LoadVmsForm() { FormClear(); int nFocusedIdx = TvList->DataController->FocusedRecordIndex; CMM_ClearGridTableView(TvList); ClearSymbloList(); TVmsSizeType *pVmsSizeType = APP_GetVmsSizeTypeObject(CbSizeType); if (pVmsSizeType == NULL) return; String sWhereQry = ""; if (pVmsSizeType->TypeCd != "ALL") { sWhereQry = " WHERE A.VMS_TYPE_CD = '" + pVmsSizeType->TypeCd + "' \r\n"; } FVmsTypeCd = pVmsSizeType->TypeCd; FVmsWidth = pVmsSizeType->Width; FVmsHeight = pVmsSizeType->Height; ImgForm->Width = FVmsWidth; ImgForm->Height = FVmsHeight; ImgForm->Picture->Bitmap->Width = FVmsWidth; ImgForm->Picture->Bitmap->Height = FVmsHeight; { PnlBack->Left = 5; PnlBack->Top = 5; PnlBack->Width = FVmsWidth+4; PnlBack->Height= FVmsHeight+4; //PnlFormPreview->Width = pVmsSizeType->Width +4; //PnlFormPreview->Height = pVmsSizeType->Height+4; //m_pDesigner->Clear(); //m_pDesigner->SizeType = FVmsTypeCd; //m_pDesigner->SetSize(FVmsWidth, FVmsHeight); //m_pDesigner->SetPos(0, 0); //m_pDesigner->BkColor = clBlack; //m_pDesigner->Show(); } { PnlEdtBack->Width = FVmsWidth+4; PnlEdtBack->Height= FVmsHeight+4; PnlRePreview->Width = FVmsWidth+4; PnlRePreview->Height= FVmsHeight+4; PnlRePreview->Color = clWhite;//m_pDesigner->BkColor; ImgEdtPreview->Left = 2; ImgEdtPreview->Top = 2; ImgEdtPreview->Width = FVmsWidth; ImgEdtPreview->Height= FVmsHeight; ReForm->Width = FVmsWidth+22+4; ReForm->Height= FVmsHeight+22+4; ReForm->Color = clBlack; m_pEdtDesigner->Clear(); m_pEdtDesigner->SizeType = FVmsTypeCd; m_pEdtDesigner->SetSize(FVmsWidth, FVmsHeight); m_pEdtDesigner->SetPos(0, 0); m_pEdtDesigner->BkColorCode = "0";//m_pDesigner->BkColorCode; m_pEdtDesigner->EditMode = true; m_pEdtDesigner->Show(); } String sVmsSizeNm = pVmsSizeType->TypeNm; String sQry; TADOQuery *pADO = NULL; sQry = "SELECT A.VMS_FORM_ID, A.VMS_FORM_NM, A.VMS_FORM_EXPL, \r\n" " A.VMS_FORM_TYPE_CD, A.VMS_TYPE_CD, \r\n" " (SELECT CMMN_CD_KOR_NM \r\n" " FROM TB_CMMN_CD \r\n" " WHERE CMMN_CD = A.VMS_TYPE_CD AND USE_YN = 'Y') \r\n" " AS VMS_SIZE_TYPE_NM, \r\n" " (SELECT VMS_FORM_TYPE_NM \r\n" " FROM TB_VMS_FORM_TYPE \r\n" " WHERE EDTN_CD <> 'EDI2' \r\n" " AND VMS_FORM_TYPE_CD = A.VMS_FORM_TYPE_CD) \r\n" " AS FORM_TYPE_NM, \r\n" " A.VMS_FORM_BCKG_HUE_CD, \r\n" " A.VMS_MSG_DSPL_DRCT_CD, \r\n" " A.VMS_MSG_DSPL_MTHD_CD, \r\n" " A.VMS_FORM_IMAG \r\n" " FROM TB_VMS_FORM A \r\n"; sQry += sWhereQry; sQry +=" ORDER BY A.VMS_TYPE_CD DESC, A.VMS_FORM_ID ASC \r\n"; String sFirstFormId = ""; try { int nRow; TcxDataController *pGDC = TvList->DataController; TvList->BeginUpdate(); try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); //ITSDb_SQLBind(pADO, "p01", sVmsTypeCd); ITSDb_SQLOpen(pADO); for( ; !pADO->Eof; pADO->Next()) { nRow = pGDC->AppendRecord(); String sFormId = pADO->FieldByName("VMS_FORM_ID")->AsString; if (sFirstFormId == "") sFirstFormId = sFormId; pGDC->Values[nRow][Col01->Index] = sFormId; //ÆûID pGDC->Values[nRow][Col02->Index] = pADO->FieldByName("VMS_FORM_NM")->AsVariant; //Æû¸íĪ pGDC->Values[nRow][Col03->Index] = pADO->FieldByName("VMS_FORM_EXPL")->AsString; //Æû¼³¸í pGDC->Values[nRow][Col04->Index] = pADO->FieldByName("FORM_TYPE_NM")->AsString; //ÆûÁ¾·ù pGDC->Values[nRow][Col05->Index] = pADO->FieldByName("VMS_SIZE_TYPE_NM")->AsString; //ÆûÅ©±â pGDC->Values[nRow][Col06->Index] = pADO->FieldByName("VMS_MSG_DSPL_MTHD_CD")->AsString; //Ç¥Ãâ¹æ¹ýÄÚµå- pGDC->Values[nRow][Col07->Index] = pADO->FieldByName("VMS_MSG_DSPL_DRCT_CD")->AsString; //Ç¥Ãâ¹æÇâÄÚµå- pGDC->Values[nRow][Col08->Index] = pADO->FieldByName("VMS_FORM_BCKG_HUE_CD")->AsString; //¹è°æ»öÄÚµå- pGDC->Values[nRow][Col09->Index] = pADO->FieldByName("VMS_FORM_TYPE_CD")->AsString; //ÆûÁ¾·ùÄÚµå- pGDC->Values[nRow][Col10->Index] = pADO->FieldByName("VMS_TYPE_CD")->AsString; //ÆûÅ©±âÄÚµå- Graphics::TBitmap *bitmap = new Graphics::TBitmap; try { bitmap->LoadFromStream(pADO->CreateBlobStream(pADO->FieldByName("VMS_FORM_IMAG"), bmRead)); } catch(Exception &e) { //throw Exception(String(e.ClassName()) + e.Message); } FListSymb->Add(bitmap); } } catch(EDatabaseError &E) { DBERRORMSG("VMS Form Query", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("VMS Form Query", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } TvList->EndUpdate(); if (TvList->DataController->RecordCount > 0) { //CMM_SetGridRow(CxList, TvList, sFirstFormId, Col01->Index); //DisplayInfo(); } } } //--------------------------------------------------------------------------- bool __fastcall TVMSM500M::SaveVmsForm() { String sQry; TADOQuery *pADO = NULL; String sFormId = EdFormId->Text; String sVmsType = FVmsTypeCd; String sFormType = APP_GetCode(CbFormKind); String sName = EdFormName->Text.Trim(); String sExpl = EdFormDesc->Text.Trim(); String sFormColor = String(CbFormColor->ItemIndex); String sDispDir = APP_GetCode(CbFormDispDir); String sDispMode = APP_GetCode(CbFormDispMode); sQry = "MERGE INTO TB_VMS_FORM L \r\n" "USING (SELECT :p01 AS VMS_FORM_ID, \r\n" " :p02 AS VMS_TYPE_CD, \r\n" " :p03 AS VMS_FORM_TYPE_CD, \r\n" " :p04 AS VMS_FORM_NM, \r\n" " :p05 AS VMS_FORM_EXPL, \r\n" " :p06 AS VMS_FORM_BCKG_HUE_CD, \r\n" " :p07 AS VMS_MSG_DSPL_DRCT_CD, \r\n" " :p08 AS VMS_MSG_DSPL_MTHD_CD \r\n" " FROM DUAL) M \r\n" " ON (L.VMS_FORM_ID = M.VMS_FORM_ID) \r\n" "WHEN MATCHED \r\n" "THEN \r\n" " UPDATE SET L.VMS_FORM_NM = M.VMS_FORM_NM, \r\n" " L.VMS_FORM_EXPL = M.VMS_FORM_EXPL, \r\n" " L.VMS_FORM_BCKG_HUE_CD = M.VMS_FORM_BCKG_HUE_CD, \r\n" " L.VMS_MSG_DSPL_DRCT_CD = M.VMS_MSG_DSPL_DRCT_CD, \r\n" " L.VMS_MSG_DSPL_MTHD_CD = M.VMS_MSG_DSPL_MTHD_CD \r\n" "WHEN NOT MATCHED \r\n" "THEN \r\n" " INSERT (VMS_FORM_ID, \r\n" " VMS_TYPE_CD, \r\n" " VMS_FORM_TYPE_CD, \r\n" " VMS_FORM_NM, \r\n" " VMS_FORM_EXPL, \r\n" " VMS_FORM_BCKG_HUE_CD, \r\n" " VMS_MSG_DSPL_DRCT_CD, \r\n" " VMS_MSG_DSPL_MTHD_CD ) \r\n" " VALUES (M.VMS_FORM_ID, \r\n" " M.VMS_TYPE_CD, \r\n" " M.VMS_FORM_TYPE_CD, \r\n" " M.VMS_FORM_NM, \r\n" " M.VMS_FORM_EXPL, \r\n" " M.VMS_FORM_BCKG_HUE_CD, \r\n" " M.VMS_MSG_DSPL_DRCT_CD, \r\n" " M.VMS_MSG_DSPL_MTHD_CD ) \r\n"; TMemoryStream *dataStream = new TMemoryStream(); ImgForm->Picture->Bitmap->SaveToStream(dataStream); try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", sFormId); ITSDb_SQLBind(pADO, "p02", sVmsType); ITSDb_SQLBind(pADO, "p03", sFormType); ITSDb_SQLBind(pADO, "p04", sName); ITSDb_SQLBind(pADO, "p05", sExpl); ITSDb_SQLBind(pADO, "p06", sFormColor); ITSDb_SQLBind(pADO, "p07", sDispDir); ITSDb_SQLBind(pADO, "p08", sDispMode); ITSDb_SQLExec(pADO); sQry = "UPDATE TB_VMS_FORM SET VMS_FORM_IMAG = :p02 \r\n" " WHERE VMS_FORM_ID = :p01 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", sFormId); if (dataStream->Size == 0) { ITSDb_SQLBind(pADO, "p01", ""); } else { pADO->Parameters->ParamByName("p02")->LoadFromStream(dataStream, ftBlob); } ITSDb_SQLExec(pADO); return true; } catch(EDatabaseError &E) { DBERRORLOG("VMS Form Save", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORLOG("VMS Form Save", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } if (dataStream) delete dataStream; dataStream = NULL; } return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSM500M::CheckVmsFormUse(String AFormId) { String sQry; TADOQuery *pADO = NULL; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); #if 0 sQry = "SELECT COUNT(1) AS CNT \r\n" " FROM TB_VMS_PASV_MSG_DETL \r\n" " WHERE VMS_FORM_ID = :p01 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AFormId); ITSDb_SQLOpen(pADO); if (pADO->FieldByName("CNT")->AsInteger > 0) { Application->MessageBox(L"VMS Æû »ç¿ëÈ®ÀÎ\r\n»èÁ¦ÇÒ VMS Æû Á¤º¸°¡ VMS °íÁ¤¸Þ½ÃÁö ½ºÄÉÁì¿¡ »ç¿ëµÇ°í ÀÖ½À´Ï´Ù.\r\n¸ÕÀú ÇØ´ç Á¤º¸¸¦ »èÁ¦ÇØÁֽñ⠹ٶø´Ï´Ù.", FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return false; } #endif sQry = "SELECT COUNT(1) AS CNT \r\n" " FROM TB_VMS_TRFC_INFR_DSPL_SCH \r\n" " WHERE VMS_FORM_ID = :p01 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AFormId); ITSDb_SQLOpen(pADO); if (pADO->FieldByName("CNT")->AsInteger > 0) { Application->MessageBox(MSG702, FTitle.c_str(), MB_OK|MB_ICONERROR|MB_APPLMODAL); return false; } } catch(EDatabaseError &E) { DBERRORMSG("VMS Form Use Query", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("VMS Form Use Query", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSM500M::DelVmsForm(String AFormId) { String sQry; TADOQuery *pADO = NULL; int nRowHeight = 0; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); sQry = "DELETE TB_VMS_FORM_OBJECT \r\n" " WHERE VMS_FORM_ID = :p01 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AFormId); pADO->ExecSQL(); sQry = "DELETE TB_VMS_FORM \r\n" " WHERE VMS_FORM_ID = :p01 \r\n"; ITSDb_SQLText(pADO, sQry); ITSDb_SQLBind(pADO, "p01", AFormId); pADO->ExecSQL(); return true; } catch(EDatabaseError &E) { DBERRORMSG("VMS Form Delete", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORMSG("VMS Form Delete", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return true; } //--------------------------------------------------------------------------- bool __fastcall TVMSM500M::GetNextVmsFormId(int &AFormId) { String sQry; TADOQuery *pADO = NULL; sQry = "SELECT NVL(MAX(VMS_FORM_ID), 9999)+1 AS NEWID FROM TB_VMS_FORM \r\n"; try { try { pADO = new TADOQuery(NULL); pADO->Close(); pADO->Connection = ITSDb_GetConnection(); pADO->SQL->Clear(); pADO->SQL->Text = sQry; pADO->Open(); AFormId = pADO->FieldByName("NEWID")->AsInteger; return true; } catch(EDatabaseError &E) { DBERRORLOG("VMS Form ID Query", String(E.ClassName()), E.Message, sQry); throw Exception(String(E.ClassName()) + E.Message); } catch(Exception &e) { DBERRORLOG("VMS Form ID Query", String(e.ClassName()), e.Message, sQry); throw Exception(String(e.ClassName()) + e.Message); } } __finally { if (pADO) { pADO->Close(); delete pADO; } } return false; } //---------------------------------------------------------------------------