Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Datentypen von String zu Byte und wieder zurück (https://www.delphipraxis.net/192538-datentypen-von-string-zu-byte-und-wieder-zurueck.html)

himitsu 27. Apr 2017 22:35

AW: Datentypen von String zu Byte und wieder zurück
 
Ja, Natürlich kann man nur auf ganze Bytes zugreifen und Delphi rundet immer auf.
Ein Boolean kennt auch 1x False und 255x True :stupid:

Aber blöd wird es, wenn man die Bereichsprüfung mal aktiviert und dann der Typ zu klein deklariert ist.

Uwe Raabe 28. Apr 2017 08:13

AW: Datentypen von String zu Byte und wieder zurück
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das ist sogar noch witziger:
Delphi-Quellcode:
type
  TSet = set of 0..3;

procedure Main;
var
  s: TSet;
  I: 0..3;
begin
  s := [1,3];
  for I in s do
  begin         // <== BreakPoint 1
    Writeln(I); // <== BreakPoint 2
  end;
end;            // <== BreakPoint 3
BreakPoint 1 wird 8x durchlaufen! BreakPoint 2 erwartungsgemäß nur 2x.

Bei den Durchläufen vor dem ersten Writeln hat I nicht mal einen definierten Wert.

Graw 28. Apr 2017 09:43

AW: Datentypen von String zu Byte und wieder zurück
 
Leider bekomm ich es doch nicht ans laufen...

Wenn ich der Funktion feste Werte übergebe funktioniert sie wunderbar.
Code:
PBuf := Convert('00003FFFC000','00003FFFC000');
Wenn ich aber meine Buffer der Funktion übergebe kommt nichts aus ihr raus.
Code:
BEGIN

          PBuf1 := Copy(PBuf10,13,Length(PBuf10)-3);
          PBuf2 := Copy(PBuf20,13,Length(PBuf20)-3);


          if (length(PBuf1) = length(PBuf2)) then
          begin
           PBuf := Convert(PBuf1,PBuf2);
           PBufSend := PBuf;        
          end;
         
END;
Könnt ihr mir sagen was ich da falsch mache?

Olli73 28. Apr 2017 09:59

AW: Datentypen von String zu Byte und wieder zurück
 
Wie sind denn die PBuf.. deklariert und was sagt der Debugger?

Graw 28. Apr 2017 10:06

AW: Datentypen von String zu Byte und wieder zurück
 
Ist alles als String deklariert

Olli73 28. Apr 2017 10:10

AW: Datentypen von String zu Byte und wieder zurück
 
Dann setze mal einen Haltepunkt und schau dir an was in den Strings, die du übergibst, drin steht.

Uwe Raabe 28. Apr 2017 10:20

AW: Datentypen von String zu Byte und wieder zurück
 
Zitat:

Zitat von Graw (Beitrag 1369355)
Delphi-Quellcode:
PBuf1 := Copy(PBuf10,13,Length(PBuf10)-3);

Was soll damit erreicht werden? Vorausgesetzt, PBuf10 ist als string deklariert, dann versuchst du hier 9 Zeichen mehr zu kopieren als vorhanden sind. Delphi fängt das natürlich ab, aber der Code riecht nach einem Fehler.

:glaskugel: Eventuell versuchst du ja auch nur die ersten 12 und die letzen 2 oder 3 Zeichen abzuschneiden? Dann ist das aber der falsche Befehl.

Graw 28. Apr 2017 10:36

AW: Datentypen von String zu Byte und wieder zurück
 
:? Ja das Stimmt.. Ich will von dem String die ersten 12 Zeichen wegschneiden und am Ende die letzten drei.


Ist es so besser?

Code:
BEGIN

          Delete(PBuf10,0,12);
          Delete(PBuf20,0,12);
          Delete(PBuf10,length(PBuf10)-3,3);
          Delete(PBuf10,length(PBuf20)-3,3);


          if (length(PBuf10) = length(PBuf20)) then
          begin
           PBuf := Convert(PBuf10,PBuf20);
           PBufSend := PBuf;      
          end;
         
END;

Es sind alle Buffer mit string deklariert. Die Strings sind alle 60 Zeichen lang.

Uwe Raabe 28. Apr 2017 11:04

AW: Datentypen von String zu Byte und wieder zurück
 
Zitat:

Zitat von Graw (Beitrag 1369368)
Ist es so besser?

Welche Delphi-Version und welche Zielplattform?

Graw 28. Apr 2017 11:07

AW: Datentypen von String zu Byte und wieder zurück
 
Delphi 2010 Windows 7


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz