//--------------------------------------------------------------------------- #include #pragma hdrstop //--------------------------------------------------------------------------- #include "Principal.h" #include "Dialogo.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; TAutorizacion *Autorizacion; TPesoEntrada *PesoEntrada; TPesoSalida *PesoSalida; TAlbaran *Albaran; TTransfer *Transfer; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { //Pedimos memoria para la clase Autorizacion Autorizacion = new TAutorizacion(); //Pedimos memoria para la clase Peso Entrada PesoEntrada = new TPesoEntrada(); //Pedimos memoria para la clase Peso Salida PesoSalida = new TPesoSalida(); //Pedimos memoria para la clase de Albaran Albaran = new TAlbaran(); //Pedimos memoria para la clase de Transfer Transfer = new TTransfer(); } //--------------------------------------------------------------------------- __fastcall TForm1::~TForm1() { //liberamos las clases delete Autorizacion; delete PesoEntrada; delete PesoSalida; delete Albaran; delete Transfer; } //--------------------------------------------------------------------------- void __fastcall TForm1::Salir1Click(TObject *Sender) { Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::ConductorClick(TObject *Sender) { int nError; //Mostramos el Label y Edit Label1->Visible=true; Edit1->Visible=true; Edit1->MaxLength=4; Edit1->SetFocus(); //Asignamos a la opcion la de conductor byOpcion=OpConductor; if(strcmp(sDatoTecleado,"")) { //Comprobamos el Conductor nError=Autorizacion->ComprobarConductor(sDatoTecleado,hBaseDatos);//"1151" if(nError!=AUT_CON_CORRECTO) MuestraError(nError); else { MuestraLista("CONDUCTOR"); ShowMessage("Fue todo correcto"); } } } //--------------------------------------------------------------------------- void TForm1::MuestraError(int Error) { char scadena[100]; strcpy(scadena,"Se produjo un Error: "); switch(Error) { case 1: strcat(scadena,"AUT_CON_VALOR_NO_ENCONTRADO"); break; case 2: strcat(scadena,"AUT_CON_BORRADO"); break; case 3: strcat(scadena,"AUT_CON_CARNET_CADUCADO"); break; case 4: strcat(scadena,"AUT_CON_ADR_CADUCADO"); break; case 5: strcat(scadena,"AUT_CON_EN_PROCESO"); break; case 6: strcat(scadena,"AUT_CIS_VALOR_NO_ENCONTRADO"); break; case 7: strcat(scadena,"AUT_CIS_BORRADO"); break; case 8: strcat(scadena,"AUT_CIS_TARJETA_CADUCADA"); break; case 9: strcat(scadena,"AUT_CIS_ADR_CADUCADO"); break; case 10: strcat(scadena,"AUT_CIS_ITV_CADUCADO"); break; case 11: strcat(scadena,"AUT_CIS_SEGURO_CADUCADO"); break; case 12: strcat(scadena,"AUT_TRA_VALOR_NO_ENCONTRADO"); break; case 13: strcat(scadena,"AUT_TRA_BORRADO"); break; case 14: strcat(scadena,"AUT_TRA_TARJETA_CADUCADA"); break; case 15: strcat(scadena,"AUT_TRA_ADR_CADUCADO"); break; case 16: strcat(scadena,"AUT_TRA_ITV_CADUCADO"); break; case 17: strcat(scadena,"AUT_TRA_SEGURO_CADUCADO"); break; case 18: strcat(scadena,"AUT_SUM_VALOR_NO_ENCONTRADO"); break; case 19: strcat(scadena,"AUT_SUM_BORRADO"); break; case 20: strcat(scadena,"AUT_ORC_VALOR_NO_ENCONTRADO"); break; case 21: strcat(scadena,"AUT_ORC_BORRADO"); break; case 22: strcat(scadena,"AUT_ORC_ESTADO_ACABADO"); break; case 23: strcat(scadena,"AUT_ORC_SUM_OTRA_ORDEN"); break; case 24: strcat(scadena,"AUT_ORC_CIS_OTRA_ORDEN"); break; case 25: strcat(scadena,"AUT_ORC_FECHA_MENOR_QUE_HOY"); break; case 26: strcat(scadena,"AUT_ORL_VALOR_NO_ENCONTRADO"); break; case 27: strcat(scadena,"AUT_PRO_VALOR_NO_ENCONTRADO"); break; case 28: strcat(scadena,"AUT_PRM_PROD_MAYOR_PERMITIDO"); break; case 29: strcat(scadena,"AUT_PRM_PROD_MAYOR_CAP_CIS"); break; case 30: strcat(scadena,"AUT_PRM_PESO_MAYOR_CAP_TRA"); break; case 250: strcat(scadena,"ERROR_INTERNO"); break; } ShowMessage(scadena); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { ComprobarNomFichError("PruebaError.txt"); //Generamos un Error de prueba en el fichero pruebaError.txt GenerarError("Prueba de Error"); //Inicializamos el BDE InicializarBDE("IDAPI.CFG"); //Conectamos al BDE ConectarBDE("ESERGUI",&hBaseDatos); //Pedimos memoria para sus variables Autorizacion->ReservarMemoriaEstructura(hBaseDatos); //Pedimos memoria para las variables de peso entrada PesoEntrada->ReservarMemoriaEstructura(hBaseDatos); //Pedimos memoria para las variables de peso entrada PesoSalida->ReservarMemoriaEstructura(hBaseDatos); //Pedimos memoria para las variables de Albaranes Albaran->ReservarMemoriaEstructura(hBaseDatos); //Inicializamos variable Transfer->InicializarEstructuraTransfer(); //Inicializamos el codigo de teclado strcpy(sDatoTecleado,""); byOpcion=0; bTodos=false; //Inicializamos los HANDLE de los Threads HDAUT=NULL; HDPSE=NULL; HDPSS=NULL; HDALB=NULL; HDContadores=NULL; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { //Finalizamos los Threads TerminarThread(HDAUT); TerminarThread(HDPSE); TerminarThread(HDPSS); TerminarThread(HDALB); TerminarThread(HDContadores); //Liberamos la memoria de las variables de la estructura Autorizacion->LiberarEstructura(); //Liberamos memoria de Peso de entrada PesoEntrada->LiberarEstructura(); //Liberamos memoria de Peso de salida PesoSalida->LiberarEstructura(); //Liberamos memoria del Albaran Albaran->LiberarEstructura(); //Desconectamoel el BDE DesconectarBDE (hBaseDatos); //Finalizamos el BDE FinalizarBDE(); } //--------------------------------------------------------------------------- void __fastcall TForm1::InformacionEstructura1Click(TObject *Sender) { BYTE i; int POSX,POSY; char scadena[50]; DatosAutorizacion sDatos; Autorizacion->LeerEstructura(&sDatos); //Cargamos Paneles de campo for(i=0;iParent=this; Panel[i]->Top=0; Panel[i]->Left=i*100; Panel[i]->Width=100; Panel[i]->Height=20; Panel[i]->Enabled=true; Panel[i]->Visible=true; switch(i) { case 0: strcpy(scadena,"CONDUCTOR"); break; case 1: strcpy(scadena,"CISTERNA"); break; case 2: strcpy(scadena,"TRACTOR"); break; case 3: strcpy(scadena,"SUMINISTRADOR"); break; case 4: strcpy(scadena,"PEDIDOS"); break; } Panel[i]->Caption=scadena; } //Cargamos clases for(i=i;i<(N_TABLA+N_CAMPO);i++) { //Cargamos los paneles y le damos la posicion y el tamaņo Panel[i] = new TPanel(this); Panel[i]->Parent=this; if((i-N_TABLA)Left=POSX; Panel[i]->Top=POSY; Panel[i]->Width=100; Panel[i]->Height=20; Panel[i]->Enabled=true; Panel[i]->Visible=true; //Copiamos scadenas en los paneles segun corresponda switch(i) { //Paneles del conductor case N_TABLA: strcpy(scadena,sDatos.pszCodigoCon); break; case (N_TABLA+1): strcpy(scadena,sDatos.pszCadCarnetCon); break; case (N_TABLA+2): strcpy(scadena,sDatos.pszCadADRCon); break; case (N_TABLA+3): strcpy(scadena,sDatos.pszNombreCon); break; case (N_TABLA+4): strcpy(scadena,sDatos.pszCarnetCon); break; case (N_TABLA+5): strcpy(scadena,sDatos.pszInternoCon); break; case (N_TABLA+6): BoolACadena(sDatos.bBorradoCon,scadena); break; case (N_TABLA+7): itoa(sDatos.nResultadoCon,scadena,10); break; //Paneles de la cisterna case (N_TABLA+8): strcpy(scadena,sDatos.pszCodigoCis); break; case (N_TABLA+9): strcpy(scadena,sDatos.pszCadTarjetaCis); break; case (N_TABLA+10): strcpy(scadena,sDatos.pszCadADRCis); break; case (N_TABLA+11): strcpy(scadena,sDatos.pszCadITVCis); break; case (N_TABLA+12): strcpy(scadena,sDatos.pszCadSeguroCis); break; case (N_TABLA+13): strcpy(scadena,sDatos.pszInternoCis); break; case (N_TABLA+14): strcpy(scadena,sDatos.pszTaraCis); break; case (N_TABLA+15): strcpy(scadena,sDatos.pszBrutoCis); break; case (N_TABLA+16): strcpy(scadena,sDatos.pszsVolumenCis[0]); break; case (N_TABLA+17): strcpy(scadena,sDatos.pszsVolumenCis[1]); break; case (N_TABLA+18): strcpy(scadena,sDatos.pszsVolumenCis[2]); break; case (N_TABLA+19): strcpy(scadena,sDatos.pszsVolumenCis[3]); break; case (N_TABLA+20): strcpy(scadena,sDatos.pszsVolumenCis[4]); break; case (N_TABLA+21): strcpy(scadena,sDatos.pszsVolumenCis[5]); break; case (N_TABLA+22): strcpy(scadena,sDatos.pszsVolumenCis[6]); break; case (N_TABLA+23): strcpy(scadena,sDatos.pszsVolumenCis[7]); break; case (N_TABLA+24): strcpy(scadena,sDatos.pszsVolumenCis[8]); break; case (N_TABLA+25): strcpy(scadena,sDatos.pszCamionCis); break; case (N_TABLA+26): BoolACadena(sDatos.bBorradoCon,scadena); break; case (N_TABLA+27): itoa(sDatos.nResultadoCis,scadena,10); break; //Paneles del tractor case (N_TABLA+28): strcpy(scadena,sDatos.pszMatriculaTra); break; case (N_TABLA+29): strcpy(scadena,sDatos.pszCadTarjetaTra); break; case (N_TABLA+30): strcpy(scadena,sDatos.pszCadADRTra); break; case (N_TABLA+31): strcpy(scadena,sDatos.pszCadITVTra); break; case (N_TABLA+32): strcpy(scadena,sDatos.pszCadSeguroTra); break; case (N_TABLA+33): strcpy(scadena,sDatos.pszInternoTra); break; case (N_TABLA+34): strcpy(scadena,sDatos.pszTaraTra); break; case (N_TABLA+35): strcpy(scadena,sDatos.pszBrutoTra); break; case (N_TABLA+36): BoolACadena(sDatos.bBorradoCon,scadena); break; case (N_TABLA+37): itoa(sDatos.nResultadoTra,scadena,10); break; //Paneles del Suministrador case (N_TABLA+38): strcpy(scadena,sDatos.pszCodigoSum); break; case (N_TABLA+39): strcpy(scadena,sDatos.pszNombreSum); break; case (N_TABLA+40): BoolACadena(sDatos.bBorradoSum,scadena); break; case (N_TABLA+41): itoa(sDatos.nResultadoSum,scadena,10); break; //Paneles de los Pedidos case (N_TABLA+42): strcpy(scadena,sDatos.sOrden[0].pszMatriculaCisOrd); break; case (N_TABLA+43): strcpy(scadena,sDatos.sOrden[0].pszCodigoSumOrd); break; case (N_TABLA+44): strcpy(scadena,sDatos.sOrden[0].pszNumeroOrd); break; case (N_TABLA+45): strcpy(scadena,sDatos.sOrden[0].pszNombreDesOrd); break; case (N_TABLA+46): itoa(sDatos.sOrden[0].nResultadoOrd,scadena,10); break; } Panel[i]->Caption=scadena; } //liberamos clases ShowMessage("Estos son los resultados"); for(i=0;i<(N_TABLA+N_CAMPO);i++) delete Panel[i]; } //--------------------------------------------------------------------------- void __fastcall TForm1::CisternaClick(TObject *Sender) { int nError; //Mostramos el Label y Edit Label1->Visible=true; Edit1->Visible=true; Edit1->MaxLength=4; Edit1->SetFocus(); //Asignamos a la opcion la de conductor byOpcion=OpCisterna; if(strcmp(sDatoTecleado,"")) { nError=Autorizacion->ComprobarCisterna(sDatoTecleado,hBaseDatos);//"0602" if(nError!=AUT_CIS_CORRECTO) MuestraError(nError); else { MuestraLista("CISTERNA"); ShowMessage("Fue todo correcto"); } } } //--------------------------------------------------------------------------- void TForm1::BoolACadena(bool bVariable,char *pscadena) { if(bVariable) strcpy(pscadena,"true"); else strcpy(pscadena,"false"); } //--------------------------------------------------------------------------- void __fastcall TForm1::TractorClick(TObject *Sender) { int nError; //Mostramos el Label y Edit Label1->Visible=true; Edit1->Visible=true; Edit1->MaxLength=10; Edit1->SetFocus(); //Asignamos a la opcion la de conductor byOpcion=OpTractor; if(strcmp(sDatoTecleado,"")) { nError=Autorizacion->ComprobarTractor(sDatoTecleado,NULL,hBaseDatos);//"NA-0664-AL" if(nError!=AUT_TRA_CORRECTO) MuestraError(nError); else { MuestraLista("TRACTOR"); ShowMessage("Fue todo correcto"); } } } //--------------------------------------------------------------------------- void __fastcall TForm1::SuministradorClick(TObject *Sender) { int nError; //Mostramos el Label y Edit Label1->Visible=true; Edit1->Visible=true; Edit1->MaxLength=1; Edit1->SetFocus(); //Asignamos a la opcion la de conductor byOpcion=OpSuministrador; if(strcmp(sDatoTecleado,"")) { nError=Autorizacion->ComprobarSuministrador(sDatoTecleado,hBaseDatos);//"1" if(nError!=AUT_SUM_CORRECTO) MuestraError(nError); else { MuestraLista("SUMINISTRADOR"); ShowMessage("Fue todo correcto"); } } } //--------------------------------------------------------------------------- void __fastcall TForm1::PedidosClick(TObject *Sender) { int nError; //Mostramos el Label y Edit Label1->Visible=true; Edit1->Visible=true; Edit1->MaxLength=5; Edit1->SetFocus(); //Asignamos a la opcion la de conductor byOpcion=OpPedidos; if(strcmp(sDatoTecleado,"")) { nError=Autorizacion->ComprobarPedidos(sDatoTecleado,hBaseDatos);//"10000" if(nError!=AUT_ORC_CORRECTO) MuestraError(nError); else { MuestraLista("PEDIDO"); ShowMessage("Fue todo correcto"); } } } //--------------------------------------------------------------------------- void __fastcall TForm1::TodosClick(TObject *Sender) { bTodos=true; if(!byOpcion) ConductorClick(Sender); else if(byOpcion==OpConductor) CisternaClick(Sender); else if(byOpcion==OpCisterna) TractorClick(Sender); else if(byOpcion==OpTractor) SuministradorClick(Sender); else if(byOpcion==OpSuministrador) { PedidosClick(Sender); bTodos=false; } } //--------------------------------------------------------------------------- void TForm1::MuestraLista(char *cadena) { int i,j; char scadena[100]; DatosAutorizacion sDatos; ListBox1->Clear(); Autorizacion->LeerEstructura(&sDatos); if(!strcmp("CONDUCTOR",cadena)) { strcpy(scadena,"CONDUCTOR"); ListBox1->Items->Add(scadena); BoolACadena(sDatos.bBorradoCon,scadena); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadCarnetCon); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadADRCon); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszNombreCon); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCarnetCon); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszInternoCon); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCodigoCon); ListBox1->Items->Add(scadena); itoa(sDatos.nResultadoCon,scadena,10); ListBox1->Items->Add(scadena); } if(!strcmp("CISTERNA",cadena)) { strcpy(scadena,"CISTERNA"); ListBox1->Items->Add(scadena); BoolACadena(sDatos.bBorradoCon,scadena); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszNumeroEjesCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadTarjetaCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadADRCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadITVCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadSeguroCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszInternoCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszTaraCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszBrutoCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCamionCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszMatriculaCis); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCodigoCis); ListBox1->Items->Add(scadena); for(i=0;iItems->Add(scadena); } itoa(sDatos.nResultadoCis,scadena,10); ListBox1->Items->Add(scadena); } if(!strcmp("TRACTOR",cadena)) { strcpy(scadena,"TRACTOR"); ListBox1->Items->Add(scadena); BoolACadena(sDatos.bBorradoTra,scadena); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszNumeroEjesTra); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadTarjetaTra); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadADRTra); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadITVTra); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCadSeguroTra); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszInternoTra); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszTaraTra); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszBrutoTra); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszMatriculaTra); ListBox1->Items->Add(scadena); itoa(sDatos.nResultadoTra,scadena,10); ListBox1->Items->Add(scadena); } if(!strcmp("SUMINISTRADOR",cadena)) { strcpy(scadena,"SUMINISTRADOR"); ListBox1->Items->Add(scadena); BoolACadena(sDatos.bBorradoSum,scadena); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszCodigoSum); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.pszNombreSum); ListBox1->Items->Add(scadena); itoa(sDatos.nResultadoSum,scadena,10); ListBox1->Items->Add(scadena); } if(!strcmp("PEDIDO",cadena)) { strcpy(scadena,"PEDIDO"); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.sOrden[0].pszMatriculaCisOrd); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.sOrden[0].pszCodigoSumOrd); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.sOrden[0].pszNumeroOrd); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.sOrden[0].pszNombreDesOrd); ListBox1->Items->Add(scadena); itoa(sDatos.sOrden[0].nResultadoOrd,scadena,10); ListBox1->Items->Add(scadena); } if(!strcmp("PESO",cadena)) { i=0; j=0; while(!sDatos.sOrden[i].sLinea[j].nResultadoPesoCarga) { strcpy(scadena,"PESO TOTAL DE CARGA"); ListBox1->Items->Add(scadena); itoa(sDatos.sOrden[i].nPesoOrd,scadena,10); ListBox1->Items->Add(scadena); for(j=0;jItems->Add(scadena); strcpy(scadena,sDatos.sOrden[i].sLinea[j].pszDensidadPro); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.sOrden[i].sLinea[j].pszNombrePro); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.sOrden[i].sLinea[j].pszCodigoPro); ListBox1->Items->Add(scadena); strcpy(scadena,sDatos.sOrden[i].sLinea[j].pszCantidadPro); ListBox1->Items->Add(scadena); itoa(sDatos.sOrden[i].sLinea[j].nResultadoPesoCarga,scadena,10); ListBox1->Items->Add(scadena); } i++; } } if(!strcmp("DISTRIBUCION",cadena)) { strcpy(scadena,"DISTRIBUCION DE LA CARGA EN LOS COMPARTIMENTOS"); ListBox1->Items->Add(scadena); for(i=0;iItems->Add(scadena); } } } //Comprobamos si el peso de carga es superior al maximos permitido por el camion void __fastcall TForm1::ComprobarPeso1Click(TObject *Sender) { DatosAutorizacion sDatos; int nError; nError=Autorizacion->CalcularPesoVolCarga(hBaseDatos); Autorizacion->LeerEstructura(&sDatos); if(nError) MuestraError(nError); else { MuestraLista("PESO"); ShowMessage("Fue todo correcto"); } if(strcmp(sDatos.sOrden[0].sLinea[0].pszCodigoPro,"")) MuestraLista("PESO"); } //--------------------------------------------------------------------------- void __fastcall TForm1::ComprobarPeso2Click(TObject *Sender) { int nError; nError=Autorizacion->ComprobarPesoCarga(hBaseDatos); if(nError) MuestraError(nError); else { MuestraLista("PESO"); ShowMessage("Fue todo correcto"); } } //--------------------------------------------------------------------------- void __fastcall TForm1::DistribuirCarga1Click(TObject *Sender) { if(Autorizacion->ComprobarDistribucionCarga()==0) { MuestraLista("DISTRIBUCION"); ShowMessage("Fue todo correcto"); } else ShowMessage("No se pudo distribuir la Carga"); } //--------------------------------------------------------------------------- void __fastcall TForm1::ComprobarEstado1Click(TObject *Sender) { DatosAutorizacion sDatos; int nError; //Leemos la Estructura Autorizacion->LeerEstructura(&sDatos); //Inicializamos nError=0; //Comprobamos el estado del conductor nError=Autorizacion->ComprobarEstado(hBaseDatos); if(nError==AUT_EST_CON_YA_DENTRO) ShowMessage("Conductor en otro estado"); //Comprobamos el estado del cisterna if(nError==AUT_EST_CIS_YA_DENTRO) ShowMessage("Cisterna en otro estado"); //Comprobamos el estado del Tractor if(nError==AUT_EST_TRA_YA_DENTRO) ShowMessage("Tractor en otro estado"); if(!nError) ShowMessage("Fue todo correcto"); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Autorizacion->BuscarNumeroViaje(hBaseDatos); } //--------------------------------------------------------------------------- void __fastcall TForm1::ComprobarEstado2Click(TObject *Sender) { dbiTabla TCar; int nError; //Abrimos la tabla TCAR en exclusiva if(!AbrirTablaBDE(&TCar,"SIMICCAR",NULL,true,hBaseDatos)) { nError=0; nError=PesoEntrada->ComprobarEstado("0602",TCar); if(nError) ShowMessage("Estado inapropiado"); else ShowMessage("Todo Correcto"); } else ShowMessage("Hubo un Error de TCAR"); //Cerramos la tabla de TCAR CerrarTablaBDE(&TCar); } //--------------------------------------------------------------------------- void __fastcall TForm1::PesoEntrada1Click(TObject *Sender) { int nError; nError=PesoEntrada->PesoEntrada("0602",hBaseDatos); if(!nError) ShowMessage("Fue todo correcto"); else ShowMessage("Algo fue mal"); } //--------------------------------------------------------------------------- void __fastcall TForm1::PesodeSalida2Click(TObject *Sender) { int nError; nError=PesoSalida->PesoSalida("0602",hBaseDatos); if(!nError) ShowMessage("Fue todo correcto"); else ShowMessage("Algo fue mal"); } //--------------------------------------------------------------------------- void __fastcall TForm1::Albaran2Click(TObject *Sender) { //El "00090" es el correspondiente al conductor asociado if(Albaran->Albaran("0602",hBaseDatos)) ShowMessage("Hubo un error"); else ShowMessage("Todo Correcto"); } //--------------------------------------------------------------------------- /* bool TForm1::LeerFichero(char *NombreFichero,char *NombreEstructura) { bool bCorrecto; FILE *fichero; LINDat sLINDat; ELEDat sELEDat; DRVDat sDRVDat; bCorrecto=true; ListBox1->Clear(); //Abrimos le fichero en modo lectura if( ( fichero = fopen(NombreFichero, "rb") ) == NULL) bCorrecto=false; else { if(!strcmp(NombreEstructura,"LINDat")) { while (!feof(fichero)) { //Leemos la estructura fread(&sLINDat, sizeof(sLINDat), 1, fichero); //Ponemos el Fin de cadena sLINDat.cNumeroLineaLIN[2]=0; sLINDat.cVelocidadLineaLIN[5]=0; //Mostramos la Estructura ListBox1->Items->Add("DATOS DE LA LINEA"); ListBox1->Items->Add("================="); ListBox1->Items->Add(sLINDat.cConcentradorLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cNumeroLineaLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cLineaActivaLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cVelocidadLineaLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cAnchuraDatosLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cParidadLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cBitsDeStopLIN); ListBox1->Items->Add(" "); } } if(!strcmp(NombreEstructura,"ELEDat")) { while (!feof(fichero)) { //Leemos la estructura fread(&sELEDat, sizeof(sELEDat), 1, fichero); //Ponemos el Fin de cadena sELEDat.cNumeroLineaELE[2]=0; sELEDat.cTipoELE[3]=0; sELEDat.cIdentificaELE[3]=0; sELEDat.cNombreDriverELE[6]=0; sELEDat.cTimeOutComunicaELE[3]=0; sELEDat.cDireccionELE[3]=0; //Mostramos la Estructura ListBox1->Items->Add("DATOS DE ELEMENTOS"); ListBox1->Items->Add("=================="); ListBox1->Items->Add(sELEDat.cConcentradorELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cNumeroLineaELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cTipoELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cIdentificaELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cElementoActivoELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cNombreDriverELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cTimeOutComunicaELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cDireccionELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cTipoPrioridadELE); ListBox1->Items->Add(" "); } } if(!strcmp(NombreEstructura,"DRVDat")) { while (!feof(fichero)) { //Leemos la estructura fread(&sDRVDat, sizeof(sDRVDat)+1, 1, fichero); //Ponemos el Fin de cadena sDRVDat.cNombreDriverDRV[6]=0; sDRVDat.cTamBufferTraDRV[4]=0; sDRVDat.cTamBufferRecDRV[4]=0; sDRVDat.cTamPeriodicaDRV[4]=0; //Mostramos la Estructura ListBox1->Items->Add("DATOS DE DRIVERS"); ListBox1->Items->Add("================"); ListBox1->Items->Add(sDRVDat.cNombreDriverDRV); ListBox1->Items->Add(" "); ListBox1->Items->Add(sDRVDat.cTamBufferTraDRV); ListBox1->Items->Add(" "); ListBox1->Items->Add(sDRVDat.cTamBufferRecDRV); ListBox1->Items->Add(" "); ListBox1->Items->Add(sDRVDat.cTamPeriodicaDRV); ListBox1->Items->Add(" "); } } // if(!strcmp(NombreEstructura,"DatosTRADat")) } fclose(fichero); return bCorrecto; } */ //--------------------------------------------------------------------------- void __fastcall TForm1::Transfer1Click(TObject *Sender) { TRAPERDat sTRAPERIODICADat[NUM_MAXIMO_PERIODICA]; TRAOCADat sTRAOCASIONALDat; BYTE byi; char sCadena[25]; int nCorrecto; ListBox1->Clear(); //Leemos de los ficheros y rellenamos la estructura transfer nCorrecto=Transfer->RellenarEstructuraTransfer(); if(nCorrecto==TRANSFER_CORRECTO) { ShowMessage("Lectura del fichero transfer.dat correcta"); Transfer->LeerEstructura(sTRAPERIODICADat,&sTRAOCASIONALDat); byi=0; while(sTRAPERIODICADat[byi].lPosicionTRAPER!=-1 && byiItems->Add("DATOS DE TRANSFER"); ListBox1->Items->Add("================="); ListBox1->Items->Add(" "); ListBox1->Items->Add("Posicion: "); ltoa(sTRAPERIODICADat[byi].lPosicionTRAPER,sCadena,10); ListBox1->Items->Add(sCadena); ListBox1->Items->Add(" "); ListBox1->Items->Add("Tipo: "); ListBox1->Items->Add(sTRAPERIODICADat[byi].cTipoIDTRAPER); ListBox1->Items->Add(" "); ListBox1->Items->Add("Tamaņo: "); ListBox1->Items->Add(sTRAPERIODICADat[byi].lTamPeriodicaTRAPERDat); ListBox1->Items->Add(" "); byi++; } } else ShowMessage("Error en la lectura del fichero transfer.dat"); } //--------------------------------------------------------------------------- void __fastcall TForm1::Elemento1Click(TObject *Sender) { ELEDat sELEDat; bool bCorrecto; bCorrecto=Transfer->LeerFichero("elemento.dat","ELEDat"); if(bCorrecto) { ShowMessage("Lectura del fichero elementos.dat correcta"); ListBox1->Clear(); while(sELEDat.cConcentradorELE!='0') { //Mostramos la Estructura ListBox1->Items->Add("DATOS DE ELEMENTOS"); ListBox1->Items->Add("=================="); ListBox1->Items->Add(sELEDat.cConcentradorELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cNumeroLineaELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cTipoELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cIdentificaELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cElementoActivoELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cNombreDriverELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cTimeOutComunicaELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cDireccionELE); ListBox1->Items->Add(" "); ListBox1->Items->Add(sELEDat.cTipoPrioridadELE); ListBox1->Items->Add(" "); } } else ShowMessage("Erro en la lectura del fichero elementos.dat"); } //--------------------------------------------------------------------------- void __fastcall TForm1::Linea1Click(TObject *Sender) { LINDat sLINDat; bool bCorrecto; bCorrecto=Transfer->LeerFichero("lineas.dat","LINDat"); if(bCorrecto) { ShowMessage("Lectura del fichero lineas.dat correcta"); ListBox1->Clear(); while(sLINDat.cConcentradorLIN!='0') { //Mostramos la Estructura ListBox1->Items->Add("DATOS DE LA LINEA"); ListBox1->Items->Add("================="); ListBox1->Items->Add(sLINDat.cConcentradorLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cNumeroLineaLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cLineaActivaLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cVelocidadLineaLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cAnchuraDatosLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cParidadLIN); ListBox1->Items->Add(" "); ListBox1->Items->Add(sLINDat.cBitsDeStopLIN); ListBox1->Items->Add(" "); } } else ShowMessage("Error en la lectura del fichero lineas.dat"); } //--------------------------------------------------------------------------- void __fastcall TForm1::Driver1Click(TObject *Sender) { DRVDat sDRVDat; bool bCorrecto; bCorrecto=Transfer->LeerFichero("drivers.dat","DRVDat"); if(bCorrecto) { ShowMessage("Lectura del fichero drivers.dat correcta"); ListBox1->Clear(); while( !strcmp(sDRVDat.cNombreDriverDRV,"0") ) { //Mostramos la Estructura ListBox1->Items->Add("DATOS DE DRIVERS"); ListBox1->Items->Add("================"); ListBox1->Items->Add(sDRVDat.cNombreDriverDRV); ListBox1->Items->Add(" "); ListBox1->Items->Add(sDRVDat.cTamBufferTraDRV); ListBox1->Items->Add(" "); ListBox1->Items->Add(sDRVDat.cTamBufferRecDRV); ListBox1->Items->Add(" "); ListBox1->Items->Add(sDRVDat.cTamPeriodicaDRV); ListBox1->Items->Add(" "); } } else ShowMessage("Error en la lectura del fichero drivers.dat"); } //--------------------------------------------------------------------------- void __fastcall TForm1::LeerOcasional1Click(TObject *Sender) { BYTE byi; char Texto[128]; int nRespuesta; memset(Texto,0,sizeof(Texto)); ListBox1->Clear(); for(byi=1;byi<17;byi++) { nRespuesta=Transfer->LeerOcasional(Texto,byi); ListBox1->Items->Add(Texto); } if(!nRespuesta) ShowMessage("Todo fue correcto"); else ShowMessage("Hubo un error"); } //--------------------------------------------------------------------------- void __fastcall TForm1::EscribirOcasional1Click(TObject *Sender) { int nResultado; char sSentencia[TAM_MAXIMO_OCASIONAL]; Formatea(sSentencia,128,"%c%s%s%c%s%s",'2',"BBRPEN","*12",'A',"13","Teclee Codigo"); nResultado=Transfer->EscribirOcasional(sSentencia,7); if(!nResultado) ShowMessage("Todo fue correcto"); else ShowMessage("Hubo un Error"); } //--------------------------------------------------------------------------- void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { //Si le da al Return cogemos la instruccion if(Key=='\r') { strcpy(sDatoTecleado,Edit1->Text.c_str()); switch(byOpcion) { case OpConductor: ConductorClick(Sender); break; case OpCisterna: CisternaClick(Sender); break; case OpTractor: TractorClick(Sender); break; case OpSuministrador: SuministradorClick(Sender); break; case OpPedidos: PedidosClick(Sender); break; } Edit1->Text=""; Label1->Visible=false; Edit1->Visible=false; //Inicializamos el codigo de teclado strcpy(sDatoTecleado,""); if(bTodos) TodosClick(Sender); } } //--------------------------------------------------------------------------- void __fastcall TForm1::CargarThreads1Click(TObject *Sender) { BYTE byResultado; Transfer1Click(Sender); byResultado=0; byResultado=CargarThreads(); if(byResultado) ShowMessage("Hubo un Error cargando los threads"); } //--------------------------------------------------------------------------- void __fastcall TForm1::FinalizarThreads1Click(TObject *Sender) { TerminarThread(HDAUT); TerminarThread(HDPSE); TerminarThread(HDPSS); TerminarThread(HDALB); TerminarThread(HDContadores); } //---------------------------------------------------------------------------