Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-05-2018
NicolasP NicolasP is offline
Miembro
 
Registrado: may 2013
Posts: 28
Poder: 0
NicolasP Va por buen camino
Grabar imagen en Sqlite Android y Windows.

Estoy con una app que lee y graba fotos (entre otros datos) en una base Sqlite. Después de seguir muchos ejemplo logre que funcione bien leyendo y escribiendo .
Seguí este ejemplo de Jonatan Souza y me funciona bien en android.

https://www.youtube.com/watch?v=2X7yDJYHuQk&t=62s

Ahora bien... en windows no funciona ....

Si bien la aplicación no es para windows , hago pruebas ahí (creo, como muchos) por una cuestión del tiempo que tarda la aplicación en correr.
Al leer: "Loading bitmap failed" y al grabar nada ..... pero tampoco la graba, lo verifiqué. Los otros datos se leen y graban sin problemas.
Uso Sqlite 3 , el archivo tiene se llama base1.s3db y es el mismo que subo al teléfono cuando pruebo. Me imagino que puede ser una cosa de versiones de sqlite. Ni idea que tiene el teléfono... La verdad nose.

Uso Delphi 10.1 -

grabar:

Código Delphi [-]
var
    BlobStream : TStream;
    QGuardar : TFDQuery;
begin
  QGuardar := TFDQuery.Create( Nil );
  QGuardar.Connection := FDConnection1;
  QGuardar.SQL.Clear;
  QGuardar.SQL.Add('SELECT perfil WHERE id=1');
  QGuardar.ExecSQL;
     lb_nombre.Text :=  QGuardar.FieldByName('nombre').AsString;
     lb_email.Text := QGuardar.FieldByName('email').AsString;
     ed_fechaNac.Text := QGuardar.FieldByName('fechanac').AsString;
     BlobStream := QGuardar.CreateBlobStream(
                        QGuardar.FieldByName('foto'),TBlobStreamMode.bmRead
                       );

    FotoPerfil.LoadFromStream(BlobStream);
    Cir_Foto.fill.bitmap.Bitmap := FotoPerfil;


  QGuardar.Close;



leer:
Código Delphi [-]
procedure TFormThree.BC_SalvarPerfilClick(Sender: TObject);
Var
 qrySalvar : TFDQuery;
 ImgSalvar : TMemoryStream;
begin

  qrySalvar := TFDQuery.Create( Nil );
  qrySalvar.Connection := FDConnection1;

    qrySalvar.SQL.Clear;
   qrySalvar.SQL.Add('UPDATE perfil SET nombre=:name, email=:email, foto=:foto WHERE id=1');
   qrySalvar.ParamByName('name').AsString := Ed_NOMBRE.Text;
   qrySalvar.ParamByName('email').AsString := Ed_Email.Text;


   ImgSalvar := TMemoryStream.Create;
   FotoPerfil.SaveToStream( ImgSalvar );
   ImgSalvar.Seek(0,0);

   qrySalvar.ParamByName('foto').LoadFromStream( ImgSalvar, ftBlob);

   qrySalvar.ExecSQL;

end;
Responder Con Cita
  #2  
Antiguo 22-09-2021
danbeta danbeta is offline
Registrado
 
Registrado: sep 2021
Posts: 1
Poder: 0
danbeta Va por buen camino
Yo tengo el mismo problema y no encuentro como realizarlo

Código Delphi [-]
procedure TFirmasForm.btSiguienteClick(Sender: TObject);
Var
//    B: TBrushBitmap;
    pRecDoc: Integer;
    B: TBitMap;
begin

if TOSVersion.Platform = pfWindows then
begin
  B:= TBitMap.Create(1920,1080);
    if RoundRect1.Canvas.BeginScene = True
      then
        try
          RoundRect1.PaintTo(B.Canvas, RectF(0 , 0, 1920, 1080));
        finally
          RoundRect1.Canvas.EndScene;
        end;
        Image1.BitMap:= B;
        B.SaveToFile('Firma'+InttoStr(Random(1000))+'.png');
        B.Free;
  end
  else
  begin
    Image1.Bitmap.Assign(RoundRect1.MakeScreenshot);
    B:= TBitMap.Create(1920,1080);
    B.Assign(RoundRect1.MakeScreenshot);
    ShowMessage(' SCREENSHOT');
end;

  pRecDoc:= 93423;

  DataModule1.SQLConnection1.Close;
  DataModule1.SQLConnection1.Open;
  DataModule1.CDS_Firma.ParamByName('NOREGDOC_CFDI').Value := pRecDoc;

Última edición por Casimiro Notevi fecha: 22-09-2021 a las 23:17:50.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar BD Sqlite Android EdgarSamudio Desarrollo en Delphi para Android 4 25-06-2016 18:05:29
Wifi, Android y SQLite Jose Roman Varios 3 10-09-2015 15:36:30
Android SQLite pantalla negra Davidecr Desarrollo en Delphi para Android 9 17-03-2014 19:41:09
Grabar imagen spia Tablas planas 4 12-03-2008 21:47:53


La franja horaria es GMT +2. Ahora son las 22:35:49.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi