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

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

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

Delphi.int.ru Expert

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

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

#   

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


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

Подробнее »



Вопрос # 4 495

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

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

-как сделать чтобы каждый сдублированный шейп вставлялся в документ с учотом положения последнего и с учетом размеров страници.

заранее БЛАГОДАРЕН

Приложение:
  1.  
  2. procedure TForm1.Button2Click(Sender: TObject);
  3. var
  4. ShapesCount:Integer;
  5. SC:OleVariant;
  6. Lastleft_:Variant;
  7. LastTop_:Variant;
  8. LastShapeWidth_:Variant;
  9. LastShapeHeigth_:Variant;
  10. LastShape:Shape;
  11. NewShape:Shape;
  12.  
  13.  
  14. var What, Which, Name : OleVariant;
  15. begin
  16. ShapesCount:=WordApplication1.ActiveDocument.Shapes.Count;
  17. SC:=ShapesCount;
  18. LastShape:=WordApplication1.ActiveDocument.Shapes.Item(SC);
  19. Lastleft_:=LastShape.Left;
  20. LastTop_:=LastShape.Top;
  21. LastShapeWidth_:=LastShape.Width;
  22. LastShapeHeigth_:=LastShape.Height;
  23. ///////////////////////////////////////////////////
  24.  
  25. NewShape:=LastShape.Duplicate;
  26. //NewShape.TextFrame.TextRange.Select;
  27. if NewShape.Top+NewShape.Height<RabHeigthList_ then begin
  28. if NewShape.Left+(NewShape.Width*2)>RabWidthList_ then begin
  29. NewShape.Left:=0;
  30. NewShape.Top:=LastTop_+NewShape.Height+2;
  31. end else begin
  32. NewShape.Left:=Lastleft_+LastShapeWidth_+2;
  33. NewShape.Top:=LastTop_;
  34. end;
  35. end else begin
  36. WordApplication1.ActiveDocument.Shapes.Item(SC).Select(EmptyParam);
  37. WordApplication1.Selection.Cut;
  38.  
  39.  
  40. What:=wdGoToPage;
  41. Which:=wdGoToNext;
  42. Name:='2';
  43. WordApplication1.Selection.GoTo_(What, Which, EmptyParam, Name);
  44.  
  45. WordApplication1.Selection.Paste;
  46. end;
  47.  
  48. ///////////////////////////////////////////////////
  49. Memo3.Text:=
  50. 'Lastleft_ '+VarToStr(Lastleft_)+#13#10+
  51. 'LastTop_ '+VarToStr(LastTop_)+#13#10+
  52. 'LastShapeWidth_ '+VarToStr(LastShapeWidth_)+#13#10+
  53. 'LastShapeHeigth_ '+VarToStr(LastShapeHeigth_);
  54.  
  55. end;
  56.  
  57.  


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

Вопрос задал: КоржученкоМС (статус: Посетитель)
Вопрос отправлен: 9 августа 2010, 17:50
Состояние вопроса: открыт, ответов: 0.


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

Всего сообщений: 15; последнее сообщение — 17 августа 2010, 03:23; участников в обсуждении: 2.
min@y™

min@y™ (статус: Доктор наук), 9 августа 2010, 18:01 [#1]:

Ты чего, вставляешь инфу в ворд только для того, чтобы её потом напечатать?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
КоржученкоМС

КоржученкоМС (статус: Посетитель), 9 августа 2010, 18:08 [#2]:

ну да, ценники мне нужны в напечатанном виде)) а не в цифровом
КоржученкоМС

КоржученкоМС (статус: Посетитель), 9 августа 2010, 18:27 [#3]:

вапщето если последний шейп руками перетащить на новый лист, то следущие встают как нада, но снова только до нижнего края страници
min@y™

min@y™ (статус: Доктор наук), 9 августа 2010, 18:31 [#4]:

Цитата (КоржученкоМС):

ну да, ценники мне нужны в напечатанном виде)) а не в цифровом

Ну тогда на кой хрен тебе ворд сдался?! Печатай руками всё, рисуй на канвасе принтера. Для этого даже есть неплохие компоненты, хотя можно и без них сделать. Будет проще, быстрее и надёжнее.
Хватит ерундой заниматься.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
КоржученкоМС

КоржученкоМС (статус: Посетитель), 10 августа 2010, 05:24 [#5]:

ну вопервых еслиб я был кандидатом наук я бы сразу сделал как лучши или как мне нада
второе я только этот вариант и знаю
третье мне именно нужно ворд чтобы в файл сохранить
а потом када нада и где нада распечатать
min@y™

min@y™ (статус: Доктор наук), 10 августа 2010, 08:20 [#6]:

Цитата (КоржученкоМС):

третье мне именно нужно ворд чтобы в файл сохранить

Ты сам себе противоречишь. Вот это чьи слова?

Цитата (КоржученкоМС):

ну да, ценники мне нужны в напечатанном виде)) а не в цифровом


