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 20-10-2006
farnao farnao is offline
Registrado
 
Registrado: oct 2006
Posts: 3
Poder: 0
farnao Va por buen camino
Unhappy Norma 19

Hola amigos:

Sé que hace tiempo estaba disponible en el Club un componente para la norma 19 pero actualmente no sé donde encontrarlo. ¿Alguién me puede indicar dónde obtenerlo o si lo tiene enviármelo?

Muchas gracias.
Responder Con Cita
  #2  
Antiguo 06-12-2006
tomasirolo tomasirolo is offline
Registrado
 
Registrado: dic 2006
Posts: 1
Poder: 0
tomasirolo Va por buen camino
Question ¿Lo encontraste?

farnao,

Yo también ando buscando ese componente. ¿Lo has encontrado?

Gracias y un saludo!

Tomás
Responder Con Cita
  #3  
Antiguo 07-12-2006
fly fly is offline
Miembro
 
Registrado: abr 2005
Posts: 65
Poder: 20
fly Va por buen camino
No es un componente pero bueno...
AH!!!! NO TIENE EN CUENTA EL VENCIMIENTO,POR LO CUAL TODOS LOS COBROS SON A LA VISTA !!!!!!!!!!!!!!!!!!!!!!!!!
A ver si algún día lo termino
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
type

  T_concepto = string[40];

  T_q19_cab_presentador = RECORD
     a_cod_reg : String[2];
     a_cod_dat : string[2];
     b_nif     : string[9];
     b_sufijo  : string[3];
     b_f_soporte : string[6];
     b_libre   : string[6];
     c_nom_pre : string[40]; // nombre del presentador
     d_libre   : string[20];
     e_enti    : string[4];
     e_ofic    : string[4];
     e_libre   : string[12];
     f_libre   : string[40];
     g_libre   : string[14];
   end;

  T_q19_cab_ordenante= RECORD
     a_cod_reg : String[2];
     a_cod_dat : string[2];
     b_nif     : string[9];
     b_sufijo  : string[3];
     b_f_soporte : string[6];
     b_f_cargo : string[6];
     c_nom_ord : string[40]; // nombre del ordenante
     d_enti    : string[4];
     d_ofic    : string[4];
     d_dc      : string[2];
     d_cta     : string[10];
     e_libre   : string[8];
     e_procedimiento : string[2];
     e_libre2  : string[10];
     f_libre   : string[40];
     g_libre   : string[10];
  end;

  T_q19_ind_obligatorio = Record  // datos individuales obligatorios (uno por recibo)
     a_cod_reg : String[2];
     a_cod_dat : string[2];
     b_nif     : string[9];
     b_sufijo  : string[3];
     b_referencia : string[12];
     c_titular : string[40];
     d_enti    : string[4];
     d_ofic    : string[4];
     d_dc      : string[2];
     d_cta     : string[10];
     e_importe : string[10];
     f_cod_dev : string[6];
     f_cod_ref : string[10];
     g_concepto: T_concepto;
     h_libre   : string[8];
  end;

  T_q19_opcional_1_5 = Record
     a_cod_reg  : String[2];
     a_cod_dat  : string[2];
     b_nif      : string[9];
     b_sufijo   : string[3];
     b_referencia : string[12];
     c_concepto : T_concepto;
     d_concepto : T_concepto;
     e_concepto : T_concepto;
     f_libre    : string[14];
   end;

  T_q19_opcional_6 = Record
     a_cod_reg  : String[2];
     a_cod_dat  : string[2];
     b_nif      : string[9];
     b_sufijo   : string[3];
     b_referencia : string[12];
     c_titular : string[40];
     d_domicilio : string[40];
     e_plaza : string[35];
     e_CP : string[5];
     f_libre    : string[14];
   end;

  T_q19_tot_ordenante= RECORD
     a_cod_reg : String[2];
     a_cod_dat : string[2];
     b_nif     : string[9];
     b_sufijo  : string[3];
     b_libre   : string[12];
     c_libre   : string[40];
     d_libre   : string[20];
     e_total   : string[10];
     e_libre   : string[6];
     f_num_dom : string[10];  // numero total de domiciliaciones
     f_num_reg : string[10];  // numero total de registros del ordenante
     f_libre   : string[20];
     g_libre   : string[18];
  end;

  T_q19_tot_general= RECORD
     a_cod_reg : String[2];
     a_cod_dat : string[2];
     b_nif     : string[9];
     b_sufijo  : string[3];
     b_libre   : string[12];
     c_libre   : string[40];
     d_ordenantes : string[4];
     d_libre   : string[16];
     e_total   : string[10];
     e_libre   : string[6];
     f_num_dom : string[10]; // numero total de domiciliaciones
     f_num_reg : string[10]; // numero total de registros en el soporte
     f_libre   : string[10];
     g_libre   : string[18];
  end;

