Forum: Object-Pascal / Delphi-Language
Delphi
by Redeemer,
17. Sep 2017
Die Methode von mir hatte zwei Fehler, was zu einem ungültigen Ergebnis führte. Hier die korrekte Version:
procedure Base64EncodeStream(Input, Output: TStream);
const
Base64: array of Byte = (
65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,
...
Forum: Object-Pascal / Delphi-Language
Delphi
by Redeemer,
16. Sep 2017
Glückwunsch. Dein Delphi ist einfach nur scheißen-langsam.
Angehängt ist ein Kompilat deines Projekts mit Delphi 2009. Ich habe nichts gemacht außer es geöffnet und F9 gedrückt, dadurch wurde das Programme einige hundert Mal schneller. Das Kompilat meines Projekts ist auch angehängt, auch wenn es nichts bringt.
Wenn du willst, ersetze mal beide WriteBuffer durch Write. Die beiden sind...
Forum: Object-Pascal / Delphi-Language
Delphi
by Redeemer,
16. Sep 2017
Ich meinte mit "meiner Methode" nicht die TMemoryStream-Methoden zum Laden und Speichern. Mich würde interessieren, ob deine CPU so langsam ist, das damalige Delphi so ineffizient oder woran es sonst liegt.
Forum: Object-Pascal / Delphi-Language
Delphi
by Redeemer,
15. Sep 2017
Habe das bei mir mit 90 MB getestet, dauerte etwa zwei Sekunden. Aber das war 'ne SSD. Mach mal die Ticks nur um meine Methode. Die sollte deutlich unter einer Sekunde brauchen, gerade für nur 17 MB.
Man sollte beim Programmieren schon lesen, was da steht. Wenn man Input := TMemoryStream.Create( eingibt, erscheint automatisch die Programmierhilfe von Delphi und sagt „<Keine Parameter...
Forum: Object-Pascal / Delphi-Language
Delphi
by Redeemer,
15. Sep 2017
Meine Methode (oder besser gesagt MemoryStreams) benutzt man so:
var
Input, Output: TMemoryStream;
begin
Input := TMemoryStream.Create;
Output := TMemoryStream.Create;
try
Input.LoadFromFile('meinedatei.bin');
Base64EncodeStream(Input, Output);
Output.SaveToFile('meinedatei.txt');
Forum: Object-Pascal / Delphi-Language
Delphi
by Redeemer,
13. Sep 2017
Ist an sich schnell geschrieben:
procedure Base64EncodeStream(Input, Output: TStream);
const
Base64: array of Byte = (
65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,
97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,
48,49,50,51,52,53,54,55,56,57,43,47,$3D);
var
count: Byte;
temp: Cardinal;