PDA

View Full Version : اتصال به بانک از طریق مودم



absaeed
یک شنبه 20 آبان 1386, 20:00 عصر
من به بانک sql از طریق برنامه ای که نوشتم متصل می شم ولی بعلت اینکه باید اطلاعات مربوط به کمبوباکسها را در load فرم پر کنم زمانی که فرم بالا می اید خیلی زیاد است مجبور هستم بصور انلاین هم اطلاعات را پرکنم مشکل اینجاست که وقتی عملیات پرشدن fill صورت میگیره فرم هم شکل ظاهریش بصورت کامل نمایش پیدا نمی کنه دوم ایا میشه تا زمان پرشدن فیلدها میزان پشرفت کار را به کاربر نمایش داد لطفا راهنمایی کنید متشکرم

saeed_rezaei
سه شنبه 22 آبان 1386, 13:35 عصر
سلام
به صورت پیش فرض هنگامی که شما یک کد رو اجرا می کنید، این کد از بالا به پایین و پشت سر هم اجرا می شن.
اگه شما بخواید که کدهاتون به صورت موازی هم اجرا بشن بایستی از thread استفاده کنید.
بهتره اندکی در این زمینه مطالعه کنید. نمی دونم تا چه اندازه با این قسمت کار کردید اما بد نیست بدونید هنگامی شما دارید از یه timer استفاده می کنید، در حقیقت از یک نوع thread استفاده کردید.

absaeed
چهارشنبه 23 آبان 1386, 00:23 صبح
ممنون اما ایا میشه راجع به نوشت thread ها بیشتر صحبت کنید یا مثالی از اون بزنید بله من میدونم که یک تایمر thread است اما میخواهم همزمانی که یک فرم دار پر مشود مثلا یک پنجره دیگر هم میزان پیشرفت پرشدن دیتا از بانک را بصورت استفاده از ابزار progressbar نشان بده

amin_iman82
سه شنبه 21 اسفند 1386, 13:08 عصر
میشه از دستور Application.DoEvents در From_load و در ابتدای دستورات مربوط به خواندن داده ها از بانک استفاده کنید.
این دستور باعث میشه اگه یه دستوری بیش از حدطول بکشه برنامه در حال انجام اون دستور ، دستورات بعدی را هم اجرا کنه.

یا میشه اگه نمیخواید از threadاستفاده کنید ، یه تایمر به فرم اضاف کنید ، Interval رو برابر مثلا 1000 قرار بدین. در رخداد tick دستوراتتون رو بنویسیدو در آخر دستورات بنویسید time1.enabled=false اینطوری 1ثانیه بعد از اینکه فرم کملا نمایش داده شد ، دستورات مربوط به خواندن اطلاعات فراخوانی میشن.

برای ProgressBar هم راحترین راه اینه که مقدار max رو برابر با RecordCount قرار بدید و هر رکورد رو که خوانده شده یه واحد به value اضافه کنید.