AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

AnsiString mit fester Länge

Ein Thema von GPRSNerd · begonnen am 4. Feb 2009 · letzter Beitrag vom 20. Jul 2009
 
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#21

Re: AnsiString mit fester Länge

  Alt 20. Apr 2009, 12:49
Zitat von GPRSNerd:
Ich habe an der Logik der Original-Funktion nix geändert [...]
Was nicht bedeutet, dass der Originalcode fehlerfrei sein muss

Zitat von GPRSNerd:
Es handelt sich laut Definition der Funktion um die Umwandlung von Unsigned 32bit Integers...
Es sieht so aus, als ob beabsichtigt wird, einen 4-Byte Integer in ein 4-Byte ACII-(Tag-)String zu konvertiren. Allerdings macht der Code nicht das, was beabsichtigt zu sein scheint (weil string[4] aus 5 Bytes besteht: Buffer[0] ist die Länge und Buffer[1..4] sind die Zeichen).

edit:
Delphi-Quellcode:
type
  TFourCC = record
    case Integer of
      1: (AsAnsi: array [0..3] of AnsiChar);
      4: (AsLong: LongInt);
  end;

function tEndInd.Put32s(AData: LongInt): AnsiString;
var
  FourCC: TFourCC;
begin
  FourCC.AsLong := AData;
  if MotorolaOrder then // SwapLong(AData)
    FourCC.AsLong := (Swap(LoWord(AData)) shl 16) or Swap(HiWord(AData))
  else
    FourCC.AsLong := AData;
  Result := FourCC.AsAnsi;
end;
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz