1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| :- use_module(library(pce)).
:- use_module(library('oracle/oracle')).
dialog('Recherche',
[ object :=
Recherche,
parts :=
[ Recherche := dialog('Recherche'),
OK := button('OK'),
Text_item := text_item(text_item),
Annuler := button(annuler),
Name := label(name, ''),
List := list_browser(@default, 37, 6)
],
modifications :=
[ Text_item := [ label := 'Nom',
length := 32
],
Annuler := [ default_button := @on
],
List := [ name := list,
show_label := @on,
label := 'Liste des résultats'
]
],
layout :=
[ area(OK,
area(50, 230, 80, 24)),
area(Text_item,
area(42, 51, 264, 24)),
area(Annuler,
area(230, 230, 80, 24)),
area(Name,
area(36, 92, 184, 18)),
area(List,
area(43, 96, 271, 112))
],
behaviour :=
[ OK := [ message := message(@prolog,
recherche,
Text_item?selection,
List?dict)
],
Annuler := [ message := message(Recherche, destroy)
]
]
]).
affichage :-
make_dialog(D, 'Recherche'),
send(D,open).
recherche(Pere, Resultat):-
send(Resultat, clear),
db_open('oracledb', 'scott', 'tiger'),
db_import('PERE'('PERE','ENFANT'),pere),
sformat(Str, 'SELECT ENFANT FROM pere WHERE PERE LIKE \'~w%\'',[Pere]),
forall( db_sql_select( Str,L),
( sformat(Str1, '~w',L),
send(Resultat, append, Str1))),
db_close. |
Partager