C_VARIANT pro ukládání různých typů hodnot

Automaticky přeloženo z Deepl

Někdy chcete psát kód tak, aby mohl pracovat s různými typy proměnných, což platí zejména pro generické kódování. Používání ukazatelů může ztížit čtení a ladění kódu. Někdy to není možné vůbec, například když chcete generickou proměnnou přiřadit objektu formuláře jako zdroji dat.

Nyní máte k dispozici nový příkaz, který vám umožní deklarovat proměnnou, která může uchovávat různé typy hodnot. Pozdravte nový příkaz C_VARIANT příkazu!

Otestujte typ své varianty

Datový typ varianta lze použít k reprezentaci jiných datových typů (kromě polí). To znamená, že typ proměnné je variantní, ale typ hodnoty může být Text, Longint nebo jiný platný typ. Můžete použít příkaz Type příkaz pro zjištění typu proměnné a příkaz Value type příkaz pro zjištění typu hodnoty:

C_VARIANT($variant)
$t :=Type($variant) // type: variant
$vt :=Value type($variant) // value type: undefined

$variant :=6.5
$t :=Type($variant) // type: variant
$vt :=Value type($variant) // value type: real

$variant :="Hello world"
$t :=Type($variant) // type: variant
$vt:=Value type($variant) // value type: text

varianta jako parametr metody

Někdy se také může stát, že budete potřebovat vytvořit metody, které přijímají parametry několika typů.Nyní již není pot řeba ukazatelů, můžete vytvářet metody, které přijímají datový typ variant jako parametr:

C_COLLECTION($1)
C_VARIANT ($2)

if ($2#Null)

$1 .push($2)
end if

A samozřejmě můžete také vytvářet metody, které vracejí variantní typ:

C_TEXT($1;$JSFunction)
C_VARIANT ($0;$Result)

$JSFunction :=$1

WA EXECUTE JAVASCRIPT FUNCTION (MyWArea;$JSFunction;$Result)

$0 :=$Result

Datový typ variant může být užitečný v mnoha ohledech, zejména když potřebujete použít hodnoty Null nebo Undefined. Další podrobnosti najdete v dokumentačním centru.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.