[linux-l] dialog-Rätsel - Nachschlag (verspätet)

Lutz Meinert lutz.meinert at madvedge.de
Mi Okt 16 00:04:42 CEST 2002


Vielen Dank an Rolf Bünning, Steffen Detmer und Kendy Kutzner, die so
bravorös Licht in die dunklen Gefilde der Shell gebracht haben. 

Die Array-Variante habe ich ausprobiert und funktioniert auch. Da ich
aber für jeden einzelenen Optionsparameter einen Array-Eintrag meiner
Funktion dynamisch als Parameter übergeben muss, gibts bei einer
längeren Auswahlliste eine ziemlich lange Schlange an
Funktionsparametern (pro Eintrag 6 Arrays!). 

Deshalb fand ich den "script-on-fly"-Vorschlag von Kendy Kutzner am
praktikabelsten. 
Dementsprechend habe ich die Funktion für eine dynamisch erzeugte
Radiobox umgebaut. Ein Programmbeispiel: 

function GF_RadioBox () 
{ 
echo -en "dialog --title \"Corp\" --radiolist \"$(cat $gvMsgDir/$1)\" \ 
25 80 $(wc -l $gvMsgDir/$2 | sed -e s/[a-zA-Z].*// -e s/" "*//)" >
$$tmp.txt 
cat $gvMsgDir/$2 >> $$tmp.txt 
source $$tmp.txt 
rm -f $$tmp.txt 
} 

# "$(cat $gvMsgDir/$1)\" gibt Menütext vom Text-File nonRootDir aus 
# 
# $(wc -l $gvMsgDir/$2 | sed -e s/[a-zA-Z].*// -e s/" "*//) erkennt 
# automatisch, wie viele Zeilen = Auswahlmöglichkeiten im zweiten 
# Text-File (menuRootDir) vorhanden sind. Die explizite Angabe eines 
# Arguments kann somit entfallen. 
# 
# rm -f $$tmp.txt - Müll wird aufgeräumt. 

Somit benötigt der Aufruf für diese Funktion nur zwei Argumente, egal
wie lang die Auswahlliste auch immer ist: 
GF_RadioBox nonRootDir menuRootDir 

Allerdings wird die Länge der Auswahlliste durch die Höhe des
dialog-Fensters bestimmt. Und jetzt wird's übel. 
Weil das ein neues (dialog)-Thema ist, hab' ich ihm 'ne neue Mail
spendiert...

Lutz











Mehr Informationen über die Mailingliste linux-l