Форум: "Базы";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Внизпроблема с table.locate или с головой Найти похожие ветки
← →
Johnny Raw © (2004-09-13 19:25) [0]использую след. процедуру для поиска в базе названий из стринггрида с последующей заменой последних на названия из базы
(для отсечения ненужных хвостов)
Когда ищу по первому полю, то все ок, но при использовании этой же(почти конечно) процедуры для стринггдид3 и полю2 базы то выдается ошибка operation not applicable на строчке после метки r2
procedure Zamena;
var k:integer;
a,b:string;
label r1,r2;
begin
for k:=1 to fm1.sg2.RowCount do
begin
a:=fm1.sg2.Cells[1,k];
b:=fm1.sg2.Cells[10,k];
r1:
if DataModule4.Table1.locate(поле1, a ,[])=true then
fm1.sg2.Cells[1,k]:=DataModule4.Table1.FieldByName(поле3).AsString
else
begin
setlength(a, length(a)-1);
if length(a)>1 then goto r1;
end;
r2:
if DataModule4.Table1.locate(поле1, b ,[])=true then
fm1.sg2.Cells[10,k]:=DataModule4.Table1.FieldByName(поле3).AsString
else
begin
setlength(b, length(b)-1);
if length(b)>1 then goto r2;
end;
end;
end;
← →
ЮЮ © (2004-09-14 02:53) [1]1) Это что русская версия D6? locate(поле1, b ,[])
2) индекс у Cells изменяется о 0 до RowCount - 1 (ColCount - 1)
for k:=1 to fm1.sg2.RowCount- 1
do
3)
>но при использовании этой же(почти конечно) процедуры для стринггдид3 и полю2 базы то выдается ошибка operation not applicable на строчке после метки r2
т.е. по работающему (что сомнительно в силу 1) коду ты предлагаешь найти ошибку в другом - неработающем - куске кода? Оригинально !!!
← →
Johnny Raw © (2004-09-14 10:15) [2]1) поле 1 - это для примера (ну пусть будет field1)
2) например всего 10 строк если начинать 0 то будет 0 to 10-1
а если 1 то 1 to 10 imho.
3) процедура поиска по первому полю работает как часы, а во второй изменил только поле1 на поле2 и грид2 на грид3 и .. вот я здесь
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.10.10;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.037 c