Ver Mensaje Individual
  #5  
Antiguo 04-12-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
Cita:
Empezado por tebre Ver Mensaje
solucionado gracias por la pronta respuesta eso era lo que necesitaba..

aprovechando... como podria hacer para que cuando me seleccionen del combobox... de toda la cadena de nombre appellido paterno apellido materno

recoga nada mas el appellido paterno...
Hola, una forma podría ser que lo separes en un StrinList y accedas a la posición donde esta el apellido paterno.

Código Delphi [-]
  sl : TStringList;
begin
  sl := TStringList.Create;
  sl.DelimitedText := ComboBox1.Items[ComboBox1.ItemIndex];
 
  showmessage(sl[1]);

pero hay un problema que pasa si el apellido tiene dos palabras por lo menos en mi pais si he visto o que pasaría si quieres obtener el nombre y la persona tiene dos o tres nombres, hasta donde vas a tomar de lo que tines en el item, a no ser que pongas un delimitador y así te des cuenta, en ese caso también podrías obtener con las funciones Copy y Pos.

Otra forma sería que te crees objetos y a parte de añadir el texto del comboBox también añades tu objetito a cada ítem.

Código Delphi [-]
type
 TDatosPer = class
 private
  nombre,
  paterno,
  materno   : String;
end;
......................
.....................
 
var
 DatosPer : TDatosPer;
 Texto : String;
begin
 Texto := Datos.QryEmpleado.FieldByName ('Nombre').AsString+' '+
             Datos.QryEmpleado.FieldByName ('Appaterno').AsString+' '+
             Datos.QryEmpleado.FieldByName ('ApMaterno').AsString;
 
 DatosPer := TDatosPer.Create;
 With DatosPer do
   begin
     nombre := Datos.QryEmpleado.FieldByName ('Nombre').AsString;
     paterno := Datos.QryEmpleado.FieldByName ('Appaterno').AsString;
     materno := Datos.QryEmpleado.FieldByName ('Appaterno').AsString;
   end;
 ComboBox1.Items.AddObject(Texto, TObject(DatosPer));
end;

Ahora paar recuperar un valor, no importa cual, solo necesitas hacer refrencia al que necesitas.

Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
 showmessage(TDatosPer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]).paterno);
end;

Pero ahora yo tengo una duda, es sobre la liberación de los objetos que me he creado, alguien me puede aclarar como sería la liberación, tendría que liberar yo los objetos que me he creado .

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.

Última edición por Caro fecha: 04-12-2008 a las 23:03:14.
Responder Con Cita