Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-08-2006
ajmr81 ajmr81 is offline
Registrado
 
Registrado: ago 2006
Posts: 9
Poder: 0
ajmr81 Va por buen camino
ayuda...

buenos dias, el presente es para solicitar su ayuda, estoy comenzando a trabajar con delphi, especificamente con la version 5.0, actualmente programo en cobol, foxpro, pascal "hace algun tiempo", el detalle que presento es que debo realizar un programa que me permita incluir datos en una base de datos xxx, ya ese problema esta solventado en un 80%, el detalle lo presento es que tambien debo de ingresar datos en otra tabla que maneja campos BLOB, tengo el arreglo de dicho campo, pero no logro culminar el programa, les comento que todo lo que he realizado es a base de ensayo y error y copy - paste., pero ya no logro pasar de donde me encuentro en este momento, no tengo ningun problema de enviar el programa que estoy realizando para que me orienten mejor.

No les estoy solicitando que me finalicen el programa, lo que deseo es que me orienten en como culminarlo. Aunque quien este en la disponibilidad, no tengo objecion en facilitarle el fuente.

de antemano muchisimas gracias...

Alexander Medina
Maracay - Venezuela
Responder Con Cita
  #2  
Antiguo 08-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Cita:
el detalle lo presento es que tambien debo de ingresar datos en otra tabla que maneja campos BLOB, tengo el arreglo de dicho campo, pero no logro culminar el programa
Qué te falta? Te dá algún error?, Qué no sabes?

Nota: Debes poner titulos mas descriptivos en los hilos. Veo que eres nuevo, por tanto te aconsejo que pases por la Guía de Estilo y Etiquetas vB (Ejemplo)

Saludos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 08-08-2006 a las 17:11:00.
Responder Con Cita
  #3  
Antiguo 08-08-2006
ajmr81 ajmr81 is offline
Registrado
 
Registrado: ago 2006
Posts: 9
Poder: 0
ajmr81 Va por buen camino
ayuda...

me da un error, copie la rutina o procedimiento y me da un error, a nivel de la declaracion del arreglo de precios y otros + que no sabria detallarte, si es de tu agrado puedo enviarte el fuente y verificas para que veas de que se trata.

de antemano muchas gracias.
Responder Con Cita
  #4  
Antiguo 08-08-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Cita:
si es de tu agrado puedo enviarte el fuente y verificas para que veas de que se trata.
Mejor copia y pega aqui el código, asi todos te ayudamos (no solo yo ).

Decirte también que es muy mala práctica copiar y pegar código en tu proyecto si antes entenderlo, y ver si sirve a tu problema

Saludos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #5  
Antiguo 08-08-2006
ajmr81 ajmr81 is offline
Registrado
 
Registrado: ago 2006
Posts: 9
Poder: 0
ajmr81 Va por buen camino
ayuda

este es el codigo de lo que estoy realizando

Código Delphi [-]
 
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls, lmdctrl, lmdstdcS, wwSpeedButton, wwDBNavigator,
  wwclearpanel, wwdblook, lmdbtn, ToolWin, ComCtrls, Mask, wwdbedit,
  lmdcombo, lmdextcS, jpeg, DBTables, DBISAMTb, Grids, DBGrids, DBISAMCt;
