CDSFontF.cpp 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. //---------------------------------------------------------------------------
  2. #pragma hdrstop
  3. #include "CDSFontF.h"
  4. #include "VmsCommonLibF.h"
  5. //---------------------------------------------------------------------------
  6. #pragma package(smart_init)
  7. //---------------------------------------------------------------------------
  8. TCDSFontName::TCDSFontName()
  9. {
  10. }
  11. //---------------------------------------------------------------------------
  12. TCDSFontName::~TCDSFontName()
  13. {
  14. }
  15. //---------------------------------------------------------------------------
  16. //---------------------------------------------------------------------------
  17. TCDSFontColor::TCDSFontColor()
  18. {
  19. }
  20. //---------------------------------------------------------------------------
  21. TCDSFontColor::~TCDSFontColor()
  22. {
  23. }
  24. //---------------------------------------------------------------------------
  25. //---------------------------------------------------------------------------
  26. TCDSFontManager *CDSFontManager = NULL;
  27. //---------------------------------------------------------------------------
  28. TCDSFontManager::TCDSFontManager()
  29. {
  30. }
  31. //---------------------------------------------------------------------------
  32. TCDSFontManager::~TCDSFontManager()
  33. {
  34. FNames.RemoveAll();
  35. FColors.RemoveAll();
  36. }
  37. //---------------------------------------------------------------------------
  38. int TCDSFontManager::GetColorCode(int AColor)
  39. {
  40. FOR_STL(TCDSFontColor*, pObj, FColors)
  41. {
  42. if (AColor == pObj->VMS_FONT_COLR_VAL) return pObj->VMS_FONT_COLR_CD;
  43. }
  44. return 0;
  45. }
  46. //---------------------------------------------------------------------------
  47. int TCDSFontManager::GetColorCodeIndex(int ACode)
  48. {
  49. int nIdx = 0;
  50. FOR_STL(TCDSFontColor*, pObj, FColors)
  51. {
  52. if (ACode == pObj->VMS_FONT_COLR_CD) return nIdx;
  53. nIdx++;
  54. }
  55. return 0;
  56. }
  57. //---------------------------------------------------------------------------
  58. int TCDSFontManager::LoadFontInfo(TADOConnection *ADbConn)
  59. {
  60. if(LoadFontNameInfo(ADbConn) < 0)
  61. {
  62. return -1;
  63. }
  64. return LoadFontColorInfo(ADbConn);
  65. }
  66. //---------------------------------------------------------------------------
  67. int TCDSFontManager::LoadFontNameInfo(TADOConnection *ADbConn)
  68. {
  69. String sQry;
  70. TADOQuery *pADO = NULL;
  71. int nSelCnt = 0;
  72. sQry = "SELECT A.* \r\n"
  73. " FROM TB_VMS_FONT_NAME A \r\n";
  74. try
  75. {
  76. try
  77. {
  78. pADO = new TADOQuery(NULL);
  79. pADO->Connection = ADbConn;
  80. pADO->Close();
  81. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  82. pADO->SQL->Clear();
  83. pADO->SQL->Text = sQry;
  84. pADO->Prepared = true;
  85. pADO->Open();
  86. for( ; !pADO->Eof; pADO->Next())
  87. {
  88. int VMS_FONT_NAME_CD = pADO->FieldByName("VMS_FONT_NAME_CD")->AsInteger;
  89. TCDSFontName *pObj = FNames.Find(VMS_FONT_NAME_CD);
  90. if (!pObj)
  91. {
  92. pObj = new TCDSFontName();
  93. pObj->VMS_FONT_NAME_CD = VMS_FONT_NAME_CD;
  94. FNames.Push(pObj->VMS_FONT_NAME_CD, pObj);
  95. }
  96. pObj->VMS_FONT_NAME_NM = pADO->FieldByName("VMS_FONT_NAME_NM")->AsString.Trim();
  97. pObj->USE_YN = pADO->FieldByName("USE_YN")->AsString.Trim();
  98. nSelCnt++;
  99. }
  100. }
  101. catch(EDatabaseError &E)
  102. {
  103. DBERRORMSG("TCDSFontManager::LoadFontNameInfo", String(E.ClassName()), E.Message, sQry);
  104. throw Exception(String(E.ClassName()) + E.Message);
  105. }
  106. catch(Exception &e)
  107. {
  108. DBERRORMSG("TCDSFontManager::LoadFontNameInfo", String(e.ClassName()), e.Message, sQry);
  109. throw Exception(String(e.ClassName()) + e.Message);
  110. }
  111. }
  112. __finally
  113. {
  114. if (pADO)
  115. {
  116. pADO->Close();
  117. delete pADO;
  118. }
  119. }
  120. return nSelCnt;
  121. }
  122. //---------------------------------------------------------------------------
  123. int TCDSFontManager::LoadFontColorInfo(TADOConnection *ADbConn)
  124. {
  125. String sQry;
  126. TADOQuery *pADO = NULL;
  127. int nSelCnt = 0;
  128. sQry = "SELECT A.* \r\n"
  129. " FROM TB_VMS_FONT_COLR A \r\n";
  130. try
  131. {
  132. try
  133. {
  134. pADO = new TADOQuery(NULL);
  135. pADO->Connection = ADbConn;
  136. pADO->Close();
  137. pADO->Connection = (NULL != ADbConn) ? ADbConn : ITSDb_GetConnection();
  138. pADO->SQL->Clear();
  139. pADO->SQL->Text = sQry;
  140. pADO->Prepared = true;
  141. pADO->Open();
  142. for( ; !pADO->Eof; pADO->Next())
  143. {
  144. int VMS_FONT_COLR_CD = pADO->FieldByName("VMS_FONT_COLR_CD")->AsInteger;
  145. TCDSFontColor *pObj = FColors.Find(VMS_FONT_COLR_CD);
  146. if (!pObj)
  147. {
  148. pObj = new TCDSFontColor();
  149. pObj->VMS_FONT_COLR_CD = VMS_FONT_COLR_CD;
  150. FColors.Push(pObj->VMS_FONT_COLR_CD, pObj);
  151. }
  152. pObj->VMS_FONT_COLR_NM = pADO->FieldByName("VMS_FONT_COLR_NM")->AsString.Trim();
  153. pObj->VMS_FONT_COLR_VAL = pADO->FieldByName("VMS_FONT_COLR_VAL")->AsInteger;
  154. pObj->USE_YN = pADO->FieldByName("USE_YN")->AsString.Trim();
  155. nSelCnt++;
  156. }
  157. }
  158. catch(EDatabaseError &E)
  159. {
  160. DBERRORMSG("TCDSFontManager::LoadFontColorInfo", String(E.ClassName()), E.Message, sQry);
  161. throw Exception(String(E.ClassName()) + E.Message);
  162. }
  163. catch(Exception &e)
  164. {
  165. DBERRORMSG("TCDSFontManager::LoadFontColorInfo", String(e.ClassName()), e.Message, sQry);
  166. throw Exception(String(e.ClassName()) + e.Message);
  167. }
  168. }
  169. __finally
  170. {
  171. if (pADO)
  172. {
  173. pADO->Close();
  174. delete pADO;
  175. }
  176. }
  177. return nSelCnt;
  178. }
  179. //---------------------------------------------------------------------------