Seite 2 von 2

Re: Zugriff auf Filesystem mit Browser

Verfasst: 18.06.2017 18:18
von Micha122
Hi Peter,
sieht wie eine Umsetzung der PB Preferences Befehle aus. :allright:
Falls die Android Browser damit klar kommen, werde ich das sicherlich für meine Zwecke "missbrauchen" können. :D
Super Idee! :allright:

Melde mich wenn ich getestet habe, bis dahin.....

Re: Zugriff auf Filesystem mit Browser

Verfasst: 18.06.2017 21:44
von Micha122
Hallo Peter,
wollte da heute eigentlich nicht mehr ran zumal ich lange mit "Module" nichts mehr gemacht habe.
Aber......die Neugierde hat gewonnen.

Super Sache, auch mit Android- Browsern und lässt sich definitiv für meine Zwecke verwenden. :D :allright:

Zum nachvollziehen für andere:

Code: Alles auswählen

IncludeFile "PetersModule"
UseModule Preferences
If Preferences::CreatePreferences("test.text")
  Debug "Prefs - File wurde erstellt"
  Preferences::WritePreferenceString("csv", "test;testa;testb")
  Debug Preferences::ReadPreferenceString("csv", "Fehler")
EndIf
Legt die Datei test.text an und schreibt Key csv = test;testa;testb

Code: Alles auswählen

IncludeFile "PetersModule"
UseModule Preferences
If Preferences::OpenPreferences("test.text")
  Debug "Prefs - File wurde geöffnet"
  Debug Preferences::ReadPreferenceString("csv", "Fehler")
EndIf
Öffnet File test.txt und liest Key csv

Funktioniert wirklich, ist auch alles nach einem Smartphone- Neustart noch vorhanden, eben nicht so nen Virtual-File Kram wie "CreateFile". :D

Danke! :allright: :allright:

Re: Zugriff auf Filesystem mit Browser

Verfasst: 18.06.2017 22:34
von Kiffi
Micha122 hat geschrieben:Super Sache, auch mit Android- Browsern und lässt sich definitiv für meine Zwecke verwenden.
prima, so war es gedacht. Danke für die Rückmeldung, dass es auch mit Android funktioniert.

Kleine Anmerkung noch:

Wenn Du UseModule verwendest, brauchst Du den Modul-Präfix nicht mehr zu schreiben (weniger Tipparbeit).

Wenn Du das Modul nicht mehr benötigst (oder ein anderes UseModule verwenden willst), dann kannst Du "UnuseModule" verwenden.

Code: Alles auswählen

UseModule Preferences
If CreatePreferences("test.text")
  Debug "Prefs - File wurde erstellt"
  WritePreferenceString("csv", "test;testa;testb")
  Debug ReadPreferenceString("csv", "Fehler")
EndIf
UnuseModule Preferences
Und hier noch eine Hintergrund-Info: Es wird keine physikalische Datei namens 'test.text' angelegt, sondern ein entsprechendes Schlüssel-Werte-Paar im lokalen Speicher des Browsers abgelegt. Der Schlüssel besteht aus 'Dateiname', 'Gruppenname' und 'Preferenzschlüsselname' (jeweils durch einen Separator getrennt).

Browser-Console:
Bild

Und Du musst darauf achten: Der LocalStorage hat nur eine begrenzte Speicherkapazität pro Applikation. Hier ist beispielsweise eine Liste, die darüber Auskunft gibt: http://dev-test.nemikor.com/web-storage/support-test/

Grüße ... Peter

Re: Zugriff auf Filesystem mit Browser

Verfasst: 19.06.2017 00:03
von Micha122
Wenn Du UseModule verwendest, brauchst Du den Modul-Präfix nicht mehr zu schreiben (weniger Tipparbeit).

Wenn Du das Modul nicht mehr benötigst (oder ein anderes UseModule verwenden willst), dann kannst Du "UnuseModule" verwenden.
Danke für die Info. Module haben mich nie interessiert, hat sich für mich immer irgendwie nach oop angehört.
Aber dieser Thread hier hat mich ein wenig zum denken bewegt.
Mal schauen, vielleicht gewöhne ich mir die mal an. :mrgreen:
Und hier noch eine Hintergrund-Info: Es wird keine physikalische Datei namens 'test.text' angelegt, sondern ein entsprechendes Schlüssel-Werte-Paar im lokalen Speicher des Browsers abgelegt. Der Schlüssel besteht aus 'Dateiname', 'Gruppenname' und 'Preferenzschlüsselname' (jeweils durch einen Separator getrennt).
Das wäre meine nächste Frage gewesen weil ich die Datei nirgends auf dem Android- Filesystem gefunden habe. Habe mir ähnliches aber auch schon gedacht.
Und Du musst darauf achten: Der LocalStorage hat nur eine begrenzte Speicherkapazität pro Applikation. Hier ist beispielsweise eine Liste, die darüber Auskunft gibt: http://dev-test.nemikor.com/web-storage/support-test/
Danke, diese Einschränkung ist in der Tat wichtig. :allright: Ok, die Liste ist nicht mehr ganz aktuell was die Browser- Versionen angeht, aber da hat sich scheinbar nicht viel geändert. Bei Chrom 58.xxx ist es immer noch bei 5 MB geblieben.
Java-Script behandelt Strings UTF16, weshalb ich alter ASCII Denker das ganze einfach als 2,5 MB sehe. :oops:

Grüße, Micha