Ver Mensaje Individual
  #7  
Antiguo 08-07-2012
Josephjht Josephjht is offline
Registrado
NULL
 
Registrado: jul 2012
Posts: 3
Reputación: 0
Josephjht Va por buen camino
y ordeenar los datos por cedula?

Cita:
Empezado por ecfisa Ver Mensaje
Hola Henoc.

Segun entiendo el problema se resume a pasar columnas de un TStringGrid (origen) a un TStringGrid (destino), para lo cuál debes basarte en la elección previa de un criterio que puede ser:
  • Nacidos en la misma fecha.
  • Nacidos en fecha previa.

Creo que lo más sencillo es usar un TEdit para ingresar la fecha y un TComboBox para seleccionar el criterio y cuyos Items sean:
  • Igual (0)
  • Menor (1)

Entonces podrías hacer:
Código:
#define COL_FENAC 6

void PacientesXFecha(TStringGrid *Orig, TStringGrid *Dest, TDate aDate, char TC)
{
int n = Dest->FixedRows, r;

  /* Limpiar destino */
  for(r = n; r < Dest->RowCount; r ++) Dest->Rows[r]->Clear();
  /* Copiar datos */
  for( r = Orig->FixedRows; r < Orig->RowCount; r++) {
    // Igual a
    if(TC == 0 && StrToDate(Orig->Cells[COL_FENAC][r]) == aDate) {
      for(int c= Dest->FixedCols; c < Dest->ColCount; c++)
        Dest->Cells[c][n] = Orig->Cells[c][r];
      n++;
    }
    // Menor a
    if(TC == 1 && StrToDate(Orig->Cells[COL_FENAC][r]) < aDate) {
      for(int c= Dest->FixedCols; c < Dest->ColCount; c++)
        Dest->Cells[c][n] = Orig->Cells[c][r];
      n++;
    }
  }
}
Ejemplo de llamada:
Código:
void __fastcall TForm1::btnBuscarClick(TObject *Sender)
{
  PacientesXFecha(Form5->StringGrid1,
                  Form15->StringGrid1,
                  StrToDate(Edit1->Text),
                  ComboBox1->ItemIndex);
}
Saludos.


brother y para ordenar estos datos del stringgrid original a uno nuveo ordenandolos por cedula de menor a mayor?


sabes que se tiene varios datos por cada ingreso.

nombre apellido cedula ..... ...... .....

henoc Duran 22222 --- ---- ----

Hector Rodrig 333333 .... .... ...

Juan Campos 12 ---- --- ---


lo que sw quiere es que esto pase a una nueva stringggrid de la siguiente manera.


nombre apellido cedula ..... ...... .....

Juan Campos 12 ---- --- ---

Hector Rodrig 1111 .... .... ...

Hector Rodrig 333333 .... .... ...
Responder Con Cita