Diretorio Fixo no Android com Delphi Xe5
Bom, estou precisando pegar um arquivo em uma determinada pasta FIXA dentro android...
EX:
C:\teste\teste.txt (no win32)
Quero fazer a mesma coisa no android..
Vlw...
EX:
C:\teste\teste.txt (no win32)
Quero fazer a mesma coisa no android..
Vlw...
Graziani
Curtidas 0
Respostas
Graziani
21/11/2013
Alguem ????
GOSTEI 0
Augusto Angelim
21/11/2013
Alguem ????
Vi um exemplo assim... funciona direitinho!
Use TStringList, with the TStringList.loadFromFile(file);
procedure TForm1.Button1Click(Sender: TObject);
var
TextFile : TStringList;
FileName : string;
begin
try
textFile := TStringList.Create;
try
{$IFDEF ANDROID}//if the operative system is Android
FileName := Format('%smyFile.txt',[GetHomePath]);
{$ENDIF ANDROID}
{$IFDEF WIN32}
FileName := Format('%smyFile.txt',[ExtractFilePath(ParamStr(0))]);
{$ENDIF WIN32}
if FileExists(FileName) then begin
textFile.LoadFromFile(FileName); //load the file in TStringList
showmessage(textfile.Text);//there is the text
end
else begin showMessage('File not exists, Create New File');
TextFile.Text := 'There is a new File (Here the contents)';
TextFile.SaveToFile(FileName);//create a new file from a TStringList
end;
finally
textFile.Free;
end;
except
on E : Exception do ShowMessage('ClassError: '+e.ClassName+#13#13+'Message: '+e.Message);
end;
end;
Considerando que:
uses SysUtils; var AppPath, CardPath: string; AppPath := TPath.GetHomePath; CardPath :- TPath.GetDocumentsPath; ...
e que o TPath tem:
GetTempPath
GetPublicPath
GetCameraPath
GetMusicPath
GetDownloadsPath
; )
GOSTEI 0
Graziani
21/11/2013
Primeiramente obrigado pela ajuda, mas não funcionou....
Preciso pegar um arquivo em uma pasta especifica...
Se voce tiver mais uma ideia...
Obrigado
Preciso pegar um arquivo em uma pasta especifica...
Se voce tiver mais uma ideia...
Obrigado
GOSTEI 0
Marcelo Santos
21/11/2013
Já deve ter resolvido. Mas se não resolveu:
Você pode verificar o caminho com o Astro File Manager ou ES File Share, lá tem a opção exibir caminho completo.
É importante que o arquivo não esteja salvo no "c:" do android, o " / "
Pois não vai ter direito de acesso...um exemplo de caminho que utilizei: "/storage/sdcard0/mercado/"
Você pode verificar o caminho com o Astro File Manager ou ES File Share, lá tem a opção exibir caminho completo.
É importante que o arquivo não esteja salvo no "c:" do android, o " / "
Pois não vai ter direito de acesso...um exemplo de caminho que utilizei: "/storage/sdcard0/mercado/"
GOSTEI 0
Jonas Silva
21/11/2013
procedure TForm.Button1Click(Sender: TObject);
var
arquivo : TextFile;
sl : TStringList;
caminhodoarquivo : String;
begin
caminhodoarquivo := System.IOUtils.TPath.GetHomePath + PathDelim +'configIni.txt';
sl := TStringList.Create;
AssignFile(arquivo,caminhodoarquivo);
Rewrite(arquivo);
Writeln(arquivo, Trim(EditIpLocal.Text));
Writeln(arquivo, Trim(EditIpExterno.Text));
Writeln(arquivo, Trim(EditSenha.Text));
Writeln(arquivo, Trim(EditPorta.Text));
Writeln(arquivo, Trim(EditUsuario.Text));
CloseFile(arquivo);
if FileExists(caminhodoarquivo) then
begin
try
sl.LoadFromFile(caminhodoarquivo);
EditIpLocal.Text := sl.Strings[0];
EditIpExterno.Text := sl.Strings[1];
EditSenha.Text := sl.Strings[2];
EditPorta.Text := sl.Strings[3];
EditUsuario.Text := sl.Strings[4];
DataModule.SQLConnection1.Connected := False;
DataModule.SQLConnection1.Params.Values['HostName'] := EditIpLocal.Text;
DataModule.SQLConnection1.Params.Values['Password'] := EditSenha.Text;
DataModule.SQLConnection1.Params.Values['Port'] := EditPorta.Text;
DataModule.SQLConnection1.Params.Values['UserName'] := EditUsuario.Text;
DataModule.SQLConnection1.Connected := true;
except
try
DataModule.SQLConnection1.Params.Values['HostName'] := EditIpExterno.Text;{IP DE CONEXAO REMOTA}
DataModule.SQLConnection1.Connected := true;
except
Showmessage('Impossível de conectar verifique os dados de conexão.')
end;
end;
end;
if DataModule.SQLConnection1.Connected then
ShowMessage('Conexão feita com sucesso.');
end;
var
arquivo : TextFile;
sl : TStringList;
caminhodoarquivo : String;
begin
caminhodoarquivo := System.IOUtils.TPath.GetHomePath + PathDelim +'configIni.txt';
sl := TStringList.Create;
AssignFile(arquivo,caminhodoarquivo);
Rewrite(arquivo);
Writeln(arquivo, Trim(EditIpLocal.Text));
Writeln(arquivo, Trim(EditIpExterno.Text));
Writeln(arquivo, Trim(EditSenha.Text));
Writeln(arquivo, Trim(EditPorta.Text));
Writeln(arquivo, Trim(EditUsuario.Text));
CloseFile(arquivo);
if FileExists(caminhodoarquivo) then
begin
try
sl.LoadFromFile(caminhodoarquivo);
EditIpLocal.Text := sl.Strings[0];
EditIpExterno.Text := sl.Strings[1];
EditSenha.Text := sl.Strings[2];
EditPorta.Text := sl.Strings[3];
EditUsuario.Text := sl.Strings[4];
DataModule.SQLConnection1.Connected := False;
DataModule.SQLConnection1.Params.Values['HostName'] := EditIpLocal.Text;
DataModule.SQLConnection1.Params.Values['Password'] := EditSenha.Text;
DataModule.SQLConnection1.Params.Values['Port'] := EditPorta.Text;
DataModule.SQLConnection1.Params.Values['UserName'] := EditUsuario.Text;
DataModule.SQLConnection1.Connected := true;
except
try
DataModule.SQLConnection1.Params.Values['HostName'] := EditIpExterno.Text;{IP DE CONEXAO REMOTA}
DataModule.SQLConnection1.Connected := true;
except
Showmessage('Impossível de conectar verifique os dados de conexão.')
end;
end;
end;
if DataModule.SQLConnection1.Connected then
ShowMessage('Conexão feita com sucesso.');
end;
GOSTEI 0