const
 max_opc = 5;
 cod_opc : array[1..max_opc+1] of string = ('81','82','83','84','85','86');

var
 cab_pre : T_q19_cab_presentador;  // datos del presentador
 cab_ord : T_q19_cab_ordenante;    //datos del ordenante
 ind_obl : T_q19_ind_obligatorio;  // datos de domiciliacion obligatorios
 reg_opc : array [1..5] of T_q19_opcional_1_5; // registos opcionales para diferenciar conceptos
 concepto : array [1..16] of T_concepto; // se usaran los impares para el concepto y los pares para la cantidad, así quedará ordenado en el recibo (ver documentacion sobre el formato q19)

 opc_dat : T_q19_opcional_6; // registos opcionales con datos del librador


 tot_ord : T_q19_tot_ordenante;
 tot_general : T_q19_tot_general;

 f:  textfile;
 linea : string;

 fecha_soporte, fecha_cargo : string; // texto con formato fecha
 Presentador, Ordenante : string;  // Nombre máximo 40 caracteres
 NIF_pre, NIF_ord : string; // NIF de presentador y ordenante YA VERIFICADOS
 suf_pre, suf_ord : string; // Sufijo presentador y ordenante DADOS POR LA ENTIDAD
 enti_pre,ofic_pre : string; // Entidad y oficina presentador y ordenante

 enti_ord, ofic_ord, dc_ord, cta_ord:  string; //  CCC Ordenante
 ref_ord : string; //referencia del ordenante

 domiciliaciones_ord : integer;
 registros_ord : integer;
 domiciliaciones_total : integer;
 registros_total : integer;

 nom_cli :string;
 enti_cli, ofic_cli, dc_cli, cta_cli:  string; //  CCC cliente
 ref_cli, domic_cli, plaza_cli, cp_cli : string; //referencia del cliente

 importe_dom   : double; // importe de cada domiciliacion (temporal)
{todo: hay que añadir un campo en el cliente para indicar la referencia por defecto para sus domiciliaciones}
 ref_dom       : string; // referencia de la domiciliacion rapa el cliente (póliza, contrato...) para direfenciar diferentes domiciliaciones del mismo cliente
 importe_ord   : double; // total importes del ordenante
 importe_total : double; // total importes del fichero

 cont_opc : byte; // contador de registros opcionales
 cont_dom : byte; // contador de domiciliaciones (recibos)

begin

  fecha_soporte:=datetostr(today);
  fecha_cargo:=datetostr(today);

// AQUI VAN LOS DATOS DE DOMICILIACIÓN  ....
  Presentador:='nombre del presentador';
  NIF_pre:='00000000X';
  suf_pre:='000';
  enti_pre:='0000';
  ofic_pre:='0000';

  Ordenante:='nombre del presentador';
  NIF_ord:='00000000X';
  suf_ord:='000';
  enti_ord:='0000';
  ofic_ord:='0000';
  dc_ord:='00';
  cta_ord:='0000000000';
// .... DONDE SE ABONARAN LOS GIROS

  importe_dom:=0;
  importe_ord:=0;
  importe_total:=0;
  registros_total:=0;
  registros_ord:=0;
  domiciliaciones_ord:=0;

  SaveDialog1.FileName:='remesa';
  SaveDialog1.Execute;

  { $I-}
   assignfile(f,SaveDialog1.FileName);
 //  FileMode := 0;  {Set file access to read only }
   rewrite(f);
  { $I+}