А файл сохранить и потом напечатать можно и без ворда: на одном формате DOC свет клином не сошёлся, есть, например, PDF и бесплатные программы (виртуальные принтеры), создающие pdf-файлы.

Цитата (КоржученкоМС):

еслиб я был кандидатом наук я бы сразу сделал как лучши или как мне нада

А шо тебе мешает? Хочешь быть кандидатом наук - будь им!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
КоржученкоМС

КоржученкоМС (статус: Посетитель), 10 августа 2010, 08:50 [#7]:

хм, я то думал тут помогут в решении задачки, а тут кроме флуда никакой помощи, если Вы не можете помоч то зачем вапще чтото писать

по поводу противоречия, чтобы донести файл до принтера нада его сохранить. почему ворд? повторюсь, я других способов незнаю)) потомучто новичок в программировании в отличии от Вас, у вас же статус Кандидат наук
min@y™ (статус: Кандидат наук).
СПАСИБО за внимание
min@y™

min@y™ (статус: Доктор наук), 10 августа 2010, 09:07 [#8]:

Цитата (КоржученкоМС):

повторюсь, я других способов незнаю

Я тоже повторюсь: другие способы есть и их несколько штук.
В интернете, который у тебя сейчас перед глазами, полно статей на тему печати. Если тебе влом их искать и изучать, то это только твои проблемы, но скажи мне, неужели трудно набрать в гугле, например, вот такой запрос?
Печать вручную очень удобно отлаживать на виртуальном PDF-принтере, он же пригодится, если нужно иметь файл для переноса на другие компы. И это есть реальный вариант решения твоей задачи.

З.Ы. И не надо орать на весь интернет "я нихрена не знаю, не умею и получаю в ответ на свои вопросы флуд" - тебе никто не мешает научиться.

З.З.Ы. Если решишься выкинуть и забыть ворд, могу прислать чудесный компонент для предпросмотра и печати - TPrintPreview. Программы для печати в PDF, такие как PdfFactory или doPDF, ты можешь найти сам.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
КоржученкоМС

КоржученкоМС (статус: Посетитель), 10 августа 2010, 09:41 [#9]:

во, реал хелп, СПАСИБО
я как раз учусь, как время есть.
насчет компонента TPrintPreview если незатруднит пришлите, просто непомню есть такой компанент в 7 делфе или нет.
а насчет запроса в гугл, о такой постановке вапроса я не думал, посмотрю что там гугл покажит
min@y™

min@y™ (статус: Доктор наук), 10 августа 2010, 09:57 [#10]:

Цитата (КоржученкоМС):

насчет компонента TPrintPreview если незатруднит пришлите, просто непомню есть такой компанент в 7 делфе или нет.

Это сторонний компонент. Качай отсюдова. В архиве есть пример использования этого компонента.

Цитата (КоржученкоМС):

а насчет запроса в гугл, о такой постановке вапроса я не думал

Думать вредно? Ты вот эту ссылку нажимал?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
КоржученкоМС

КоржученкоМС (статус: Посетитель), 10 августа 2010, 10:12 [#11]:

да нажимал, вы там запрос сделали о печати из делфи, читал книжку про печать из делфи и забросил, так как ума на это нехватает, ну и получается из за этого мне проще было все в ворде сделать, вот и начал, да всеравно застрял
min@y™

min@y™ (статус: Доктор наук), 10 августа 2010, 10:23 [#12]:

Цитата (КоржученкоМС):

да нажимал

И каковы результаты этого исторического события?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
КоржученкоМС

КоржученкоМС (статус: Посетитель), 10 августа 2010, 11:43 [#13]:

и всеже
по ворду есть идеи решения вапроса?
min@y™

min@y™ (статус: Доктор наук), 10 августа 2010, 13:07 [#14]:

Цитата (КоржученкоМС):

и всеже по ворду есть идеи решения вапроса?

У меня - нет, я никогда не работал с вордом из delphi, необходимости не было.
Судя по тому, что в этот вопрос влез только я, решения по ворду ты тут не найдёшь. Печатай напрямую.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
КоржученкоМС

КоржученкоМС (статус: Посетитель), 17 августа 2010, 03:23 [#15]:

МДЕмс :( истекло время вапроса...

хотя я сам уже все сделал в Ворде

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

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