ага, работает ))) сделал вот типа "настройки" в проге, можно ли как нибудь сократить код?

Procedure nastroyki; // НАСТРОЙКИ
var rs: recordStore;
choiceGroupID, textField_id, space_id,ssss,text1,text2: integer;
NY, LA,ny2,la2,group2,b1,i: integer;
par:string;
io:Boolean;
begin
showForm;
ss:='';
i:=0;
choiceGroupID := formAddChoice('Выберите действие', 2);
NY := choiceAppendString(choiceGroupID, 'Проверять правильность введеных данных');
LA := choiceAppendString(choiceGroupID, 'Входной пароль');
rs := openRecordStore('nastroyka');
par := readRecordStoreEntry(rs, 1);
closeRecordStore(rs);
if length(par)=3 then
begin
if getChar(par, 0)='1' then
choice_set_selected(choiceGroupID, NY,1);
if getChar(par, 2)='1' then
choice_set_selected(choiceGroupID, LA,1);
end;
showForm;
show := createCommand('Сохранить ', CM_SCREEN, 1);
addCommand(show);
komna := createCommand(' Назад', CM_back, 1);
addCommand(komna);
repeat
delay(100);
if i=0 then
if choiceIsSelected(choiceGroupID, LA) then
begin
text1 := formAddTextField('Старый пароль:', '', 9, TF_NUMERIC); // идентификатор = 1
text2 := formAddTextField('Новый пароль: ', '', 9, TF_NUMERIC); // 2
showForm;
i:=1;
end;
if i=1 then
if not choiceIsSelected(choiceGroupID, LA) then
begin
formRemove(2);
formRemove(1);
showForm;
i:=0;
end;
clicked := getClickedCommand;
until clicked <> emptyCommand;
if clicked = komna then // если выбрали назад в меню
begin
showCanvas; // убираем меню с экрана ))
clearForm; // убираем справку с экрана))
aaz;
end
else // если выбрали далее
begin
if choiceIsSelected(choiceGroupID, NY) then
ss:='1';
if not choiceIsSelected(choiceGroupID, NY) then
ss:='0';
if choiceIsSelected(choiceGroupID, LA) then
ss:=ss+'|1';
if not choiceIsSelected(choiceGroupID, LA) then
ss:=ss+'|0';
if choiceIsSelected(choiceGroupID, LA) then // ЕСЛИ ГАЛОЧКА "ВХОДНОЙ ПАРОЛЬ"
begin
rs := openRecordStore('parol');
par := readRecordStoreEntry(rs, 1);
closeRecordStore(rs);
if (formGetText(1)<>par) and (formGetText(1)<>'') then // ЕСЛИ ПАРОЛЬ НЕ ПУСТОЙ И НЕ РАВЕН СТАРОМУ ПАРОЛЮ ТО ВЫХОД В МЕНЮ
aaz;
if par=formGetText(1) then // ЕСЛИ СТАРЫЕ ПАРОЛИ РАВНЫ ТО УСТАНАВЛИВАЕМ НОВЫЙ
begin
deleteRecordStore('parol');
rs := openRecordStore('parol');
ssss := addRecordStoreEntry(rs,formGetText(2));
closeRecordStore(rs);
end;
end;
deleteRecordStore('nastroyka'); // ПЕРЕЗАПИСЫВАЕМ НАСТРОЙКИ
rs := openRecordStore('nastroyka');
ssss := addRecordStoreEntry(rs,ss);
closeRecordStore(rs);
showCanvas; // убираем меню с экрана ))
clearForm; // убираем справку с экрана))
aaz;
end;
end;
это рабочий вариант

как было задумано - работает, но, думаю для солидности можно что-то как-то упростить? или так и должно быть?
