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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
|
dialog('Prevision2',
[ object :=
Prevision2,
parts :=
[ Prevision2 :=
dialog('Prevision2'),
Name :=
label(name, 'mois pluvieux'),
Mois :=
menu(mois, cycle),
ButtonOk :=
button(buttonOk),
ButtonAnnuler :=
button(buttonAnnuler),
Resultat :=
label(resultat, 'Resultat :')
],
modifications :=
[ Name :=
[ font := @helvetica_bold_18
],
Mois :=
[ value_font :=
@helvetica_roman_14,
reference :=
point(0, 19),
append :=
[ menu_item('01', @default, '01', @off, @nil, '\\e0'),
menu_item('02', @default, '02', @off, @nil, '\\e2'),
menu_item('03', @default, '03', @off, @nil, '\\e3'),
menu_item('04', @default, '04', @off, @nil, '\\e4'),
menu_item('05', @default, '05', @off, @nil, '\\e5'),
menu_item('06', @default, '06', @off, @nil, '\\e6'),
menu_item('07', @default, '07', @off, @nil, '\\e7'),
menu_item('08', @default, '08', @off, @nil, '\\e8'),
menu_item('09', @default, '09', @off, @nil, '\\e9'),
menu_item('10', @default, '10', @off, @nil, '\\e1'),
'11',
'12'
]
],
ButtonOk :=
[ label := 'Ok'
],
ButtonAnnuler :=
[ label := 'Annuler'
],
Resultat :=
[ font := @helvetica_bold_12
]
],
layout :=
[ area(Name,
area(91, 13, 314, 27)),
area(Mois,
area(58, 62, 93, 28)),
area(ButtonOk,
area(78, 120, 80, 24)),
area(ButtonAnnuler,
area(197, 116, 80, 24)),
area(Resultat,
area(66, 176, 210, 18))
],
behaviour :=
[
ButtonOk := [ message := message(@prolog,
lance_recherche1,
Mois?selection ,
Resultat)
],
ButtonAnnuler := [ message := message(Prevision2,
destroy)
]
],
initialise :=
[
send(Resultat, colour, red),
send(Resultat, font, font(times, bold, 18))
]
]).
prevision2 :-
make_dialog(D, 'Prevision2'),
send(D,open).
:-prevision2.
prevision(Expr1,Resultat) :-
odbc_connect('Prolog',_,
[ user(wizo),
password('prolog'),
alias(data),
open(once)
]),
interro2(data,Expr1 ,Res),
sformat(Str, '~w = ~w', [Expr1, Res]),
send(Resultat, selection, Str).
interro2(Data,Mois, Noms) :-
writeln('Liste des region concerné dans la bdd'),
% C'est ici je veux recuperer le mois choisi pour verifier s'il est entre 05 et 10
% et selectionner les regions correspondantes.
mois= ''~w'', % Je veux recuperer ici le mois choisi par le user pour la verification dans la requete
% c'est là mon problème!
sformat(Str, 'select region FROM Pluie where mois >= 05 and mois <= 10, [Mois]),
string_to_atom(Str, Atom),
writeln(Atom), nl,
findall(Region,
odbc_query(Data,
Atom,Region
),
Noms),
%writeln(Noms), nl.
maplist(writeln, Noms),nl. |
Partager