{ -----------------------------------------------------------
  -------------   CABECERA DEL PRESENTADOR ------------------
  ----------------------------------------------------------- }

  cab_pre.a_cod_reg   :='51';
  cab_pre.a_cod_dat   :='80';
  cab_pre.b_nif       :=NIF_pre;
  cab_pre.b_sufijo    :=suf_pre;
  cab_pre.b_f_soporte :=FechaFormato('DDMMYY',fecha_soporte);
  cab_pre.b_libre     :=Format('%-6s',[ '']); //fillchar(cab_pre.b_libre,6,Ord(' '));
  cab_pre.c_nom_pre   :=Format('%-40s',[Presentador]);
  cab_pre.d_libre     :=Format('%-20s',[' ']); //fillchar(cab_pre.d_libre,20,Ord(' '));
  cab_pre.e_enti      :=enti_pre;
  cab_pre.e_ofic      :=ofic_pre;
  cab_pre.e_libre     :=Format('%-12s',[' ']); //fillchar(cab_pre.e_libre,12,Ord(' '));
  cab_pre.f_libre     :=Format('%-40s',[' ']); //fillchar(cab_pre.f_libre,40,Ord(' '));
  cab_pre.g_libre     :=Format('%-14s',[' ']); //fillchar(cab_pre.g_libre,14,Ord(' '));

  with cab_pre
  do Linea:= a_cod_reg+
          a_cod_dat+
          b_nif+
          b_sufijo+
          b_f_soporte+
          b_libre+
          c_nom_pre+
          d_libre+
          e_enti+
          e_ofic+
          e_libre+
          f_libre+
          g_libre;
  writeln(f,linea);
  inc(registros_total);

{ -----------------------------------------------------------
  -------------   CABECERA DEL ORDENANTE  -------------------
  ----------------------------------------------------------- }

  cab_ord.a_cod_reg   :='53';
  cab_ord.a_cod_dat   :='80';
  cab_ord.b_nif       :=NIF_ord;
  cab_ord.b_sufijo    :=suf_ord;
  cab_ord.b_f_soporte :=FechaFormato('DDMMYY',fecha_soporte);
  cab_ord.b_f_cargo   :=FechaFormato('DDMMYY',fecha_cargo);
  cab_ord.c_nom_ord   :=Format('%-40s',[Ordenante]);
  cab_ord.d_enti      :=enti_ord;
  cab_ord.d_ofic      :=ofic_ord;
  cab_ord.d_dc        :=dc_ord;
  cab_ord.d_cta       :=cta_ord;
  cab_ord.e_libre     :=Format('%-8s',[' ']); //fillchar(cab_ord.e_libre,sizeof(cab_ord.e_libre),Ord(' '));
  cab_ord.e_procedimiento:='01'; // codigo del procedimiento a usar para crear el fichero  "01" ó "02"
  cab_ord.e_libre2    :=Format('%-10s',[' ']); //fillchar(cab_ord.e_libre2,sizeof(cab_ord.e_libre2),Ord(' '));
  cab_ord.f_libre     :=Format('%-40s',[' ']);//fillchar(cab_ord.f_libre,sizeof(cab_ord.f_libre),Ord(' '));
  cab_ord.g_libre     :=Format('%-10s',[' ']);//fillchar(cab_ord.g_libre,sizeof(cab_ord.g_libre),Ord(' '));

  with cab_ord
  do Linea:= a_cod_reg+
     a_cod_dat+
     b_nif+
     b_sufijo+
     b_f_soporte+
     b_f_cargo+
     c_nom_ord+
     d_enti+
     d_ofic+
     d_dc+
     d_cta+
     e_libre+
     e_procedimiento+
     e_libre2+
     f_libre+
     g_libre;
  writeln(f,linea);
  inc(registros_total);
  inc(registros_ord);

{ -----------------------------------------------------------
  -------------  DOMICILIACIONES     -----------------------
  ----------------------------------------------------------- }

