Ver Mensaje Individual
  #6  
Antiguo 17-12-2022
giantonti1801 giantonti1801 is offline
Miembro
 
Registrado: oct 2022
Posts: 143
Reputación: 4
giantonti1801 Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
Me tome algunas licencias con los nombres de los campos, pero es un ejemplo de otro método para cargar datos a un TListView.

Código Delphi [-]
procedure TForminicio.ClienteAddListView(Cliente_Id: integer;
                                         Cliente_Nombre, 
                     Cliente_Email: string;
                                         Cliente_Foto: TBitmap);
var
    item: TListViewItem;
begin
    item := lvClientes.Items.Add;
    item.Height := 90;
    item.Tag    := Cliente_Id;

    {!PRECAUCION!}
    {Los nombre de los objetos del Item son sencibles a minusculas y mayusculas: 'txtCliente_Nombre', 'txtCliente_Email'...}

    TListItemText(item.Objects.FindDrawable('txtCliente_Nombre')).Text := Cliente_Nombre;
    TListItemText(item.Objects.FindDrawable('txtCliente_Email')).Text := Cliente_Email;
  
    if Cliente_Foto <> nil then
       TListItemImage(item.Objects.FindDrawable('imgCliente_Foto')).Bitmap := Cliente_Foto;
end;

procedure TFrmPrincipal.ClientesListar;
var
    Cliente_foto: TBitmap;
    foto_stream: TStream;
begin
    lvClientes.BeginUpdate;
    lvClientes.Items.Clear;

    with UniQueryVisita do
    begin
        Active := false;
        SQL.Clear;
        SQL.Add('select * from Clientes order by Cliente_id');
        Active := true;

        while NOT eof do
        begin
             Cliente_Foto := nil;
       
       if not FieldByName('Cliente_Foto').IsNull then
             begin
                foto_stream := CreateBlobStream(FieldByName('Cliente_Foto'), TBlobStreamMode.bmRead);
        
                Cliente_Foto:= TBitmap.Create;
                Cliente_Foto.LoadFromStream(foto_stream);

                foto_stream.DisposeOf;
            end;

            ClienteAddListView(FieldByName('Cliente_id').AsInteger,
                               FieldByName('Cliente_Nombre').AsString,
                               FieldByName('Cliente_email').AsString,
                               Cliente_Foto);

            Next;
        end;
    end;

    lvClientes.EndUpdate;
end;

Espero te ayude, saludos cordiales
gracias por tu respuesta amigo, pero fijate tengo toda la tarde tratando de indentificar cuales losn los nombres de los campos de la base de dato y cuales son los nombres de las cajas donde voy a pasar los datos

Código Delphi [-]
procedure TForminicio.ClientesListar;
var
    Cliente_foto: TBitmap;
    foto_stream: TStream;
begin
    lvClientes.BeginUpdate;
    lvClientes.Items.Clear;

    with UniQueryVisita do
    begin
        Active := false;
        SQL.Clear;
        SQL.Add('select * from Visitas');
        Active := true;

        while NOT eof do
        begin
             Cliente_Foto := nil;

       if not FieldByName('Foto').IsNull then
             begin
                foto_stream := CreateBlobStream(FieldByName('Foto'), TBlobStreamMode.bmRead);

                Cliente_Foto:= TBitmap.Create;
                Cliente_Foto.LoadFromStream(foto_stream);

                foto_stream.DisposeOf;
            end;

            ClienteAddListView(FieldByName('Cliente_RUT').AsString,
                               FieldByName('Cliente_Nombre').AsString,
                               FieldByName('Cliente_email').AsString,
                               FieldByName('Cliente_Apellido').AsString,
                               FieldByName('Aceptacion_visita').AsString,
                               FieldByName('Cliente_comentario').AsString,
                               Cliente_Foto);

            Next;
        end;
    end;

    lvClientes.EndUpdate;
end;


Código Delphi [-]
procedure TForminicio.ClienteAddListView(Cliente_RUT, Cliente_Nombre,
  Cliente_Apellido, Cliente_comentario, Aceptacion_visita,
  Cliente_Email: string; Cliente_Foto: TBitmap);
var
    item: TListViewItem;
begin
    item := lvClientes.Items.Add;
    item.Height := 90;
    //item.Tag    := Cliente_RUT;

    {!PRECAUCION!}
    {Los nombre de los objetos del Item son sencibles a minusculas y mayusculas: 'txtCliente_Nombre', 'txtCliente_Email'...}

    TListItemText(item.Objects.FindDrawable('Nom_Visita_txt')).Text := Cliente_Nombre;
    TListItemText(item.Objects.FindDrawable('ACT_visita_txt')).Text := Cliente_Apellido;
    TListItemText(item.Objects.FindDrawable('txtNome')).Text := Cliente_RUT;
    TListItemText(item.Objects.FindDrawable('txtEmail')).Text := Aceptacion_visita;
    TListItemText(item.Objects.FindDrawable('txtEndereco')).Text := Cliente_comentario;

    if Cliente_Foto <> nil then
       TListItemImage(item.Objects.FindDrawable('imgVendedor')).Bitmap := Cliente_Foto;
end;
Responder Con Cita