View Full Version : ایجاد template برای چاپ نامه یا فرم های خاص
mohammadr55
یک شنبه 10 تیر 1386, 10:00 صبح
سلام
فرض کنید یک نامه بایستی در برنامه چاپ شود. اگر بخواهیم این امکان را به کاربر بدهیم که متن نامه را ویرایش کند و بعد برنامه اطلاعات رو از بانک بخواند و آنرا با متغییرهای تعریف شده در متن نامه جایگزین کند و چاپ کند
به نظر شما بهترین روش چیست ؟؟
-- محمد
SYNDROME
یک شنبه 10 تیر 1386, 13:16 عصر
با سلام
سلام
فرض کنید یک نامه بایستی در برنامه چاپ شود. اگر بخواهیم این امکان را به کاربر بدهیم که متن نامه را ویرایش کند و بعد برنامه اطلاعات رو از بانک بخواند و آنرا با متغییرهای تعریف شده در متن نامه جایگزین کند و چاپ کند
به نظر شما بهترین روش چیست ؟؟
-- محمد
آیا جاهای بخصوصی از نامه باید تغییر کند و کاربر جاهای خالی را پر می کند یا هر جای نامه را می تواند تغییر دهد؟؟؟؟
منظور شما از جایگزینی متغییر چی است؟؟؟
اَرژنگ
یک شنبه 10 تیر 1386, 14:28 عصر
سلام
فرض کنید یک نامه بایستی در برنامه چاپ شود. اگر بخواهیم این امکان را به کاربر بدهیم که متن نامه را ویرایش کند و بعد برنامه اطلاعات رو از بانک بخواند و آنرا با متغییرهای تعریف شده در متن نامه جایگزین کند و چاپ کند
به نظر شما بهترین روش چیست ؟؟
-- محمد
بهترین راه وجود نداره، مناسبترین راه ممکنه یکی از اینها باشه
Automating Word, TPageProducer, Delphi Script
و یا یک روش دیگر
mohammadr55
یک شنبه 17 تیر 1386, 14:39 عصر
سلام
هرجایی از نامه می تونه تغییر کنه و مسئله ایه که جاهای که علامت گذاری شده بایستی با فیلدهای خاصی جایگذین بشه
mohammadr55
یک شنبه 17 تیر 1386, 16:00 عصر
بهترین راه وجود نداره، مناسبترین راه ممکنه یکی از اینها باشه
Automating Word, TPageProducer, Delphi Script
و یا یک روش دیگر
ممنون از راهنماییتون
اگر ممکنه راجع به automating word بیشتر توضیح بدین
-- ممنون
mohammadr55
یک شنبه 17 تیر 1386, 16:02 عصر
سلام
هرجایی از نامه می تونه تغییر کنه و مسئله ایه که جاهای که علامت گذاری شده بایستی با فیلدهای خاصی جایگذین بشه
من شنیدم با XML هم میشه این کار رو کرد ولی نمی دونم چطوری . اگر اطلاعاتی در این مورد دارید ممنون میشم راهنمایی کنید.
vcldeveloper
یک شنبه 17 تیر 1386, 18:58 عصر
یک راه می تونه این باشه که در یک گزارش ساز مثل FastReport برای بخش های مختلف نامه که کاربر می تونه تغییر بده، Variable تعریف کنی، و قبل از چاپ نامه مقدار این Variable ها را با داده های کاربر جایگزین کنی. برای بخش هایی هم که از بانک خونده می شوند، هم مستقیما اونها را به فیلد مربوطه در بانک متصل میکنی، تا هر تغییری که کاربر بروی آن اعمال کرد در متن چاپ شده هم لحاظ شود.
mohammadr55
سه شنبه 19 تیر 1386, 08:27 صبح
یک راه می تونه این باشه که در یک گزارش ساز مثل FastReport برای بخش های مختلف نامه که کاربر می تونه تغییر بده، Variable تعریف کنی، و قبل از چاپ نامه مقدار این Variable ها را با داده های کاربر جایگزین کنی. برای بخش هایی هم که از بانک خونده می شوند، هم مستقیما اونها را به فیلد مربوطه در بانک متصل میکنی، تا هر تغییری که کاربر بروی آن اعمال کرد در متن چاپ شده هم لحاظ شود.
بد نیست ؛ اما آزادی عمل خیلی کمی داره مثلا اگر متن در قسمتی کم یا زیاد بشه امکان تنظیم نداره و کلا راحت نیست
vcldeveloper
سه شنبه 19 تیر 1386, 12:14 عصر
مثلا اگر متن در قسمتی کم یا زیاد بشه امکان تنظیم نداره و کلا راحت نیست
اتفاقا کم یا زیاد شدن متن تاثیری در این روش نداره، بخصوص که در ابزاری مثل FastReport می تونی سایز کنترل ها را متناسب با محتویاتشون بصورت اتوماتیک تغییر بدی و مکان کنترل های بعد از اون کنترل هم متناسب با سایز کنترل قبلی محاسبه میشه تا تناسب گزارش بهم نخوره.
من خودم این روش رو برای ایجاد Template برای نامه ها در یک پروژه استفاده کردم. کل نامه به پنج بخش تقسیم شد: بخش تاریخ و شماره سریال، بخش Header، بخش Body، بخش Footer نامه، و بخش مربوط به امضاء. تاریخ و شماره سریال از طریق Variables منتقل میشدند، نمایش/یا عدم نمایش امضا از طریق کدنویسی، متن نامه ها توسط کاربر تایپ می شد، یا از بانک خونده می شد و بصورت RTF نمایش داده می شد. البته در متن نامه ها هم از Variable برای اشاره به شماره نامه های قبلی، یا نام گیرنده و... استفاده می شد.
پس نه تنها آزادی کمی نداره، بلکه فوق العاده انعطاف پذیر هست.
mohammadr55
شنبه 23 تیر 1386, 13:55 عصر
ممنون از راهنمایی مفیدتون
با XML چی؟ اطلاعاتی در این مورد دارید؟
همینطور که می دونید می تونید یک template در word درست کنید و جاهای مختلفی رو که نیاز دارید با tag ها علامت زد. بعد اون فایل رو به برنامه داد تا با فیلدهای مورد نظر جایگرین بشه و چاپش کنه
ولی مشکل اینجاست که نمی دونم اون فایل word را چطور توی برنامه می تونم چاپ کنم و متغییرهای تعریف شده رو هم جایگزین کنم.
-- منتظرم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.