PDA

View Full Version : سئوالی مهم برای آنهایی یک سند را گزاررش گیری میکنند



rezayat
چهارشنبه 27 اردیبهشت 1385, 15:23 عصر
سلام
همه میدانیم که بازار کار غیر قانونی داغ است و کاپوتر ها یکی از وسایل جلوگیری از زد ویند ها می باشند .
من به یک مشکل اساسی برخورد کردم :گیج: یک متن سند در یک تکس باکس در vb نوشته می شود و از آن فرم گزارش گرفته می شود .حالا مشکل اینجا است که در تکس باکس مذکور سند نوشته شده وسند جوری نوشته می شود که مثلا اعداد در آخر خط نباشند تا نتوان آنها را با گذاشتن یک عدد دیگر بزرگ کرد وقتی گزارش گرفته می شود ناگهان می بینیم عددی که در آخر خط نبود حالا در اول خط بعد است و...
به طور خلاصه چطور می توان همان چیزی که فرد در فرم می بیند را در گزارش ها نیز ببیند
نکته : ما فونت ها اندازه ها (هم فونت و هم تکس باکس ها در هر دو طرف )را هم بکی کریم فایده نداشت . در ضمن برای فونتهای مختلف چه باید کرد
نکته : نمیتوان از آن عکس گرفت چون در چاپ ما از پرینتر های line استفاده می کنیم .
نکته : فکر کردیم از کامپوننت های Html استفاده کنیم اما نه در vb و نه در کریستال ریپورت بلد نبودیم و شک داریم که جواب بدهد یا نه.

ali_kolahdoozan
چهارشنبه 27 اردیبهشت 1385, 17:32 عصر
شما هم میتونی این مشگل دو حل کنی . هم یکباره از فرمت عکس بگیری . و بفرستی درون printdocument یا یه فرم دیکه درست کن. شکل printpreviw و بعد ازش عکس بگیر .

rezayat
دوشنبه 01 خرداد 1385, 15:51 عصر
شما انگار با پرینتر Line آشنا نیستید عزیزم اگر این کار را بکنم که فقط برام چهار گوش های تو پر چاپ می شود . به نظر میاد اینجا کسی نمی تواند جواب بدهد اشتباهی آمدم . بابا یکی نیست به داد ما برسه .......؟؟؟؟؟

Seivan
دوشنبه 01 خرداد 1385, 16:30 عصر
این در واقع ساده ترین کاری می باشد که یک گزارشگیر باید بلد باشد که شما بلد نیستید. به شرط اینکه شما Crystal Report بلد باشید و همچنین بلد باشید که چگونه می توان در زمان Runtime به یک Object از کلاس گزارشتان DataSet بفرستید. عزیز راه حلی ساده را در اینجا برای شما ارائه می دهم.
ابتدا View زیر را در DataBase ایجاد نمایید. (فرض: Database شما SqlServer است)


Select Cast( 1 as int) as DocID , N'خط1' AS line

بعد گزارش را بر حسب این View ایجاد کنید. در گزارش یک گروه بندی بر حسب DocID انجام بده و فیلد line را در Details قرار بده. در واقع هر Detail یک خط می باشد. ( فرض کرده ام چند تا سند را می خواهید با هم نمایش بدید.)

حال برای اینکه در Runtime سند وارد شده توسط کاربر را را در گزارش نشان دهیم. ابتدا DataTable ی خواهیم ساخت. و برای هر خطی که کاربر در TextBox وارد کرده است یک DataRow به DataTable ایجاد شده اضافه کنید که حاوی خط مربوطه است. در RunTime این DataTable را که حاوی متن سند وارد شده می باشد به گزارش بفرستید. گزارش دقیقا چیزی را نشان خواهد داد که در TextBox وجود دارد به شرط اینکه این TextBox شما MultiLine باشد.

rezayat
سه شنبه 02 خرداد 1385, 10:43 صبح
اولا سلام
دوما من هیج ادعایی در رابطه با کریستال ندارم
سوما این جور که من فهمیدم شما خط ها را فیلهای از هم جدا فرض کردید ما در یک textbox داریم داده ها را وارد می کنیم چطور بفهمیم که الان به خط بعدی رفتیم یا نرفتیم یا کجا هستیم کجا کلید شده و کار بر از انجا به کجا می رود و در وسط متن کلمه ای را اضافه می کند وخطوط به هم می خورد و .... خواهشا اگر چیزی هست که این اطلاعات را به ما بدهد بگویید پیشنهاد دهید فقط سریع تر .