[VB.NET] استفسار :- التاكد من وجود سطر جديد في الملف - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : [VB.NET] استفسار :- التاكد من وجود سطر جديد في الملف (/showthread.php?tid=26568) |
استفسار :- التاكد من وجود سطر جديد في الملف - dubai.eig - 20-09-18 السلام عليكم ورحمة الله يسعد الله اوقاتكم عندي فكرة اريد تنفيذها نص الفكرة قمت بتنفيذها باقي النصف الاخر وهيه عباره كود يقراء ملف معين text مثلا في حالت وجود سطر جديد يقوم بسحب البيانات لهذا السطر وتنزيله في قاعدة البيانات انا الكود اللي عني شغال بس في كل مرة يقراء الملف كامل واذا البيانات موجوده ما يقوم بتنزيلها واذا البيانات جديد يقوم بتنزيلها بس اعتقد كذا مرهق على البرنامج في كل مرة يقراء الملف كامل ما اعرف هل هناك طريقه ان يقراء اخر سطر فقط وينزل البيانات اليكم الكود الخاص بي كود : Private Sub Form_Load(sender As Object, e As EventArgs) Handles MyBase.Load في الحدث Private Sub Timer7_Tick كود : Dim SavePathft8 As String = JT65PathX JT65PathX للعلم هذا الكود يقراء الملفات بصيغة adi [attachment=19600] log.adi.txt يرجى مسح .txt لان المنتدى لا يدعم ملفات adi المهم بعد التاكد من وجود الملف كود : If File.ReadAllText(JT65PathX).Length = 0 Then يتاكد ان الملف في شي او فاضي اذا في شي يبدى في العمل الكود واضح بس سؤالي هل في طريقه لفكرة قراءة اخر سطر فقط للعلم الملف الثاني يتم تعبئته عن طريق برنامج اخر log.adi بارك الله فيكم واسف على الاطاله RE: استفسار :- التاكد من وجود سطر جديد في الملف - عبدالله الدوسري - 20-09-18 وعليكم السلام ورحمة الله وبركاتة لا يمكن قراءة الملف بهذا الشكل. أما تحميل كامل الملف والإلتفاف على كل سطر. إما فتح StreamReader والبداء في قراءة سطر بسطر ويمكنك التوقف قبل الإنتهاء. ولكن القفز مباشرتاً إلى آخر سطر ( غير ممكن ) لسبب وحيد هو عدم القدرة على معرفة طول كل سطر في الملف وهذا يجعل معرف السطر الأخير مستحيلة. RE: استفسار :- التاكد من وجود سطر جديد في الملف - dubai.eig - 20-09-18 (20-09-18, 01:51 PM)عبدالله الدوسري كتب : وعليكم السلام ورحمة الله وبركاتة بارك الله فيك استاذي عبدالله تسلم على الرد هو مجرد فكرة قلت يمكن في لها حركه على العموم شكرا لك بارك الله فيك وشكرا RE: استفسار :- التاكد من وجود سطر جديد في الملف - عبدالله الدوسري - 20-09-18 لو كنت في نفس الحالة التي أنت بها الآن سأقوم بعمل برنامج صغير يعمل في الخلفية ( مهمتة الوحيدة هو التحقق من هذا الملف كل 20 ثانية مثلاً - أو 10 ثوان ) أي معلومات جديدة تنقل لقاعدة البيانات ويتم يتفريغ الملف ( إذا كان بالإمكان وهو الأفضل ) أيضاً من الأفكار : إستخدام الكلاس ( FileSystemWatcher ) هذا الكلاس يراقب حالة الملفات في مجلد معين أن تحددة , إذا حذث أي تغيير على الملف المستهدف مباشرتاً تبداء في عمل المطلوب. ( ولا تحتاج إلى عمل تايمر ليتحقق كل مدة من الزمن ) ملاحظة أخرى : قبل البداء في عمل نقل البيانات من الملف ( خذ نسخة من الملف - وإبداء العمل على الملف النسخة - وبعد الإنتهاء - تحقق من تطابق الملفين لأنه من الممكن أن تتم إضافة بيانات من البرنامج الآخر أثناء العملية ) وبذلك ستعرف انه تغير الملف قبل إنتهاء العملية ويمكنك التحقق من جديد عن أي بيانات جديدة - كل عملية تحقق تعني ملف نسخة جديدة بعد الإنتهاء بالكامل إحذف الملف النسخة أو ( لا أعلم صراحة ما هي مجريات الأمور لديك ) أو قم بتفريغ الملف الأصلي إذا كان ممكن مع حذف النسخة RE: استفسار :- التاكد من وجود سطر جديد في الملف - dubai.eig - 20-09-18 (20-09-18, 03:42 PM)عبدالله الدوسري كتب : لو كنت في نفس الحالة التي أنت بها الآن اهلا استاذ عبدالله تسلم على الملاحضات انا فكرة انسخ المعلومات الي تنزل في المالف الرئيسي الى ملف اخر ومن الملف الاخر اسحب للبرنامج الخاص بي ومن ثم امسح من الملف الاخر الملف الرئيسي ما اقدر امسح من شي وفكرة FileSystemWatcher عجبتني بس كيف ممكن استخدمها لو ما عليك امر افيدني بارك الله فيك وانا جالس اعمل بحث حاليا في قوقل ومنك نستفيد بارك الله فيك شكرا RE: استفسار :- التاكد من وجود سطر جديد في الملف - عبدالله الدوسري - 20-09-18 فكرتها بسيطة مع العم قوقل اكيد راح تفهمها على طول. اذا احتجت شيء اطرحة هنا. سأذكر لك كيف استخدمت الكلاس FileSystemWatcher كانت لدينا ماكينة تصوير وسكانر كبيرة ومتصلة بالشبكة. ومن مميزاتها عمل سكان لوثائق كثيرة دفعة واحدة على هيئة ملفات PDF. ويتم تحديد مجلد معين على الشبكة تقوم الماكينة بحفظ المفات به. كل وثيقة تحتوي على اكثر من باركود في اماكن متعددة. الفكرة مراقبة هذا المجلد واي وثيقة جديدة يتم تحليلها وقراءة باركود في منطقة معينة من الوثيقة. بنائاً على رقم الباركود يتم نقل الوثيقة في قاعدة البيانات في السجل الخاص بها لأنها مرتبطة بسجلات برقم الباركود. وبذلك، تم حل مشكلة وضع جهاز سكانر عند كل موظف. RE: استفسار :- التاكد من وجود سطر جديد في الملف - mrnooo2000 - 21-09-18 (20-09-18, 01:32 PM)dubai.eig كتب : وهيه عباره كود يقراء ملف معين text مثلا من مطالعتى للملف كل عملية ادخال تتم فى سطر منفصل و بالتالى من الممكن أن تقوم بقراءة الملف كأسطر من البداية كود : If File.ReadLines("").Count = 0 Then أو كود : If File.ReadAllLines("").Length = 0 Then و تضع متغير لديك بالنموذج تحفظ به عدد الأسطر فى أخر عملية ادخال فاذا كان عدد الاسطر عند الفحص أكبر من عدد الاسطر فى اخر عمليه تقوم باضافة الاسطر الجديدة فقط ( الفرق بين القيمتين ) و بالتوفيق |