type
  TF_Main = class(TForm)
     ToolBar1: TToolBar;
     BT_1: TLMDButton;
     BT_2: TLMDButton;
     BT_3: TLMDButton;
     LMDButton2: TLMDButton;
     N1_Code: TwwDBLookupCombo;
     ED_N1: TwwDBEdit;
     E_CODERES: TEdit;
     Label3: TLabel;
     LMDButton7: TLMDButton;
     E_N1: TwwDBEdit;
     N2_Code: TwwDBLookupCombo;
     Label1: TLabel;
     E_N2: TwwDBEdit;
     E_N3: TwwDBEdit;
     E_N6: TwwDBEdit;
     ED_N2: TwwDBEdit;
     N3_Code: TwwDBLookupCombo;
     ED_N3: TwwDBEdit;
     LMDButton10: TLMDButton;
     N6_Code: TEdit;
     E_DESCRIPCION: TEdit;
     C_Tallas: TCheckBox;
     Label2: TLabel;
     E_Grupo: TEdit;
     Label4: TLabel;
     E_Departamento: TEdit;
     E_Linea: TEdit;
     E_Marca: TEdit;
     E_TallaTamano: TEdit;
     E_Moneda: TEdit;
     E_Unidad: TEdit;
     E_Origen: TEdit;
     E_Modelo: TEdit;
     E_Referencia: TEdit;
     Label5: TLabel;
     Label7: TLabel;
     Label8: TLabel;
     Label6: TLabel;
     Label9: TLabel;
     Label10: TLabel;
     Label11: TLabel;
     Label12: TLabel;
     Label13: TLabel;
     E_InformacionAdicional: TMemo;
     GroupBox1: TGroupBox;
     E_CostoAnterior: TEdit;
     E_Pvp1: TEdit;
     E_Pvp2: TEdit;
     E_Pvp3: TEdit;
     Label14: TLabel;
     Label15: TLabel;
     Label16: TLabel;
     Label17: TLabel;
procedure LMDButton6Click(Sender: TObject);
procedure LMDButton2Click(Sender: TObject);
procedure ProcedenChange(Sender: TObject);
procedure BT_1Click(Sender: TObject);
procedure LMDButton7Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BT_2Click(Sender: TObject);
procedure BT_3Click(Sender: TObject);
procedure BT_4Click(Sender: TObject);
procedure N1_CodeChange(Sender: TObject);
procedure N2_CodeChange(Sender: TObject);
procedure N3_CodeChange(Sender: TObject);
procedure LMDButton10Click(Sender: TObject);
private
    { Private declarations }
Public
    { Public declarations }
end;
var
  F_Main: TF_Main;
implementation
uses Unit3,DatosU, Unit2, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11;
Const
      NPrecios         = 6;
      DecimalAllow     = 2;
Type  //Registro para almacenar los costos y precios de inventario
      //en un BlobField;
      RegUnPrecio = Record
                    PorcUtil     ,
                    PorcUtilEx   : Boolean;
                    Utilidad     ,
                    UtilidadEx   ,
                    SinImpuesto  ,
                    MtoImpuesto1 ,
                    MtoImpuesto2 ,
                    TotalPrecio  ,
                    TotalPrecioEx: Currency;
                    TipoRound    : Byte;
                    end;
      RegCostos   = Record
                    CodeCompra      : String[50];   //Utilizado en el modulo de compras
                    VImpuesto1      ,
                    VImpuesto2      : Boolean;  //Impuestos Activados
                    CostoAnteriorBs ,
                    CostoAnteriorEx ,
                    CostoActualBs   ,
                    CostoActualEx   ,
                    CostoPromedioBs ,
                    CostoPromedioEx ,
                    MImpuesto1      ,
                    MImpuesto2      : Currency;
                    PorcentImp1     ,
                    Excento1        ,
                    PorcentImp2     ,
                    Excento2        : Boolean;
                    FechaVencimiento: TDateTime;   //Lo uso en el modulo de compras para incluir el vencimiento
                    NumeroDeLote    : String[50];  //y el numero de lote de los productos con costos por lote
                    Precios         : Array[1..NPrecios] of RegUnPrecio;
                    end;
{$R *.DFM}

procedure TF_Main.LMDButton6Click(Sender: TObject);
begin
 F_Maestro.ShowMOdal;
end;
procedure TF_Main.LMDButton2Click(Sender: TObject);
begin
   F_Main.Close;
end;
procedure TF_Main.ProcedenChange(Sender: TObject);
Var  Tipo : String;
begin
end;
procedure TF_Main.BT_1Click(Sender: TObject);
begin
  F_NIvel_1.ShowModal;
end;
procedure TF_Main.LMDButton7Click(Sender: TObject);
begin
  F_Config.ShowModal;
end;
procedure TF_Main.FormActivate(Sender: TObject);
Var  Nivel : Integer;
     Dira2 : String;
     DirLocal :  String;
