Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 11.02.2019
Сообщений: 18
1

Поиск текста в NanoCAD

10.08.2019, 17:35. Показов 1241. Ответов 10
Метки нет (Все метки)

Всем привет, есть идея написать программу в Delphi, которая будет искать заданный текст и менять его цвет в чертеже программы nanoCAD. Вроде программа то должна получиться простетская, но не знаю с чего начать, как написать команду поиска текста, представляю, что это возможно должен быть какой-то цикл, прошу дать толчек. Спасибо.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2019, 17:35
Ответы с готовыми решениями:

Нужен ли nanoCAD под линукс?
да нет мне пофиг! а что такое nanoCAD? свой вариант

Поиск текста с копированием ячеек типа ВПР но для сложного текста
Знатоки,пожалуйста помогите если кто знает,очень нужно!есть две страницы в excel: Страница 1...

Поиск части текста в диапазоне ячеек и замена этого текста на найденное соответсвие
Имеется список адресов, которым нужно присвоить в отдельной ячейке название микрорайона. Есть...

Поиск текста в .txt и вывод этого текста в консоль
Доброе время суток! Задали в универе написать программу (база данных книг) которая сохраняет...

10
317 / 75 / 18
Регистрация: 04.08.2018
Сообщений: 372
10.08.2019, 17:54 2
Chuklexa, как бы вы поиск текста и замену цвета сделали руками?
0
0 / 0 / 0
Регистрация: 11.02.2019
Сообщений: 18
10.08.2019, 17:57  [ТС] 3
Руками бы я это сделал очень просто, команда поиск ввел бы нужный мне текст а потом бы поменял его цвет и так по очереди весь, но это долго если количество текста 25+, вот собственно и появилась идея сделать программу которая сама бы все перебирала и красила.
0
317 / 75 / 18
Регистрация: 04.08.2018
Сообщений: 372
10.08.2019, 18:05 4
Chuklexa, т.е. вы хотите чтобы программа, написанная на Дельфи, лезла бы в другую программу nanoCAD, выполняла бы какие-то действия? Попробуйте программу AutoIt, она сделана для подобных вещей и язык программирования в ней проще.
Делать такое в Дельфи лично я не представляю как.
0
880 / 583 / 178
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
10.08.2019, 18:06 5
Что такое "nanoCAD" и что такое "менять цвет текста в чертеже"? Какой-то конкретный пример есть?
0
2218 / 1146 / 418
Регистрация: 15.11.2015
Сообщений: 4,573
10.08.2019, 18:25 6
Если надо подавать команды через командную строку в программе, то можно использовать SendInput, отправлять нажатия кнопок клавиатуры и мыши.
0
0 / 0 / 0
Регистрация: 11.02.2019
Сообщений: 18
10.08.2019, 19:33  [ТС] 7
nanoCAD это программа которая скопирована с известного AutoCAD, а менять цвет текста это в прямом смысле менять цвет, каждому объекту можно задать цвет будь то линия или текст. Вот я хочу чтоб текст который обнаружен программой менял свой цвет на тот который выберу или задам я. Попробую описать суть работы, есть чертёж разработанный в nanoCAD, у каждого чертежа есть таблица вспомогательных документов где указаны номера документов, а дальше по всему чертежу где то даны ссылки на эти номера (ссылки эти это просто номер документа на выноски), так вот я хочу замутить программку, где я буду вбивать номер чертежа, а программа пробежаться по чертежу и поменяет цвет всем совпадающим ссылкам.
0
2218 / 1146 / 418
Регистрация: 15.11.2015
Сообщений: 4,573
10.08.2019, 19:46 8
Chuklexa, это ничего не говорит тем, кто не работал с nanocad. Конкретно что надо сделать, на какие кнопки надо нажать, чтобы поменять цвет текста?
0
0 / 0 / 0
Регистрация: 11.02.2019
Сообщений: 18
10.08.2019, 19:49  [ТС] 9
В самой программе есть кнопка для изменения цвета объекта.
0
320 / 158 / 65
Регистрация: 25.02.2018
Сообщений: 594
10.08.2019, 21:12 10
Что-то мне подсказывает, что тут напрашивается работа с объектной моделью самого NanoCad, ставить последний не буду за ненадобностью, но информации по API функциям в гугле предостаточно. Алгоритм тут виден следующий: Создаётся объект NanoCad - грузится в него документ - используя API-функции редактируется - сохраняется. В принципе ничего нового. Благо через COM-интерфейс подключить его не проблема. А дальше лопатить функции и править документ на тех условиях, которые вам необходимы. Как получить интерфейсы для работы с любой программой, используя COM найти тоже не проблема. Запускается сам NanoCad (из приложения Delphi) просто:

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure Start_nanoCad(var nanoCadApp: InanoCADApplication);
begin
  try
    GetActiveOleObject('nanoCad.Application').QueryInterface(InanoCADApplication, nanoCadApp);
  except
    nanoCadApp := nil;
  end;
  if not (Assigned(nanoCadApp)) then
  begin
    try
      nanoCadApp := CoApplication.Create;
      nanoCadApp.Visible := True;
    except
      if (Assigned(nanoCadApp)) then
      begin
        nanoCadApp.Quit;
      end;
    end;
  end;
end;
0
880 / 583 / 178
Регистрация: 28.02.2017
Сообщений: 2,359
Записей в блоге: 1
11.08.2019, 03:16 11
Цитата Сообщение от Chuklexa Посмотреть сообщение
...а программа пробежаться по чертежу и...
Чёртёж - это у вас документ в данный момент открытый в программе nanoCAD, или файл на диске?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2019, 03:16

Изменить поиск, что бы осуществлялся поиск цифр, а не текста
Доброго времени суток проблема такова есть код на поиск текста из БД как заменить чтобы он искал не...

Проектирование СКС в nanoCAD СКС
Можно ли на готовом чертеже сделать разметки СКС? И кто сможет мне помочь, как это делать. Очень...

Поиск текста
Скрипт почему-то не всегда находит нужны текст, хотя он есть, как с этим бороться? let count =...

Поиск текста
$pattern = "/(".$result.").\.{1,3}(\d{1,2})?.{1,3}?(+)/"; $result =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.