Нахождение пустой ячейки в псевдо-таблице.

Автор Тема: Нахождение пустой ячейки в псевдо-таблице.  (Прочитано 5072 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Оффлайн МаринаАвтор темы

  • "Брат! Воспари над желанием!!! Стань больше, чем просто грызун!!!"
  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
  • Skype: savchenko.marina1
Доброго времени суток!!


Пару дней назад нашла я тут https://sites.google.com/site/bushmansnetlaboratory/sendbox/lab/eksport-narisovannyh-liniami-tablic-v-excel очень полезный для меня код с экспортом таблицы в эксель. Я немного переделала его, добавила Мтекст и вывод в текстовый файл. Но вот проблема в чем, не могу догадаться, как распознать пустую ячейку в такой таблице. Подскажите, пожалуйста...

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Код очень старый и выбранный в нём алгоритм, мягко говоря не слишком хорош. Он не годится для того, чтобы обрабатывать пустые ячейки.

Оффлайн МаринаАвтор темы

  • "Брат! Воспари над желанием!!! Стань больше, чем просто грызун!!!"
  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
  • Skype: savchenko.marina1
Я понимаю, но познания мои еще не столь глубоки, а результат уже нужен..

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Подправленный алгоритм мне видится таким:
1. Попросить пользователя указать прямоугольную область, в которую попадает вычерченная таблица (текст и линии).
2. На основе нарисованных ячеек сформировать временный набор регионов.
3. Проверить каждый регион на предмет нахождения в нём текста.
4. На основе полученных данных сформировать результат.

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
В принципе, можно и без регионов обойтись, проанализировав конечные точки всех линий таблицы и тем самым получив информацию обо всех ячейках. Количество уникальных координат Y (за вычетом 1) равно количеству строк. Количество уникальных координат X (за вычетом 1) равно количеству столбцов.

Затем, анализируя длины и координаты линий можно понять, какие "ячейки" объединены. Сформировав массив таких "ячеек" (с координатами двух их углов, расположенных по диагонали др. от друга) вы уже сможете анализировать координаты каждого текста, выясняя, в какой ячейке он находится. Соответственно, станет понятным - содержит ли ячейка текст или же она пустая.

Оффлайн МаринаАвтор темы

  • "Брат! Воспари над желанием!!! Стань больше, чем просто грызун!!!"
  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
  • Skype: savchenko.marina1
Спасибо за подсказку, я постараюсь реализовать.

Оффлайн МаринаАвтор темы

  • "Брат! Воспари над желанием!!! Стань больше, чем просто грызун!!!"
  • ADN OPEN
  • Сообщений: 11
  • Карма: 0
  • Skype: savchenko.marina1
Андрей, спасибо еще раз, получился неплохой конвертер из "нарисованных" таблиц в таблицы Автокада.