اطلاعیه

Collapse
No announcement yet.

مانیتورینگ پورت موازی در دلفی...

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : مانیتورینگ پورت موازی در دلفی...

    فکر کنم جایی توو کد اشکال دارین
    من توو کد دلفی while true do رو به خاطر نمیارم!
    روو PC اطاقم الان DLPHI FOR PHP رو دارم،بزار فردا از لپتاپم برنامه کاملی رو می فرستم، فقط برام فردا صبح OFFLINE بزارین یاد باشه ...

    دیدگاه


      #17
      پاسخ : مانیتورینگ پورت موازی در دلفی...

      سلام.
      فکر میکردم با آنچه گفته ام ، و مثال عینی و بارزی که زده ام ، دیگر حساب کار دستتان آمده است که استفاده از یک حلقه بینهایت با thread یا بی thread از بیخ و بن غلط است . چه برنامه تان هنگ کند و چه نکند . حتی اگر از Application.processmessage بهره ببرید .
      دستور فوق مداوما سیستم عامل را وادار به به روز رسانی و رفرش و بررسی پیامهای ارسالی از یا به برنامه شما میشود . ظاهرا برنامه هنگ نمیکند ولی بر سر مدیر پروسه های ویندوز چه خواهد آمد ؟ ویندوز مال برنامه شما نیست و فقط کافیست 2 - 3 نفر مثل شما اندیشیده و در حلقه های تا ناکجا آباد تکرارشان این تابع را فرا بخوانند . فاتحه ویندوز خوانده شده است که ...

      دوست من یک بار دیگه متنهای قبلی را نگاهی بینداز با دقت . چون آنچه میخواهم بگویم ، تکرار مکررات قبلی است نه به آن مفصلی . از تایمر استفاده کنید . و در زماتهای نه چندان کوتاه !
      یک میکرو و حداکثر یک حافظه جانبی بیرونی حرام این کار کنید و از ویندوز و هیچ سیستم عامل دیگری انتظار نداشته باشید ، که همه دیگر کارهایش را رها کرده و فقط غلام حلقه به گوش حلقه بینهایت ! شما باشد . اگر وسعتان میرسد از حافظه های سرعت بالای موازی بهره بگیرید ( به نوع کارتان هم بستگی دارد ) مثلا من از آی سی T224162B استفاده نمودم که برای بافرینگ داده های سرعت بالا مناسب است . برای کارهای عادی میتوانید از سری 24cxx یا حتی EEPROM درونی میکروی مذکور استفاده کنید . این میکرو در یک کلمه و به طور خلاصه وضیفه میابد تا داده های شما را بافر نموده و با روال یکسانی به سمت PC ارسال نماید حالا اگر میتوانید این عملیات را جزئی از میکروی اصلی کنید که بهتر است . اگر هم لازم است و حق مطلب ادا نشده بگویید تا بلوک دیاگرامی برای رفع ابهام برایتان بگزارم که روند کار را کرافیکی تر نمایش دهد . باز هم میگویم از ایجاد حلقه های بینهایت یا حلقه هایی که ممکن است بینهایت شوند و حتی از توابعی چون Application.Processmessage به طور مداوم و پیاپی جدا بپرهیزید . موفق باشید
      آموزاندن ، سپاسگذاری از خداوندگارست به جهت داشتن نعمت آموختن .

      دیدگاه


        #18
        پاسخ : مانیتورینگ پورت موازی در دلفی...

        بعد از بحثهای اینجا متوجه شدیم که این کار شدنی نیست!!!!!
        منم برنامه ای که نوشتم اشتباهه و چاخانه!!!آ‌ :smile: فلذا سورس اون رو نمی زارم دیگه :smile:
        http://khepelesibilo.persiangig.com/chakhan.rar

        دیدگاه


          #19
          پاسخ : مانیتورینگ پورت موازی در دلفی...

          سلام . برنامه تان را دیدم .دیدن این برنامه را به همه آنهایی که به استفاده از Application.processmessage به صورت پیاپی در loop های طولانی برنامه هاشان افتخار میکنند ، پیشنهاد میکنم .
          حالا خودتان این برنامه ای را که نوشته اید اجرا کنید ولی دکمه START را نزنید پیش از آن ، روی Status bar کلیک راست کنید و سپس Task manager را برگزینید یا Alt+Ctrl+Del را بزنید .
          به تب Performance بروید و به CPU Usage خود بنگرید . اکنون زمان آنست که دکمه START برنامه وهم انگیز خود را بزنید و ببینید چه به سر سیستم خود آورده اید ! نتیجه را در CPU Usage ببینید .
          بله سیستم شما بیچاره شد !!!
          اما اینبار همین برنامه را با یک تایمر و با DElay 500ms بسازید . خوب نتیجه بگیرید !

          پس راه درست تر و اصولی تر را برگزینید دوست من.
          آموزاندن ، سپاسگذاری از خداوندگارست به جهت داشتن نعمت آموختن .

          دیدگاه


            #20
            پاسخ : مانیتورینگ پورت موازی در دلفی...

            یعنی شما هیچ تفاوتی بین اینکه برنامه شما هر 500ms (معادل 2بار اجرا شدن برنامه در ثانیه!) با اجرای حلقه ای (نزدیک به سرعت LPTآ‌تقریبا 400000بار اجرا در ثانیه !آ‌) نمی بینید و انتظار دارین 2 مرتبه اجرا به اندازه 400000 دفعه CPU USAGE داشته باشه ؟
            من انتظار ندارم مردم همه چیز رو بلد باشن! من نمی گن بدونین و بعد بیاین بپرسین!!!آ‌ اما حرفم اینه که لااقل اگه نمی دونیم با اطمینان حرف نزنیم!!!
            توو هر پستی این بحثهای بیهوده بدیهیه .... رو دیدم که مدتهاست جواب سوال هیچ کس رو حتی اگه بدونم نمیدم!

            دیدگاه


              #21
              پاسخ : مانیتورینگ پورت موازی در دلفی...

              سلام آقای KhepeleSibilo و گلپاترونیک میبخشید دیر جواب میدم آخه امروز از صبح تا شب دانشگاه بودم.


              از هر دوی شما واقعا ممنونم (خیلی خیلی.......)

              واقعا زحمت کشیدید و بنده رو راهنمایی کردید .

              راستس آقای KhepeleSibilo برنامتونو دیدم واقعا همونی بود که من میخواستم اگه لطف کنید و سورس

              برنامه رو برام بفرستید ممنون میشم و اگه یکم هم در مورد برنامه توضیح بدید دیگه معرکه میشه.

              مشتاقانه منتظرم.

              majid_valentin بی پرواست.جسورانه می پرسد.رودروایسی ندارد.هر چه دلش خواست می گوید!!
              اهل مراعات نیست.
              معنی ساخت و پاخت را نمیداند.
              بزرگ و کوچک را نمیشناسد ..
              بی باکی را یواشکی آموخته. در تاریکی می نشیند و روشنایی را می پاید.
              پر انرژی و با نشاط است واز سانسور و فیلترینگ غمین است نیش دارند اما آزار ندارد!!!!

              دیدگاه


                #22
                پاسخ : مانیتورینگ پورت موازی در دلفی...

                نوشته اصلی توسط KhepeleSibilo
                من انتظار ندارم مردم همه چیز رو بلد باشن! من نمی گن بدونین و بعد بیاین بپرسین!!!آ‌ اما حرفم اینه که لااقل اگه نمی دونیم با اطمینان حرف نزنیم!!!
                توو هر پستی این بحثهای بیهوده بدیهیه .... رو دیدم که مدتهاست جواب سوال هیچ کس رو حتی اگه بدونم نمیدم!
                نوشته اصلی توسط گلپاترونیک
                سلام . برنامه تان را دیدم .دیدن این برنامه را به همه آنهایی که به استفاده از Application.processmessage به صورت پیاپی در loop های طولانی برنامه هاشان افتخار میکنند ، پیشنهاد میکنم .
                سلام.
                دوستای من , من همیشه از پستها و اطلاعاتتون استفاده کردم.
                اما خواهشا همدیگر رو قضاوت نکنید.
                گلپاترونیک جان من قبلا با thread کار کرده بودم. اما الان یادم نیست.
                میشه یه مثال عملی بزنی تا منم یادم بیاد.
                مرسی.
                مرتضی جان شما هم اگر لطف کنی و سورس برنامت رو بزاری ممنونت میشم.
                الهم عجل لولیک الفرج

                دیدگاه


                  #23
                  پاسخ : مانیتورینگ پورت موازی در دلفی...

                  سلام .
                  نوشته اصلی توسط KhepeleSibilo
                  یعنی شما هیچ تفاوتی بین اینکه برنامه شما هر 500ms (معادل 2بار اجرا شدن برنامه در ثانیه!) با اجرای حلقه ای (نزدیک به سرعت LPTآ‌تقریبا 400000بار اجرا در ثانیه !آ‌) نمی بینید و انتظار دارین 2 مرتبه اجرا به اندازه 400000 دفعه CPU USAGE داشته باشه ؟
                  من انتظار ندارم مردم همه چیز رو بلد باشن! من نمی گن بدونین و بعد بیاین بپرسین!!!آ‌ اما حرفم اینه که لااقل اگه نمی دونیم با اطمینان حرف نزنیم!!!
                  توو هر پستی این بحثهای بیهوده بدیهیه .... رو دیدم که مدتهاست جواب سوال هیچ کس رو حتی اگه بدونم نمیدم!
                  از کجای متون پیشین نگاشته من برداشتی اینچنینی کردید دوست خوب من ؟ البته که میان این دو تفاوت بسیاری است . به طور خلاصه من استفاده از تایمر را به loop بینهایت ترجیح میدهم . شما نظر دیگری دارید و برنامه تان را بر اساس دیگری مینویسید ؟ ، بسیار خوب شما نویسنده برنامه و معمار آنید . هر طور مایل هستید بنویسید . من فقط خواستم توجه شما را به وضعیت CPU زمان اجرای برنامه تان جلب کنم .

                  ....گلپاترونیک جان من قبلا با thread کار کرده بودم. اما الان یادم نیست.
                  میشه یه مثال عملی بزنی تا منم یادم بیاد.
                  مرسی.
                  مرتضی جان شما هم اگر لطف کنی و سورس برنامت رو بزاری ممنونت میشم.
                  http://sourceforge.net/projects/jvcl JEDI VCL FOR DELPHI
                  IRAN-PC عزیز ، به پروژه JEDI که برای دلفی نگاشته شده و open source روی اینترنت هست سری بزنید .
                  در این مجموعه کامپوننت opensource به دنبال Threaded Timer بگردید و Unit آنرا بررسی کنید و به شیوه صحیح و اصولی thread ها پی ببرید . من خودم از همین پروژه برای thraded timer اختصاصی خودم استفاده کردم . منبعی که به شما معرفی نمودم بسیار مطمئن و کامل است . حتی توابع کار با HID ها برای برنامه نویسی دلفی برای USB هم آنجا هست و خیلی از تاکتیکهای مدرن برنامه نویسی حرفه ای Delphi .

                  موفقیت شما را آرزومندم
                  آموزاندن ، سپاسگذاری از خداوندگارست به جهت داشتن نعمت آموختن .

                  دیدگاه


                    #24
                    پاسخ : مانیتورینگ پورت موازی در دلفی...

                    برنامه رو می خواستم همون دیروز چند دقیقه بعدش بزارم! اما اول خط دانشگاه به ذره قطع شد، بعد هم که اومد من یادم رفت!

                    http://khepelesibilo.persiangig.com/DELPHI.rar

                    نمی دونم توضیح کجاش رو بدم،چون ظاهرا ساده میاد،اما هر جاشو که خواستین بگین توضیح بدم،فقط اینکه نوشتن توو EDIT خیلی زمان گیره،اگه می خواین سرعت بالا بره اون رو حذف کنین ، اون ستون سیاه هم که یک میله نمایش دهنده مقدار عدد هست،فکر کنم از روو کد متوجه عملکرد بشین،اگه نه بگین بیشتر توضیح بدم ...

                    start:
                    a:=Inp32($378);
                    edit1.Text:=inttostr(a);
                    image1.Canvas.Brush.Color:=rgb(255,255,255);
                    image1.Canvas.FillRect(Rect(0,0,255,25)) ;
                    image1.Canvas.Brush.Color:=rgb(0,0,0);
                    image1.Canvas.FillRect(Rect(0,0,a,25));
                    application.ProcessMessages;
                    if (exi=2) then goto start;

                    دیدگاه


                      #25
                      پاسخ : مانیتورینگ پورت موازی در دلفی...

                      برای اینکه متوجه تفاوت سرعت ها توو پردازش های مختلف بشی این کد که تووحالت های مختلف کامپایل شده رو می زارم...


                      http://khepelesibilo.persiangig.com/DELPHI%201.rar

                      دیدگاه


                        #26
                        پاسخ : مانیتورینگ پورت موازی در دلفی...

                        سلام

                        واقعا ممنون از کمکتون .

                        مشکلم رفع شد
                        majid_valentin بی پرواست.جسورانه می پرسد.رودروایسی ندارد.هر چه دلش خواست می گوید!!
                        اهل مراعات نیست.
                        معنی ساخت و پاخت را نمیداند.
                        بزرگ و کوچک را نمیشناسد ..
                        بی باکی را یواشکی آموخته. در تاریکی می نشیند و روشنایی را می پاید.
                        پر انرژی و با نشاط است واز سانسور و فیلترینگ غمین است نیش دارند اما آزار ندارد!!!!

                        دیدگاه

                        لطفا صبر کنید...
                        X