Até onde me lembro struct são tipos definidos, algo como registros, define são constantes e o restante do código ele tá manipulando esse array de N dimensões... rs
E pelo que entendi o Blob é só para armazenar esse campo com essas informações. Att, Jhosef Marks de Carvalho Blog: http://www.jhosefmarks.com.br Jesus está voltando "E se o meu povo, que se chama pelo meu nome, se humilhar, e orar, e buscar a minha face e se converter dos seus maus caminhos, então eu ouvirei dos céus, e perdoarei os seus pecados, e sararei a sua terra." (2 Cr 7:14) Em 30 de julho de 2010 07:31, <thevorte...@yahoo.com.br> escreveu: > > > Bom dia pessoal, tenho um cliente que tem uma maquina de classificação de > frutas e esta maquina possui um sistema que foi desenvolvido em C++ Builder > e armazena dados no MySQL, acontece que tem um campo onde o programador > armazena uma array muiltidimensional em um campo BLOB (vai saber La por > que, > como eu disse o cara é programador de C++ Builder), descobri esse campo > quando fomo tentar importar os registros de classificação para o banco de > dados do ERP da empresa, entrei em contato com o programador dizendo como > poderia facilmente recuperar esses dados e ele me enviou esse código: > > #define MAX_CALIBRES 16 > > #define MAX_COLORES 8 > > #define MAX_FORMAS 4 > > #define MAX_DENSIDADES 4 > > #define MAX_DEFECTOS 4 > > //---------------------------------------------------------- > > struct tagDatosFrutas { > > int nDatosPeso; > > int nDatosFrutas; > > }; > > struct tagDatosFrutas DatosPartida [MAX_CALIBRES+1] > > [MAX_COLORES+1] > > [MAX_FORMAS] > > [MAX_DENSIDADES] > > [MAX_DEFECTOS]; > > //---------------------------------------------------------- > > void __fastcall DescomprimeDatos(TBlobStream *pStream, int* DatosPartidaP) > > { > > int *pDatoActual; > > int nDato, nNumRepeticiones; > > int i, j; > > pDatoActual = DatosPartidaP; > > try { > > // Se divide por dos porque hago 2 lecturas en cada iteracion > > for (i=0; i<(int)(pStream->Size/(sizeof(int)*2)); i++) { > > pStream->Read (&nNumRepeticiones, sizeof (int)); > > pStream->Read (&nDato, sizeof (int)); > > for (j=0; j<nNumRepeticiones; j++) { > > *pDatoActual = nDato; > > pDatoActual++; > > } > > } > > } > > catch (...) { > > throw; > > } > > delete pStream; > > } > > //---------------------------------------------------------- > > ** Tratamiento de la información de la partida después de seleccionarla > > //---------------------------------------------------------- > > (Código para c++ builder) > > pStream = (TBlobStream *)ExportarDB->PartidasQ-> > > CreateBlobStream(ExportarDB->PartidasQ-> > > FieldByName("Datos"), bmRead); > > DescomprimeDatos( pStream, (int *)DatosPartida); > > //DATOS DE LA PARTIDA ** si la máquina es de solo peso > > // Datos de la partida 10 pesos > > for (Calibre = 1; Calibre < 11; Calibre++) > > { > > Peso = DatosPartida[Calibre][0][0][0][0].nDatosPeso; > > Frutas = DatosPartida[Calibre][0][0][0][0].nDatosFrutas; > > } > > // Destrio -> en caso de que la máquina tenga > > Peso = DatosPartida[0][0][0][0][0].nDatosPeso; > > AS += strAux; > > //FIN DATOS PARTIDA > > Alguem conhece alguma ferramenta para traduzir isso pra Delphi ou poderia > me > dar uma força na tradução disso? > > Muito obrigado pela força. > > José Ricardo Aviles. > assinatura1 > > ( Tel.....: 19 3868-7185 > ( Cel.....: 19 8173 0077 > * E-mail: <mailto:jravi...@stiware.com.br <jraviles%40stiware.com.br>> > jravi...@stiware.com.br <jraviles%40stiware.com.br> > Skype: stiware > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas] ------------------------------------ -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html