Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Ordner auslesen FMX (https://www.delphipraxis.net/207339-ordner-auslesen-fmx.html)

Incocnito 15. Mär 2021 12:41

Ordner auslesen FMX
 
Hi,

ich habe auf meinem Windows-PC eine Datei erstellt.
Nun gehe ich über den Explorer und schiebe die Datei in den Ordner
Dieser PC\Galaxy S10\Phone\Documents\
Wenn ich nun per
Delphi-Quellcode:
TPath.GetSharedDocumentsPath()
die Dateien durchsuchen will, bekomme ich kein Ergebnis.
Fazit: Meine FMX-App sucht wohl in einem anderen Verzeichnis.

Wie bekomme ich jetzt eine Datei auf mein Handy, so dass ich dieses mit meiner App
auch verarbeiten kann?

Muss ich einen anderen Ornder wählen?
Dieser PC\Galaxy S10\Card\Documents geht nicht
Dieser PC\Galaxy S10\Phone\Android\data\com.embarcadero.<Mein AppName>\files geht auch nicht

Muss ich einen anderen Befehl wählen?
Delphi-Quellcode:
TPath.GetDocumentsPath()
geht auch nicht

Muss ich noch irgendwelche Berechtigungen setzen?
"Auf Medien-Speicherort zugreifen" ist gesetzt
"Externen Speicher lesen" ist gesetzt
"Externen Speicher schreiben" ist gesetzt
Abweichende Berechtigungen für Release/Debug oder einzelne Plattformen sind nicht gesetzt.

Wenn ich mir den Pfad ausgeben lasse, finde ich diese Ordnerstruktur weder über den Explorer,
noch über die "Eigene Dateien"-App von Samsung selbst.

Am Besten wäre natürlich ein allgemeingültiger Weg.

Gehe ich bei WhatsApp in einer Nachricht auf die Büroklammer und dort über "Dokumente" auf
"Andere Dokumente durchsuchen ..." bekomme ich die Handy-Dateiauswahl angezeigt.
Da weiß nicht zufällig jemand, wie das gemacht wird?
Das wäre dann vermutlich die beste Lösung.

Sonst halt nur die Info, wie man eine eigene Datei (kein Bild) vom Windows-PC auf das Handy bekommt
und es dann dort mit einer eigenen Delphi-FMX-App auslesen kann.

Vielen Dank schonmal für die Zeit, ich selbst war nicht so erfolgreich das etwas zu finden.
Am dichtesten dran war:
http://docwiki.embarcadero.com/RADSt...es_Ger.C3.A4ts
aber auch das war nicht zielführend.

Mit freundlichem Gruß
Incocnito

KodeZwerg 15. Mär 2021 12:52

AW: Ordner auslesen FMX
 
Du brauchst eine MTP Verbindung vom Pc (Deine Delphi app) und dem Ziel (Dein Handy).

Incocnito 15. Mär 2021 13:06

AW: Ordner auslesen FMX
 
Gehe ich auf die USB-Verbindung steht er auf "Übertragung von Dateien / Android Auto"
eine Einstellung für MTP gibt es hier nicht.
In den Systemeinstellungen vom Android hat er "MTP" auch nirgends gefunden.

Und wenn ich die Google-Suche richtig verstehe bedeutet "Übertragung von Dateien" auch,
dass der MTP-Modus aktiv ist.

Oder ich steh' völlig auf dem Schlauch. 😅

LG Incocnito

KodeZwerg 15. Mär 2021 13:32

AW: Ordner auslesen FMX
 
Media Transfer Protocol, ich schau mal ob ich noch Code rumfliegen habe.

KodeZwerg 15. Mär 2021 14:42

AW: Ordner auslesen FMX
 
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ist eine voll funktionsfähige Demo. (Nicht FMX, das musst Du selbst lösen!)
Ich habe (weil von 2013/2014) soeben erfolgreich ein Windows 32bit kompilat erzeugen können mit vollen Zugriff auf mein über Usb angeschlossenes Handy.

Datei Austausch in verschiedene Verzeichnisse Test = positiv.

Achtung #1: Virenscanner mögen solch eine Art von Datei so mal gar nicht.
Achtung #2: Man muss auf dem Zielgerät die Verbindung akzeptieren.

Viel Erfolg!

Incocnito 15. Mär 2021 15:00

AW: Ordner auslesen FMX
 
Sehe ich das richtig ... Ist das ein Dateibrowser für Handys?

KodeZwerg 15. Mär 2021 15:06

AW: Ordner auslesen FMX
 
Die Demo ist eine Art Browser, ja.

Ich kann auch noch das hier als Kauflösung anbieten, habe aber nicht weiter nachgeforscht (CrossPlatform)

Ansonsten kann ich nur noch WPD als Gute-Nacht Lektüre anbieten.

Incocnito 15. Mär 2021 15:17

AW: Ordner auslesen FMX
 
Das ist etwas übers Ziel hinaus geschossen.
Sorry, wenn ich das zu schlecht beschrieben habe. ��

Vielleicht hilft eine Beschreibung der Idee weiter.
Ich habe ein Modul, welches ein Protokoll erstellt.
Dieses speicher ich als Datei und würde diese Datei gerne
in meinem Handy einlesen können (um dann Infos aus dem
Protokoll in irgendeiner Weise anzuzeigen,
aber das kommt später). Im Moment scheitere ich daran
das Protokoll auf mein Handy zu bekommen.
Klar, einmalig könnte ich die Infos aus dem Protokoll
fest reincodieren (als Ressource, als elendig langer String, ...)
aber ich will ja das Protokoll auch austauschen können, ohne
die App neu zu erzeugen.
Der Windows-Explorer zeigt mir die zwei Speicherorte "Phone" und "Card" an.

Hier:
https://developer.android.com/traini...use-cases#java
wird beschrieben, wie man eine Art TOpenFile für Android machen könnte.
Aber wie man das in Delphi umsetzt (mal abgesehen davon, dass ich das genauso
als Windows-Anwendung haben wollte, was dann ja wieder nicht geht)
weiß ich nicht. Ich bin da blutiger Anfänger in FMX.
Ich war schon froh, dass der Button mit "Close();" auch auf meinem Handy
die Anwendung geschlossen hat. ;-)

