CDSImageF.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. //---------------------------------------------------------------------------
  2. #ifndef CDSImageFH
  3. #define CDSImageFH
  4. //---------------------------------------------------------------------------
  5. #include <Classes.hpp>
  6. #include <stdio.h>
  7. #include <ADODB.hpp>
  8. #include <DB.hpp>
  9. #include <SyncObjs.hpp>
  10. #include <ExtCtrls.hpp>
  11. #include <jpeg.hpp>
  12. #include <GIFimg.hpp>
  13. //---------------------------------------------------------------------------
  14. #include "ITSLibF.h"
  15. #include "CDSItsObjectF.h"
  16. //---------------------------------------------------------------------------
  17. // VMS 이미지 타입
  18. typedef enum en_vms_image_type
  19. {
  20. vms_image_type_bmp, /* 0:비트맵 */
  21. vms_image_type_gif, /* 1:GIF */
  22. vms_image_type_jpg, /* 2:JPG */
  23. vms_image_type_pcx, /* 3:PCX */
  24. vms_image_type_video, /* 4:동영상 비디오 */
  25. } EN_VMS_IMAGE_TYPE;
  26. //---------------------------------------------------------------------------
  27. class TCDSImageCell
  28. {
  29. public:
  30. TCDSImageCell();
  31. ~TCDSImageCell();
  32. public:
  33. AnsiString SYMB_LIB_NMBR; //NUMBER(4) N 0 심벌라이브러리 번호
  34. int CELL_ID; //NUMBER(4) N 셀 ID
  35. int POSX; //NUMBER(4) Y 0 이미지내 셀좌표 X
  36. int POSY; //NUMBER(4) Y 0 이미지내 셀좌표 Y
  37. AnsiString VMS_IFSC_ID; //NUMBER(10) Y VMS 정보제공구간 ID
  38. bool IsDup; //이게 중복인지 확인
  39. };
  40. //---------------------------------------------------------------------------
  41. #define MAX_GRADE_SYNB 4
  42. class TCDSImage
  43. {
  44. public:
  45. TCDSImage();
  46. ~TCDSImage();
  47. public:
  48. AnsiString SYMB_LIB_NMBR; // N NUMBER(4) N 심벌라이브러리 번호
  49. TImage *IMAG_DATA; // N BLOB Y 이미지 데이터(동영상인경우 썸네일)
  50. AnsiString SYMB_FILE_NM; // N VARCHAR2(60) Y 심벌 파일 명
  51. AnsiString SYMB_TYPE; // N VARCHAR2(5) Y 심벌 유형(SBT0:일반심벌이미지,SBT1:소통정보배경,SBT2:소통정보이미지,SBT3:동영상)
  52. int IMAG_SIZE; // N NUMBER(10) Y 0 이미지 사이즈
  53. int PLAY_TM; // N NUMBER(10) Y 0 동영상 플레이 시간
  54. AnsiString UPDT_DT; // N VARCHAR2(14) N TO_CHAR(sysdate, 'YYYYMMDDHH24MISS') 갱신 일시
  55. int Type;
  56. AnsiString LocalFileName; // 저장되어 있는 파일명
  57. AnsiString FtpFileName; // Ftp로 다운로드돼야할 파일명
  58. AnsiString GRAD_SYMB_LIB_NMBR[MAX_GRADE_SYNB];
  59. public:
  60. TItsMap<int, TCDSImageCell*> FLists;
  61. void Clear();
  62. };
  63. //---------------------------------------------------------------------------
  64. //---------------------------------------------------------------------------
  65. class TCDSImageManager : public TCDSItsObject
  66. {
  67. public:
  68. TCDSImageManager();
  69. ~TCDSImageManager();
  70. private:
  71. public:
  72. TItsMap<AnsiString, TCDSImage*> FLists;
  73. private:
  74. int LoadVmsSymbolCellInfo(TADOConnection *ADbConn);
  75. public:
  76. int LoadVmsSymbolInfo(TADOConnection *ADbConn);
  77. };
  78. //---------------------------------------------------------------------------
  79. extern TCDSImageManager *CDSImageManager;
  80. typedef std::map<AnsiString, TCDSImage*>::iterator ImageItr;
  81. //---------------------------------------------------------------------------
  82. #endif