|
|
// *********************************************************
// インポート
// *********************************************************
void App_01::Import( void )
{
Buff->Resize( 10000 );
if ( TxtIn.Get( Buff ) ) {
Buff->RemoveLastchar();
Token.CreateToken( Buff, "," );
Work->operator = (
"insert into 郵便番号インポート"
" values("
);
// 郵便番号(7桁)
if ( Token.nCount < 1 ) {
Item->SetChar( 0, 0 );
}
else {
Item->operator = (Token.Token[0]);
Item->SetChar( 7, 0 );
}
Item->Enclose( "'" );
Work->operator += (Item);
Work->operator += (",");
// 都道府県名(半角カタカナ)
if ( Token.nCount < 2 ) {
Item->SetChar( 0, 0 );
}
else {
Item->operator = (Token.Token[1]);
Item->SetChar( 50, 0 );
}
Item->Enclose( "'" );
Work->operator += (Item);
Work->operator += (",");
// 市区町村名(半角カタカナ)
if ( Token.nCount < 3 ) {
Item->SetChar( 0, 0 );
}
else {
Item->operator = (Token.Token[2]);
Item->SetChar( 50, 0 );
}
Item->Enclose( "'" );
Work->operator += (Item);
Work->operator += (",");
// 町域名(半角カタカナ)
if ( Token.nCount < 4 ) {
Item->SetChar( 0, 0 );
}
else {
Item->operator = (Token.Token[3]);
Item->SetChar( 50, 0 );
}
Item->Enclose( "'" );
Work->operator += (Item);
Work->operator += (",");
// 都道府県名
if ( Token.nCount < 5 ) {
Item->SetChar( 0, 0 );
}
else {
Item->operator = (Token.Token[4]);
Item->SetChar( 50, 0 );
}
Item->Enclose( "'" );
Work->operator += (Item);
Work->operator += (",");
// 市区町村名
if ( Token.nCount < 6 ) {
Item->SetChar( 0, 0 );
}
else {
Item->operator = (Token.Token[5]);
Item->SetChar( 50, 0 );
}
Item->Enclose( "'" );
Work->operator += (Item);
Work->operator += (",");
// 町域名
if ( Token.nCount < 7 ) {
Item->SetChar( 0, 0 );
}
else {
Item->operator = (Token.Token[6]);
Item->SetChar( 50, 0 );
}
Item->Enclose( "'" );
Work->operator += (Item);
Work->operator += (")");
CurDb->Query( Work );
nCount++;
Pbar->Next();
}
else {
bCancel = true;
}
}
| |
|
|
|
|
#include "stdafx.h"
#include "App_01.h"
App_01 *CurApp;
static UINT nTimer;
static int i;
// *********************************************************
// ダイアログの処理
// *********************************************************
LRESULT CALLBACK Dialog_01(
HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam )
{
switch( message ) {
case WM_INITDIALOG:
bEnd = false;
CurApp = new App_01( hDlg );
Dlg->Disable( IDC_CHECK );
Dlg->Disable( IDC_CANCEL );
// 初期フォーカス
Dlg->EditFocus( IDC_REF );
return FALSE;
case WM_TIMER:
if ( nTimer == (UINT)wParam ) {
KillTimer( hDlg, nTimer );
nTimer = 0;
// タイマーループメイン処理
for( i = 0; i < 20; i++ ) {
CurApp->Import();
if ( CurApp->bCancel ) {
break;
}
}
// タイマーループの終了地点
if ( CurApp->bCancel ) {
CurApp->ImportEnd();
Dlg->Disable( IDC_CANCEL );
Dlg->Enable( IDC_REF );
Dlg->Enable( IDC_CHECK );
Dlg->Enable( IDCANCEL );
break;
}
// タイマーループ NEXT処理
nTimer = SetTimer( hDlg, 1, 10, NULL );
}
break;
case WM_COMMAND:
// 終了
if( LOWORD(wParam) == IDCANCEL ) {
// 実行中は終了できない
if ( !(CurApp->bCancel) ) {
break;
}
bEnd = true;
delete CurApp;
EndDialog(hDlg, LOWORD(wParam));
return TRUE;
}
// 参照
if ( LOWORD(wParam) == IDC_REF ) {
Buff->SetChar( 0, 0 );
if ( CurApp->Commdlg->OpenFileName( Buff ) ) {
Dlg->EditSetText( IDC_INFILE, Buff );
Dlg->Enable( IDC_CHECK );
Dlg->EditSetText( IDC_INCOUNT, "" );
}
}
// 実行
if ( LOWORD(wParam) == IDC_CHECK ) {
// タイマーループの開始処理
if ( !(CurApp->ImportInit() ) ) {
break;
}
CurApp->bCancel = false;
Dlg->Disable( IDCANCEL );
Dlg->Disable( IDC_REF );
Dlg->Disable( IDC_CHECK );
Dlg->Enable( IDC_CANCEL );
// タイマーループの開始地点
nTimer = SetTimer( hDlg, 1, 1, NULL );
}
// キャンセル
if ( LOWORD(wParam) == IDC_CANCEL ) {
// タイマーループ中止指令処理
if ( !(CurApp->bCancel) ) {
CurApp->bCancel = true;
}
}
break;
}
return FALSE;
}
| |
|
|
|