Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
30. Mär 2022
So ging es mir auch, ja. Ich hatte ja schon einen Blick riskiert...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
30. Mär 2022
Ist nun im Hinterkopf gespeichert, gut zu wissen. :)
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
30. Mär 2022
Genau deshalb klappt das ja nicht. Die Implementierung könnte man (abgesehen von diesen Properties) relativ einfach anpassen, damit Dateioperationen möglich wären.
Aber mit TFileStream usw. gibt es ja sinnvolle Möglichkeiten für große Dateien.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
30. Mär 2022
Ein Memorystream ist ja nicht so recht vergleichbar. Aber auch ein TArray ist nicht auf MaxInt als Länge beschränkt und eignet sich für große Datenmengen deutlich besser als ein String.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
29. Mär 2022
Dann würde mich interessieren wie du dir das konkret vorstellst? Sollen Strings deshalb eine andere interne Struktur bekommen?
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
28. Mär 2022
Das hätte man erwarten können, aber da Intel und andere den generischen Integer-Typ bei 32-Bit belassen haben, blieb kaum etwas anderes übrig als dem auch mit Delphi zu folgen, so verwirrend und folgenschwer das auch war.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
27. Mär 2022
Die arbeiten dann aber auch nicht mit einer String-basierten Struktur wie einer TStringList. Denn auch z.B. in C# oder anderen .NET Sprachen können Strings nicht länger sein... das Limit ist ähnlich wie bei Delphi.
Wenn man geeignete Klassen wie eben einen Stream verwendet, kann man ja auch in Delphi problemlos mehrere GiB in den Speicher schaufeln.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
26. Mär 2022
Sicher wäre es wünschenswert, wenn es weniger Grenzen geben würde. Allerdings sollte man dabei auch nicht vergessen, dass die vorhandenen Klassen für so große Datenmengen, wie Daniel auch schon angedeutet hat, schlicht nicht ausgelegt sind.
Es wäre daher sinnvoller für diesen Zweck nicht die vorhandenen Klassen zu erweitern, sondern komplett neue zu entwickeln, die intelligenter mit solchen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jaenicke,
26. Mär 2022
Das Problem ist dort, dass der Inhalt des Streams in einen einzigen String geladen wird. Und ein String hat eine feste Struktur, so dass man den Längenzähler nicht einfach auf 64-Bit erweitern kann.
Man kann in eine Stringliste aber prinzipiell auch problemlos mehr Daten laden, wenn man das Problem der Stringlänge beim Laden umgeht:type
TMyStringList = class(TStringList)
private
...