Delphi-PRAXiS
Seite 2 von 5     12 34     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Typisierte Dateien nicht möglich? (https://www.delphipraxis.net/180491-typisierte-dateien-nicht-moeglich.html)

Zoot 23. Mai 2014 14:52

AW: Typisierte Dateien nicht möglich?
 
Warum keinen Stream?

greenmile 23. Mai 2014 14:53

AW: Typisierte Dateien nicht möglich?
 
Hast Du ein Beispiel?

p80286 23. Mai 2014 14:55

AW: Typisierte Dateien nicht möglich?
 
Zitat:

Zitat von greenmile (Beitrag 1259958)
Ziel ist es, ca. 600 Datenblöcke einer fest definierten Größe (String, Integer, Bool usw.) mehrfach auf einem Mobile-Device zu speichern. XML scheidet daher wg Overhead aus, ich denke das wird zuviel Speicher fressen. Eine Datenbank scheint mir Overkill. Was schlagt ihr vor?

Ausprobieren!
wenn Du der Datenbank alles nimmst (benutzerverwaltung, indizes...) was sie zur Datenbank macht, sollte sie auch relativ klein sein.

Eine weitere Möglichkeit wäre CSV.

Gruß
K-H

himitsu 23. Mai 2014 15:20

AW: Typisierte Dateien nicht möglich?
 
Wie gesagt, wenn es unbedingt binär sein muß, dann musst du entweder die ShortStrings auf statische Char-Arrays ändern und eventuell noch umkopierfunktionen für die Strings bereitstellen,
oder du mußt auf Datenobjekte umsteigen, welche dann in einen Stream serialisiert werden.

Man kann auch alle 600 Blöcke in einem zug speichern/laden, wenn man das als Objekt-Liste (am Besten als TCollection) verwaltet.

Für Collections, oder zumindestens für TPersistent-Datenobjekte, gibt es im Delphi bereits fertige (De)Serialisierungsmethoden.

Dejan Vu 23. Mai 2014 16:35

AW: Typisierte Dateien nicht möglich?
 
Warum sollte man sich heutzutage bei Basics wie 'Daten speichern/lesen' noch mit irgendwelchen selbstgefrickelten Lösungen herumschlagen? Freunde dich mit den unterstützten Datenbanken an oder verwende eben XML oder JSON, so schlimm ist das doch nicht. Natürlich kann man sparen, aber doch nicht unbedingt hier.

Da Du dich sowieso früher oder später mit den Datenbanken und Standardformaten beschäftigen musst, warum nicht gleich jetzt schon?
Zitat:

Zitat von p80286 (Beitrag 1259963)
Eine weitere Möglichkeit wäre CSV.

Würde ich nicht machen, auch wenn es eine weitere Möglichkeit wäre (wie SYLK auch). Aber wozu. Stick to the Standard.

Stevie 23. Mai 2014 17:11

AW: Typisierte Dateien nicht möglich?
 
Die 80er haben angerufen, sie wollen ihre typed files wieder. :lol:

Aber mal Scherz beiseite, ich kann das als jemand sagen, der in der Vergangenheit schon so manches mal über Delphi Code geflucht hat, der einfach irgendwelche Strukturen in solch einer Form gespeichert hat. Seien es file of irgendwas oder in Streams gehämmerte Daten. Damit handelt man sich nämlich nur Probleme ein, wenn man mal was erweitert oder ändert.

Dejan Vu 23. Mai 2014 17:22

AW: Typisierte Dateien nicht möglich?
 
Zitat:

Zitat von Stevie (Beitrag 1259982)
Die 80er haben angerufen, sie wollen ihre typed files wieder. :lol:

Diese Äußerung verursachte eine spontane Befeuchtung meiner Monitore infolge stoßartig entstandenen Sprühnebels.

Vielen Dank. :-D

greenmile 23. Mai 2014 19:01

AW: Typisierte Dateien nicht möglich?
 
Nun ja ... meinst Du nicht dass ich sehr genau weiss, was ich tue? Ich bin etwas länger in der Programmierung und stamme noch aus einer Zeit, in der man sich Gedanken zur Optimierung und Speicherbedarf gemacht hat. Eine SQL Datenbank zu installieren, nur um einige Daten zu speichern, ist halt Overhead. Noch mehr Overhead hat, auch wenn es sicherlich seine Vorteile hat, XML. Ich brauche diesen Overhead in diesem Punkt (um den es hier geht) ganz einfach nicht, es wäre wie Kanonen auf Spatzen schießen; und ich gehöre zu den Menschen die sich relativ genau anschauen, wie groß eine App ist und ob die Größe wirklich Sinn macht. Typisierte Dateien haben sicherlich Nachteile, aber was den effektiven Speicherbedarf angeht sind sie wahrlich nicht zu toppen. Kann man ignorieren, ist aber so. Und das hat nun nichts mit den 80'ern zu tun.

BTW: Ich liebe Diskussionen in denen man etwas erfragt und man als Antwort von einigen Usern zu hören bekommt, wie old-school man ist und wie falsch man doch liegt. Statt einfach eine Lösung zu schreiben oder schlichtweg nicht zu antworten. Sonst würdet ihr ja auch Visual Studio + SQL Server Express nutzen, oder?

Stevie 23. Mai 2014 19:09

AW: Typisierte Dateien nicht möglich?
 
Zitat:

Zitat von greenmile (Beitrag 1259991)
BTW: Ich liebe Diskussionen in denen man etwas erfragt und man als Antwort von einigen Usern zu hören bekommt, wie old-school man ist und wie falsch man doch liegt. Statt einfach eine Lösung zu schreiben oder schlichtweg nicht zu antworten. Sonst würdet ihr ja auch Visual Studio + SQL Server Express nutzen, oder?

Ich will hier keine Diskussion über Old-school oder nicht starten und ob man auch mal Dinge, die "man schon immer so gemacht hat" auch weiter tun sollte (mein Chef sagt bei solchen Gelegenheiten immer "früher haben wir auch Hexen verbrannt und dann irgendwann damit aufgehört") - aber deine Reaktion schürt so ein bisschen das Vorurteil, was du zu dementieren versuchst.

Daher mal zum Thema zurück, du weißt, dass es Dinge wie SQLite gibt, wo man nix installieren muss, um eine Datenbank zu haben, in die man so ziemlich alles reinstopfen kann, wozu man lustig ist. Heute sind die miesesten Smartphones schneller als die Server von anno dazumal, wo man für alle seine Resourcen zusammen kratzen musste. Das vergessen nämlich auch einige (und nein, ich sagte nicht, dass man mit seinen Resourcen sorglos um sich werfen sollte)

Sir Rufo 23. Mai 2014 19:13

AW: Typisierte Dateien nicht möglich?
 
SQLite ist ein absolut legitimer Vorschlag, denn auch wenn du damit nicht arbeiten möchtest, ist es trotzdem auf den Geräten schon vorhanden. Es ist ein fester Bestandteil der Systeme (Android/iOS).

Du musst also nur sagen "Ja, ich will" und kannst ohne zusätzlichen Ballast damit arbeiten.

Somit ist dein Einwand "SQL Datenbank installieren" hinfällig, denn ohne gibts das nicht, es ist einfach da, so wie auch das Display einfach da ist ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 Uhr.
Seite 2 von 5     12 34     Letzte »    

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