[Edit:]
Option 1 wäre halt, dass ich den Inhalt eines Verzeichnisses als Listbox anzeigen lasse,
wobei ich das Verzeichnis über den Windows-Explorer auch erreichen können muss.

Option 2 wäre die Dateiauswahl von Android zu verwenden um die Datei auszuwählen,
denn diese zeigt die Protokolldatei an.

LG Incocnito

Incocnito 15. Mär 2021 15:36

AW: Ordner auslesen FMX
 
Zwischenstand:
Delphi-Quellcode:
TPath.GetPublicPath()
verweist auf
"Dieser PC\Galaxy S10\Phone\Android\data\com.embarcadero.<MeineApp>\ files"
Damit komme ich erstmal weiter ...
Wenn trotzdem noch jemandem eine schönere Lösung hat
(Zugriff auf "Dieser PC\Galaxy S10\Phone\Documents",
oder Dateiauswahl von Android), dann trotzdem gerne her damit. ;-)

LG Incocnito

Klapauzius 15. Mär 2021 15:57

AW: Ordner auslesen FMX
 
Zitat:

Zitat von Incocnito (Beitrag 1485190)
Zwischenstand:
Delphi-Quellcode:
TPath.GetPublicPath()
verweist auf
"Dieser PC\Galaxy S10\Phone\Android\data\com.embarcadero.<MeineApp>\ files"
Damit komme ich erstmal weiter ...
Wenn trotzdem noch jemandem eine schönere Lösung hat
(Zugriff auf "Dieser PC\Galaxy S10\Phone\Documents",
oder Dateiauswahl von Android), dann trotzdem gerne her damit. ;-)

LG Incocnito

Ich muss dich leider enttäuschen: "Documents" ist normalerweise (von Google so vorgesehen) kein physikalisch vorhandener Pfad in Android und enthält auch nicht zwingend immer Dateien (es können auch Daten angezeigt werden die in Datenbanken abgelegt sind). Es wird also meiner Erfahrung nach keine Möglichkeit geben, sich selbst die Daten in Documents auflisten zu lassen. Wähle stattdessen die Standardfunktion auf Android um Dateien zu laden oder anzuzeigen per intent picker, oder wenn es nur um deine Daten geht, den von von dir erwähnten Pfad TPath.GetPublicPath

Incocnito 15. Mär 2021 16:47

AW: Ordner auslesen FMX
 
Zitat:

Zitat von Klapauzius (Beitrag 1485194)
... Wähle stattdessen die Standardfunktion auf Android um Dateien zu laden oder anzuzeigen per intent picker ...

Hast du da eine Seite, die das zeigt? Ich wüsste so überhaubt nicht, wie ich da ansetzen sollte.
Maybe eine kleine Beispiel-App?
Nur wenn du das gerade zufällig rumliegen hast, da mich das wohl interessieren würde.
Du musst jetzt aber nichts extra bauen, da ich mir für meinen Anwendungsfall schon helfen konnte (nicht schön aber selten).

LG Incocnito


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz