Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-03-2015
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Poder: 12
giulichajari Va por buen camino
Recorrer directorio y trabajar con archivos

Buenas amigos, tengo una aplicacion cliente servidor en datasnap con delphi.

Del lado del cliente cuando no hay conexion los tickets y presupuestos se guardan en xml, con el metodo savetofile del clientdataset, ya que trabajo con este componente.

Entonces cuando retorna la conexion, necesito recorrer el directorio tickets por ejemplo y cargar los mismo en la base de datos, para lo mismo se usa el procedimiento del server que se usa siempre.

Código Delphi [-]
function cantticket():integer;
var
  rec: TSearchRec;
  carpeta:string;
  cant:integer;

begin
    carpeta :=ExtractFilePath(Application.ExeName)+'tickets';
    cant:=0;
    if FindFirst(carpeta, faAnyFile,rec) = 0 then
      begin
        try
        repeat

          if (rec.Attr and faDirectory = 0)
            or (rec.Name <> '.')
              and (rec.Name <> '..') then
                inc(cant);
        until FindNext(rec) <> 0;
     except
        FindClose(rec);
      end;
      FindClose(rec);
    end;
Result:=cant;
ShowMessage(inttostr(cant));
end;

Pense contar la cantidad de archivos primero, pero me identifica 1(uno solo), y por ende no envia nada.

Código Delphi [-]
procedure LeerDirectorio();
var
  rec: TSearchRec;
  carpeta:string;
  t,x:integer;
  nombrearchivo,nombrecopia:string;
  a:TServerMethods1Client;
l:integer;
fechae,horae:string;
cantidad,importe,preciou,efectivo,vueltoouble;
idc,ids,idprodu,numero:Integer;
nuevoticket:string;
begin
    if ClientModule1.SQLConnection1.Connected then
    begin
       a:=TServerMethods1Client.Create(ClientModule1.SQLConnection1.DBXConnection);

        if (cantticket(carpeta)>0) then
            begin
              t:=cantticket(carpeta);


              carpeta := ExtractFilePath(Application.ExeName)+'tickets';
              SetCurrentDir(carpeta);
            for x := 0 to t do

                begin

                  if FindFirst(carpeta,FaAnyfile,rec)=0 then
                  begin
                  nombrearchivo:=rec.Name;
                  ShowMessage(nombrearchivo);
                  ClientModule1.cdsticketpendiente.LoadFromFile(nombrearchivo);
                  nombrecopia:=ExtractFileName(Application.ExeName) + 'ticketscopia\' + nombrearchivo;
                  CopyFile(Pchar(nombrearchivo),Pchar(nombrecopia),True);
                  idc:=1;
                  ids:=1;
                  numero:=1;
                  importe:=ClientModule1.cdsticketpendiente.FieldByName('total').Value;
                  fechae:=ClientModule1.cdsticketpendientefechae.AsString;
                  horae:=ClientModule1.cdsticketpendientehorae.AsString;
                  efectivo:=ClientModule1.cdsticketpendienteefectivo.AsFloat;
                  vuelto:=efectivo - importe;
                   a.nuevoticket(numero,ids,idc,importe,efectivo,vuelto,fechae,horae);

                end;
                end;

      end
      else
      begin
       ShowMessage('no quedan transacciones pendientes');
      end;
        end
        else
        begin
          ShowMessage('no hay conexion para enviar los datos');
        end;
end;

Lo que hice lo saque de ejemplos del foro y de la web, pero me esta costando.
Saludos
Responder Con Cita
 



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
Como enviar mensaje usando BB PIN elvymena Internet 0 24-11-2010 18:05:02
Enviar documento usando el fax de Windows epuigdef Varios 5 17-10-2008 08:55:27
enviar un correo usando php skinnerpro PHP 1 19-10-2007 22:33:41
Ayuda para enviar pdf por fax, usando Delphi 7 manolop Varios 6 15-03-2007 12:48:19
Enviar fax usando el fax de windows 2000 server DrMatasanos Varios 0 21-05-2003 10:17:37


La franja horaria es GMT +2. Ahora son las 20:38:02.


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