Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Record-Felder in Prozedur ändern? (https://www.delphipraxis.net/134287-record-felder-prozedur-aendern.html)

ernschd 19. Mai 2009 11:18


Record-Felder in Prozedur ändern?
 
Hi,

ich bin mal wieder dran, ein altes Pascal in Delphi umzusetzen.
Natürlich funktioniert der Code im Original, nur enthalten die Felder in meinem "neuen" Code unsinnige Werte.

Delphi-Quellcode:
// der Record
type H_TYP = record
    H24 : String [7];
    H25 : String [30];
    H26 : Byte;
end;

type H_Zeiger = ^H_Typ;

// mein Sorgenkind
procedure changeH(var Woher; var Wohin);
var Quelle : String absolute Woher;
    Ziel : String absolute Wohin;
    Dummy : string;
begin
    Dummy := Copy(Quelle, 4, 7);
    Ziel := Dummy;
end;

...

// das Hauptprogramm
var H_N : H_Zeiger;
    dummy: string;
begin

    // wird nur zum Testen verwendet
    dummy := 'dasisteinsuperlangerstring';

    H_N := Nil;
    New(H_N);
    with H_N^ do begin
       H24 := ''; H25 := '';
       changeH(dummy,H24);      
    end;
    Dispose(H_N);
end;
H24 enthält nun irgendwelche Ansammlungen von Zeichen, aber keinesfalls den gewünschten Teil des Strings ('isteins').

Was mache ich falsch? Wenn ich H24 durch eine Hilfsvariable ersetzte, dann klappt alles wunderbar.
Leider ist das aber in meinem Programm nicht möglich, da sich der Feldtyp im Record jedesmal ändert.

Vielen Dank.

Ernschd


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:13 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