Forum: Sonstige Fragen zu Delphi
Delphi
by MatthiasR,
2. Apr 2009
:dancer2: Juhu, so funktioniert das ganze! :dancer2:
In deinem Beispielprogramm von letzter Woche sah die Wertüberprüfung von i aber noch so aus:
if (i > 31) and (i < 256) then
Ich vermute mal, du wolltest damit nicht druckbare Steuerzeichen überspringen. Das ist in meinem Fall gewünscht und daher würde ich das so belassen.
Gut, dann hätten wirs ja. Thread darf als gelöst betrachtet...
Forum: Sonstige Fragen zu Delphi
Delphi
by MatthiasR,
1. Apr 2009
Also zu allererstmal die Frohebotschaft, dass es nun endlich funktioniert! Ich habe vorher immer mit dem TStringStream gearbeitet, statt TMemoryStream, und das hat irgendwie nicht so funktioniert, wie ich mir das vorgestellt habe. Aber so, wie du es beschrieben hast, klappt es auch bei mir.
Nun aber zum Thema AnsiString und Binärdaten etc.: wenn das ganze Probleme mit Codepages usw. geben...
Forum: Sonstige Fragen zu Delphi
Delphi
by MatthiasR,
31. Mär 2009
Habe ich gerade mal ausprobiert. Die Funktionen
{*****************************************************************************
* GZDecompressStr *
* *
* pre-conditions *
* s = compressed data...
Forum: Sonstige Fragen zu Delphi
Delphi
by MatthiasR,
23. Mär 2009
Also: wie gammatester und ich eindeutig festgestellt haben, handelt es sich bei den von mir ausgelesenen Daten um valide gzip-Konstrukte, lediglich mit einem zusätzlichen Header vor dem gzip-Header '0x1F8B08'. Schneidet man diesen ab und speichert den verbleibenden String in einer Datei mit Endung ".gz", so kann man diese z.B. mittels 7zip entpacken.
Allerdings habe ich es immernoch nicht...
Forum: Sonstige Fragen zu Delphi
Delphi
by MatthiasR,
19. Mär 2009
Die Formulierung stammt aus der Beschreibung des Kartenterminal-Hertstellers, wie die Daten von der Smartcard auszulesen sind. Und sie ist in der Tat nicht wirklich aussagekräftig, daher habe ich sie auch einfach nur im O-Ton wiedergegeben.
Danke dass du dir die Mühe gemacht hast, die Dateien mal etwas unter die Lupe zu nehmen. Ich sehe dadurch nun zwei Möglichkeiten:
1. Was ich von der...
Forum: Sonstige Fragen zu Delphi
Delphi
by MatthiasR,
26. Mär 2007
Entsprechen sich die Speicheradressen von xyz und xyz, also @xyz und @xyz nicht? "@xyz zeigt auf das erste Zeichen, also den Stringinhalt" habe ich jetzt aber nicht verstanden. Der Stringinhalt besteht doch aus mehreren Zeichen.
EDIT: Auf alle Fälle geht nun alles wie gewünscht. Der Grund für die ungültige Zeigeroperation hat sich bestätigt. Wenn ich den komprimierten String ganz normal als...
Forum: Sonstige Fragen zu Delphi
Delphi
by MatthiasR,
26. Mär 2007
Auch das hatte ich schon, aber kommt das Zeigertechnisch nicht aufs selbe raus, ob ich die Adresse des ersten Characters nehme oder die Adresse des kompletten String?
Den Pointerfehler resultiert übrigens wohl daraus, dass ich als Input/Output der Funktionen die Text-Eigenschaft der memos verwendet habe. Da beim Comprimieren Steuerzeichen entstehen, die das memo nicht darstellen kann, tauscht...
Forum: Sonstige Fragen zu Delphi
Delphi
by MatthiasR,
26. Mär 2007
Habe nun mal die Funktionen aus deinem Link ausprobiert. Ließen sich anfangs nicht kompilieren, weil die darin verwendeten Funktionen CompressBuf und DeCompressBuf als ersten Parameter einen Zeiger erwarten. Habe das "" entfernt und ein "@" vor das Input geschrieben. Dann gings. Ich habe zu Testzwecken dann zwei Memofelder auf ein Formular geklatscht und den Inhalt des einen auf Knopfdruck...