Tips

ある配列から別の配列に配列要素を移動させること

日付2002/02/08
ID01-833
バージョン6.5.x and 6.7.x
プラットフォームWindows and Mac OS

下記メソッドは、ある配列から別の配列にあなたが配列要素を移動させることを可能にします。このメソッドは任意の配列と共にそれを使用することができる、総括的なメソッドです。

`Project Method: MoveArrayElement
`$1 - a pointer to the array whose
` element will be moved from
` $2 - a pointer to the array to which the element will be moved to
`By: Add Komoncharoensiri - 4D, Inc.

C_POINTER($1;$2)
C_LONGINT($selected;$lastelement)
If (($1->)>0)
$selected:=Find in array($1->;$1->{$1->})
$lastelement:=Size of array($2->)
INSERT ELEMENT($2->;$lastelement+1)
$2->{$lastelement+1}:=$1->{$selected}
DELETE ELEMENT($1->;$selected;1)
End if

このメソッドがどのようにうまくいくか確かめるために、次の例を考慮しましょう:

スクロールすることができる2つのエリアが作られます:sArray1とsArray2。両方のオブジェクトは持っています、そのダブルクリックされたイベントが選択されました。



sArray1はそのオブジェクトメソッドに次のコードを持っています。

Case of
: (Form event=On Load )
ARRAY TEXT(sArray1;5)
sArray1{1}:="Joe@yahoo.com"
sArray1{2}:="Sammy@aol.com"ハsArray1{3}:="Add@4d.com"
ハsArray1{4}:="Mike2002@Nowhere.com"
sArray1{5}:="James007@bond.com"
: (Form event=On Double Clicked )
MoveArrayElement (->sArray1;->sArray2)
End case

sArray2はそのオブジェクトメソッドに次のコードを持っています。

Case of
: (Form event=On Load )
ARRAY TEXT(sArray2;0)
: (Form event=On Double Clicked )
MoveArrayElement (->sArray2;->sArray1)
End case

ユーザがコンタクト電子メールリスト中の要素をダブルクリックする場合、要素は「コンタクト電子メール」リストから取り除かれ加えました、に、その「送る」ために、リスト。下記のピクシャはそれらの初期の状態で両方のスクロールすることができるオブジェクトを示します。



ユーザがSammy@aol.comの上でダブルクリックした後、また「コンタクト電子メール」リストからのAdd@4d.comを加えます。



ユーザがSammy@aol.comの上でダブルクリックした後、そのリストから「送る」ために: