ING_DB
This commit is contained in:
parent
be297df989
commit
713c9065ec
|
|
@ -0,0 +1,115 @@
|
|||
# include "form.h"
|
||||
|
||||
static struct MM_form *_find(frame, var, no)
|
||||
register struct MM_form *frame;
|
||||
register char *var;
|
||||
register int no;
|
||||
{
|
||||
register struct MM_form *form;
|
||||
|
||||
while (!(frame->f_mode & F_START))
|
||||
frame = frame->f_next;
|
||||
form = frame;
|
||||
do
|
||||
{
|
||||
if (form->f_var == var && no-- == 0)
|
||||
{
|
||||
MM_output(form);
|
||||
return (form);
|
||||
}
|
||||
}
|
||||
while ((form = form->f_next) != frame);
|
||||
|
||||
return ((struct MM_form *) 0);
|
||||
}
|
||||
|
||||
|
||||
static int _value(form)
|
||||
register struct MM_form *form;
|
||||
{
|
||||
if (form->f_mode & F_VALUE)
|
||||
{
|
||||
MM_pos(form->f_line, form->f_col + 1);
|
||||
MM_pta(form->f_field, form->f_len);
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
MMclr_value(frame)
|
||||
register struct MM_form *frame;
|
||||
{
|
||||
register struct MM_form *form;
|
||||
|
||||
form = frame;
|
||||
do
|
||||
{
|
||||
if (form->f_mode & F_VALUE)
|
||||
MMpmove(" ", form->f_field, form->f_len, ' ');
|
||||
}
|
||||
while ((form = form->f_next) != frame);
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
||||
|
||||
MMset_field(frame, var, no)
|
||||
register struct MM_form *frame;
|
||||
register char *var;
|
||||
register int no;
|
||||
{
|
||||
register struct MM_form *form;
|
||||
|
||||
if ((form = _find(frame, var, no)) && _value(form))
|
||||
return (MM_repos());
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
MMset_value(frame, var, no)
|
||||
register struct MM_form *frame;
|
||||
register char *var;
|
||||
register int no;
|
||||
{
|
||||
if (frame = _find(frame, var, no))
|
||||
return (frame->f_func == (int (*)()) 0 || (*frame->f_func)(frame));
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
|
||||
MMval_field(form, func)
|
||||
register struct MM_form *form;
|
||||
int (*func)();
|
||||
{
|
||||
if (form->f_mode & F_FIELD)
|
||||
return (0);
|
||||
|
||||
form->f_mode |= F_VALUE;
|
||||
form->f_func = func;
|
||||
MMpmove(" ", form->f_field, form->f_len, ' ');
|
||||
form->f_field[form->f_len] = 0;
|
||||
|
||||
return (1);
|
||||
}
|
||||
|
||||
|
||||
MMvalue(frame)
|
||||
register struct MM_form *frame;
|
||||
{
|
||||
register struct MM_form *form;
|
||||
|
||||
form = frame;
|
||||
do
|
||||
{
|
||||
_value(form);
|
||||
}
|
||||
while ((form = form->f_next) != frame);
|
||||
MM_repos();
|
||||
|
||||
return (1);
|
||||
}
|
||||
Loading…
Reference in New Issue