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

جعل البرنامج قيد التشغيل

بدأه LibyanITGirl في 2 فبراير 2010 · 8 رد · 745 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

قمت بكتابة برنامج يقرأ من ملف txt وذلك لإداء بعض المهام

ملف ال txt قيمته متغيرة باستمرار ، أقصد اني استعملته كممرر بين برنامج اخر وبرنامجي

لذلك أريد ان يكون برنامجي running دائما .... keep the process running

قمت باستخدام do.. while

و Readline

ولكن لم تتغير قيمة المدخلة عندما غيرت قيمة الملف txt

تم تعديل هذه المشاركة بواسطة LibyanITGirl في 2 فبراير 2010 في 18:54

lilgirllaptopsoftened2c.jpg

#2

إستخدمي الخاصية debug للتأكد أن الشفرة تعمل جيدا و أنه يتم ترجمت مختلف أجزاءها.

من الأفضل إستخدام timer أو thread لقراءة الملف دوريا

#3

كيف تريد ان تجعل الملف ممر !!

لقد تم فتح الملف بالفعل و تحميل ما فيه

أى شئ جديد عليه لابد أن يتم تحميله مرة أخرى من جديد

علاوة على أن البرنامج لن يستطيع أن يتعامل مع الملف إذا حاول و كانت هناك عملية أخرى تكتب فيه !

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#4

انا افتح الملف واقرأ مافيه ثم امسح المحتويات واغلقه

اما البرنامج الخر يقارن حجم الملف اذا كان كبيرا لا يفتحه او يكتب فيه اما اذا وجده فارغا يفتحه ويكتب فيه ثم يغلقه

lilgirllaptopsoftened2c.jpg

#5

هل البرنامج الأخر من كتابتك !

إذا كان كذلك فالأمر يختلف

عموما بإستخدام StreamReader

و ReadToEnd سوف تفى بالغرض و لاداعى لعمل حلقة تكرارية

لا إله إلا الله محمد رسول الله

アッラー以外に神はなし。ムハンマドはアッラーの使徒である

#6

شكرا لكم

البرنامج الاخر من كتابتي ايضا

وهو الذي يضع القيمة في الملف ليقرأها هذا البرنامج بلغة السي شارب

لم تنجح الفكرة -_- ، برنامج السي شارب يظهر سالة خطأ بأن الملف قيد الاستعمال من قبل برنامج اخر

بمجرد ان استخدم البرنامج الاخر .

هل من حل لهذه المشكلة ؟

lilgirllaptopsoftened2c.jpg

#7

يجب التأكد قبل فتح الملف أنه ليس قيد الإستخدام من برنامج آخر try/catch و المزامنة بين البرنامجين؛ يتم قراءة الملفات في توقيتين مختلفين

يمكنك أيضا إستخدام الريجيستري لتمرير البيانات بين البرنامجين

#8

قمت باستخدام try catch

لكن الاستجابة بطيئة ، الملف البنرنامج الاول لا يستطيع استخدام الملف "الكتابة فيه" إلا في فترات متقطعة

مع اني في البرنامج الاخر اقوم بمسح المحتويات مباشرة .

هل أضع الأكواد للتوضيح اكثر ؟

هل يمكنك أخي توضيح "قراءة الملفات في توقيتين مختلفين" و "إستخدام الريجيستري لتمرير البيانات بين البرنامجين " ؟؟

تم تعديل هذه المشاركة بواسطة LibyanITGirl في 3 فبراير 2010 في 23:01

lilgirllaptopsoftened2c.jpg

#9

يمكنك استخدام Pipe لتمرير البيانات بين البرنامجين او اكثر.

القى نظره على الـ NamedPipeClientStream و NamedPipeServerStream و AnonymousPipeClientStream و AnonymousPipeServerStream.

للعلم فإن هذه الفئات موجوده بالملف System.Core الذى يتبع الدوت نت بدءا من الإصدار 3.5 داخل مجال الأسماء System.IO.Pipes

و الله ولى التوفيق

تم تعديل هذه المشاركة بواسطة Muhammad alaa في 4 فبراير 2010 في 13:23

مدونتي: C++ Tips and Tricks

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