منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اخواني بليز احتاج مساعدتكم لتعديل بمشروع يحوي فاتورة مبيعات مع مثال مرفق بمشروعي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم 

حصلت مثال لطباعه فاتورة مبيعات بدلا من استخدام الكريستال ريبورت وطريقه المثال جدا عجبتني ... ولاكن المشكلة ان المثال متصل بقاعدة بيانات ...ومشروعي غير متصل بقاعدة بيانات ....حاولات مرارا وتكرارا بالتعديل من نفس المشروع على مشروعي ولاكن كل محاولاتي فشلت لاني مبتدئة وصار لي اكثر من اسبوع ادور على حل ؟؟  انا حصلت مثال وعجبني اريد نفس الشكل الموجود بالمثال رقم واحد  عند الطباعة ...يظهر بمشروعي رقم 2 ...نفس البيانات الموجودة ب FORM1  الخاصة ب my project تظهر عند الطباعه بنفس الصيغه وكل شي ومع البااااااااااااركود ياريت حد يساعدني لاني تعبت وانا جالسة اعدل بدون فائدة اليكم المثال مع مثال مشروعي مع الصور والله يعطيكم العافية اسفه على الأطالة

المثال القصود : Exsam.rar
مشروعي المطلوب التعديل به : My.project.rar
راجعي المثال الموجود في اللينك التالي سوف يفيدك و في اللينك هناك نسختان نسخة بلغة #C و نسخة بلغة VB

اللينكــــــــــــــــــــــــــ

عموما لكي تقومي بعملية الطباعة يجب أن تتعلمي كيفية التعامل مع عمليات الرسم المختلفة لأن مشكلة الطباعة انها شئ متغير اليوم تريدين طباعة فاتورة و غدا تريدين طباعة اي شئ أخر و بشكل مختلف

أنا سهل حدا أكتب لك الكلاس الذي يقوم بعملية الطباعة لكن اليوم انا ساعدتك فماذا سوف تفعلين غدا؟
 لذلك الأفضل أن تتعلمي بنفسك كيف تستخدمين الجرافكس

أخير لن أعدك بشئ لكني ساحاول مساعدتك بقدر المستطاع
مشكور على الأفادة اخوي silverlight انا مضغوطة وباقي عدة ايام لتسليم المشروع للأدارة مادري ايش اسوي ياريت حدا يسهل لي المثال تبعي او الفكرة الي انت حكيتها انى ابي مثال عشان اقدر افهم لاني جدا انا المفروض اكون سلمت المشروع والحين متأخرة جدا بليز حدا يساعدني
تسطيعي عمل المطلوب بالكريستال ريبورت بعيدا عن قاعدة البيانات من خلال التالي
1- انشاء Dataset ووضع بداخلها DataTable.
2- يتم تعبئة الـ DataTable بالبيانات الموجودة في DataGridView ثم نجعل مصدر البيانات للكريستال ريبورت
هو الـ DataTable هذا للحقول التي تتكرر , اما بقية الاشياء الثابته على سبيل المثال اسم العميل وغيرها يتم تمريرها للكريستال ريبورت
باستخدام البارامترات.
هذه الطريقة قد تساعدك اختي العزيزة.
اخواني انا مبتدئة بالبرمجة ومااااقد تعاااملت مع الطباعه ولا كريستال اطلاقا وليس لدي الفرصة للتعلم علما بأني جلست اصمم ف المشروع شهرين والمفترض ان اسلم مشروعي بداية الاسبوع القادم وعلما بأن عندي اشياء غير الطباعه جالسة اكملها ماعندي فترة زمنية كافية عشان اجلس واجرب اقتراحاتكم اخواني ياريت حد يساعدني بمثال لو تكرمت فقط

هذا مشروع جامعي وتعبت وفشلت محاوالاتي في الطباعه ارجو ان تتقبلو وضعي وشكرا
في القورم الذي سوف تستخدمينه في الطباعه أضيفي له PrintDocument Component ثم اضيفي الحدث PrintDocument1_PrintPage الخاص بها

و الكود التالي يوضح الفكرة بشكل عام و انا هنا قمت بالتعديل قليلا في الكود الخاص بك و قمت بطباعة الصورة الموجودة في PictureBox3.BackgroundImage فقط لا غير و هذا من أجل التوضيح

PHP كود :
Public Class Form1
    Private Sub Form1_Load
