CDSImageF.h 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. };
  39. //---------------------------------------------------------------------------
  40. #define MAX_GRADE_SYNB 4
  41. class TCDSImage
  42. {
  43. public:
  44. TCDSImage();
  45. ~TCDSImage();
  46. public:
  47. AnsiString SYMB_LIB_NMBR; // N NUMBER(4) N 심벌라이브러리 번호
  48. TImage *IMAG_DATA; // N BLOB Y 이미지 데이터(동영상인경우 썸네일)
  49. AnsiString SYMB_FILE_NM; // N VARCHAR2(60) Y 심벌 파일 명
  50. AnsiString SYMB_TYPE; // N VARCHAR2(5) Y 심벌 유형(SBT0:일반심벌이미지,SBT1:소통정보배경,SBT2:소통정보이미지,SBT3:동영상)
  51. int IMAG_SIZE; // N NUMBER(10) Y 0 이미지 사이즈
  52. int PLAY_TM; // N NUMBER(10) Y 0 동영상 플레이 시간
  53. AnsiString UPDT_DT; // N VARCHAR2(14) N TO_CHAR(sysdate, 'YYYYMMDDHH24MISS') 갱신 일시
  54. int Type;
  55. AnsiString LocalFileName; // 저장되어 있는 파일명
  56. AnsiString FtpFileName; // Ftp로 다운로드돼야할 파일명
  57. AnsiString GRAD_SYMB_LIB_NMBR[MAX_GRADE_SYNB];
  58. public:
  59. TItsMap<int, TCDSImageCell*> FLists;
  60. void Clear();
  61. };
  62. //---------------------------------------------------------------------------
  63. //---------------------------------------------------------------------------
  64. class TCDSImageManager : public TCDSItsObject
  65. {
  66. public:
  67. TCDSImageManager();
  68. ~TCDSImageManager();
  69. private:
  70. public:
  71. TItsMap<AnsiString, TCDSImage*> FLists;
  72. private:
  73. int LoadVmsSymbolCellInfo(TADOConnection *ADbConn);
  74. public:
  75. int LoadVmsSymbolInfo(TADOConnection *ADbConn);
  76. };
  77. //---------------------------------------------------------------------------
  78. extern TCDSImageManager *CDSImageManager;
  79. typedef std::map<AnsiString, TCDSImage*>::iterator ImageItr;
  80. //---------------------------------------------------------------------------
  81. #endif