⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 数据采集
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    dir->Last();

    if(bd.yh_mode==YH_HD || bd.yh_mode==YH_BT || bd.yh_mode==YH_LX || bd.yh_mode==YH_TJX){
      try{
        if(dirDirect->Value!="-->" && dirDirect->Value!="<--" && dirDirect->Value!="")
          bh=(StrToInt(dirDirect->Value)+1)%10000;
      }catch(...){
        bh=0;
      }
    }
  }catch(...){
    Application->MessageBox("   数 据 库 dir.db 错   ", NULL, MB_OK);
  }

  try{
    data->Active=FALSE;
    data->DatabaseName=DB;
    data->TableType = ttParadox;
    data->TableName=dirTm->AsString;
    if(data->Exists==true) dataopen();
  }catch(...){
    Application->MessageBox("   数 据 库 data.db 错   ", NULL, MB_OK);
  }

  try{
    table_name->Active = false;    // name.db
    table_name->DatabaseName = DB;
    table_name->TableType = ttParadox;
    table_name->TableName = "name.db";
    if(table_name->Exists==FALSE){
      create_namedb();
    }
    if(table_name->Exists==true) table_name->Active = true;
  }catch(...){
    Application->MessageBox("   数 据 库 name.db 错   ", NULL, MB_OK);
  }

  try{
    table_send->Active = false;    // send.db
    table_send->DatabaseName = DB;
    table_send->TableType = ttParadox;
    table_send->TableName = "send.db";
    if(table_send->Exists==FALSE){
      create_senddb();
    }
    if(table_send->Exists==true) table_send->Active = true;
  }catch(...){
    Application->MessageBox("   数 据 库 send.db 错   ", NULL, MB_OK);
  }


  try{
    table_rec->Active = false;    // rec.db
    table_rec->DatabaseName = DB;
    table_rec->TableType = ttParadox;
    table_rec->TableName = "rec.db";
    if(table_rec->Exists==FALSE){
      create_recdb();
    }
    if(table_rec->Exists==true) table_rec->Active = true;
  }catch(...){
    Application->MessageBox("   数 据 库 rec.db 错   ", NULL, MB_OK);
  }

  try{
    table_pi->Active = false;    // pi.db
    table_pi->DatabaseName = DB;
    table_pi->TableType = ttParadox;
    table_pi->TableName = "pi.db";
    if(table_pi->Exists==FALSE){
      create_pidb();
    }
    if(table_pi->Exists==true){
      table_pi->Active = true;
      //form_query->table_pi->Active = true;
    }
  }catch(...){
    Application->MessageBox("   数 据 库 pi.db 错   ", NULL, MB_OK);
  }

  try{
    table_tj->Active = false;    // tj.db
    table_tj->DatabaseName = DB;
    table_tj->TableType = ttParadox;
    table_tj->TableName = "tj.db";
    if(table_tj->Exists==true){
      table_tj->DeleteTable();
    }
    if(table_tj->Exists==FALSE){
      create_tjdb();
    }
  }catch(...){
    Application->MessageBox("   数 据 库 tj.db 错   ", NULL, MB_OK);
  }

  try{
    table_mao->Active = false;    // mao.db
    table_mao->DatabaseName = DB;
    table_mao->TableType = ttParadox;
    table_mao->TableName = "mao.db";
    if(table_mao->Exists==FALSE){
      create_maodb();
    }
    if(table_mao->Exists==true){
      table_mao->Active = true;
      //form_query->table_pi->Active = true;
    }
  }catch(...){
    Application->MessageBox("   数 据 库 mao.db 错   ", NULL, MB_OK);
  }

  if(table_pi2->Exists) table_pi2->Open();
}

void __fastcall Tform_main::create_dirdb()
{
    try{
      dir->FieldDefs->Clear();
      dir->FieldDefs->Add("Tm", ftString, 15, False);
      dir->FieldDefs->Add("Cnt",ftSmallint ,0, False);
      dir->FieldDefs->Add("Train_no",ftString ,12, False);
      dir->FieldDefs->Add("Direct",ftString ,4, False);
      dir->FieldDefs->Add("Bak2",ftString ,20, False);
      dir->FieldDefs->Add("Bak1",ftString ,10, False);
      dir->CreateTable();
    }catch(...){
      Application->MessageBox("     创 建 数 据 库 dir 错     ", NULL, MB_OK);
    }
}

void __fastcall Tform_main::create_namedb()
{
    try{
      table_name->FieldDefs->Clear();
      table_name->FieldDefs->Add("Name", ftString, 20, False);
      table_name->CreateTable();
    }catch(...){
      Application->MessageBox("     创 建 数 据 库 name 错     ", NULL, MB_OK);
    }
}

