Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Графические компоненты из Office, Как реализовать графику подобную в Offic 
:(
    Опции темы
RYurik
Дата 29.8.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.8.2006
Где: Беларусь

Репутация: нет
Всего: нет



Подскажите, есть ли компоненты, которые реализуют простейшую графику подобную MS Office?
Подробнее. Клиентами набираются заказы в Excel (мебельное производство), иногда прилагаются рисунки "потолков".
Т.е. прямоугольные области, срезы, фрезы (в принципе с помощью офисной графики можно все отрисовать). Есть кривые "Безье".
Примеры в прикрепленном файле.
Мучаюсь над обработкой заказов. Подобрался к рисункам и пока что не знаю с какой стороны подойти....


Это сообщение отредактировал(а) RYurik - 29.8.2006, 14:47

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  _______.xls 89,50 Kb
PM MAIL ICQ   Вверх
Kesh
Дата 29.8.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 1
Всего: 54



RYurik, сюда прикрепи... рисунки


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
RYurik
Дата 29.8.2006, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.8.2006
Где: Беларусь

Репутация: нет
Всего: нет



подскажите, как именно? Туплю конкретно. Обычно даются ссылки на рисунки. smile
Вот я не знаю куда из выложить и как. Очень редко обращаюсь за помощью.
PM MAIL ICQ   Вверх
Kesh
Дата 29.8.2006, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 1
Всего: 54



Вот... А теперь пожалуста вопрос...
Что надо сделать? Достать рисунки из Excel? Поместить рисунки в Excel?


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Alexeis
Дата 29.8.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(RYurik @  29.8.2006,  14:41 Найти цитируемый пост)
Вот я не знаю куда из выложить и как.
Можно сюда http://imageshack.us

Добавлено @ 15:08 
Просто скопировать специальную ссылку которую даст сайт (она будет в квадратных скобках)


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
RYurik
Дата 29.8.2006, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.8.2006
Где: Беларусь

Репутация: нет
Всего: нет



да, не совсем корректно поставлена задача.

Есть описание каждого куска ДСП (размеры, тип). Т.е. прямоугольный, фрезерованный с одной стороны, или срезанный и т.д.
В принципе, нужно узнать размеры багета (толстые линии).
Меня интересует конкретная реализация (отображение) данных в виде рисунка.
По идее хотелось бы нарисовать потолок, а потом простым кликом по краю потолка автоматически рисовать багет.
Есть нюансы, багет может быть длиннее, чем потолок. Т.е. нужна возможность ручного реадктирования...
Можно часть вопроса решить простыми шаблонами, как он и решен в примере, но всегда хочется большего.
Excel для этого не сильно подходит, одна из причин - не сильно удобно работать с Оле объектами, да и очень медленно все будет это дело делаться. А т.к. заказы набираются непрерывно, то хотелось бы все это дело автоматизировать и в принципе, переложить часть обработки заказа на самого клиента.
Просто многие заказы пишутся и рисуются от руки.

В прикрепленном файле пример заказа кухни.

З.Ы. Да, понятно, что багет может быть только прямолинейный. Кроме одного случая, когда он может быть не МДФ а деревянный, т.е. можно сделать его гнутым (только один вариант).

Это сообщение отредактировал(а) RYurik - 29.8.2006, 15:49

Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  ForExample.xls 18,00 Kb
PM MAIL ICQ   Вверх
RYurik
Дата 13.9.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.8.2006
Где: Беларусь

Репутация: нет
Всего: нет



Нашел компоненты TCAD на codeidea
вроде подходят.... кто нить с ними работал?
может есть источники?  smile 
PM MAIL ICQ   Вверх
Albinos_x
Дата 15.9.2006, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Evil Skynet
****


Профиль
Группа: Комодератор
Сообщений: 3288
Регистрация: 28.5.2004
Где: X-6120400 Y-1 4624650

Репутация: 1
Всего: 108



c Excel еще не попробовал, но попробуй по принципу как в ворде:
Код

procedure TForm1.BitBtn1Click(Sender: TObject);
var c, i:Integer;
    F:OleVariant;
    Can:TCanvas;
    DC:HDC;
    S:WideString;
    OlF:OLEFormat;
begin
if not OpenDialog1.Execute then exit;
f:=OpenDialog1.FileName   ;
WordApplication1.ConnectKind:=ckNewInstance;
WordApplication1.AutoQuit:=false;
WordApplication1.Visible:=true;
WordApplication1.AutoConnect:=true;
WordDocument1.ConnectTo(WordApplication1.Documents.Open(f,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                 EmptyParam,EmptyParam,EmptyParam,
                                EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam));
RichEdit1.Text:=WordApplication1.ActiveDocument.Content.Text;
s:= WordApplication1.ActiveDocument.Content.Text;
Application.ProcessMessages;
// здесь ищем и выдергиваем картинки
WordDocument1.Content.Select;
c:=WordDocument1.Range.InlineShapes.Count;
// количество
Caption:=inttostr(c);
       
for i:=1 to c do
   begin
   WordDocument1.Range.InlineShapes.Item(i).Range.CopyAsPicture;
   if i=1 then
      Image1.Picture.Assign(Clipboard);
   Application.ProcessMessages;
   if i=2 then
      Image2.Picture.Assign(Clipboard);
   OlF:=WordApplication1.Selection.InlineShapes.Item(i).OLEFormat;
   memo1.Lines.add(Inttostr(WordApplication1.Selection.InlineShapes.Item(i).type_));
   // тип рисунка
   if WordApplication1.Selection.InlineShapes.Item(i).OLEFormat<>nil then
      begin
      memo1.Lines.add(OlF.ClassType);
     end;
   end;
end;



--------------------
"Кто владеет информацией, тот владеет миром"    
Уинстон Черчилль
PM MAIL ICQ   Вверх
RYurik
Дата 16.9.2006, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.8.2006
Где: Беларусь

Репутация: нет
Всего: нет



Спасибо за интересный подход.
Только суть "чуть-чуть" в другом. smile
В екселе все идет по "шаблону". Т.е. один и тот же рисунок будет использоваться несколько раз с разными размерами, но выглядеть будет одинаково. Меняться будут только цифры, которые находятся в ячейках, причем могут хранится сразу два размера разделенные пробелами. Т.е. форматирование "на глаз".
Мне же нужно что-то в роде компонентов TCAD.
Порылся на торри, нашел небольшую сборку.
Есть интересные решения, но TCAD подходит больше всего. Все супер, но платно и дорого.
Вот и взялся сам за реализацию графики в своем проекте.
Хотелось бы рисовать все параметрически.....
Пока что сижу ломаю голову над постановкой задачи и над конретной реализацией.
Первый вопрос над которым думаю, как сделать параллельные стороны зависимыми друг от друга?
Грубо говоря, если у нас в прямоугольнке отрезать один угол, то получится "потолок со срезом". Вот этот срез постояннен (имеет свои параметры), а длина и ширина прямоугольника может меняться произвольно......
Как ни кручу, выходит, что любую фигуру нужно рисовать отдельными отрезками. Т.е. сделать свой "алгоритмический интрепритатор".
использовать регионы на проверку вхождения точки в заданную область и т.п.
Но ничего не поделать, нужно работать........
PM MAIL ICQ   Вверх
Alexeis
Дата 16.9.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



RYurik, Существует класс TMetaFile, для работы с векторной графикой, вот только его возможности оч. ограничены, вероятно, понадобится реализация его расширеного аналога.

Добавлено @ 16:30 
Вот ссылочка на компонент который должен помочь в создании такого компонента
http://vclcomponents.com/Delphi/Image_Proc...rithm-info.html


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
RYurik
Дата 18.9.2006, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 29.8.2006
Где: Беларусь

Репутация: нет
Всего: нет



Спасибо, за клас TMetaFile я уже взялся.
Сейчас посмотрю на компонент.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0973 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.