struct OBJ obj[]={
{OW_SCR ,"SCR" ,OFF,ON , 70, 32,360,241,"","",OdbcScroll},
{O_ICONEB,"CANC" ,OFF,ON , 21, 34, 30, 30,"CESTINO"},
{O_ICONEB,"DELIPT" ,OFF,ON , 21, 75, 30, 30,"DELIPT"},
{O_KEYDIM,"CR" ,OFF,ON , 10,434, 66, 24,"#Salva"},
{O_ICONEA,"ESC" ,OFF,ON ,389,433, 40, 26,"ESCI"},
{O_MARK ,"FLOCK" ,OFF,ON , 69,396, 0, -1,"Blocco figura"},
{STOP}
};
struct IPT ipt[]={
{ 1, 1,ALFA,RIGA, 13,292, 47, 8, 0, 15, 1, 1},
{ 1, 1,ALFA,RIGA, 72,292,355, 30, 0, 15, 1, 0},
{ 1, 1,ALFA,RIGA, 72,331,355,200, 0, 15, 1, 0},
{ 1, 1,ALFA,RIGA, 72,370,355,200, 0, 15, 1, 0},
{ 0, 0,STOP}
};
EH_TABLEHOOK arsHook[]={
{_ALFA,"CODICE","",0},
{_ALFA,"DESCRIZIONE","",1},
{_ALFA,"EMAIL","",2},
{_ALFA,"CELLSMS","",3},
{_BOOL,"FLOCK","FLOCK",0},
{0,NULL}};
obj_message("SCR",WS_CODENAME,0,"CODICE"); // Indico quale è il codice di query
obj_message("SCR",WS_EXTFUNZ,0,scrFigure); // Setto la funzione di notifiche esterne
obj_message("SCR",WS_SETHRDW,TRUE,NULL); // Indico che è possibile una varizione orizzontale.
obj_message("SCR",WS_SETFILTER,0,"SELECT * FROM {LIB}.PGQG01 ORDER BY DESCRIZIONE"); // Indico la query associata allo scroll
_formReset();
if (obj_press("SCR")) {
strcpy(_sEditing.szCode,OBJ_keyname);
odbc_hookget(arsHook,"SELECT * FROM {LIB}.PGQG01 WHERE CODICE='%s'",_sEditing.szCode);
obj_message("SCR",WS_SET_ROWSELECTED,0,_sEditing.szCode);
}
if (key_press(CR)||obj_press("CROFF"))
{
BOOL bError=FALSE;
if (!*ipt_read(0)) {win_info("E' necessario inserire un codice");ipt_setnum(0);continue;}
if (!*ipt_read(1)) {win_info("E' necessario inserire una descrizione");ipt_setnum(1);continue;}
if (!*_sEditing.szCode) {
bError=odbc_hookinsert(arsHook,"INSERT INTO {LIB}.PGQP01 ([FIELDS]) VALUES ([VALUES])");
}
else {
bError=odbc_hookupdate(arsHook,"UPDATE {LIB}.PGQG01 SET [FIELDS] WHERE CODICE='%s'",_sEditing.szCode);
}
if (bError) {win_info("Dati già esistenti"); continue;}
_formReset();
}
switch (ipt_sel()) {
case 0: // Codice
if (strlen(ipt_read(0))<1) {ipt_setnum(0); break;}
if (!strcmp(ipt_read(0),_sEditing.szCode)) break;
if (odbc_hookget(arsHook,"SELECT * FROM {LIB}.PGQG01 WHERE CODICE='%s'",ipt_read(0))) {
_formReset();
}
strcpy(_sEditing.szCode,ipt_read(0));
break;
}