begin
   DATOS.T_Config.Active := True;
   Dira2 := datos.T_Config.FieldByName('FNC_DIRA2').AsString;
   DirLocal :=  datos.T_Config.FieldByName('FNC_DIRLOCAL').AsString;
   //Activo tablas de a2
   DATOS.T_Nivel1.DatabaseName := Dira2;
   DATOS.T_Nivel_2.DatabaseName := Dira2;
   DATOS.T_Nivel_3.DatabaseName := Dira2;
   DATOS.T_Inventario.DatabaseName := Dira2;
   // Prueba para lo del Sfixed
   DATOS.T_Sfixed.DatabaseName := Dira2;
   Datos.T_Sfixed.Active := True;
   //
   Datos.T_Nivel1.Active := True;
   Datos.T_Nivel_2.Active := True;
   Datos.T_Nivel_3.Active := True;
   Datos.T_Inventario.Active := True;
   // Activo  tablas locales
   Nivel := Datos.T_Config.FieldByName('FNC_NUM_NIVELES').AsInteger;
   If Nivel = 1 then
    begin
      BT_1.Enabled := True;
      BT_1.Caption := Datos.T_Config.FieldByName('FNC_NAME_NIVEL1').AsString;
      E_N1.Visible := True;
      N1_Code.Visible := True;
      ED_N1.Visible := True;
    end;
    If Nivel = 2 then
    begin
      BT_1.Enabled := True;
      BT_1.Caption := Datos.T_Config.FieldByName('FNC_NAME_NIVEL1').AsString;
      BT_2.Enabled := True;
      BT_2.Caption := Datos.T_Config.FieldByName('FNC_NAME_NIVEL2').AsString;
      E_N1.Visible := True;
      N1_Code.Visible := True;
      ED_N1.Visible := True;
      E_N2.Visible := True;
      N2_Code.Visible := True;
      ED_N2.Visible := True;
    end;
    If Nivel = 3 then
    begin
      BT_1.Enabled := True;
      BT_1.Caption := Datos.T_Config.FieldByName('FNC_NAME_NIVEL1').AsString;
      BT_2.Enabled := True;
      BT_2.Caption := Datos.T_Config.FieldByName('FNC_NAME_NIVEL2').AsString;
      BT_3.Enabled := True;
      BT_3.Caption := Datos.T_Config.FieldByName('FNC_NAME_NIVEL3').AsString;
      E_N1.Visible := True;
      N1_Code.Visible := True;
      ED_N1.Visible := True;
      E_N2.Visible := True;
      N2_Code.Visible := True;
      ED_N2.Visible := True;
      E_N3.Visible := True;
      N3_Code.Visible := True;
      ED_N3.Visible := True;
    end;
end;
procedure TF_Main.BT_2Click(Sender: TObject);
begin
  F_Nivel_2.ShowModal;
end;
procedure TF_Main.BT_3Click(Sender: TObject);
begin
   F_Nivel_3.ShowModal;
end;
procedure TF_Main.BT_4Click(Sender: TObject);
begin
  F_Nivel_4.ShowModal;
end;
procedure TF_Main.N1_CodeChange(Sender: TObject);
begin
  E_CODERES.Text := N1_Code.Text;
end;
procedure TF_Main.N2_CodeChange(Sender: TObject);
begin
  E_CODERES.Text := N1_Code.Text+N2_Code.Text;
end;
procedure TF_Main.N3_CodeChange(Sender: TObject);
begin
  E_CODERES.Text := N1_Code.Text+N2_Code.Text+N3_Code.Text;
end;