void __fastcall Tform_main::create_senddb()
{
    try{
      table_send->FieldDefs->Clear();
      table_send->FieldDefs->Add("Send", ftString, 20, False);
      table_send->CreateTable();
    }catch(...){
      Application->MessageBox("     创 建 数 据 库 send 错     ", NULL, MB_OK);
    }
}

void __fastcall Tform_main::create_recdb()
{
    try{
      table_rec->FieldDefs->Clear();
      table_rec->FieldDefs->Add("Rec", ftString, 20, False);
      table_rec->CreateTable();
    }catch(...){
      Application->MessageBox("     创 建 数 据 库 rec 错     ", NULL, MB_OK);
    }
}

void __fastcall Tform_main::create_pidb()
{
    try{
      table_pi->FieldDefs->Clear();
      table_pi->FieldDefs->Add("Cehao", ftString, 8, False);
      table_pi->FieldDefs->Add("Pi", ftBCD , 2, False);
      table_pi->CreateTable();
    }catch(...){
      Application->MessageBox("     创 建 数 据 库 pi 错     ", NULL, MB_OK);
    }
}

void __fastcall Tform_main::create_maodb()
{
    try{
      table_mao->FieldDefs->Clear();
      table_mao->FieldDefs->Add("Tm", ftString, 15, False);
      table_mao->FieldDefs->Add("Gh", ftString, 10, False);
      table_mao->FieldDefs->Add("Mao", ftBCD , 2, False);
      table_mao->FieldDefs->Add("No", ftSmallint, 0, FALSE);
      table_mao->FieldDefs->Add("bak3", ftString, 10, False);
      table_mao->FieldDefs->Add("bak2", ftBCD , 2, False);
      table_mao->FieldDefs->Add("bak1", ftSmallint, 0, FALSE);
      table_mao->CreateTable();
    }catch(...){
      Application->MessageBox("     创 建 数 据 库 mao 错     ", NULL, MB_OK);
    }
}


void __fastcall Tform_main::create_tjdb()
{
    try{
      table_tj->FieldDefs->Clear();
      table_tj->FieldDefs->Add("No", ftInteger, 0, FALSE);
      table_tj->FieldDefs->Add("Tm", ftString, 15, False);
      table_tj->FieldDefs->Add("Cehao", ftString, 8, False);
      table_tj->FieldDefs->Add("Name", ftString, 20, False);
      table_tj->FieldDefs->Add("Rec", ftString, 20, False);
      table_tj->FieldDefs->Add("Send",ftString, 20, False);
      table_tj->FieldDefs->Add("Mao", ftBCD , 2,False);
      table_tj->FieldDefs->Add("Pi", ftBCD , 2, False);
      table_tj->FieldDefs->Add("Jin", ftBCD , 2, False);
      table_tj->FieldDefs->Add("Spd",ftSmallint , 0, False);
      table_tj->FieldDefs->Add("Piao", ftBCD , 2, False);
      table_tj->FieldDefs->Add("Yq", ftBCD , 2, False);
      table_tj->FieldDefs->Add("bak3", ftString, 20, False);
      table_tj->FieldDefs->Add("bak2", ftString, 20, False);
      table_tj->FieldDefs->Add("bak1", ftString, 10, False);
      table_tj->CreateTable();
    }catch(...){
       Application->MessageBox("     创 建 数 据 库 tj 错     ", NULL, MB_OK);
    }
}
//---------------------------------------------------------------------------

void __fastcall Tform_main::enable()
{
  Maxmin->Enabled=TRUE;
  exit->Enabled=TRUE;
  Test_one->Enabled=TRUE;
  OpenData->Enabled=TRUE;
  Draw->Enabled=TRUE;
  setup->Enabled=TRUE;
  shutdown->Enabled=TRUE;
  tj->Enabled=TRUE;
  test_com->Enabled=TRUE;
  clear->Enabled=TRUE;
  start_jin->Enabled=TRUE;
  Qtest->Enabled=true;
}

void __fastcall Tform_main::not_enable()
{
  Maxmin->Enabled=FALSE;
  Test_one->Enabled=FALSE;
  exit->Enabled=FALSE;
  OpenData->Enabled=FALSE;
  Draw->Enabled=FALSE;
  setup->Enabled=FALSE;
  shutdown->Enabled=FALSE;
  tj->Enabled=FALSE;
  test_com->Enabled=FALSE;
  clear->Enabled=FALSE;
  start_jin->Enabled=FALSE;
  Qtest->Enabled=false;
}

void __fastcall Tform_main::DrawClick(TObject *Sender)
{
  if(is_debug){
    form_draw->Show();
    form_main->Hide();
  }  

}
//---------------------------------------------------------------------------
void __fastcall Tform_main::OpenDataClick(TObject *Sender)
{
  see_wave(false);   // 非快捷方式看波形
}

