AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Verschieben in einem Speicherbereich.
Thema durchsuchen
Ansicht
Themen-Optionen

Verschieben in einem Speicherbereich.

Ein Thema von shifter · begonnen am 15. Nov 2005 · letzter Beitrag vom 15. Nov 2005
Antwort Antwort
Seite 2 von 2     12   
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Verschieben in einem Speicherbereich.

  Alt 15. Nov 2005, 20:17
Was ist den XY? Dein Record?
Falls ja: Bei dem Record musst du natürlich einen Zeiger darauf übergeben. Beim String musst du das nur nicht tun, da es tatsächlich schon ein Zeiger ist. Nur wird dir durch die Compiler-Magic was andres vorgegaukelt.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Verschieben in einem Speicherbereich.

  Alt 15. Nov 2005, 20:29
Also ich denke so :

Delphi-Quellcode:
Type _SIGN = Record
  h : String[32];
  typ : Byte ;
  comp : Boolean;
End;
p_sign = ^_sign;

Var
   Po : p_sign;
   Sign : _SIGN;
   buf : Array [0.511] of Byte;

Begin

   FillMemory( @buf, 512, 0 );
   MoveMemory( @buf, po , Sizeof( SIGN ));

...
Ich bin aber mit dem ergebnis nicht 100% sicher :
Nach jedem versicht ohne irgend etwas zu ändern sieht der ergebnis anders aus

gruss
seba
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#13

Re: Verschieben in einem Speicherbereich.

  Alt 15. Nov 2005, 20:35
Zeig mal den Code, wo du po initialisierst.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#14

Re: Verschieben in einem Speicherbereich.

  Alt 15. Nov 2005, 20:44


Meinst Du :
Delphi-Quellcode:

  po := @sign;
Delphi-Quellcode:
Type _SIGN = Record
  h : String[32];
  typ : Byte ;
  comp : Boolean;
End;
p_sign = ^_sign;

Var
   Po : p_sign;
   Sign : _SIGN;
   buf : Array [0.511] of Byte;

Begin
  sign.h :='blabla';

   po := @sign;
   FillMemory( @buf, 512, 0 );
   MoveMemory( @buf, po , Sizeof( SIGN ));

...
Wenn ich es so mache ist der ergebniss immer noch nicht ganz ok,
oder ich habe vieleicht andere vorstellung von der erg.
  Mit Zitat antworten Zitat
shifter

Registriert seit: 2. Jan 2005
175 Beiträge
 
Delphi 2007 Enterprise
 
#15

Re: Verschieben in einem Speicherbereich.

  Alt 15. Nov 2005, 20:49
OK ich habe geschaft

oder besse gesaht wir haben geschaft.

Ich habe Stat:
Delphi-Quellcode:
Type _SIGN = Record
  h : String[32];
  typ : Byte ;
  comp : Boolean;
End;
So Gemacht :
Delphi-Quellcode:
Type _SIGN = Record
  h : String;
  typ : Byte ;
  comp : Boolean;
End;
Und das hat die geschichte ausser bahn geworfen.

Gruss
seba
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Verschieben in einem Speicherbereich.

  Alt 15. Nov 2005, 20:50
Ein hoch auf den roten Kasten...

Gut.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 13:28 Uhr.
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