procedure TF_Main.LMDButton10Click(Sender: TObject);
Var  Tallas : Boolean;
begin
   Datos.T_Inventario.Insert;
   Datos.T_Inventario.FieldByName('FI_CODIGO').AsString := E_CODERES.Text;
   Datos.T_Inventario.FieldByName('FI_DESCRIPCION').AsString := E_DESCRIPCION.Text;
   Datos.T_Inventario.FieldByName('FI_DESCRIPCIONDETALLADA').AsString := E_InformacionAdicional.Text;
   Datos.T_Inventario.FieldByName('FI_SUBCATEGORIA').AsString := E_Grupo.Text;
   Datos.T_Inventario.FieldByName('FI_CATEGORIA').AsString := E_Departamento.Text;
   Datos.T_Inventario.FieldByName('ZZCAMPO_003').AsString := E_Linea.Text;
   Datos.T_Inventario.FieldByName('FI_REFERENCIA').AsString := E_Referencia.Text;
   Datos.T_Inventario.FieldByName('FI_MARCA').AsString  := E_Marca.Text;
   Datos.T_Inventario.FieldByName('FI_MODELO').AsString  := E_Modelo.Text;
   Datos.T_Inventario.FieldByName('ZZCAMPO_002').AsString  := E_TallaTamano.Text;
   Datos.T_Inventario.FieldByName('FI_MONEDA').AsString  := '1';
   Datos.T_Inventario.FieldByName('FI_UNIDAD').AsString  := E_Unidad.Text;
   Datos.T_Inventario.FieldByName('FI_SUJETOACOMISION').AsBoolean  := True;
   Datos.T_Inventario.FieldByName('FI_STATUS').AsBoolean  := True;
   Datos.T_Inventario.FieldByName('FI_PESOPRODUCTO').AsCurrency  := 0;
   Datos.T_Inventario.FieldByName('FI_GARANTIA').AsInteger  := 0;
   Datos.T_Inventario.FieldByName('FI_DEPOSITOS').AsBoolean  := True;
   Datos.T_Inventario.FieldByName('FI_OFERTAS').AsBoolean  := True;
   Datos.T_Inventario.FieldByName('FI_VENCIMIENTOS').AsBoolean  := False;
   Datos.T_Inventario.FieldByName('FI_CLASIFICACION').AsInteger  := 0;
   If  C_Tallas.Checked = True then
   begin
     Datos.T_Inventario.FieldByName('FI_MANEJOINVENTARIO').AsInteger  := 1;
   end ;
   If C_Tallas.Checked = False then
   begin
     Datos.T_Inventario.FieldByName('FI_MANEJOINVENTARIO').AsInteger  := 0;
   end;
   Datos.T_Inventario.FieldByName('FI_MANEJOINVENTARIO').AsInteger  := 0;
   Datos.T_Inventario.FieldByName('FI_SERIALES').AsBoolean  := False;
   Datos.T_Inventario.FieldByName('FI_INVENTARIOINICIALUNIDADES').AsCurrency  := 0;
   Datos.T_Inventario.FieldByName('FI_INVENTARIOINICIALCOSTO').AsCurrency  := 0;
   Datos.T_Inventario.FieldByName('FI_CAPACIDAD').AsCurrency  := 0;
   Datos.T_Inventario.FieldByName('FI_EXISTDECIMAL').AsBoolean  := False;
   Datos.T_Inventario.FieldByName('FI_COMPUESTOSERIALES').AsBoolean  := False;
   Datos.T_Inventario.Post;
 
******* esta es la rituna o procedimiento que necesito agregar, pero me arroja unos errores que no se como solventar
 