//  E:\Fly\cuarta\prueba_q19.txt
//  E:\Fly\cuarta\remesas\remesa.q19

  nom_cli:='########################';
  enti_cli:='####';
  ofic_cli:='####';
  dc_cli:='##';
  cta_cli:='##########';
  ref_dom:='############';
  concepto[1]:='####################';

  DMF1.IBQuery1.SQL.Text:=
  ' SELECT periodo_fac,serie_fac,num_fac, '+
  ' nom_comp AS CLIENTE, importe AS TOTAL, vto AS VTO, Fecha_valor AS FECHA, '+
  ' Banco_Cli as BANCO, enti_cli AS ENTI, ofic_cli AS OFIC, dc_cli AS DC, cta_cli AS CTA, '+
  ' dir_cli, cp_cli, loc_cli, prov_cli, ref_cli AS referencia, ref AS nota, extra '+
  ' FROM Efectos_Cobrar  '+
  ' WHERE '+Filtro_efecto+
  ' ORDER BY enti_cli,ofic_cli,periodo_fac,serie_fac,num_fac'+
  ' ';
  // es necesario que este ordenado por entidad+oficina para el fichero de adeudos
  Dmf1.Actualiza_Query(dmf1.IBquery1);

  while not dmf1.IBQuery1.Eof do
   begin
     nom_cli:=dmf1.IBQuery1.fieldbyname('cliente').AsString;
     enti_cli:=dmf1.IBQuery1.fieldbyname('enti').AsString;
     ofic_cli:=dmf1.IBQuery1.fieldbyname('ofic').AsString;
     dc_cli:=dmf1.IBQuery1.fieldbyname('dc').AsString;
     cta_cli:=dmf1.IBQuery1.fieldbyname('cta').AsString;
     ref_dom:='Mant. '+dmf1.IBQuery1.fieldbyname('referencia').AsString;
     importe_dom:=dmf1.IBQuery1.fieldbyname('total').AsFloat;
     concepto[1]:=dmf1.IBQuery1.fieldbyname('nota').AsString;

     domic_cli:=dmf1.IBQuery1.fieldbyname('dir_cli').AsString;
     plaza_cli:=dmf1.IBQuery1.fieldbyname('loc_cli').AsString;
     cp_cli:=dmf1.IBQuery1.fieldbyname('cp_cli').AsString;

        ind_obl.a_cod_reg   :='56';
        ind_obl.a_cod_dat   :='80';
        ind_obl.b_nif       :=NIF_ord;
        ind_obl.b_sufijo    :=suf_ord;
        ind_obl.b_referencia :=Format('%-12s',[ref_dom]); {todo: no pueder ser todo blancos ni todo ceros}
        ind_obl.c_titular   :=Format('%-40s',[nom_cli]);
        ind_obl.d_enti      :=Format('%-4s',[enti_cli]);
        ind_obl.d_ofic      :=Format('%-4s',[ofic_cli]);
        ind_obl.d_dc        :=Format('%-2s',[dc_cli]);
        ind_obl.d_cta       :=Format('%-10s',[cta_cli]);
        ind_obl.e_importe   :=redondeo_str_sincoma(importe_dom,10,2); // 10 digitos incluyendo los 2 decimales
        ind_obl.f_cod_dev   :='000001';
        ind_obl.f_cod_ref   :='1234567890';
        ind_obl.g_concepto  :=Format('%-40s',[concepto[1]]); //
        ind_obl.h_libre     :=Format('%-8s',[' ']); // fillchar(ind_obl.h_libre,8,Ord(' '));

        with ind_obl
        do Linea:= a_cod_reg+
           a_cod_dat+
           b_nif+
           b_sufijo+
           b_referencia+
           c_titular+
           d_enti+
           d_ofic+
           d_dc+
           d_cta+
           e_importe+
           f_cod_dev+
           f_cod_ref+
           g_concepto+
           h_libre;
        writeln(f,linea);

        inc(registros_total);
        inc(registros_ord);
        inc(domiciliaciones_ord);
        inc(domiciliaciones_total);
        importe_total:=importe_total+importe_dom;
        importe_ord:=importe_ord+importe_dom;

     {
        concepto[2]:=' tantos €';
        concepto[3]:=' segundo concepto';
        concepto[4]:=' mas €';

        for cont_opc:=1 to max_opc do
         begin
           reg_opc[cont_opc].a_cod_reg  :='56';
           reg_opc[cont_opc].a_cod_dat  :=cod_opc[cont_opc];
           reg_opc[cont_opc].b_nif      :=NIF_ord;
           reg_opc[cont_opc].b_sufijo   :=suf_ord;
           reg_opc[cont_opc].b_referencia :=Format('%-12s',[ref_dom]); // todo: no pueder ser todo blancos ni tosdo ceros
           reg_opc[cont_opc].c_concepto :=concepto[(cont_opc-1)*3+2];
           reg_opc[cont_opc].d_concepto :=concepto[(cont_opc-1)*3+3];
           reg_opc[cont_opc].e_concepto :=concepto[(cont_opc-1)*3+4];
           reg_opc[cont_opc].f_libre    :=Format('%-14s',[' ']);
           inc(registros_total);
           inc(registros_ord);
         end;

        for cont_opc:=1 to max_opc do
         begin
           with reg_opc[cont_opc]
            do Linea:= a_cod_reg+
                       a_cod_dat+
                       b_nif+
                       b_sufijo+
                       b_referencia+
                       c_concepto+
                       d_concepto+
                       e_concepto+
                       f_libre;
           writeln(f,linea);
         end;
     }


        // datos opcionales del cliente
           opc_dat.a_cod_reg    :='56';
           opc_dat.a_cod_dat    :=cod_opc[max_opc+1];
           opc_dat.b_nif        :=NIF_ord;
           opc_dat.b_sufijo     :=suf_ord;
           opc_dat.b_referencia :=Format('%-12s',[ref_dom]);
           opc_dat.c_titular    :=Format('%-40s',[nom_cli]);
           opc_dat.d_domicilio  :=Format('%-40s',[domic_cli]);
           opc_dat.e_plaza      :=Format('%-35s',[plaza_cli]);
           opc_dat.e_CP         :=Format('%.5d',[StrToInt(cp_cli)]);
           opc_dat.f_libre      :=Format('%-14s',[' ']);

         with opc_dat
           do Linea:= a_cod_reg+
                      a_cod_dat+
                      b_nif    +
                      b_sufijo +
                      b_referencia+
                      c_titular +
                      d_domicilio+
                      e_plaza +
                      e_CP +
                      f_libre;
          writeln(f,linea);
          inc(registros_total);
          inc(registros_ord);

     dmf1.IBQuery1.Next;
   end; // del while