void __fastcall Tform_main::see_wave(bool flag_qj)
{
  char name_j1[100],name_z1[100];
  char name_j2[100],name_z2[100];
  char name_j3[100],name_z3[100];
  char name_j4[100],name_z4[100];
  char name_j5[100];
  char name_j6[100];
  char name_j7[100];
  char name_j8[100];
  char name_j9[100], name_z5[100];
  char name_j10[100],name_z6[100];
  char name_j11[100],name_z7[100];
  char name_j12[100],name_z8[100];
  char name_j13[100];
  char name_j14[100];
  char name_j15[100];
  char name_j16[100];
  char file_name[100]=WAVEFILE_PATH;
  char name_kg[100];
  int index;
  AnsiString tmp=".";
  FILE *fd;

  if(dir->RecordCount>0){
    char tm[40],temp[40];//,name_wav[100];
    strcpy(tm,dirTm->Value.c_str());
    for(int i=0;i<4;i++) temp[i]=tm[i+4]; // creat wave file name
    for(int i=4;i<10;i++) temp[i]=tm[i+5];
    temp[10]='\0';

    strcat(file_name,temp);
    //if(bd.hq_mode==HQ_BDG)  strcat(file_name,".sr");
    //else if(bd.hq_mode==HQ_CPZ)  strcat(file_name,".sr1");
    AnsiString ansi_str(file_name);
    OpenDialog1->FileName=ansi_str;
  }

  if(flag_qj==false){ // 非快捷方式看波形

    if(bd.hq_mode==HQ_STMDG){
      OpenDialog1->Filter="1|*.1";
    }else if(bd.hq_mode==HQ_CPZ24 || bd.hq_mode==HQ_CPZ || bd.hq_mode==HQ_CPZGZ||
             bd.hq_mode==HQ_STMBDG|| bd.hq_mode==HQ_NEWBDG){
      OpenDialog1->Filter="sr1|*.sr1";
    }else{
      OpenDialog1->Filter="";
    }

    if (!OpenDialog1->Execute()) return;
    if((index=OpenDialog1->FileName.Pos(tmp))!=0)
      tmp=OpenDialog1->FileName.SubString(0,index-1); //remove .*
    else tmp=OpenDialog1->FileName;

    OpenDialog1->InitialDir=ExtractFileDir(OpenDialog1->FileName);

    strcpy(file_name,tmp.c_str());
  }


  strcpy(test_one_filename,file_name);  // for draw can see it
  mem_reset(); // reset wave buffer

  if(bd.hq_mode==HQ_2J1Z){
    strcpy(name_j1,file_name);strcat(name_j1,".sr1");
    strcpy(name_j2,file_name);strcat(name_j2,".sr2");
    strcpy(name_z1,file_name);strcat(name_z1,".wt1");
    if((fd=fopen(name_z1,"rb"))==NULL){return;}
      fread((char *)p_buf_z1,sizeof(*p_buf_z1),BUF_SIZE,fd);
      fclose(fd);
    if((fd=fopen(name_j1,"rb"))==NULL){return;}
      fread((char *)p_buf_j1,sizeof(*p_buf_j1),BUF_SIZE,fd);
      fclose(fd);
    if((fd=fopen(name_j2,"rb"))==NULL){return;}
      fread((char *)p_buf_j2,sizeof(*p_buf_j2),BUF_SIZE,fd);
      fclose(fd);
  }else if(bd.hq_mode==HQ_DG){
    strcpy(name_z1,file_name);
    if((fd=fopen(name_z1,"rb"))==NULL){return;}
    fread((char *)p_buf_z1,sizeof(*p_buf_z1),BUF_SIZE,fd);
    fclose(fd);
  }else if(bd.hq_mode==HQ_BDG){
    strcpy(name_j1,file_name);strcat(name_j1,".sr");
    strcpy(name_z1,file_name);strcat(name_z1,".wt");
    if((fd=fopen(name_z1,"rb"))==NULL){return;}
      fread((char *)p_buf_z1,sizeof(*p_buf_z1),BUF_SIZE,fd);
      fclose(fd);
    if((fd=fopen(name_j1,"rb"))==NULL){return;}
      fread((char *)p_buf_j1,sizeof(*p_buf_j1),BUF_SIZE,fd);
      fclose(fd);
  }else if(bd.hq_mode==HQ_CPZ || bd.hq_mode==HQ_STMBDG||bd.hq_mode==HQ_BDG3){
    strcpy(name_j1,file_name);strcat(name_j1,".sr1");
    strcpy(name_z1,file_name);strcat(name_z1,".wt1");
    strcpy(name_j2,file_name);strcat(name_j2,".sr2");
    strcpy(name_z2,file_name);strcat(name_z2,".wt2");
    if((fd=fopen(name_j1,"rb"))==NULL){return;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -