| 
| 
 | Вопрос # 4 495/ вопрос открыт / | 
 |  Здравствуйте, эксперты!Делфи 7 пользую
 перекапал интернет как тока умею, не нашол что искал, перепробовал все что фантазия подсказала)) не помогло))), работаю продавцом делаю прогу для себя
 я в шаблоне дублирую шейп нужное количество раз чтоб потом в каждый воткнуть наименование и цену, но когда уже нужно чтобы шейпы появлялись на новой странице, они вместо этого вылезают за пределы листа, дето в книгах читал есть такой код, но самого кода ненашол, попытался сам сделать, частично получилось но всеравно застрял. с компонетами WordApplication1 и WordDocument1 работаю.
 решил написать вапрос, вотон:
 
 -как сделать чтобы каждый сдублированный шейп вставлялся в документ с учотом положения последнего и с учетом размеров страници.
 
 заранее БЛАГОДАРЕН
 Приложение:Переключить в обычный режим  procedure TForm1.Button2Click(Sender: TObject);var  ShapesCount:Integer;  SC:OleVariant;  Lastleft_:Variant;  LastTop_:Variant;  LastShapeWidth_:Variant;  LastShapeHeigth_:Variant;  LastShape:Shape;  NewShape:Shape;    var What, Which, Name : OleVariant;beginShapesCount:=WordApplication1.ActiveDocument.Shapes.Count;SC:=ShapesCount;LastShape:=WordApplication1.ActiveDocument.Shapes.Item(SC);Lastleft_:=LastShape.Left;LastTop_:=LastShape.Top;LastShapeWidth_:=LastShape.Width;LastShapeHeigth_:=LastShape.Height;/////////////////////////////////////////////////// NewShape:=LastShape.Duplicate;//NewShape.TextFrame.TextRange.Select;if NewShape.Top+NewShape.Height<RabHeigthList_ then beginif NewShape.Left+(NewShape.Width*2)>RabWidthList_ then beginNewShape.Left:=0;NewShape.Top:=LastTop_+NewShape.Height+2;end else beginNewShape.Left:=Lastleft_+LastShapeWidth_+2;NewShape.Top:=LastTop_;end;end else beginWordApplication1.ActiveDocument.Shapes.Item(SC).Select(EmptyParam);WordApplication1.Selection.Cut;  What:=wdGoToPage;Which:=wdGoToNext;Name:='2';WordApplication1.Selection.GoTo_(What, Which, EmptyParam, Name); WordApplication1.Selection.Paste;end; ///////////////////////////////////////////////////Memo3.Text:='Lastleft_  '+VarToStr(Lastleft_)+#13#10+'LastTop_  '+VarToStr(LastTop_)+#13#10+'LastShapeWidth_  '+VarToStr(LastShapeWidth_)+#13#10+'LastShapeHeigth_  '+VarToStr(LastShapeHeigth_); end;  
|  |   Вопрос задал: КоржученкоМС (статус: Посетитель)Вопрос отправлен: 9 августа 2010, 17:50
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 15; последнее сообщение — 17 августа 2010, 03:23; участников в обсуждении: 2. 
|   | min@y™ (статус: Доктор наук), 9 августа 2010, 18:01 [#1]:Ты чего, вставляешь инфу в ворд только для того, чтобы её потом напечатать? Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | КоржученкоМС (статус: Посетитель), 9 августа 2010, 18:08 [#2]:ну да, ценники мне нужны в напечатанном виде)) а не в цифровом |  
|   | КоржученкоМС (статус: Посетитель), 9 августа 2010, 18:27 [#3]:вапщето если последний шейп руками перетащить на новый лист, то следущие встают как нада, но снова только до нижнего края страници |  
|   | min@y™ (статус: Доктор наук), 9 августа 2010, 18:31 [#4]: Цитата (КоржученкоМС): ну да, ценники мне нужны в напечатанном виде)) а не в цифровом  Ну тогда на кой хрен тебе ворд сдался?! Печатай руками всё, рисуй на канвасе принтера. Для этого даже есть неплохие компоненты, хотя можно и без них сделать. Будет проще, быстрее и надёжнее.
 Хватит ерундой заниматься.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | КоржученкоМС (статус: Посетитель), 10 августа 2010, 05:24 [#5]:ну вопервых еслиб я был кандидатом наук я бы сразу сделал как лучши или как мне нада второе я только этот вариант и знаю
 третье мне именно нужно ворд чтобы в файл сохранить
 а потом када нада и где нада распечатать
 |  
|   | min@y™ (статус: Доктор наук), 10 августа 2010, 08:20 [#6]: Цитата (КоржученкоМС): третье мне именно нужно ворд чтобы в файл сохранить Ты сам себе противоречишь. Вот это чьи слова?
 
 Цитата (КоржученкоМС): ну да, ценники мне нужны в напечатанном виде)) а не в цифровом  
 А файл сохранить и потом напечатать можно и без ворда: на одном формате DOC свет клином не сошёлся, есть, например, PDF и бесплатные программы (виртуальные принтеры), создающие pdf-файлы.
 
 
 Цитата (КоржученкоМС): еслиб я был кандидатом наук я бы сразу сделал как лучши или как мне нада А шо тебе мешает? Хочешь быть кандидатом наук - будь им!
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | КоржученкоМС (статус: Посетитель), 10 августа 2010, 08:50 [#7]:хм, я то думал тут помогут в решении задачки, а тут кроме флуда никакой помощи, если Вы не можете помоч то зачем вапще чтото писать 
 по поводу противоречия, чтобы донести файл до принтера нада его сохранить. почему ворд? повторюсь, я других способов незнаю)) потомучто новичок в программировании в отличии от Вас, у вас же статус Кандидат наук
 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™ (статус: Доктор наук), 10 августа 2010, 09:57 [#10]: Цитата (КоржученкоМС): насчет компонента TPrintPreview если незатруднит пришлите, просто непомню есть такой компанент в 7 делфе или нет. Это сторонний компонент. Качай отсюдова. В архиве есть пример использования этого компонента.
 
 Цитата (КоржученкоМС): а насчет запроса в гугл, о такой постановке вапроса я не думал Думать вредно? Ты вот эту ссылку нажимал?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | КоржученкоМС (статус: Посетитель), 10 августа 2010, 10:12 [#11]:да нажимал, вы там запрос сделали о печати из делфи,  читал книжку про печать из делфи и забросил, так как ума на это нехватает, ну и получается из за этого мне проще было все в ворде сделать, вот и начал, да всеравно застрял |  
|   | min@y™ (статус: Доктор наук), 10 августа 2010, 10:23 [#12]: Цитата (КоржученкоМС): да нажимал  И каковы результаты этого исторического события?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | КоржученкоМС (статус: Посетитель), 10 августа 2010, 11:43 [#13]:и всеже по ворду есть идеи решения вапроса?
 |  
|   | min@y™ (статус: Доктор наук), 10 августа 2010, 13:07 [#14]: Цитата (КоржученкоМС): и всеже по ворду есть идеи решения вапроса?  У меня - нет, я никогда не работал с вордом из delphi, необходимости не было.
 Судя по тому, что в этот вопрос влез только я, решения по ворду ты тут не найдёшь. Печатай напрямую.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | КоржученкоМС (статус: Посетитель), 17 августа 2010, 03:23 [#15]:МДЕмс  истекло время вапроса... 
 хотя я сам уже все сделал в Ворде
 |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |