Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-11-2013
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Faltan dos end;
Código Delphi [-]
var
  I: Integer;
  Bitmap1: TBitmap;
  dd1: TDicomDataset;
  AStream : TStream;
begin
  for I := 0 to ListBox2.Items.Count - 1 do
  begin
    dd1:= TDicomDataset.Create;
    dd1.LoadFromFile(ListBox2.Items.Strings[i]);
    Bitmap1 := TBitmap.Create;
    dd1.Attributes.ImageData.AssignToBitmap(Bitmap1,False);
    Redimensionar(Bitmap1,80,80);
    try
      Data1.TablaSeries.Edit;
      AStream:= Data1.TablaSeries.CreateBlobStream(Data1.TablaSeries.FieldByName('SERIES_ICON'), bmWrite);
      Bitmap1.SaveToStream(AStream);
    finally
      Bitmap1.Free;
      AStream.Free;
    end;
  end;
end
Responder Con Cita
  #2  
Antiguo 01-11-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 19
radenf Va por buen camino
Muchas gracias por responder Casimiro Notevi.

En realidad no faltan los end, porque como señalé este código es parte de otro, que no quise incluir, por lo extenso y porque realiza otras operaciones que funcionan bien, el cual contiene los end al final.
De hecho no obtengo ningún error al compilar, sólo que no inserta la cantidad debida de imágenes en la BD y que es lo que necesito.

Salu2
Responder Con Cita
  #3  
Antiguo 01-11-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 19
radenf Va por buen camino
Corrijo el código, el que he asignado a un Thread, para evitar confusiones.

Código Delphi [-]
procedure TVisor.BMDThread2Execute(Sender: TObject; Thread: TBMDExecuteThread; var Data: Pointer);
var
I: Integer;
Bitmap1: TBitmap;
dd1: TDicomDataset;
AStream : TStream;
begin
for I := 0 to ListBox2.Items.Count - 1 do
begin
try
dd1:= TDicomDataset.Create;
dd1.LoadFromFile(ListBox2.Items.Strings[i]);
Bitmap1 := TBitmap.Create;
dd1.Attributes.ImageData.AssignToBitmap(Bitmap1,False);
Redimensionar(Bitmap1,80,80);
Data1.TablaSeries.Edit;
AStream:= Data1.TablaSeries.CreateBlobStream(Data1.TablaSeries.FieldByName('SERIES_ICON'), bmWrite);
Bitmap1.SaveToStream(AStream);
finally
Bitmap1.Free;
AStream.Free;
Data1.TablaSeries.Post;
end;
end;
end;

Espero que alguien pueda descubrir el problema.
Salu2
Responder Con Cita
  #4  
Antiguo 01-11-2013
Avatar de radenf
radenf radenf is offline
Miembro
 
Registrado: oct 2007
Ubicación: Viña del Mar,Chile
Posts: 608
Poder: 19
radenf Va por buen camino
Me respondo yo mismo.
Encontré la solución, insertando las imágenes mediante un Update con ADOQuery y utilizando parámetros, con el siguiente código, el que adjunto por si alguien más pudiera servirle:

Código Delphi [-]
var
I: Integer;
Bitmap1: TBitmap;
dd1: TDicomDataset;
AStream : TStream;
begin
for I := 0 to ListBox2.Items.Count - 1 do
begin
dd1:= TDicomDataset.Create;
dd1.LoadFromFile(ListBox2.Items.Strings[i]);
Bitmap1 := TBitmap.Create;
dd1.Attributes.ImageData.AssignToBitmap(Bitmap1,False);
Redimensionar(Bitmap1,80,80);
Data1.TablaSeries.Edit;
try
AStream:= TMemoryStream.Create;
Bitmap1.SaveToStream(AStream);
ADOQuery9.Close;
ADOQuery9.SQL.clear;
ADOQuery9.SQL.add('update SERIES set SERIES_NUMBER =:SERIESN, SERIES_IMAGE_COUNT =:IMAGEN, SERIES_ICON =:ICON');
ADOQuery9.SQL.Add ('where SERIESUID like'+ QuotedStr(ListBox3.Items.Strings[i]+'%'));
ADOQuery9.Parameters.Parambyname('SERIESN').Value:= dd1.Attributes.getInteger($0020, $0011);
ADOQuery9.Parameters.Parambyname('IMAGEN').Value:= ListBox4.Items.Strings[i];
ADOQuery9.Parameters.ParamByName('ICON').LoadFromStream(AStream, ftBlob);
ADOQuery9.ExecSQL;
Data1.TablaSeries.Post;
finally
Bitmap1.Free;
AStream.Free;
end;
end;
end;

Saludos
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
Agregar múltiples Campo de una tabla a múltiples TEdit y TdbEdit novato_erick Varios 21 21-08-2011 01:18:58
Insertar en Access elturu15 Varios 2 12-05-2011 17:08:18
como generar ventas multiples (seleccionar multiples items) userdelphi Varios 4 30-12-2010 02:52:21
Insertar un registro en multiples bases de datos. Gaim2205 Conexión con bases de datos 2 09-11-2007 00:15:13
problema al insertar en bd access manoley23 SQL 12 20-07-2006 14:16:31


La franja horaria es GMT +2. Ahora son las 10:42:29.


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