Hallo alle zusammen!
Nach ganz langer Zeit habe ich mich dazu entschieden, wieder mal etwas in Delphi zu schreiben und hab als Fingerübung mit einem rekursiven Mergesort angefangen. Nun will allerdings Delphi nicht so wie ich. Zum Testen habe ich ein kleines Beispiel gemacht um zu überprüfen, ob das in dem speziellen Fall so ist oder ob ich das generell falsch implementiere. Der Output ist konsequent 'Inkompatible Typen'.
Die SuFu habe ich bereits ausgiebig genutzt, ebenso Google und Konsorten. Jede Erklärung erscheint mir schlüssig und ich habe es genauso gemacht, wie die Fehlerbehebung beschrieben wird, aber der Fehler taucht dennoch auf.
Bitte erbarmet euch, ihr Delphi-Coder, und helft einem Delphi-Anfänger
Hier einmal der Quellcode:
(Ja, er ist nicht hübsch und auch nicht gut benannt et cetera - es war auch nur eine schnelle Anwendung um zu überprüfen, ob es an mir liegt oder an Delphi. Ich schätze mal es liegt an mir und ich habe irgendeinen Hinweis im Forum dazu überlesen.)
Delphi-Quellcode:
type
TArray = array of integer;
procedure TForm1.Button1Click(Sender: TObject);
var
dan,stan: array of integer;
k: integer;
begin
SetLength(dan,ListBox1.Items.Capacity);
SetLength(stan,ListBox1.Items.Capacity);
for k:=0 to ListBox1.Items.Capacity-1 do
dan[k] := StrToInt(ListBox1.Items[k]);
stan := up(dan);
for k:=0 to ListBox1.Items.Capacity-1 do
ListBox2.Items.Add(IntToStr(stan[k]));
end;
function TForm1.up(i: array of integer):TArray;
var
k: integer;
begin
for k:=0 to High(i)-1 do
Result[k] := 2*i[k];
end;