Einzelnen Beitrag anzeigen

tdeck

Registriert seit: 26. Jun 2006
Ort: Obertshausen
69 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Mit Android APP auf ein SDCard Ordner zugreifen

  Alt 27. Aug 2022, 22:12
Hallo TurboMagic,

doch eigentlich schon . Das war jetzt recht einfach, ein paar Stunden Arbeit und ich konnte mit der App die Dateien lesen und schreiben. Per Compiler-Anweisung schalte ich das öffnen/speichern der Datei zwischen Android und Windows als Ziel einfach um.

Code:
//---------------------------------------------------
// 27.08.2022
// V1.1967
// Android Ladefunktion eingefügt
//
procedure TForm1.BtnLadeCfgClick(Sender: TObject);
begin
  // Lade Config File
  //
  // Windows
  {$ifdef MSWINDOWS}
    // Öffnen der Datei mit TOpenDialog
    //
     WindLoadConfig;
  {$endif MSWINDOWS}

  // Android
  {$ifdef ANDROID}
    TDocument.Open(
      procedure (Document: TDocument)
      begin
        if Document <> nil then
        try
          // Debugausgabe
          AddLine('Path: ' + Document.Path);
          Addline('Anzahl Bytes: '+ IntToStr(High(Document.Read)) );
          AddLine('Content: ' + IntToHex(Document.Read[0]));

          // Datei prüfen und verarbeiten
          //
           AndroidGetConfig(Document.Read);

        finally
          Document.Free;
        end;
      end, '', '*/*');
   {$endif ANDROID}

end; // Ende BtnLadeCfg


Klar nutze ich jetzt erstmal keine eigene "Mime Types" (damit habe ich mich noch nicht beschäftigt), und starte die Dateiauswahl mit "*/*", damit habe ich aber kein Problem. Meine Kunden sind geschulte Techniker, die wissen welche Datei-Endungen geöffnet werden können. Die erstellten Dateien von mir haben ein bestimmtes Header in den ersten Bytes. Passen die nicht wird die Datei nicht verarbeitet und es gibt eine passende Meldung.

Klar wäre es sauberer wenn dies einfach mit dem FMX TOpenDialog/TSaveDialog gemacht werden könnte, dazu müsste aber Embarcadero da mal Hand anlegen.

Thorsten
Thorsten
  Mit Zitat antworten Zitat