Hallo Community!
Heute habe ich mich mal ein bisschen mit statischen Arrays befasst, in
www.dsdt.info/grundl...sprache/prozfunk.php (siehe Array-Parameter) habe ich gelesen dass es moeglich ist Arrays an Funktionen zu uebergeben indem man sie als Datentyp definiert.
Da ich aber direkt von C hierher komme erscheint mir diese Art das zu machen etwas fremd und ich habe mal etwas ausprobiert:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure dim1display(a : pinteger; e : integer; lb : TListBox); var c : integer;
begin for c := 0 to (e - 1) do begin lb.items.add(inttostr(c) + ': ' + inttohex(a^, 2)); inc(a); end; end;
procedure TForm1.Button4Click(Sender: TObject); var a: array [0..10] of integer; i: integer;
begin
for i := 0 to 10 - 1 do begin a[i] := 48 + i; end;
dim1display(@a, 10, listbox1); end; |
In TForm1.Button4Click wird das Array 'a' mit 10 Integer-Elementen gefuellt 0 = 48, 1 = 49 usw, die Adresse von 'a' wird dann an die Prozedur dim1display uebergeben.
Und genau dort beginnen meine Fragen:
1.: Ist diese Vorgehensweise in Delphi ueberhaupt ueblich bzw. notwendig?
2.: Ich haette gerne mehr Informationen ueber Zeigerarithmetik unter Delphi, hat jemand einige empfehlenswerte Internetseiten?
Ich habe in dem Beispiel die Adresse von 'a' mit einem inc() erhoeht, dabei scheint er automatisch 'adresse = adresse + sizeof(integer)' durchzufuehren? - Wenn das fuer Zeigerarithmetik nicht vorgesehen ist nehmt es mir nicht krumm, deswegen frage ich ja
lg, presswurst