#include "CSerialCom.h" CSerialCom *m_Serial; AnsiString strMsg; int BaudRate[] = { 2400, 4800, 9600, 19200, 38400, 57600, m_Serial = new CSerialCom(Port+1, BaudRate[Baud]); if(!m_Serial->CreateComm()) { strMsg.sprintf( "COM%d (BaudRate : %d) 포트 연결 실패 !", Port+1, BaudRate[Baud]); MessageBox(Handle, strMsg.c_str(), MSG_TITLE, MessageBox(Handle, strMsg.c_str(), MSG_TITLE, MSG_NORMAL); return FALSE..
void __fastcall TMainFrm::BtnConnClick(TObject *Sender) { AnsiString ConnStr; ConnStr = "Provider=MSDAORA.1; " "Data Source=(DESCRIPTION=(CID=GTU_APP)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST = myIp)(PORT = myPort)))" "(CONNECT_DATA=(SID=myServiceName)(SERVER=DEDICATED))); " "User Id=myId;Password=myPw; "; try { OracleConn->CommandTimeout = 120; OracleConn->ConnectionString = ConnStr; OracleCon..
바코드 (Code39, Code128)에 대해 공부하다가 다른 분들도 저와 같은 삽질을 하지 않으셨으면 해서 이렇게 글과 소스파일 첨부 합니다. 파일은 C++빌더로 만들었구요 C++를 하시는 분들이면 금방 이해하 실 것입니다. 제가 헤맸던 부분인 Code128 Check Sum 계산하는 부분도 있으니 참고하시고 궁금하신점 있으시면 댓글로 물어봐 주세요^^ http://cafe.naver.com/pncsoft/191 // 바코드 정보, 종류 http://www.barcodingfonts.com/barcode-128-samples.htm // Code128 샘플 http://www.dlsoft.com/barcode_types/patterns/Code128Codes.htm // Code12..
// 일정 알람 관련 #define SCHEDULE_TIMER_ID 10 #define SCHEDULE_CHECK_TIME 60000 // Create // 일정 알람 타이머 설정 SetTimer(Handle, SCHEDULE_TIMER_ID, SCHEDULE_CHECK_TIME, ShowScheduleAlarm); // Proc int __stdcall TMainFrm::ShowScheduleAlarm() { } // Close // 일정 알람 타이머 해제 KillTimer(Handle, SCHEDULE_TIMER_ID); // 헤더 static int __stdcall ShowScheduleAlarm(); // SetTimer
void __fastcall TMainFrm::LogFileDelProcess(void) { char ProgramPath[MAX_PATH]; AnsiString FolderPath, SearchFolderPath; char arLogFolder[8][20] = { "PING_LOG" , "PING_LOG_2", "FOS_LOG" , "SHARE_LOG", "SC_LOG" , "SENDER_LOG", "DIAGNOSE_LOG" , "SALEINFO_LOG" }; memset(ProgramPath, 0x00, sizeof(ProgramPath)); // 현재 폴더 알아내기 + 로그 폴더 if(GetCurrentDirectory(MAX_PATH, ProgramPath)) { // 한달전 날짜 구하기 TDat..
#define NO_WIN32_LEAN_AND_MEAN #include #include BROWSEINFO BrowsingInfo; LPITEMIDLIST ItemID; char DirPath [MAX_PATH]; char FolderName [MAX_PATH]; memset(&BrowsingInfo , 0, sizeof(BROWSEINFO) ); memset(DirPath , 0, MAX_PATH ); memset(FolderName , 0, MAX_PATH ); BrowsingInfo.hwndOwner = Parent; BrowsingInfo.pszDisplayName = FolderName; BrowsingInfo.lpszTitle = "폴더를 선택하세요."; BrowsingInfo.ulFlags ..
void __fastcall TDiagnoseFrm::BtnExcelClick(TObject *Sender) { if(!DiagnoseSet->Active || !DiagnoseSet->RecordCount) { MsgBox("엑셀로 저장할 데이터가 없습니다."); return; } TSaveDialog *Dlg = new TSaveDialog(this); try { Dlg->DefaultExt = "XLS"; Dlg->Filter = "Execl Files|*.XLS"; Dlg->FileName = "충전소 진단"; Dlg->Options Execute()) { DiagnoseGrid->SaveToXLS(Dlg->FileName); } else { delete Dlg; return; } } catch(..
// 함수 void __fastcall OptionFromINI(char Flag) { TIniFile *INI = new TIniFile(FOS_INI_FILE); if(Flag) { // Save INI->WriteInteger("BUSINESS_TICKET", "BUSINESS", ComBusiness->ItemIndex); } else { // Read ComBusiness->ItemIndex = INI->ReadInteger("BUSINESS_TICKET", "BUSINESS", 0); } delete INI; } // Read void __fastcall FormCreate(TObject *Sender) { OptionFromINI(FALSE); } // Save void __fastcall ..
#include KillProcessName("프로그램명.exe"); void __fastcall TMainFrm::KillProcessName(AnsiString Name) { HANDLE hProcessSnap = NULL; BOOL bRet = FALSE; PROCESSENTRY32 pe32 = {0}; hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if(hProcessSnap == (HANDLE)-1) return; pe32.dwSize = sizeof(PROCESSENTRY32); //프로세스가 메모리상에 있으면 첫번째 프로세스를 얻는다 if(Process32First(hProcessSnap, &pe32)) { BOOL bCur..
- Total
- Today
- Yesterday