Ver Mensaje Individual
  #4  
Antiguo 28-05-2021
ASAPLTDA ASAPLTDA is offline
Miembro
 
Registrado: jun 2003
Ubicación: COLOMBIA-CALI
Posts: 639
Reputación: 21
ASAPLTDA Va por buen camino
recepción archivos whatapps, Solución

Cita:
Empezado por ASAPLTDA Ver Mensaje
buenas Tardes Foristas
Se requiere leer los datos recibidos con whatsApp con una aplicacion hecha en delphi fmx,
como puedo leer el archivo, o si existe otra alternativa donde un usuario x coloque el nuevo archivo y desde el movil androit se pueda leer los datos
gracias por sus aportes
Buenos dias ,
1. cuando se instala whatsapp en tu movil la aplicacion genera un ruta de archivos en mi caso creo la siguiente:
/storage/emulated/0/WhatsApp/Media/WhatsApp Documents/Lista_de_Precio_001.txt (use cx explorador de archivos para identificar la ruta)

2. De permisos de lectura escritura de archivos al programa delphi apk
Código Delphi [-]
   var
     vPermissionWRITE_EXTERNAL_STORAGE : string;       // nota tambien es READ_EXTERNAL_STORAGE

  if TOSVersion.Check(6) then
  begin
    PermissionsService.RequestPermissions([vPermissionCoarseLocation, vPermissionFineLocation,vPermissionWRITE_EXTERNAL_STORAGE, vPermissionREAD_PHONE_STATE ], LocationPermissionRequestResult);
  end ;

3. lea datos
Código Delphi [-]
procedure Tfpruebas.Button5Click(Sender: TObject);
var
  TABLA: TStringList;
  PATH:string;
  i:Integer;
  w_str:string;
begin
  //Memo1.Lines.Clear;
 // Memo1.Enabled := False;

  ClientDataSet1.Close;
  ClientDataSet1.CreateDataSet;


  PATH:= MemoPath.Text;
///MemoPath.Text = 'storage/emulated/0/WhatsApp/Media/WhatsApp Documents/Lista_de_Precio_001.txt'


  // Define a string list object, and point our variable at it
  TABLA := TStringList.Create;
  TABLA.LoadFromFile(PATH);

  // reemplazar tab por ;
  for i:= 0 to   tABLA.Count -1 do begin
    // Memo1.Lines.Add(StringReplace(TABLA[i], Chr(9), ';', [rfReplaceAll, rfIgnoreCase]));
     ClientDataSet1.Append ;
     w_str := StringReplace(TABLA[i], Chr(9), ';', [rfReplaceAll, rfIgnoreCase]);
     ClientDataSet1.FieldByName('CODIGO').AsString := Copy(w_str,1,13);
     ClientDataSet1.FieldByName('DATOS').AsString := w_str;

     ClientDataSet1.post;
  end;

Última edición por Casimiro Notevi fecha: 28-05-2021 a las 18:18:38.
Responder Con Cita