Seite 1 von 1
[GELÖST] Anpassen eines waptguihelper.message_dialog-Dialogfelds
Veröffentlicht: 6. Juli 2023 - 14:01 Uhr
von Regis Lemonnier
Hallo,
ist es möglich, ein Dialogfeld mit dem Befehl `waptguihelper.message_dialog` oder einem anderen Befehl zu formatieren?
Wenn ja, wo finde ich die verfügbaren Optionen?
Betreff: Anpassen eines waptguihelper.message_dialog-Dialogfelds
Veröffentlicht: 6. Juli 2023 – 16:27 Uhr
von htouvet
waptguihelper bietet keine wirklichen Anpassungsmöglichkeiten...
Eine Frage nach der anderen.
Abgesehen von waptguihelper.grid_dialog(..), das die Eingabe in einem Raster ermöglicht
Code: Alle auswählen
Parameters:
- Title: the title for the dialog
- Data: a list or JSON string
Optional:
- ResultType: GRT_ALL or GRT_SELECTED - default is GRT_ALL
- MetaData: it can be used to change columns data type
- it must be a JSON
- all types: String, Date, Time, DateTime, Integer, Float, Boolean, Memo
- example: {"columns":[{"propertyname":"id","datatype":"Integer"}]}
- Text: the label above search box - default is "Search"
- StayOnTop: indicates if the form will always stay on top - default is False
Alternativ können Sie waptmessage mit einem HTML-Formular verwenden
Beispiel:
setup.py
Code: Alle auswählen
# -*- coding: utf-8 -*-
from setuphelpers import *
import base64
import json
form = """\
<html encoding="utf8">
<form method="STDOUT">
<h2>Formulaire</h2>
Votre machine :
<input type="text" name="machine" value="%(machine)s"><br>
Votre nom:
<input type="text" name="nom" value="%(nom)s"><br>
Votre prénom:
<input type="text" name="prenom" value="%(prenom)s"><br>
<label for="pet-select">Choose a pet:</label>
<select name="pets" id="pet-select">
<option value="">--Please choose an option--</option>
<option value="dog">Dog</option>
<option value="cat">Cat</option>
<option value="hamster">Hamster</option>
<option value="parrot">Parrot</option>
<option value="spider">Spider</option>
<option value="goldfish">Goldfish</option>
</select>
<input type="submit" value="Valider">
</form>
</html>
"""
def install():
pass
def update_package():
nom = ''
prenom = ''
machine = get_computername()
pets=''
s = base64.b64encode((form % locals()).encode('utf8'))
result = run(['waptmessage','-c','-b',s])
if result:
data = json.loads(result)
nom = data['result']['nom']
prenom = data['result']['prenom']
machine = data['result']['machine']
pets = data['result']['pets']
print("""\
Nom: %s
Prénom: %s
Machine: %s
Animal: %s
""" % (nom,prenom,machine,pets))
Betreff: Anpassen eines waptguihelper.message_dialog-Dialogfelds
Veröffentlicht: 17. Juli 2023 – 13:40 Uhr
von Regis Lemonnier
Die Verwendung von waptmessage mit HTML erfüllt meine Anzeigeanforderungen, aber wenn ich den bereitgestellten Codeabschnitt als Beispiel verwende, gibt das "if result" den Wert 'False' zurück, obwohl die Formularfelder ausgefüllt und validiert sind (Schaltflächen "Validieren" + OK).
Hat jemand eine Ahnung, was den Fehler verursacht hat?
htouvet schrieb: ↑6. Juli 2023 - 16:27 Uhr
waptguihelper bietet keine wirklichen Anpassungsmöglichkeiten...
Eine Frage nach der anderen.
Abgesehen von waptguihelper.grid_dialog(..), das die Eingabe in einem Raster ermöglicht
Code: Alle auswählen
Parameters:
- Title: the title for the dialog
- Data: a list or JSON string
Optional:
- ResultType: GRT_ALL or GRT_SELECTED - default is GRT_ALL
- MetaData: it can be used to change columns data type
- it must be a JSON
- all types: String, Date, Time, DateTime, Integer, Float, Boolean, Memo
- example: {"columns":[{"propertyname":"id","datatype":"Integer"}]}
- Text: the label above search box - default is "Search"
- StayOnTop: indicates if the form will always stay on top - default is False
Alternativ können Sie waptmessage mit einem HTML-Formular verwenden
Beispiel:
setup.py
Code: Alle auswählen
# -*- coding: utf-8 -*-
from setuphelpers import *
import base64
import json
form = """\
<html encoding="utf8">
<form method="STDOUT">
<h2>Formulaire</h2>
Votre machine :
<input type="text" name="machine" value="%(machine)s"><br>
Votre nom:
<input type="text" name="nom" value="%(nom)s"><br>
Votre prénom:
<input type="text" name="prenom" value="%(prenom)s"><br>
<label for="pet-select">Choose a pet:</label>
<select name="pets" id="pet-select">
<option value="">--Please choose an option--</option>
<option value="dog">Dog</option>
<option value="cat">Cat</option>
<option value="hamster">Hamster</option>
<option value="parrot">Parrot</option>
<option value="spider">Spider</option>
<option value="goldfish">Goldfish</option>
</select>
<input type="submit" value="Valider">
</form>
</html>
"""
def install():
pass
def update_package():
nom = ''
prenom = ''
machine = get_computername()
pets=''
s = base64.b64encode((form % locals()).encode('utf8'))
result = run(['waptmessage','-c','-b',s])
if result:
data = json.loads(result)
nom = data['result']['nom']
prenom = data['result']['prenom']
machine = data['result']['machine']
pets = data['result']['pets']
print("""\
Nom: %s
Prénom: %s
Machine: %s
Animal: %s
""" % (nom,prenom,machine,pets))
Betreff: Anpassen eines waptguihelper.message_dialog-Dialogfelds
Veröffentlicht: 17. Juli 2023 - 15:02 Uhr
von htouvet
Das könnte an der unterschiedlichen Version liegen. Ich habe den Codeausschnitt mit meiner Entwicklungsversion von Wapt getestet.
Sie verwenden anscheinend Version 2.2.
Sie können versuchen, ihn manuell in der Kommandozeile auszuführen, um die Ausgabe (oder deren Fehlen in Ihrem Fall) zu sehen.
Betreff: [GELÖST] Anpassen eines waptguihelper.message_dialog-Dialogfelds
Veröffentlicht: 14. September 2023 – 17:40 Uhr
von jpele
Dies funktioniert mit ensure_unicode
Code: Alle auswählen
s = ensure_unicode(base64.b64encode((form % locals()).encode("utf8")))
{"method":"STDOUT","action":"","target":"","enctype":"","result":{"machine":"jpe-clt-win11","nom":"jghjgj","prenom":"","pets":"--Please choose an option--"}}