Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-05-2021
pruz pruz is offline
Miembro
 
Registrado: sep 2003
Posts: 170
Poder: 21
pruz Va por buen camino
Red face Error al Grabar TXT

Hola , estoy que exploto...
Escribi estos 4 lineas de codigo y todas me dan el mismo error, (cannot create file cargar5.txt, Read-Only file system)
para todos los archivo y directorios
alguien me puede ayudar
caso 1:
Código Delphi [-]
  Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetDownloadsPath , '/carga5.txt'));
  Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetDocumentsPath, '/carga6.txt'));
  Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetTempPath, '/carga7.txt'));
  Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetPublicPath, '/carga8.txt'));
caso 2:
Código Delphi [-]
  Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetDownloadsPath , '\carga5.txt'));
  Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetDocumentsPath, '\carga6.txt'));
  Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetTempPath, '\carga7.txt'));
  Memo1.Lines.SaveToFile(TPath.Combine(TPath.GetPublicPath, '\carga8.txt'));
saludos

Última edición por Casimiro Notevi fecha: 27-05-2021 a las 22:23:24.
Responder Con Cita
  #2  
Antiguo 27-05-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y tienes permiso para escribir ahi?
Responder Con Cita
  #3  
Antiguo 27-05-2021
pruz pruz is offline
Miembro
 
Registrado: sep 2003
Posts: 170
Poder: 21
pruz Va por buen camino
si modifique el androidmanistio.xml, aqui esta el codigo

<%uses-permission%>

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-feature android:glEsVersion="0x00020000" android:required="True"/>
Responder Con Cita
  #4  
Antiguo 27-05-2021
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No sé cómo será con Delphi para Android, pero con otros lenguajes debes solicitar el permiso al usuario.
Algo similar a esto:
Código Delphi [-]
var rp As RuntimePermissions
rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
Wait For Activity_PermissionResult(Permission As String, bSuccess As Boolean)
If bSuccess Then  // ha dado permiso
  // escribir

else
  // no ha dado permiso
Responder Con Cita
  #5  
Antiguo 28-05-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Yo he probado este código:

Código Delphi [-]
procedure TForm4.Button1Click(Sender: TObject);
var
  fName:string;
begin

  Memo1.Lines.Add('Grabar en [GetDownloadsPath]');
  fName := TPath.Combine(TPath.GetDownloadsPath , 'carga5.txt');
  Memo1.Lines.SaveToFile(fName);
  Memo1.Lines.Add(fName);
  Memo1.Lines.Add('Existe: ' + BoolToStr(FileExists(fName), True));

  Memo1.Lines.Add('Grabar en [GetDocumentsPath]');
  fName := TPath.Combine(TPath.GetDocumentsPath, 'carga6.txt');
  Memo1.Lines.SaveToFile(fName);
  Memo1.Lines.Add(fName);
  Memo1.Lines.Add('Existe: ' + BoolToStr(FileExists(fName), True));

  Memo1.Lines.Add('Grabar en [GetTempPath]');
  fName := TPath.Combine(TPath.GetTempPath, 'carga7.txt');
  Memo1.Lines.SaveToFile(fName);
  Memo1.Lines.Add(fName);
  Memo1.Lines.Add('Existe: ' + BoolToStr(FileExists(fName), True));

  Memo1.Lines.Add('Grabar en [GetPublicPath]');
  fName := TPath.Combine(TPath.GetPublicPath, 'carga8.txt');
  Memo1.Lines.SaveToFile(fName);
  Memo1.Lines.Add(fName);
  Memo1.Lines.Add('Existe: ' + BoolToStr(FileExists(fName), True));
end;

Con Delphi 10.3 sobre un Android, con el SDK "platforms\android-26"
Los permisos, desde las opciones del proyecto y sólo he asignado estos (el resto desactivados):




La salida por pantalla es esta:




Y comprobando con el Explorador de archivos del teléfono los ficheros están ahí.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 31-05-2021
pruz pruz is offline
Miembro
 
Registrado: sep 2003
Posts: 170
Poder: 21
pruz Va por buen camino
Muchas gracias
los probare
Responder Con Cita
  #7  
Antiguo 06-06-2021
viverosjosem viverosjosem is offline
Baneado
 
Registrado: dic 2017
Posts: 64
Poder: 0
viverosjosem Va por buen camino
Thumbs up

Hola Pruz.
Nose si ya solucuonaste tu problema de grabacion. Pero yo en Android, grabo de esta manera.

Código Delphi [-]
procedure TFConfigIPFTP_GrabaServer;
var
   f : System.TextFile;

   x : Integer;
   sDetalle: String;
   sFile   : String;

begin
   sFile := SDCARD + 'Server.csv';

   try
     AssignFile( f, sFile );
     Rewrite(f);

     sDetalle := EdServer.Text + ';' + EdCodigo.Text + ';' + EdPasword.Text;
     writeln(f, sDetalle );

   finally
     CloseFile(f);
   end;
end;

Espero te sirva.

Saludos.
Jose Miguel.
Responder Con Cita
  #8  
Antiguo 08-06-2021
pruz pruz is offline
Miembro
 
Registrado: sep 2003
Posts: 170
Poder: 21
pruz Va por buen camino
Talking

Muchas gracias a todos los que me han ayudado a avanzar en mi proyecto
espero alguna vez retribuirlo
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
Grabar DateField en MySQL da error gcaffe Providers 4 09-08-2013 02:17:26
Error Al Grabar En Base De Datos MARIA_MAR MySQL 2 09-05-2012 18:14:40
Error al grabar un registro en IB Coichi Kake Conexión con bases de datos 2 17-08-2011 14:18:44
Error al Grabar informacion The_figo MySQL 0 30-10-2006 17:53:53
Error al grabar silviodp Conexión con bases de datos 5 31-05-2004 17:52:34


La franja horaria es GMT +2. Ahora son las 17:20:27.


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