Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблема с table.locate или с головой [D6, Paradox]


Johnny Raw ©   (2004-09-13 19:25:00) 

использую след. процедуру для поиска в базе названий из стринггрида с последующей заменой последних на названия из базы
(для отсечения ненужных хвостов)
Когда ищу по первому полю, то все ок, но при использовании этой же(почти конечно) процедуры для стринггдид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;


Johnny Raw   (2004-09-14 10:15:00) [1]

1) поле 1 - это для примера (ну пусть будет field1)
2) например всего 10 строк если начинать 0 то будет 0 to 10-1
а если 1 то 1 to 10 imho.
3) процедура поиска по первому полю работает как часы, а во второй изменил только поле1 на поле2 и грид2 на грид3 и .. вот я здесь


ЮЮ   (2004-09-14 02:53:00) [2]

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) коду ты предлагаешь найти ошибку в другом - неработающем - куске кода? Оригинально !!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо