Untitled
user_6919294
pascal
a year ago
2.3 kB
5
Indexable
{
Poniżej znajdziesz przykład, który pokazuje, jak wyświetlić zawartość katalogu Download na Androidzie:
1. Wyświetlanie plików w liście (TListBox)
Ten przykład zakłada, że masz TListBox o nazwie ListBox1 na formularzu.
}
uses
System.IOUtils, System.SysUtils, FMX.Dialogs;
procedure TForm1.LoadFilesFromDownload;
var
DownloadPath: string;
Files: TArray<string>;
FileName: string;
begin
// Ścieżka do katalogu "Download"
DownloadPath := TPath.Combine(TPath.GetSharedDownloadsPath, '');
// Sprawdzenie, czy katalog istnieje
if not TDirectory.Exists(DownloadPath) then
begin
ShowMessage('Katalog Download nie istnieje!');
Exit;
end;
// Pobranie listy plików
Files := TDirectory.GetFiles(DownloadPath);
// Wyczyść listę
ListBox1.Clear;
// Dodanie plików do listy
for FileName in Files do
begin
ListBox1.Items.Add(TPath.GetFileName(FileName)); // Nazwa pliku bez ścieżki
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
LoadFilesFromDownload;
end;
{
Otwieranie pliku
Do otwierania plików możesz użyć TFileStream lub systemowego intentu (Android). Przykład odczytu zawartości tekstowego pliku:
}
uses
System.Classes;
procedure TForm1.OpenSelectedFile;
var
SelectedFile: string;
FilePath: string;
FileContent: TStringList;
begin
if ListBox1.ItemIndex = -1 then
begin
ShowMessage('Wybierz plik z listy!');
Exit;
end;
SelectedFile := ListBox1.Items[ListBox1.ItemIndex];
FilePath := TPath.Combine(TPath.GetSharedDownloadsPath, SelectedFile);
if not TFile.Exists(FilePath) then
begin
ShowMessage('Plik nie istnieje!');
Exit;
end;
FileContent := TStringList.Create;
try
FileContent.LoadFromFile(FilePath);
ShowMessage(FileContent.Text); // Wyświetl zawartość
finally
FileContent.Free;
end;
end;
{
Uprawnienia: Na Androidzie musisz dodać uprawnienia do czytania pamięci zewnętrznej. W pliku AndroidManifest.template.xml dodaj:
}
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Obsługa typów plików: Jeśli chcesz filtrować pliki (np. tylko .txt), możesz dodać filtr:
Files := TDirectory.GetFiles(DownloadPath, '*.txt');
Wersja Delphi: Upewnij się, że używasz nowszej wersji Delphi z pełnym wsparciem FMX dla Androida.Editor is loading...
Leave a Comment