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