Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2012, 16:08   #11
Evgeny86Ru
Новичок
Джуниор
 
Регистрация: 01.07.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Если в Excel нумерация с 1, то так как ниже. Если с 0, то +1 убрать. Если самая первая строка из Excel не нужна то цикл с 1 (и соответственно строчка с идексом 0 не будет заполнена, это нужно помнить дальше)
Код:
  c := Excel_n.ActiveSheet.UsedRange.Rows.Count;
  setlength(r, c);
  for i := 0 to c - 1 do
  begin
     news_r[i].title := Excel_news.Cells[i +1, 2];
     news_r[i].body := Excel_news.Cells[i + 1, 3];
  end;
написал так
Код:
 c := Excel_news.ActiveSheet.UsedRange.Rows.Count;
  setlength(r, c);
 for i := 0 to c - 1 do
  begin
     news_r[i].title := Excel_news.Cells[i +2, 2];
     news_r[i].body := Excel_news.Cells[i +2, 3];
  end;
  Excel_news.ActiveWorkbook.Close;
нужно в экселе именно со второй строки, а нумерация вроде с 1 цы. , но он все равно сыплет ошибку адреса
Evgeny86Ru вне форума Ответить с цитированием
Старый 01.07.2012, 16:14   #12
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну и что будет, когда i=c-1? Пойдет обращение к Excel_news.Cells[с+1, 2] и ошибка. Тогда уж так:
Код:
for i := 1 to c - 1 do
  begin
     news_r[i].title := Excel_news.Cells[i +1, 2];
     news_r[i].body := Excel_news.Cells[i +1, 3];
  end;
И дальше при обработке news_r в цикле опускать нулевой индекс for i := 1 to c - 1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.07.2012, 16:20   #13
Evgeny86Ru
Новичок
Джуниор
 
Регистрация: 01.07.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну и что будет, когда i=c-1? Пойдет обращение к Excel_news.Cells[с+1, 2] и ошибка. Тогда уж так:
Код:
for i := 1 to c - 1 do
  begin
     news_r[i].title := Excel_news.Cells[i +1, 2];
     news_r[i].body := Excel_news.Cells[i +1, 3];
  end;
И дальше при обработке news_r в цикле опускать нулевой индекс for i := 1 to c - 1
не совсем понятно почему получится ошибка, ведь если строк к примеру 5, то на момент последнего витка i будет рано 4 и из экселя браться 7 й строка, пусть и пустая, но ошибку не должно вызывать. Хотя я чет совсем запутался. Даже при вашем последнем примере сыплет ошибку
Evgeny86Ru вне форума Ответить с цитированием
Старый 01.07.2012, 16:35   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Давай свой проект полностью и файл экселевский выкладывай вложением
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.07.2012, 16:37   #15
Evgeny86Ru
Новичок
Джуниор
 
Регистрация: 01.07.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Давай свой проект полностью и файл экселевский выкладывай вложением
Все разобрался, усталость дала о себе знать. Массив заполнялся правильно, проблема была в setlength(news_r, c) тут был указан, не верный массив. потому размерности для массива новостей не было и он ругался. Спасибо вам за советы, оч помогли.
Evgeny86Ru вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Генерация пароля в Delphi 2010 Kreadlling Общие вопросы Delphi 1 05.04.2012 14:14
Генерация лабиринта в Delphi dancer1 Помощь студентам 4 21.02.2012 07:09
Генерация программного кода по xml файлу liosha Помощь студентам 0 21.03.2011 12:24
Генерация XML файла dekameron PHP 1 31.07.2010 22:17
генерация id в xml файле kate158 Помощь студентам 2 07.08.2008 09:31