Announcement

Collapse
No announcement yet.

Varianter Record / Typumwandlung

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Varianter Record / Typumwandlung

    Moin.

    Hier ein kurzes Code-Schnipsel, anschlie0end die Frage:

    type
    TAdr = record
    case boolean of
    false: (a, b, c, d: byte);
    true : (lw: longword)
    end;

    var
    ip : TAdr;
    erg: longword;

    begin
    with ip do begin
    a:=1; b:=2; c:=3; d:=4
    end;

    erg:=ip.a*256*256*256+ip.b*256*256+ip.c*256+ip.d;

    Wenn ich nun ip.lw mit erg vergleiche, komme ich keineswegs auf das gleiche Ergebnis (67305985 gegenüber 16909060).

    Wo liegt der Fehler?

    Ein grübelnder Christian

  • #2
    Tausche mal die Bytes in Zweiergruppen. Ich dächte, bei Word kommt erst das Low und dann das High-Byte.<p>
    Schöne Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Vielen Dank, Mario. Hatte das im Laufe der Jahre vergessen - Asche auf mein Haupt. Nun passt es wieder

      Comment


      • #4
        Schau dir die Variablen mal im Debugger in Hex-Notation an. Dann liest du einmal $1020304 und einmal $4030201. AFAIK schimpft sich das big und little endian.
        <br>Uli

        Comment


        • #5
          Uli, *grins*, den Debugger habe ich das letzte mal unter Turbo Pascal genutzt. Aber stimmt, wenn ich jetzt mal wieder öfter Spaß haben möchte ;

          Comment


          • #6
            Hä? Wie kannst du ohen Debugger überhaupt arbeiten? :-

            Comment


            • #7
              Hi Ulrich.

              Das geht schon. Ich arbeite lieber mit einem eigenen Log-Fenster, welches alle meine Anwendungen drinnen haben. So kann der User später auch einfacher mögliche Fehler beschreiben.

              Und auf einem 17 Zoll Monitor behalte ich auch so besser den Überblick

              Alternativ könnte ich natürlich auch behaupten, dass ich praktisch keine Fehler mehr mache - aber das glaubt ja eh keiner Vor allem, wo wäre dann der Spaß hin?

              Liebe Grüße, Christia

              Comment

              Working...
              X