الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن الكريستال ريبورت و الثريد

مغلق
بدأه صلاح الثبيتي في 14 يوليو 2005 · 3 رد · 515 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :)

بحثت بالانترنت عن الكريستال ريبورت و كيفيه التعامل معه

لكن كل الامثله و المقالات كانت تربط الكريستال ريبورت بقاعدة البيانات من خلال الداتا سيت

سؤالي: هل في طريقه لعرض بيانات من مصفوفه أو من تكست بوكس بالكريستال ريبورت و من ثم طباعتها بالطابعه؟؟

السؤال الثاني عن الثريد

البرنامج يأخذ وقت لإظهار النتائج .. فابغى استخدم بروقيس بار !!

فاستخدمت ثريد لتشغيل بروقيس بار (ProgressPar) لكن ما عرفت الطريقه الصحيحه للخروج من الثريد و الرجوع للبرنامج الرئيسي عند ظهور النتائج !!

هل من مساعد؟

#2

وعليكم السلام ورحمة الله وبركاته.

اذا كنت تريد طباعة محتويات TextBox أو مصفوفه أو مثل هذه الأشياء ... فلا حاجه لاستخدام الـ Crystal Report في ذلك.

أى اذا كنت تريد طباعة مثلا أى حاجه Plain Text , فيمكنك استخدام PrintDocument و PageSetup و PrintDialog ومثل هذه الأشياء الجيده من أجل الحصول على نتائج سريعه وبدون وجع دماغ مع Crystal Report :).

بالنسبه للـ Threading , أنا لا أعلم الطريقه التي تتبعها.

ولكن حاول استخدام :

yourThreadName.Abort();

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

#3

أخي العزيز صلاح الثبيتي

يمكنك إستخدام الوصلة التالية في الحصول علي شرح ل

Asynchronous programing & Multi Threaded

أما بالنسبة لعملية الطباعة فأعتقد أن الزميل العزيز معتز قد أجاب عليها

وفي أنتظار أي أسئلة جديدة

#4

توضيح مشكلة الـ Progressbar

كود البرنامج:

db = new Database(textBox1.Text, textBox2.Text);
MyProgressBar progress = new MyProgressBar();
ThreadStart method = new ThreadStart(progress.ProgressParMoving);
Thread thread = new Thread(method);
thread.Start();
progress.ShowDialog();
////////////////////////////////////
int[] allTotal = db.SectionAllTotal;
textBox41.Text = allTotal[0].ToString();
textBox42.Text = allTotal[1].ToString();
textBox43.Text = allTotal[2].ToString();
textBox44.Text = allTotal[3].ToString();
textBox45.Text = allTotal[4].ToString();
textBox46.Text = allTotal[5].ToString();
textBox47.Text = allTotal[6].ToString();
textBox48.Text = allTotal[7].ToString();
textBox49.Text = allTotal[8].ToString();
////////////////////////////////////
thread.Abort();
progress.Close();

كود الـ ProgressBar

public void ProgressBarMoving() {
	while(this.progressBar1.Value != -1) {
  if(this.progressBar1.Value < 100) {
 	 this.progressBar1.Value++;
  }
  else if(this.progressBar1.Value == 100) {
 	 this.progressBar1.Value = 0;
  }
  Thread.Sleep(50);
	}
}

المشكله أن طريقه الرجوع للبرنامج غير صحيحه !!

هل من حل؟

هذا الموضوع مغلق.

مواضيع مشابهة