![]() |
|
14 פיט - יפלד | |
![]() |
|
ישאר דומע | םיפיטה דומע | רנק ודיע תאמ |
![]() |
...הצירה ןמזב ךרעמה לדוג תא תונשל רשפא ,C++-ו C-ב ומכ קיסיבב ,עודיכ ? (ללכב יפלדו) לקספ תפשב הז תא השוע ינא ךיא :הליעי לבא ,"תכלכולמ" דואמ הרוצב הז תא תושעל רשפא יפלדב ,ןכבו יפלדל םיפיט לע דנלרוב לש רתאהמ חוקל אבה דוקה* Type TSomeArrayElement = integer; PSomeArray = ^TSomeArray; TSomeArray = array[0..0] of TSomeArrayElement; procedure CreateArray(var TheArray : PSomeArray; NumElements : longint); begin GetMem(TheArray, sizeof(TSomeArrayElement) * NumElements); end; procedure FreeArray(var TheArray : PSomeArray; NumElements : longint); begin FreeMem(TheArray, sizeof(TSomeArrayElement) * NumElements); end; procedure ReSizeArray(var TheArray : PSomeArray; OldNumElements : longint; NewNumElements : longint); var TheNewArray : PSomeArray; begin GetMem(TheNewArray, sizeof(TSomeArrayElement) * NewNumElements); if NewNumElements > OldNumElements then Move(TheArray^, TheNewArray^, OldNumElements * sizeof(TSomeArrayElement)) else Move(TheArray^, TheNewArray^, NewNumElements * sizeof(TSomeArrayElement)); FreeMem(TheArray, sizeof(TSomeArrayElement) * OldNumElements); TheArray := TheNewArray; end; {This procedure demonstrate how to resize the Array in a push of a button :-) } procedure TForm1.Button1Click(Sender: TObject); var p : PSomeArray; i : integer; begin {$IFOPT R+} {$DEFINE CKRANGE} {$R-} {$ENDIF} CreateArray(p, 200); for i := 0 to 199 do p^[i] := i; ResizeArray(p, 200, 400); for i := 0 to 399 do p^[i] := i; ResizeArray(p, 400, 50); for i := 0 to 49 do p^[i] := i; FreeArray(p, 50); {$IFDEF CKRANGE} {$UNDEF CKRANGE} {$R+} {$ENDIF} end; |