Ich möchte mit den beiden Funktionen ein Multiarray erstellen. Die Daten sollen identisch diesem Array sein:
[Array]$mnu = @( @(0, "Datei", @( @(1, "Öffnen"), @(2, "Speichern"), @(3, "-"), @(4, "Beenden")) ), @(5, "Bearbeiten", @( @(6, "Neu"), @(7, "Rückkängig"), @(8, "Wiederhohlen")) ), @(9, "Hilfe", @( @(10, "Hilfe"), @(11, "Info")) ) )
Hier meine Funktionen und der Code mit dem ich dieses Array erstellen möchte!
function cb-menu-submenu-item-add (){
param(
[int]$id,
[string]$name,
[array]$submenu = @()
)
$submenu += ,@($id,$name)
return $submenu
}
function cb-menu-menu-item-add(){
param(
[int]$id,
[string]$name,
[array]$submenu,
[array]$menu = @()
)
$menu += ,@($id,$name,$submenu)
return $menu
}
$sub = cb-menu-submenu-item-add -id 1 -name "Öffnen"
$sub = cb-menu-submenu-item-add -id 2 -name "Speichern" -submenu $sub
$sub = cb-menu-submenu-item-add -id 3 -name "-" -submenu $sub
$sub = cb-menu-submenu-item-add -id 4 -name "Beenden" -submenu $sub
$menu = cb-menu-menu-item-add -id 0 -name "Datei" -submenu $sub
$sub = cb-menu-submenu-item-add -id 6 -name "Neu"
$sub = cb-menu-submenu-item-add -id 7 -name "Rückkängig" -submenu $sub
$sub = cb-menu-submenu-item-add -id 8 -name "Wiederhohlen" -submenu $sub
$menu = cb-menu-menu-item-add -id 5 -name "Bearbeiten" -submenu $sub -menu $menu
$sub = cb-menu-submenu-item-add -id 10 -name "Hilfe"
$sub = cb-menu-submenu-item-add -id 11 -name "Info" -submenu $sub
$menu = cb-menu-menu-item-add -id 9 -name "Hilfe" -submenu $sub -menu $menu
$mnu | out-string > "d:\mnu.txt"
$menu | out-string > "d:\menu.txt"Warum ist $mnu <> $menu? Wo ist mein Denkfehler? Oder ....
Für jede Hilfe bin ich dankbar!
Christian