Thema: Delphi Problem mit CompressBuf

Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Problem mit CompressBuf

  Alt 11. Mai 2012, 17:14
Es sieht so aus, als ob du nicht wüsstest, was du da machst:

Delphi-Quellcode:
// snip
  {1} s:=s+Info[i].data[Low(data)];
  {2} for j:=Low(TData)+1 to High(TData)
// snip
1. Du kannst per "." nicht auf die Elemente dieses Arrays zugreifen, denn der Typ (= String) beinhaltet keine weiteren Elemente (so wie Data)

2. Warum nicht direkt das erste Element in derselben Funktion mit einbeziehen (und mit 0 anfangen)?

3. Du hast vergessen, s am Anfang zu initialisieren!

Verbesserung:
Mach das ".data" weg! Es ist ein (mehr oder weniger) einfaches 2D Array wobei die erste Dimension dnymisch ist und die Zweite statisch -> [i, j]

Delphi-Quellcode:
var
  InfoStrStream: String;
  i, j: Integer;
begin
  InfoStrStream := '';
  for i := 0 to High(Info) do
  begin
    for j := 0 to High(Info[i]) do
      InfoStrStream := InfoStrStream + Info[i,j] + #9;
    // falls du das letzte #9 Element weg haben willst:
    // Delete(InfoStrStream, Length(InfoStrStream), 1);
    InfoStrStream := InfoStrStream + #13#10;
  end;
end;
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (11. Mai 2012 um 17:18 Uhr)
  Mit Zitat antworten Zitat