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


Responder a