staging.inyokaproject.org

Dialog checklist dynamische Optionen

Status: Ungelöst | Ubuntu-Version: Ubuntu GNOME 16.04 (Xenial Xerus)
Antworten |

m17ch

Avatar von m17ch

Anmeldungsdatum:
5. Juni 2018

Beiträge: 17

Moin,

seit Stunden verzweifle ich nun bereits an einer Kleinigkeit mit "Dialog".

Und zwar lese ich nach einer Usereingabe eine Datenbank entsprechend aus und möchte mittels "dialog --checklist" die Möglichkeit bieten Mehrfachauswahl zur Weiterverarbeitung der gefundenen Strings zu treffen. Weil die anzuzeigenden Auswahlmöglichkeiten in der Checkliste je nach Usereingabe dynamisch und variabel sind, muss die Auswahleingabe natürlich ebenso dynamisch sein, leider hat bislang keiner meiner Versuche vernünftig geklappt, das zu bewerkstelligen. Weder mittels cat und entsprechenden Strings in einer Datei abgelegt, noch mit zeilenweise ausgelesenen Strings aus Dokumenten oder Variablen etc.

1
2
3
4
5
dialog --cr-wrap --quoted --checklist 'Choose OS:' 98 168 68 \
1 Optioneins off \
2 Optionzwei on \
3 Optiondrei off \
4 Optionvier off

Im Prinzip möchte ich nichts anderes als das ganze "sinngemäß" so aufzubauen, dass ich einen Zahlenwert angebe, z.B. "19", dann dialog übermittelt bekommt es soll 19 Optionen zur Auswahl geben und diese dann zeilenweise einbinden lässt. Z.B. habe ich eine Datei wie folgt:

kasfdXxycew1314_STRING-öpskigf*
IRdsfkje429095_STRING=dscwq#
93596jsvcu2249--STRING+'#
lvka,.24234;STRING.__#*

Dann Soll die dialog --checklist entsprechend diese Strings variabel anzeigen. Eben in Anzahl und String gleichend.

Das kann doch nicht so schwer sein..? Hat da jemand eine möglichst simple Idee parat?

Dankesehr

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

Herzlich willkommen hier im Forum!

dialog braucht keine Angabe der Anzahl. Du übergibst einfach die Optionen, die da sind. Du erklärst allerdings nicht, wie die Eingabedatei in Dialogeinträge übersetzt werden soll. Willst Du die einfach durchnummerieren? Sind in den Zeilen nie Leerzeichen? Außerdem fehlt die Erklärung, woher die Information kommen soll, was selektiert ist und was nicht.

Im einfachsten Fall geht

1
dialog --checklist TITEL 20 10 10 $(cat -n x | sed 's#$# off#')

Das hängt aber davon ab, was in der Datei steht. Mit Deiner Datei könnte es da Schwierigkeiten geben.

m17ch

(Themenstarter)
Avatar von m17ch

Anmeldungsdatum:
5. Juni 2018

Beiträge: 17

rklm schrieb:

Herzlich willkommen hier im Forum!

dialog braucht keine Angabe der Anzahl. Du übergibst einfach die Optionen, die da sind. Du erklärst allerdings nicht, wie die Eingabedatei in Dialogeinträge übersetzt werden soll. Willst Du die einfach durchnummerieren? Sind in den Zeilen nie Leerzeichen? Außerdem fehlt die Erklärung, woher die Information kommen soll, was selektiert ist und was nicht.

Im einfachsten Fall geht

1
dialog --checklist TITEL 20 10 10 $(cat -n x | sed 's#$# off#')

Das hängt aber davon ab, was in der Datei steht. Mit Deiner Datei könnte es da Schwierigkeiten geben.

Danke schonmal, also einfach durchnummerieren wäre gut, Dialogeintrag 1 ist dann z.B. Zeile 1 aus der Datei/Liste , Leerzeichen sind nicht enthalten in den Strings, jedoch durchaus Sonderzeichen verschiedener Art. Also es funktioniert schonmal teilweise mit deinem Beispiel. Einziges Problem ist, dass die Strings bzw. Zeilen aus der Datei irgendwie in vielfache Dialogeinträge gesplittet werden, d.h. der String aus Zeile 1 teilt sich in 5 verschiedene Dialogeinträge auf, statt als ganze Zeile in einem Eintrag zu erscheinen ..

EDIT: Es waren doch Leerzeichen enthalten, die waren scheinbar auch das Problem, wenn ich die Leerzeilen mit sed durch Unterstriche ersetze, funktioniert es tadellos...

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

m17ch schrieb:

rklm schrieb:

Das hängt aber davon ab, was in der Datei steht. Mit Deiner Datei könnte es da Schwierigkeiten geben.

Danke schonmal, also einfach durchnummerieren wäre gut, Dialogeintrag 1 ist dann z.B. Zeile 1 aus der Datei/Liste , Leerzeichen sind nicht enthalten in den Strings, jedoch durchaus Sonderzeichen verschiedener Art. Also es funktioniert schonmal teilweise mit deinem Beispiel. Einziges Problem ist, dass die Strings bzw. Zeilen aus der Datei irgendwie in vielfache Dialogeinträge gesplittet werden, d.h. der String aus Zeile 1 teilt sich in 5 verschiedene Dialogeinträge auf, statt als ganze Zeile in einem Eintrag zu erscheinen ..

Das ist genau die Sorte Probleme, die ich oben meinte.

Antworten |