{ -----------------------------------------------------------
  -------------   TOTAL DEL ORDENANTE  ----------------------
  ----------------------------------------------------------- }

  tot_ord.a_cod_reg   :='58';
  tot_ord.a_cod_dat   :='80';
  tot_ord.b_nif       :=NIF_ord;
  tot_ord.b_sufijo    :=suf_ord;
  tot_ord.b_libre     :=Format('%-12s',[' ']) ;//fillchar(tot_ord.b_libre,sizeof(tot_ord.b_libre),Ord(' '));
  tot_ord.c_libre     :=Format('%-40s',[' ']); //fillchar(tot_ord.c_libre,sizeof(tot_ord.c_libre),Ord(' '));
  tot_ord.d_libre     :=Format('%-20s',[' ']); //fillchar(tot_ord.d_libre,sizeof(tot_ord.d_libre),Ord(' '));
  tot_ord.e_total     :=redondeo_str_sincoma(importe_ord,10,2); // 10 digitos incluyendo los 2 decimales
  tot_ord.e_libre     :=Format('%-6s',[' ']); //fillchar(tot_ord.e_libre,sizeof(tot_ord.e_libre),Ord(' '));
  tot_ord.f_num_dom   :=Format('%.10d',[domiciliaciones_ord]) ;  // numero total de domiciliaciones
  tot_ord.f_num_reg   :=Format('%.10d',[registros_ord+1]);  // numero total de registros del ordenante
  tot_ord.f_libre     :=Format('%-20s',[' ']); //fillchar(tot_ord.f_libre,sizeof(tot_ord.f_libre),Ord(' '));
  tot_ord.g_libre     :=Format('%-18s',[' ']); //fillchar(tot_ord.g_libre,sizeof(tot_ord.g_libre),Ord(' '));
  with tot_ord
  do Linea:= a_cod_reg+
     a_cod_dat+
     b_nif+
     b_sufijo+
     b_libre+
     c_libre+
     d_libre+
     e_total+
     e_libre+
     f_num_dom+
     f_num_reg+
     f_libre+
     g_libre;
  writeln(f,linea);
  inc(registros_total);


