это актуально?
сильно не заморачивался...
принцип следующий:
так как необходимо 3 колонки (имя долг дата) то я решил использовать 3 хранилища соответственно
вот вариант черновой (пока создает и проверяет имя уже в базе) кстати имена должны быть уникальными хоть и есть возможность заполнять одинаковыми
необходим как я понимаю режимы еще изменить (долг и дата), просмотр всех должников (а также статичтика) и удалить запись (хотя думаю удалять не нужно так сказать оставить для истории)
не как немогу корректно очистить форму ни clearform не formmremove непомогают - невозможно снова накладовать объекты поэтому сплошником
проверь так или не так я понял
ОЧЕНЬ черновой
type mas3x1024=array[1..3, 1..32] of string;
var okCommand,okCommand0:command;
nameField,i:integer;
userName:string;
k:boolean;
rs0,rs1,rs2: recordStore;
index: integer;
name: string;
mas: array [0..2] of integer;
label_id, textField_id, formTxt1,formTxt2,formTxt3: integer;
begin
k:=false;
{ Создание формы на экране }
okCommand := createCommand('OK', CM_OK, 1);
showForm;
addCommand(okCommand);
textField_id := formAddTextField('Enter name search', 'Mr.Smith', 20, TF_ANY);
showForm;
while (getClickedCommand <> okCommand) do begin
delay(100); end;
removeCommand( okCommand);
label_id := formAddString('Выполняется запрос');
userName := formGetText(textField_id);
rs0 := openRecordStore('names'); rs1 := openRecordStore('money'); rs2 := openRecordStore('date');
for i:=0 to getRecordStoreSize(rs0) do begin
if formGetText(textField_id) = readRecordStoreEntry(rs0, i) then begin
label_id := formAddString(readRecordStoreEntry(rs0,i)+' $ '+readRecordStoreEntry(rs1,i)+' # '+readRecordStoreEntry(rs2,i)); k:=true; end;
end;
closeRecordStore(rs0); closeRecordStore(rs1); closeRecordStore(rs2);
if k=false then begin
okCommand0 := createCommand('OK', CM_OK, 1);
showForm;
addCommand(okCommand0); repaint;
showForm;
mas[0] := formAddTextField('Enter name', userName, 20, TF_ANY);
mas[1] := formAddTextField('Enter $', ' ', 20, TF_ANY);
mas[2] := formAddTextField('Enter date',
integerToString(getYear(getCurrentTime))+'.'+integerToString(getMonth(getCurrentTime))+'.'+integerToString(getDay(getCurrentTime))+' '+integerToString(getHour(getCurrentTime))+':'+integerToString(getMinute(getCurrentTime)), 20, TF_ANY);
showForm;
while (getClickedCommand <> okCommand0) do begin
delay(100); end;
rs0 := openRecordStore('names');
index := addRecordStoreEntry(rs0, formGetText(mas[0]) );
closeRecordStore(rs0);
rs1 := openRecordStore('money');
index := addRecordStoreEntry(rs1, formGetText(mas[1]) );
closeRecordStore(rs1);
rs2 := openRecordStore('date');
index := addRecordStoreEntry(rs2, formGetText(mas[2]) );
closeRecordStore(rs2);
end;
showForm;
delay(5000);
end.