// aca comienza la copia del blob de precios
//   Var SourceField    : TField;
//   BlobStreamData : TDBISAMBlobStream;
//   I:Byte;
//   H : Byte;
//   CostoSIVA, Costo, CostoEx  : Double;
//   Impuesto : Integer;
//   begin
//   //FillChar(CostosProducto,SizeOf(CostosProducto),0 );
//   With TableFix do
//   if  Not FindKey(['B',SourceCode]) then
//    begin
//    Insert;
//    FieldByName('FX_TIPO').AsString     := 'B';
//    FieldByName('FX_CODIGO').AsString   := SourceCode;
//    FieldByName('FX_VISIBLE').AsBoolean := True;
//    FieldByName('FX_EXISTENCIA').AsFloat := 0;
//    FieldByName('FX_EXISTENCIAINICIAL').AsFloat := 0;
//
//    //Rellenando el registro de costos para guardarlo en el campo Blob
//     With CostosProducto do
//       begin
//          Costo := TableDBF.FieldByName(CampoCosto.Text).AsFloat;
//          If BoxDolar.Checked = True then
//           begin
//            CostoEx := TableDBF.FieldByName(CampoCostoUs.Text).AsFloat;
//           end;
//          If BoxDolar.Checked = False then
//           begin
//            CostoEx := 0;
//           end;
//          VImpuesto1      := True; //TableDBF.FieldByName('IMPUESTO').AsBoolean;;
//          CostoAnteriorBs :=  Costo;
//          CostoActualBs   := CostoAnteriorBs;
//          CostoPromedioBs := CostoAnteriorBs;
//          CostoAnteriorEx := CostoEx;
//          CostoActualEx   := CostoAnteriorEx;
//          CostoPromedioEx := CostoAnteriorEx;
//          MImpuesto1      := 16.0;
//          PorcentImp1     := True;
//          Excento1        := False; //TableDBF.FieldByName('EXCENTO').AsBoolean;;
//
//          //Asignando precios de Venta
//          For I:=1 to 3 do
//           With Precios[i] do
//            begin
//              PorcUtil    := True;
//               Case I of
//                  1 : SinImpuesto := E_Pvp1.AsFloat;
//                  2 : SinImpuesto := E_Pvp2.AsFloat;
//                  3 : SinImpuesto := E_Pvp3.AsFloat;
//               end { Case I };
//
//            Impuesto := 14.0 ;
//            Utilidad := 100;
//            MtoImpuesto1 := (SinImpuesto*Impuesto/100);
//            TotalPrecio := E_Pvp1+MtoImpuesto1;
//            TipoRound   := 0;
//
//          // Asignando Precios en Dólares
//          CostosProducto.Precios[1].TotalPrecioEx :=  E_CostoAnterior.AsFloat;
//          For H:= 1 to 3 do
//            begin
//              With Precios[H] do
//                PorcUtilEx := True;
//                  Case H of
//                    1 : TotalPrecioEx :=  E_Pvp1.AsFloat;
//                    2 : TotalPrecioEx :=  E_Pvp2.AsFloat;
//                    3 : TotalPrecioEx :=  E_Pvp3.AsFloat;
//                  end { Case H};
//              //UtilidadEx := TruncDecimalAllow(100-DivCero(CostoPromedioEx,TotalPrecioEx*100));
//              TotalPrecioEx := TotalPrecioEx;
//              TipoRound  := 0;
//            end;
//       end;
//   Try
//    SourceField   := FindField('FX_COSTOS');
//    BlobStreamData:= TDBISAMBlobStream.Create(TBlobField(SourceField),bmReadWrite);
//    BlobStreamData.Seek(0,0);
//    BlobStreamData.Truncate;
//    BlobStreamData.Write(CostosProducto,SizeOf(CostosProducto));
//   Finally
//    BlobStreamData.Free;
//   End;
//   Post;
//   end;
//end  ;
//end;
   // aca termina la copia del blob de precios
   MessageDlg('PRODUCTO INCLUIDO GRACIAS',MtInformation,[MbOk],0)
end;
end.

si necesitan el proyecto completo, con gusto lo envio.

Saludos.
Alexander Medina
Maracay/venezuela

Última edición por roman fecha: 08-08-2006 a las 21:47:53. Razón: Agregar etiquetas [delphi] para mayor legibilidad
Responder Con Cita
Respuesta



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
Instalar Ayuda (.HLP) en la Ayuda de Delphi? MasterXP Varios 6 12-04-2006 06:57:49
Ayuda para crear ayuda... Gabriel2 Varios 2 10-06-2005 00:15:18
Leer la ayuda... Ayuda! MaJeSTiC Varios 0 04-08-2004 21:24:42
ayuda con strtofloat, ayuda punto flotante TURING Varios 5 30-04-2004 08:03:59
Ayuda Con Instalacion De Archivos De Ayuda Legolas Varios 1 01-12-2003 14:48:03


La franja horaria es GMT +2. Ahora son las 14:21:03.


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