{ -----------------------------------------------------------
  -------------   TOTAL GENERAL -----------------------------
  ----------------------------------------------------------- }

  tot_general.a_cod_reg :='59';
  tot_general.a_cod_dat :='80';
  tot_general.b_nif     :=NIF_pre;
  tot_general.b_sufijo  :=suf_pre;
  tot_general.b_libre   :=Format('%-12s',[' ']); //fillchar(tot_general.b_libre,sizeof(tot_general.b_libre),Ord(' '));
  tot_general.c_libre   :=Format('%-40s',[' ']);//fillchar(tot_general.c_libre,sizeof(tot_general.c_libre),Ord(' '));
  tot_general.d_ordenantes :=Format('%.4d',[1]);
  tot_general.d_libre   :=Format('%-16s',[' ']); //fillchar(tot_general.d_libre,sizeof(tot_general.d_libre),Ord(' '));
  tot_general.e_total   :=redondeo_str_sincoma(importe_total,10,2); // 10 digitos incluyendo los 2 decimales
  tot_general.e_libre   :=Format('%-6s',[' ']); //fillchar(tot_general.e_libre,sizeof(tot_general.e_libre),Ord(' '));
  tot_general.f_num_dom :=Format('%.10d',[domiciliaciones_total]); // numero total de domiciliaciones
  tot_general.f_num_reg :=Format('%.10d',[registros_total+1]); // numero total de registros en el soporte
  tot_general.f_libre   :=Format('%-10s',[' ']); //fillchar(tot_general.f_libre,sizeof(tot_general.f_libre),Ord(' '));
  tot_general.g_libre   :=Format('%-18s',[' ']); //fillchar(tot_general.g_libre,sizeof(tot_general.g_libre),Ord(' '));

  with tot_general
  do Linea:= a_cod_reg+
     a_cod_dat+
     b_nif+
     b_sufijo+
     b_libre+
     c_libre+
     d_ordenantes+
     d_libre+
     e_total+
     e_libre+
     f_num_dom+
     f_num_reg+
     f_libre+
     g_libre;
  writeln(f,linea);



  closefile(f);

{  memo1.Clear;
  reset(f);
  while not eof(f) do
  begin
   readln(f,linea);
   memo1.Lines.Add(linea);
  end;
  closefile(f);
 }

end;


Espero que os sea util y si teneis alguna otra norma estaría bien dejarla por aquí.

Saludos.

PD: Para usar esto deberéis saber como funciona la norma, preguntad cualquier duda. Tambien tengo un PDF del banco donde la explica, por si os interesa.

Última edición por fly fecha: 07-12-2006 a las 03:13:29.
Responder Con Cita
  #4  
Antiguo 07-12-2006
fly fly is offline
Miembro
 
Registrado: abr 2005
Posts: 65
Poder: 20
fly Va por buen camino
Ops!, veo que he usado alguna que otra función que no he adjuntado... bueno, si le interesa a alguien que de un toque, si no ya lo colgaré cuando esté terminado y si puede ser un poco más ordenado
Responder Con Cita
  #5  
Antiguo 02-02-2007
farnao farnao is offline
Registrado
 
Registrado: oct 2006
Posts: 3
Poder: 0
farnao Va por buen camino
Smile Agradecimiento

Gracias a fly por su interes. Disculpa no haberte contestado antes pero no he pasado por estos lares desde hace tiempo. De todas formas encontré el componente. Gracias a la página de archivos históricos (creo que de google) obtuve el componente cuando estaba colgado en ClubDelphi.
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
norma 58 (remesas) componente tonid Conexión con bases de datos 25 28-05-2012 09:02:22
Realizar Ficheros Norma 34 muli Varios 0 27-12-2005 16:44:16
norma 58 urgente tonid Conexión con bases de datos 2 21-07-2005 09:04:18
Norma 58 jordis Varios 1 30-06-2005 19:17:46
Norma en Bases de Datos DJ VMan SQL 3 27-08-2003 14:47:43


La franja horaria es GMT +2. Ahora son las 23:27:19.


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