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

اريد تعديل هذا الكود للتعامل مع ملفات Txt

بدأه ensert.net2000 في 11 يوليو 2008 · 4 رد · 906 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

اريد تعديل هذا المرفق بحيث يكون عكس ما هو موجود فى المرفق

الفكرة

عند استراد بيانات من الملف مثل ما هو موجود فى المرفق اريد العكس بمعنى يبدأ اخد البيانات من الاسفل اقصد يبدأ من Line 4 الى فوق بدلا من انة يبدأ Line 1

وشكراااااا مقدما

test.rar

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#2

السلام عليكم...

إذا كنت تريد قراءة الأسطر من الملف بترتيب عكسي فستحتاج إلى أوامر معالجة الملفات مثل Loc و Seek لتحديد الموقع الذي ستتم القراءة منه داخل الملف، و هذا يحتاج إلى معالجة موسعة، لكن يمكنك قراءة أسطر الملف و وضعها مباشرة في مصفوفة بترتيب عكسي، أي أن أول سطر في الملف يحفظ في آخر عنصر للمصفوفة و آخر سطر في الملف يحفظ في أول عناصر المصفوفة:

  1. Private ReadArray(1 To 4) As String
  2. Private Idx As Long
  3.  
  4. Private Sub Form_Load()
  5. On Error GoTo Form_Load_Erro
  6.  
  7. Open App.Path & "test.txt" For Input As #1
  8.  
  9. Idx = 4
  10. Do While (Not EOF(1)) And (Idx > 0)
  11. Line Input #1, ReadArray(Idx)
  12. Idx = Idx - 1
  13. Loop
  14.  
  15. Close #1
  16.  
  17. Label1.Caption = ReadArray(1)
  18. Label2.Caption = ReadArray(2)
  19. Label3.Caption = ReadArray(3)
  20. Label4.Caption = ReadArray(4)
  21.  
  22. Exit Sub
  23. Form_Load_Erro:
  24. MsgBox "Error reading file 'test.txt'", vbCritical
  25. End Sub
  26.  

مع ملاحظة أننا - حسب مثالك الأصلي - نعرف مسبقاً عدد الأسطر في الملف، و مع ذلك لن يحدث خطأ عند قراءة الملف في حلقة Do While بسبب وجود الشرطين.

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3

اشكرك اخى

بس باستخدام هذا الكود يجب معرفة عدد الاسطر

فالمثال المطلوب مش معروف فية عدد الاسطر

فانا اريد المثال الاخر

الذى لم احدد منة عدد الاسطر

ولك الشكر والاحترام

حقيقة الانسان تاجر الحياة لماذا ؟

السعادة لها ثمن يحددها الانسان

الفرحة لها ثمن يحددها الانسان

الحزن لة ثمن يحدده الانسان

يا انسان ( يابنى ادم )

انت تأكل وتلبس وتشرب لكى تغذى الجسد اما الروح فين دى جعاااااااااااااانة من زمان غذى الروح كمان عارف ولا اعرفك (هعرفك )

قول ورايا ( لا اله الا الله :: محمد رسول الله ) انت اكلت روحك كمل انت بئة ( شربها ولبسها .......)

#4

السلام عليكم...

و حاضر يا سيدي، لكن هذه المرة باستعمال الـ Collection لأنه يسمح لنا بتحديد مكان إدراج القيمة الجديدة فيه، كما أنه تم حذف Label2 و Label3 و Label4 و إبقاء Label1 مع ضبط الخاصية Index له على 1 (لإنشاء مصفوفة مكونات Control Array) لنتمكن من إنشاء أي عدد من الـ Labels حسب عدد الأسطر:

  1. Private MyCollection As New Collection
  2. Private MyStr As String
  3. Private Idx As Long
  4.  
  5. Private Sub Form_Load()
  6. On Error GoTo Form_Load_Error
  7.  
  8. Open App.Path & "test.txt" For Input As #1
  9.  
  10. Do While Not EOF(1)
  11. Line Input #1, MyStr
  12. If MyCollection.Count = 0 Then
  13. MyCollection.Add MyStr
  14. Else
  15. ' دائماً ندرج النص الجديد في الموقع رقم 1. هذا سيزيح النصوص السابقة للأسفل
  16. MyCollection.Add MyStr, , 1
  17. End If
  18. Loop
  19.  
  20. Close #1
  21.  
  22. For Idx = 1 To MyCollection.Count
  23. If Idx = 1 Then
  24. Label1(1).Caption = MyCollection(1)
  25. Else
  26. ' تحميل عنصر جديد
  27. Load Label1(Idx)
  28. ' وضعه تحت العنصر السابق. طبعاً يمكنك وضعه حيث تشاء
  29. Label1(Idx).Move Label1(1).Left, Label1(Idx - 1).Top + Label1(Idx - 1).Height + 120
  30. Label1(Idx).Caption = MyCollection(Idx)
  31. ' جعل العنصر مرئياً
  32. Label1(Idx).Visible = True
  33. End If
  34. Next Idx
  35.  
  36. Set MyCollection = Nothing
  37.  
  38. Exit Sub
  39. Form_Load_Error:
  40. MsgBox "Error:" & vbCrLf & Err.Description, vbCritical, "خطأ"
  41. End Sub
  42.  

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#5

السلام

لحل مشكلة الكود الاول للاخ najy_zl أضف كود تحديد عدد اسطر الملف ....

الكود مرفق

سلام

test.rar

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…