Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 2 359

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
я хочу из екселя найти данные и занести например на форму в эдит!
но , данные не всегда в одной и той же позиции в екселе т.е.
есть какието расчеты и в конце результирующая таблица из которой надо забрать 9 цифр
я делала вот так:



while V <>'Г.Витебск' do begin вот тут делфи пишет не может сконвертировать String в Double!!!!
на всякий случай типы данных :
V:Variant;
j:Integer;

так о чем он??? какие даблы он пытается сконвертировать??? пожалусто кто нибудь скажите ,что тут не так?

Приложение:
  1. j:=38;
  2. V:=Sheet.Cells[j, 22].Value;
  3.  
  4. inc(j);
  5. V:=Sheet.Cells[j, 22].Value;
  6. end ;
  7.  
  8. V:= Sheet.Cells[j, 22].Value;
  9.  
  10. Edit38.Text:= Sheet.Cells[j, 25].Value;
  11. Edit39.Text:= Sheet.Cells[j+1, 25].Value;
  12. Edit40.Text:= Sheet.Cells[j+2, 25].Value;
  13.  
  14. Edit42.Text:= Sheet.Cells[j, 26].Value;
  15. Edit43.Text:= Sheet.Cells[j+1, 26].Value;
  16. Edit44.Text:= Sheet.Cells[j+2,26].Value;
  17.  
  18. Edit45.Text:= Sheet.Cells[j, 27].Value;
  19. Edit46.Text:= Sheet.Cells[j+1, 27].Value;
  20. Edit47.Text:= Sheet.Cells[j+2,27].Value;
  21.  


Танюшка Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задала: Танюшка (статус: Посетитель)
Вопрос отправлен: 28 января 2009, 10:51
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 28 января 2009, 11:39; участников в обсуждении: 3.
Пупкин В.В.

Пупкин В.В. (статус: 1-ый класс), 28 января 2009, 11:17 [#1]:

именно это и происходит,
не может сконвертировать Г.Витебск в дабле
Танюшка

Танюшка (статус: Посетитель), 28 января 2009, 11:28 [#2]:

так а почему???? ведь тип переменной V: variant ...
мне пришлось вначале завести лабел туда скинуть значение V , а затем вести сравнение!!!!! а почему нельзя сразу ?
Вадим К

Вадим К (статус: Академик), 28 января 2009, 11:34 [#3]:

Что бы произвести сравнение, делфи вначале должна сделать преобразование. А так как возможны различные варианты, то она и выбирает тот, который ей ближе. И не факт, что он ближе вам...
Попробуйте написать так
while string(V) <>'Г.Витебск' do begin
что бы у делфи не возникало фантазий, как и что преобразовывать.
А теперь почему возникла ошибка. Делфи вначале нашла, что в переменной V - число (в экселе можно указать содержимое ячейки). и соответсвенно преобразовала. А потом сравнить с строкой - ну никак.
Галочка "подтверждения прочтения" - вселенское зло.
Танюшка

Танюшка (статус: Посетитель), 28 января 2009, 11:39 [#4]:

ясно . спасибо!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:43
Выполнено за 0.02 сек.