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