(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        Dim r 
As New Random
        EmpNumber
.Text r.Next(10000000)
 
       PictureBox3.BackgroundImage Code128(EmpNumber.Text"A")
 
   End Sub

    Private Sub btnDialog_Click
(sender As ObjectAs EventArgsHandles btnDialog.Click
        ShowPageSetup
()
 
   End Sub

    Private Sub PrintDocument1_PrintPage
(sender As ObjectAs Printing.PrintPageEventArgsHandles PrintDocument1.PrintPage
        Dim bounds 
As Rectangle = New Rectangle(e.MarginBounds.Xe.MarginBounds.Y00)
 
       DrawIvoice(e.Graphicsbounds)
 
   End Sub

    Private Sub ShowPageSetup
()
 
       Dim invoicePageSetupDialog As PageSetupDialog = New PageSetupDialog() With {.Document Me.PrintDocument1}
 
       invoicePageSetupDialog.ShowDialog()
 
   End Sub

    Private Sub ShowPrintPreview
()
 
       Dim invoicePrintPreviewDialog As PrintPreviewDialog = New PrintPreviewDialog() With {.Document Me.PrintDocument1}
 
       invoicePrintPreviewDialog.ShowDialog()
 
   End Sub

    Private Sub 
Print(showInvoicePrintDialog As Boolean)
 
       If showInvoicePrintDialog Then
            Dim result 
As DialogResult = New PrintDialog() With {.Document PrintDocument1}.ShowDialog()
 
           If result <> DialogResult.OK AndAlso result <> DialogResult.Yes Then
                Return
            End 
If
 
       End If
 
       PrintDocument1.Print()
 
   End Sub

    Private Sub DrawIvoice
(As Graphicsrect As Rectangle)
 
       Dim imgPoint As Single 0

        Dim img 
As Bitmap CType(PictureBox3.BackgroundImageBitmap)
 
       g.DrawImage(img, New Point(imgPointimgPoint))
 
   End Sub

    Private Sub btnPreview_Click
(sender As ObjectAs EventArgsHandles btnPreview.Click
        ShowPrintPreview
()
 
   End Sub

    Private Sub btnPrint_Click
(sender As ObjectAs EventArgsHandles btnPrint.Click
        Print
(True)
 
   End Sub

End 
Class 

ايضا أنا هنا اضفت لكي بعض الروتينات التي من الممكن استخدامها لإظهار PageSetup او PrintPreview و أيضا روتين للطباعة

لكي تكملي عملية الطباعة بدقة في الروتين DrawInvice عليكي تحديد فونت للطباعة و أيضا تحديد الألوان التي سيتم استخدامها في عملية الطباعة ثم تقوم بحساب الأماكن التي ستظهر بها البيانات علي المستطيل
فكري في الموضوع علي ان المستطيل عبارة عن ورقة عادية ترسمين عليها

أنصحك ان تستخدمي فونت سهل و بسيط خاصة انك ستطبعين باللغة العربية و الإنجليزية  أما بخصوص اللأوان استخدمي اللون الأسود فهو أقل تكلفة عن بقية الأوان اخري

معلش الطباعة صداع شوية و للأسف تحتاج الي وقت لتنفيذها و انا للأسف مشغول فعلا لكن اردت فقط مساعدتك بقدر الإمكان

مشكور اخي silverlight يعطيك العافية ............... انا حصلت طريقة اسهل لي من هاذي بكثير

 بس باقي خطوة واحدة وتنجح الطريقة طباعه الفاتورة عن طريق ال Report viwer  ... انا  ظبطت  Report viwer  بالمشروع بس ماعرفت كيف انقل القيم الموجودة بال


 Labele +    الباركود الموجود في PIC BOX3  +     طريقة نقل القيم بالداتا جيرد  للجدول الموجود       بال Report viwer   

انا شاهدت الفديو بالرابط هذا باليوتيوب وعجبني  طريقته مع العلم عندي خبرة بسيطة  بال Report viwer   هذا رابط الفديو :

 https://www.youtube.com/watch?v=l1k37cfdd8w  

الشرح الموجود بالفديو مربوط مع قاعدة البيانات :  


الان كيف انقل القيم من فورم 1 الى Report viwer   ............. فقط باقي لي اعرف كيف طريقة النقل واكون خلصت وشاكرة لكم اخواني  اليكم المثال بعد التعديل وصورة الشرح واسفه على الاطالة
هل توجد طريقة لأظهار البيانا من فورم الى Report viwer دون ان يكون ال Report viwer متصل مع قاعدة بيانات ؟؟؟