Zitat von
chaosben:
Danke danke ...
Soll das eine Aufforderung sein, daß wir endlich mit der Fachsimpelei aufhören sollen?
Hm, deine
Unit sieht sehr nach einer C-Übersetzung aus.
Beispelsweise schon in der ersten Funktion cpkey():
Delphi-Quellcode:
procedure cpkey(into : PLongWord);
var
from, endp : PLongWord;
begin
from:=@KnL;
endp:=@KnL[31];
while (Integer(from)<=Integer(endp)) do
begin
into^:=from^;
Inc(into);
Inc(from);
end;
end;
Wäre es da nicht sinnvoller, etwas daraus zu schustern, was mehr nach Pascal aussieht und für Pascal-Puristen die Lesbarkeit etwas erhöht? Beispielsweise:
Delphi-Quellcode:
procedure cpkey(
var into:
array of LongWord);
// oder passender selbstdefinierter Array-Typ, ich habe
// mir die Unit nicht so genau angesehen um zu wissen,
// ob ein Array mit statischer Länger hier sinnvoller
// wäre als ein Open Array
var
i: Integer;
begin
for i := 0
to 31
do
into[i] := KnL[i];
end;
Iss kürzer, spart Variablen auf'm Stack und liest sich einfach besser, wenn man C-Code nicht gewöhnt ist.
Wenn in C Pointer übergeben werden, in die die Funktion Werte schreibt, kann man das sehr oft mit einem einfachen var-Parameter nach Pascal übersetzen. Dadurch verwirrt man Leser nicht mit unnötiger Pointerarithmetik.
Ich habe mir die restlichen Funktionen nicht genauer angeschaut, aber auf den ersten Blick würde ich sagen, daß man viele Dinge auf ähnliche Art und Weise mehr pascalisifizieren könnte.
Außerdem ist mir bei deinen Arrays aufgefallen, daß das Array ByteBit aus Words besteht, obwohl die Werte nur Byte-Länge haben. Hat das einen Grund?