excel поиск значения

sanich
Дата: 09.12.2007 12:57:28
есть ексель файл в нем есть значение 'цена','итого:'



const
 SearchStr : array [1..3] of string=('цена','итого:','всего:');//признаки начала/конца счета
begin
 for i:=1 to 3 do begin
     Range :=UsedRange.Find(What:=SearchStr[i]);//находим значение
     if not VarIsEmpty(Range) then
      case i of
       1  :HatAddress:=Range.Address;
       2,3:LastAddress:=Range.Address;
      end;
     Range:=Unassigned; 
 end;
end;

при проходе в третий раз т.е. поиск 'всего:' (на самом деле его нет в листе) в Range записывается значение '0000000'
и VarIsEmpty(Range) возвращает false, т.е. при i=3 в case попадаем, но этого не должно быть

Почему так?
Johnmen
Дата: 09.12.2007 16:54:54
Потому, что у тебя такая логика в программе.
sanich
Дата: 09.12.2007 18:51:54
Johnmen
Потому, что у тебя такая логика в программе.


а где ошибка то?
sashka304
Дата: 09.12.2007 20:08:57
логика отрабатывает так как вы ей и сказали работать
'0000000' это не есть емпти поэтому Ваш третий раз тоже отрабатывает
sanich
Дата: 09.12.2007 21:04:17
sashka304
логика отрабатывает так как вы ей и сказали работать
'0000000' это не есть емпти поэтому Ваш третий раз тоже отрабатывает


как надо использовать поиск чтобы в отрицательном случае вызвращалось empty?
Anatoly Podgoretsky
Дата: 09.12.2007 21:08:39
Какой еще третий раз, и первого не будет, поскольку данный код не откомпилируется.
Раз у тебя есть третий раз, то значит ты запускаешь старую версию программы.
sanich
Дата: 09.12.2007 21:39:28
и все же
sanich
Дата: 10.12.2007 10:17:46
Anatoly Podgoretsky
Какой еще третий раз, и первого не будет, поскольку данный код не откомпилируется.
Раз у тебя есть третий раз, то значит ты запускаешь старую версию программы.


Мне это ни о чем не говорит!
как правильно сделать???!