added dynamicarray documentation from Marton Papp

git-svn-id: trunk@8940 -
This commit is contained in:
vincents 2006-03-15 20:55:53 +00:00
parent cc3cbbe033
commit 0ee592fa18
3 changed files with 384 additions and 421 deletions

1
.gitattributes vendored
View File

@ -745,6 +745,7 @@ docs/xml/lcl/spin.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/stdactns.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/stdctrls.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/stringhashlist.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/tarrayexample.pas svneol=native#text/plain
docs/xml/lcl/textstrings.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/toolwin.xml svneol=LF#text/xml eol=lf
docs/xml/lcl/translations.xml svneol=LF#text/xml eol=lf

View File

@ -1,426 +1,315 @@
<?xml version="1.0" encoding="ISO8859-1"?>
<?xml version="1.0"?>
<fpdoc-descriptions>
<package name="lcl">
<!--
<package name="lcl">
<!--
====================================================================
DynamicArray
====================================================================
-->
<module name="DynamicArray">
<short></short>
<descr>
</descr>
<!-- unresolved type reference Visibility: default -->
<element name="Classes">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="SysUtils">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- object Visibility: default -->
<element name="EArray">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- procedure type Visibility: default -->
<element name="TOnNotifyItem">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TOnNotifyItem.Sender">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TOnNotifyItem.Col">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TOnNotifyItem.Row">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TOnNotifyItem.Item">
<short></short>
</element>
<!-- procedure type Visibility: default -->
<element name="TOnExchangeItem">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TOnExchangeItem.Sender">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TOnExchangeItem.Index">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TOnExchangeItem.WithIndex">
<short></short>
</element>
<!-- object Visibility: default -->
<element name="TArray">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- variable Visibility: private -->
<element name="TArray.FCols">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- variable Visibility: private -->
<element name="TArray.FOnDestroyItem">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- variable Visibility: private -->
<element name="TArray.FOnNewItem">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- function Visibility: private -->
<element name="TArray.Getarr">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- function result Visibility: default -->
<element name="TArray.Getarr.Result">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Getarr.Col">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Getarr.Row">
<short></short>
</element>
<!-- procedure Visibility: private -->
<element name="TArray.Setarr">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Setarr.Col">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Setarr.Row">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Setarr.Avalue">
<short></short>
</element>
<!-- procedure Visibility: private -->
<element name="TArray.ClearCol">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ClearCol.L">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ClearCol.Col">
<short></short>
</element>
<!-- procedure Visibility: private -->
<element name="TArray.Aumentar_Rows">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Aumentar_Rows.col">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Aumentar_Rows.Rows">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Aumentar_Rows.L">
<short></short>
</element>
<!-- procedure Visibility: private -->
<element name="TArray.DestroyItem">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DestroyItem.Col">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DestroyItem.Row">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DestroyItem.P">
<short></short>
</element>
<!-- constructor Visibility: public -->
<element name="TArray.Create">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- destructor Visibility: public -->
<element name="TArray.Destroy">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.SetLength">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.SetLength.Cols">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.SetLength.Rows">
<short></short>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.DeleteColRow">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DeleteColRow.IsColumn">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DeleteColRow.Index">
<short></short>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.MoveColRow">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.MoveColRow.IsColumn">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.MoveColRow.FromIndex">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.MoveColRow.ToIndex">
<short></short>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.ExchangeColRow">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ExchangeColRow.IsColumn">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ExchangeColRow.Index">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ExchangeColRow.WithIndex">
<short></short>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.Clear">
<short></short>
<descr>
</descr>
<errors>
</errors>
<seealso>
</seealso>
</element>
<!-- property Visibility: public -->
<element name="TArray.Arr">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Arr.Col">
<short></short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Arr.Row">
<short></short>
</element>
<!-- property Visibility: public -->
<element name="TArray.OnDestroyItem">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
<!-- property Visibility: public -->
<element name="TArray.OnNewItem">
<short></short>
<descr>
</descr>
<seealso>
</seealso>
</element>
</module> <!-- DynamicArray -->
</package>
-->
<module name="DynamicArray">
<short>It implements a resizable 2d array containing pointers.</short>
<descr></descr>
<!-- unresolved type reference Visibility: default -->
<element name="Classes">
<short/>
<descr/>
<seealso/>
</element>
<!-- unresolved type reference Visibility: default -->
<element name="SysUtils">
<short/>
<descr/>
<seealso/>
</element>
<!-- object Visibility: default -->
<element name="EArray">
<short/>
<descr/>
<errors/>
<seealso/>
</element>
<!-- procedure type Visibility: default -->
<element name="TOnNotifyItem">
<short>Type for event handling</short>
<descr/>
<seealso/>
</element>
<!-- argument Visibility: default -->
<element name="TOnNotifyItem.Sender">
<short>instance of the TArray that causes the event</short>
</element>
<!-- argument Visibility: default -->
<element name="TOnNotifyItem.Col">
<short>The related Col of the event</short>
</element>
<!-- argument Visibility: default -->
<element name="TOnNotifyItem.Row">
<short>The related Row of the event</short>
</element>
<!-- argument Visibility: default -->
<element name="TOnNotifyItem.Item">
<short>The related Item of the event</short>
</element>
<!-- procedure type Visibility: default -->
<element name="TOnExchangeItem">
<short></short>
<descr/>
<seealso/>
</element>
<!-- argument Visibility: default -->
<element name="TOnExchangeItem.Sender">
<short>The instance of the TArray that causes the Exchange event</short>
</element>
<!-- argument Visibility: default -->
<element name="TOnExchangeItem.Index">
<short/>
</element>
<!-- argument Visibility: default -->
<element name="TOnExchangeItem.WithIndex">
<short/>
</element>
<!-- object Visibility: default -->
<element name="TArray">
<short>It implements a resizable 2d array.</short>
<descr/>
<errors/>
<seealso/>
</element>
<!-- variable Visibility: private -->
<element name="TArray.FCols">
<short>It contains the first dimension of the array.</short>
<descr/>
<seealso/>
</element>
<!-- variable Visibility: private -->
<element name="TArray.FOnDestroyItem">
<short>A user-defined function to be called when an item is destroyed.</short>
<descr>This can happen in ClearCol,Clear,SetLength</descr>
<seealso/>
</element>
<!-- variable Visibility: private -->
<element name="TArray.FOnNewItem">
<short>A user-defined function to be called when a new item is created.</short>
<descr/>
<seealso/>
</element>
<!-- function Visibility: private -->
<element name="TArray.Getarr">
<short>Returns the stored item(actually pointer) in array</short>
<descr/>
<errors/>
<seealso/>
</element>
<!-- function result Visibility: default -->
<element name="TArray.Getarr.Result">
<short>the stored item,pointer.</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Getarr.Col">
<short>the first dimension of the array.</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Getarr.Row">
<short>the second dimension of the array.</short>
</element>
<!-- procedure Visibility: private -->
<element name="TArray.Setarr">
<short>Sets an item in the array [col][row].</short>
<descr/>
<errors/>
<seealso/>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Setarr.Col">
<short>the first dimension of the array.</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Setarr.Row">
<short>the second dimension of the array.</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Setarr.Avalue">
<short>the value to be stored.</short>
</element>
<!-- procedure Visibility: private -->
<element name="TArray.ClearCol">
<short>Clears the given TList</short>
<descr>The given TList is assumed to be the COL of the array.</descr>
<errors/>
<seealso/>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ClearCol.L">
<short>Tlist to be cleared.</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ClearCol.Col">
<short>the first dimension of the array.</short>
</element>
<!-- procedure Visibility: private -->
<element name="TArray.Aumentar_Rows">
<short>Extends a row to its new size(Rows)</short>
<descr/>
<errors/>
<seealso/>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Aumentar_Rows.col">
<short>current column</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Aumentar_Rows.Rows">
<short>new row size</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Aumentar_Rows.L">
<short>The row to be operated on.</short>
</element>
<!-- procedure Visibility: private -->
<element name="TArray.DestroyItem">
<short>event handler called when an item is destroyed.</short>
<descr/>
<errors/>
<seealso/>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DestroyItem.Col">
<short>the column of the destroyed item.</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DestroyItem.Row">
<short>the row of the destroyed item.</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DestroyItem.P">
<short>the item itself before it is unlinked.</short>
</element>
<!-- constructor Visibility: public -->
<element name="TArray.Create">
<short></short>
<descr/>
<errors/>
<seealso/>
<example file="tarrayexample.pas" />
</element>
<!-- destructor Visibility: public -->
<element name="TArray.Destroy">
<short></short>
<descr/>
<errors/>
<seealso/>
<example file="tarrayexample.pas" />
</element>
<!-- procedure Visibility: public -->
<element name="TArray.SetLength">
<short>Resizes the array.</short>
<descr/>
<errors/>
<seealso/>
<example file="tarrayexample.pas" />
</element>
<!-- argument Visibility: default -->
<element name="TArray.SetLength.Cols">
<short>new column size</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.SetLength.Rows">
<short>new row size</short>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.DeleteColRow">
<short>Deletes a column or a row of an array.</short>
<descr/>
<errors/>
<seealso/>
<example file="tarrayexample.pas" />
</element>
<!-- argument Visibility: default -->
<element name="TArray.DeleteColRow.IsColumn">
<short>Do you want to delete a column?</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.DeleteColRow.Index">
<short>index of a row or a column</short>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.MoveColRow">
<short>Moves a column to another column or a row to another row.</short>
<descr/>
<errors/>
<seealso/>
<example file="tarrayexample.pas" />
</element>
<!-- argument Visibility: default -->
<element name="TArray.MoveColRow.IsColumn">
<short>Do you want to move a column?</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.MoveColRow.FromIndex">
<short>source</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.MoveColRow.ToIndex">
<short>destination</short>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.ExchangeColRow">
<short>Swaps two rows or two columns.</short>
<descr/>
<errors/>
<seealso/>
<example file="tarrayexample.pas" />
</element>
<!-- argument Visibility: default -->
<element name="TArray.ExchangeColRow.IsColumn">
<short>Do you want to move a column?</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ExchangeColRow.Index">
<short>index of row or column</short>
</element>
<!-- argument Visibility: default -->
<element name="TArray.ExchangeColRow.WithIndex">
<short>index of row or column</short>
</element>
<!-- procedure Visibility: public -->
<element name="TArray.Clear">
<short>Removes all elements from the array.</short>
<descr/>
<errors/>
<example file="tarrayexample.pas" />
<seealso/>
</element>
<!-- property Visibility: public -->
<element name="TArray.Arr">
<short>Reads/Writes an element from the array.</short>
<descr/>
<seealso/>
<example file="tarrayexample.pas" />
</element>
<!-- argument Visibility: default -->
<element name="TArray.Arr.Col">
<short/>
</element>
<!-- argument Visibility: default -->
<element name="TArray.Arr.Row">
<short/>
</element>
<!-- property Visibility: public -->
<element name="TArray.OnDestroyItem">
<short>User-defined function which is called when an item is destroyed.</short>
<descr/>
<seealso/>
</element>
<!-- property Visibility: public -->
<element name="TArray.OnNewItem">
<short>User-defined function which is called when an item is created.</short>
<descr/>
<descr/>
<seealso/>
</element>
</module>
<!-- DynamicArray -->
</package>
</fpdoc-descriptions>

View File

@ -0,0 +1,73 @@
program tarrayexample;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ add your units here },strings,DynamicArray;
type
Tarrayexampleclass=class
private
procedure doDestroyItem(Sender: Tobject; Col,Row: Integer;var Item: Pointer);
end;
procedure Tarrayexampleclass.doDestroyItem(Sender: Tobject; Col,Row: Integer;
var Item: Pointer);
begin
strdispose(Item);
end;
var FCols: Tarray;
var ex:Tarrayexampleclass;
begin
FCols:= TArray.Create;
ex:= Tarrayexampleclass.Create;
FCols.OnDestroyItem:=@ex.doDestroyItem;
FCols.SetLength(8,8);
//FCols.OnNewItem:=@doNewItem;
FCols.arr[0,0]:=StrNew('string1');
FCols.arr[4,7]:=StrNew('string2');
FCols.arr[4,3]:=StrNew('string3');
writeln('0,0:'+Pchar(FCols.arr[0,0]));
writeln('4,7:'+Pchar(FCols.arr[4,7]));
FCols.MoveColRow(true,4,5);
writeln('after moving column 4 to 5');
writeln('5,7:'+Pchar(FCols.arr[5,7]));
writeln('before exchanging row 7 and 3:');
writeln('5,3:'+Pchar(FCols.arr[5,3]));
writeln('5,7:'+Pchar(FCols.arr[5,7]));
FCols.ExchangeColRow(false,7,3);
writeln('after exchanging row 7 and 3:');
writeln('5,3:'+Pchar(FCols.arr[5,3]));
writeln('5,7:'+Pchar(FCols.arr[5,7]));
FCols.DeleteColRow(true,5);
writeln('after deleting column 5:');
try
writeln('5,3:'+Pchar(FCols.arr[5,3])); //this raises an exception
except
writeln ('An exception has taken place be because 5,3 does not exist.');
end;
try
writeln('5,7:'+Pchar(FCols.arr[5,7])); //this raises an exception
except
writeln ('An exception has taken place be because 5,7 does not exist.');
end;
FCols.Clear; writeln('after clear:');
try
writeln('4,7:'+Pchar(FCols.arr[4,7])); //this raises an exception
except
writeln ('An exception has taken place be because 4,7 does not exist.');
end;
FCols.Destroy;
ex.Destroy;
readln;
end.