Page 2 of 3 FirstFirst 1 2 3 LastLast
Results 16 to 30 of 43

Thread: Bestand openen in App

  1. #16
    Dan zal je FileExists moeten gebruiken (of wat daar dan ook de android variant van is)
    Na uren zoeken heb ik nog geen idee wat dat zou moeten zijn.

  2. #17
    Fornicatorus Formicidae VideoRipper's Avatar
    Join Date
    Mar 2005
    Location
    Vicus Saltus Orientalem
    Posts
    5,708
    System.IoUtils.TFile.Exists al geprobeerd (derde resultaat wanneer ik "FireMonkey FileExists" in Google intik)?
    TMemoryLeak.Create(Nil);

  3. #18
    Dit zal natuurlijk niets doen voor het originele probleem.
    Het is alleen maar om te kijken of de file bestaat (en meegekomen is met de distributie).
    (Wel altijd verstandig om te doen voordat je die gaat gebruiken natuurlijk)

    Je moet ook goed in de link (uit de edit regel) kijken die doorgegeven was !!

    Je moet de file dus niet in ./ distribueren maar in assets/internal.
    Zie https://stackoverflow.com/a/27611620/1037511 voor een voorbeeld.
    (en http://docwiki.embarcadero.com/RADSt...eploying_Files)
    Last edited by rvk; 27-Aug-19 at 18:36.

  4. #19
    Ik wil dit graag testen, maar om de een of andere redenen is de platform keuze niet meer aanwezig, en probeer van alles om dit weer zichtbaar te krijgen.

    Dus als ik een nieuw project begin, dan kies ik voor een blank form, en daarna had ik de mogelijkheid om te kiezen voor Android, deze staat er niet meer.
    Wie weet hoe ik dit weer zichtbaar kan maken, of is er een mogelijkheid om de scherm indeling weer te herstellen ?

    Zoiets was het:
    Click image for larger version. 

Name:	1.jpg 
Views:	161 
Size:	8.6 KB 
ID:	7999

  5. #20
    Kan je even laten zien hoe het er nu uit ziet?

  6. #21
    Click image for larger version. 

Name:	2.jpg 
Views:	132 
Size:	74.5 KB 
ID:	8000

    Ik ben onder "View" aan het zoeken:
    Click image for larger version. 

Name:	3.jpg 
Views:	129 
Size:	83.2 KB 
ID:	8001

  7. #22
    Platform Device Selection moet je aan zetten

  8. #23
    Perfect ! (Bedankt !!!)

    Als ik het bestand mee stuur met "assets/internal", dan kan ik deze niet vinden op mijn Telefoon, ik heb dus geen idee waar deze neer gezet wordt.

    Nu wil ik dus alle data bestanden in 1 map hebben (Map: MMSoft)

    Op deze manier lees ik het path waar de Music staat, en daar haal de tekst 'Music' er vanaf.
    Op deze manier krijg ik het Path van de Root (dat is het path dat ik nodig heb).
    Dit is niet netjes maar ik zou niet weten hoe ik dit anders zo moeten doen (Als hier een goede oplossing voor is dan hoor ik die heel graag).

    path:= System.IOUtils.TPath.GetSharedMusicPath;
    path := Copy( path , 0, ( Length(path ) - 5) ); //De Laatste 5 karr. verwijderen
    path := path + 'MMSoft';
    Memo1.Lines.LoadFromFile( path + '/Test.txt' );

    De Tekst "Test.txt" wordt gevonden, want als dit bestand niet aanwezig is krijg ik (in de App) de melding: No such file or directory

    Helaas wordt de inhoud niet weergegeven maar krijg ik de foutmelding: Permission denied.

    Ik ben nu bezig met de Uses Permissions, maar wat ik ook aanvink, het probleem blijft...
    Wie heeft hier een oplossing voor ?

  9. #24
    Maar waarom zet je je bestanden niet in het mapje 'documenten'? Die heeft toch een vaste plek?

    System.IOUtils.TPath.GetDocumentsPath

    sorry...
    System.IOUtils.TPath.GetSharedDocumentsPath
    Last edited by AppY; 28-Aug-19 at 12:41.
    Niemand houdt meer van hard werken dan diegene die ervoor betaalt.

  10. #25
    Maar waarom zet je je bestanden niet in het mapje 'documenten'? Die heeft toch een vaste plek?
    Dat is inderdaad mogelijk het beste !!
    Maar dan heb ik helaas (nog) geen toegang tot mijn bestanden, de melding "Permission denied" verschijnt en wat ik ook aan vink bij "Project > Options > User Permissions" ik krijg geen toegang tot mijn eigen bestanden

  11. #26
    Quote Originally Posted by MMSoft View Post
    Als ik het bestand mee stuur met "assets/internal", dan kan ik deze niet vinden op mijn Telefoon, ik heb dus geen idee waar deze neer gezet wordt.
    Dat jij de bestanden niet kan vinden wil niets zeggen.
    De documentatie geeft duidelijk aan waar de bestanden neergezet worden.

    Heb je nu in code geprobeerd om het bestand te openen? Zoals in de voorbeelden aangegeven staat. En laat die code dan eens zien.

  12. #27
    Code:
    unit Unit1;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
      FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo;
    
    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.fmx}
    
    uses
      System.IOUtils;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
     path: String;
    begin
     path := System.IOUtils.TPath.GetSharedDocumentsPath;
     Showmessage( path + '/Test.txt' );
     Memo1.Lines.LoadFromFile( path + '/Test.txt' );
    end;
    
    end.
    Click image for larger version. 

Name:	Inhoud.jpg 
Views:	98 
Size:	26.9 KB 
ID:	8004

    Message Tekst:
    Click image for larger version. 

Name:	Message.jpg 
Views:	133 
Size:	8.9 KB 
ID:	8005

    Geen toegang bij openen van het Bestand:
    Click image for larger version. 

Name:	Geen toegang.jpg 
Views:	104 
Size:	12.9 KB 
ID:	8006

    Als ik het bestand verwijderd heb, dan krijg ik dit te zien als ik op de Button druk:
    Click image for larger version. 

Name:	Niet aanwezig.jpg 
Views:	126 
Size:	48.0 KB 
ID:	8007
    Last edited by MMSoft; 29-Aug-19 at 10:41.

  13. #28
    Quote Originally Posted by MMSoft View Post
    Code:
    path := System.IOUtils.TPath.GetSharedDocumentsPath;
    En als je nu gewoon de TPath.GetDocumentsPath gebruikt, zoals in de documentatie is aangegeven?
    http://docwiki.embarcadero.com/RADSt...eploying_Files

    Dus bestand in assets\internal en
    Code:
    var
     path: String;
    begin
     path := TPath.Combine(TPath.GetDocumentsPath, 'Test.txt');
     Showmessage( path );
     Memo1.Lines.LoadFromFile( path );
    end;
    En let op... bestand zette in assets\internal. Niet in assets/internal.

  14. #29
    Heb je bij user permissions ook "read extrernal storage" & "write external storage" aangevinkt?
    Niemand houdt meer van hard werken dan diegene die ervoor betaalt.

  15. #30
    En als je nu gewoon de TPath.GetDocumentsPath gebruikt, zoals in de documentatie is aangegeven?
    Bestand in: assets\internal
    En de code gebruikt, geeft: Cannot open file "/data/user/0/com.embarcaderero.Test4/files/Test.txt". No such file or directory.

    Heb je bij user permissions ook "read extrernal storage" & "write external storage" aangevinkt?
    Ja die stonden beide al aan.

Page 2 of 3 FirstFirst 1 2 3 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •