void Ctsample2Dlg::OnBnClickedButton4() { // Btrieve API データ読込み //int eflg1 = 0; char strbuf[128]; RETCODE status = SQL_SUCCESS; int stat;//Btrieve API 戻り値 char posb[128];//ポジションブロック char buf[1024];//データバッファ unsigned short buflen;//データバッファ長 char kbuf[256];//キーバッファ char work[20] = ""; LONGLONG rcnt = 0; LONGLONG start, addcnt; char timestr[32]; char msg[10000]; //listbox をクリア m_list1.ResetContent(); while (1) { m_start.GetWindowTextA(work, 16); start = atoi(work); m_addcnt.GetWindowTextA(work, 16); addcnt = atoi(work); Ctsample2Dlg::Gtimemsec(timestr); sprintf(msg, "開始時間:%s", timestr); m_list1.AddString(msg); buflen = 0; m_bfile.GetWindowTextA(kbuf, 255); //OPEN(オペレーションコード:0) stat = BTRV(0, posb, buf, &buflen, kbuf, 0); if (stat == 0) { m_list1.AddString("Btrieve API : OPEN OK"); } else { sprintf(strbuf, "Btrieve API : OPEN 失敗(%d)", stat); m_list1.AddString(strbuf); break; } buflen = sizeof(bfile); //Get First(オペレーションコード:12) stat = BTRV(12, posb, &bfile, &buflen, kbuf, 0); if (stat != 0) { sprintf(strbuf, "Btrieve API : Get First 失敗(%d)", stat); m_list1.AddString(strbuf); break; } rcnt = 1; while (rcnt < addcnt) { buflen = sizeof(bfile); //Get Next(オペレーションコード:6) stat = BTRV(6, posb, &bfile, &buflen, kbuf, 0); if (stat != 0) { sprintf(strbuf, "Btrieve API : Get Next 失敗(%d)", stat); m_list1.AddString(strbuf); break; } sprintf(msg, "読み込みデータ:%lld 読み込みレコード数:%lld", bfile.item[1],rcnt); m_prog.SetWindowTextA(msg); rcnt++; if (rcnt % 1000 == 0) { MSG msg; if (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); } } } sprintf(msg, "読み込みデータ:%lld 読み込みレコード数:%lld", bfile.item[1], rcnt); m_prog.SetWindowTextA(msg); buflen = 0; //Close (オペレーションコード:1) stat = BTRV(1, posb, buf, &buflen, kbuf, 0); if (stat == 0) { m_list1.AddString("Btrieve API : CLOSE OK"); } else { sprintf(strbuf, "Btrieve API : CLOSE 失敗(%d)", stat); m_list1.AddString(strbuf); break; } buflen = 0; //Reset オペレーションコード:28 stat = BTRV(28, posb, buf, &buflen, kbuf, 0); if (stat == 0) { m_list1.AddString("Btrieve API : Reset OK"); } else { sprintf(strbuf, "Btrieve API : Reset 失敗(%d)", stat); m_list1.AddString(strbuf); break; } break; } Ctsample2Dlg::Gtimemsec(timestr); sprintf(msg, "終了時間:%s", timestr); m_list1.AddString(msg); }