|
Вопрос # 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;
- begin
- ShapesCount:=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 begin
- if NewShape.Left+(NewShape.Width*2)>RabWidthList_ then begin
- NewShape.Left:=0;
- NewShape.Top:=LastTop_+NewShape.Height+2;
- end else begin
- NewShape.Left:=Lastleft_+LastShapeWidth_+2;
- NewShape.Top:=LastTop_;
- end;
- end else begin
- WordApplication1.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]:
МДЕмс истекло время вапроса...
хотя я сам уже все сделал в Ворде
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|