Чет не получается, проект компилится, а в таблицу всё ровно залетают ранее записанные данные
Код: Выделить всё
function AnsiToOem (string) : string; external 'atlantis.rtl#CharToOemString';
table struct local wialonpoezdki //ключевое слово для задания имени физической таблицы, которая является корневой для данного видимого элемента Признак главного (внешнего) цикла по SQL-таблице. Используется в конструкции ".table blank".
(nrec:comp,
Tmarka:string,
Tnumber:string,
probeg:double
)
with index (uniqal=nrec); // задаем индекс
table struct local wialonzapravki //ключевое слово для задания имени физической таблицы, которая является корневой для данного видимого элемента Признак главного (внешнего) цикла по SQL-таблице. Используется в конструкции ".table blank".
(nrec:comp,
Tmarka:string,
Tnumber:string,
Dtime:datetime,
SLevel:double,
Fueling:double
)
with index (uniqal=nrec);
Interface Wialon 'Импорт данных с Wialon' EscClose; //начало описания интерфейса.
show at (1,10,160,45); //ключевое слово для задания размеров видимых элементов и окон.
var
FileName:string;
FileName2:string; // раздел объявления переменных.
str:string;
f_nrec:comp;
f_Tmarka:string;
f_Tnumber:string;
f_probeg:double;
stmt:longint;
f_TmarkaTS:string;
f_TnumberTS:string;
f_Dtime:datetime;
f_Day:string;
f_month:string;
f_year:string;
f_hour:string;
f_min:string;
//f_sec:string;
f_SLevel:double;
f_Fueling:double;
stmt2:longint;
Filename1K:string;
Filename2K:string;
create view //начало описания логической таблицы.
as
select *//Поле
from wialonpoezdki,
wialonzapravki; //из таблицы
File gfFile, gfFile2;
procedure LoadFile;
{
gfFile.OpenFile(filename, stOpenRead);
gfFile.ReadLn(str);
while not gfFile.EOF() do
{
gfFile.ReadLn(str);
str:=AnsiToOem(str);
str:=Replace(str, '"', '');
f_Tmarka:=substr(str,1, instr('_',str)-1);
str:=substr(str,(instr('_', str)+1), 50);
f_Tnumber:=substr(str,1, instr(';',str)-1);
str:=substr(str,(instr(';', str)+1), 50);
str:=Replace(str, 'км', '');
f_probeg:=double(Trim(substr(str,1, instr(';',str)-1)));
if getfirst wialonzapravki where ((
f_Tmarka == wialonpoezdki.Tmarka(noindex)
and f_Tnumber == wialonpoezdki.Tnumber(noindex)
and f_probeg == wialonpoezdki.probeg(noindex))) <>0
insert current wialonpoezdki set
wialonpoezdki.Tmarka:= f_Tmarka,
wialonpoezdki.Tnumber:= f_Tnumber,
wialonpoezdki.probeg:= f_probeg
}
stmt:= sqlAllocStmt;
_loop wialonpoezdki
{
sqlPrepare(stmt, 'savefromwialonpoezdki(?,?,?)');
sqlBindParam(stmt, 1, wialonpoezdki.tmarka);
sqlBindParam(stmt, 2, wialonpoezdki.Tnumber);
sqlBindParam(stmt, 3, wialonpoezdki.probeg);
SqlExecute(stmt);
}
sqlFreeStmt(stmt);
gfFile .Close();
}
procedure LoadFile2;
{
gfFile.OpenFile(filename2, stOpenRead);
gfFile.ReadLn(str);
while not gfFile.EOF() do
{
gfFile.ReadLn(str);
if instr('.',substr(str,1,instr(';',str)-1))=0
continue;
str:=AnsiToOem(str);
str:=Replace(str, '"', '');
str:=Replace(str, 'л', '');
str:=Replace(str, '*', '');
str:=substr(str,(instr(';', str)+1), 60);
f_TmarkaTS:=substr(str,1, instr('_',str)-1);
str:=substr(str,(instr('_', str)+1), 60);
f_TnumberTS:=substr(str,1, instr(';',str)-1);
str:=substr(str,(instr(';', str)+1), 60);
// "08.02.2013 16:59" дата выгружается по разному
f_day:=substr (str,1, instr('.',str)-1);
str:=substr(str,(instr('.', str)+1),60 );
f_month:=substr(str,1, instr('.',str)-1);
str:=substr(str,(instr('.', str)+1),60 );
f_year:=substr (str,1, instr(' ',str)-1);
str:=substr(str,(instr(' ', str)+1),60 );
f_hour:=substr (str,1, instr(':',str)-1); //часы
str:=substr(str,(instr(':', str)+1),60 );
f_min:=substr (str,1, instr(';',str)-1);
f_dtime:=_datetime(f_day,f_month,f_year,f_hour,f_min,0,0);
str:=substr(str,(instr(';', str)+1), 60);
f_SLevel:=double(Trim(substr(str,1, instr(';',str)-1)));
str:=substr(str,(instr(';', str)+1), 60);
f_Fueling:=double(Trim(substr(str,1, instr(';',str)-1)));
if getfirst wialonzapravki where ((
f_TmarkaTS == wialonzapravki.Tmarka(noindex)
and f_TmarkaTS == wialonzapravki.Tnumber(noindex)
and f_Dtime == wialonzapravki.Dtime(noindex)
and f_SLevel == wialonzapravki.SLevel(noindex)
and f_Fueling == wialonzapravki.Fueling(noindex) )) <>0
insert current wialonzapravki set
wialonzapravki.Tmarka:=f_TmarkaTS,
wialonzapravki.Tnumber:=f_TnumberTS,
wialonzapravki.Dtime:=f_Dtime,
wialonzapravki.SLevel:=f_SLevel,
wialonzapravki.Fueling:=f_Fueling
}
stmt2:= sqlAllocStmt;
_loop wialonzapravki
{
sqlPrepare(stmt2, 'savefromwialonzapravki(?,?,?,?,?)');
sqlBindParam(stmt2, 1, wialonzapravki.Tmarka);
sqlBindParam(stmt2, 2, wialonzapravki.Tnumber);
sqlBindParam(stmt2, 3, wialonzapravki.Dtime);
sqlBindParam(stmt2, 4, wialonzapravki.SLevel);
sqlBindParam(stmt2, 5, wialonzapravki.Fueling);
SqlExecute(stmt2);
}
sqlFreeStmt(stmt2);
gfFile.Close();
}
screen vibor; // вид окна
show (,,,6);
fields
FileName :pickButton;
fileName2 :pickButton;
buttons
cmBounds;
cmBounds;
<<
Выбор файла Poezdki: .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<. Загрузка .>
Выбор файла Zapravki: .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<. Загрузка .>
>>
end;
browse tab;
show at(,7,79,)
table wialonpoezdki;
fields
wialonpoezdki.Tmarka #3'Марка' ('Марка ТС',,) : [20], protect;
wialonpoezdki.Tnumber #3'Номер' ('Номер ТС',,) : [20], protect;
wialonpoezdki.probeg #3'Пробег' ('Пробег ТС',,) : [20.2], protect;
end;
browse tab2;
show at(80,7,,)
table wialonzapravki;
fields
wialonzapravki.Tmarka #3'Марка' ('Марка ТС',,):[20], protect;
wialonzapravki.Tnumber #3'Номер' ('Номер ТС',,) : [20], protect;
wialonzapravki.Dtime #3'дата' ('дата',,):[50], protect;
wialonzapravki.SLevel #3'уровень топлива' ('уровень топлива',,):[20.2], protect;
wialonzapravki.Fueling #3'заправка' ('заправка',,):[20.2], protect;
end;
handleEvent //обработчик событий
cmbounds:
{
}
cmInit: {
//задание ограничения в операторе
}
//end;
cmPick:
{
Case CurField of
#FileName:
{
FileName:= GetFileName ('Poezdki.csv','Выберите файл с отчетом Poezdki');//= 'Poezdki.csv';
LoadFile();
Message('Файл загружен!!!');
ReReadRecord(tnwialonpoezdki);
};
#FileName2:
{
FileName2:= GetFileName ('Zapravki.csv','Выберите файл с отчетом Zapravki');//= 'Zapravki.csv';
LoadFile2();
Message('Файл загружен!!!');
ReReadRecord(tnwialonzapravki);
};
end; //Case
}
end;
end.