تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
قرائة سطر معين داخل ملف تكست vb6
#1
السلام عليكم اخواني اني مبتدأ في الفجوال بسك 6
احاول ان اصنع برنامج مهم بالنسبة لي ولكن احتاج كود لفورم مهم
لم اجده ولكن وجدت نفس الفكرة مبرمجة في الدوت نت
هذا الرابط قرائة سطر معين داخل ملف تكست هل يوجد نفس السورس لفجوال بسك 6؟
جزاكم الله خير
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم

- هذا مثال يوضح ماطلبته .

- تحياتي .


الملفات المرفقة
.rar   عرض نص سطر محدد م&.rar (الحجم : 1.96 ك ب / التحميلات : 102)
الرد }}}}
تم الشكر بواسطة: Ahmed_Mansoor , Ahmed_Mansoor
#3
السلام عليكم...

* أعتذر من أخي Vb_Coder لأني كنت أجهز الرد قبل أن ألاحظ مشاركته :o و على أية حال "في الإعادة إفادة".

بالطبع يمكن ذلك.
اكتب الدالة التالية في القسم العام:
كود :
Private Function ReadLineOfFile(ByVal AFilePath As String, ByVal ALineIndex As Long) As String
    Dim FNum As Integer
    Dim Idx As Long
    Dim ALine As String
    Dim MsgTxt As String
    
    On Error GoTo ReadLineOfFile_Err
    
    ReadLineOfFile = ""
    If ALineIndex < 0 Then Err.Raise vbObjectError + 1001, "IO.ReadLineOfFile", "Negative line numbers not allowed"
    
    ALine = ""
    Idx = 0
    FNum = FreeFile
    Open AFilePath For Input As #FNum
    Do While Idx <= ALineIndex
        Line Input #FNum, ALine
        Idx = Idx + 1
    Loop
    Close #FNum
    ReadLineOfFile = ALine
    Exit Function
    
ReadLineOfFile_Err:
    Close #FNum
    MsgTxt = "حدث خطأ عند محاولة قراءة سطر من الملف." & vbCrLf & vbCrLf & "رسالة الخطأ:" & vbCrLf & Err.Description
    MsgBox MsgTxt, vbExclamation Or vbMsgBoxRight Or vbMsgBoxRtlReading
End Function

* حيث AFilePath هو مسار الملف، و ALineIndex هو رقم السطر.
* لاحظ أن الدالة تعتبر أن ترقيم الأسطر يبدأ بالصفر، أي أن السطر الأول رقمه 0، و السطر الثاني رقمه 1، و السطر الثالث رقمه 2، ... إلخ.

و لقراءة السطر المطلوب قم باستدعاء الدالة كالتالي مثلاً (السطر الخامس):
كود :
Private Sub Command1_Click()
    Text2.Text = ReadLineOfFile("E:\NameList.txt", 4)
End Sub

*** اقتراح:
إذا كنت ستستخدم الدالة بشكل متكرر لقراءة بعض الأسطر فربما يكون من الأسرع و الأسهل قراءة كامل أسطر الملف في مصفوفة ثم قراءة الأسطر من المصفوفة. لعمل ذلك اكتب الدالة التالية في القسم العام:
كود :
Private Function ReadAllLinesOfFile(ByVal AFilePath As String) As Variant
    Dim FNum As Integer
    Dim MsgTxt As String
    Dim ResultStr As String
    
    On Error GoTo ReadAllLinesOfFile_Err
    
    ReadAllLinesOfFile = Null
    
    FNum = FreeFile
    Open AFilePath For Input As #FNum
    ResultStr = Input(LOF(FNum), #FNum)
    Close #FNum
    ReadAllLinesOfFile = Split(ResultStr, vbCrLf)
    Exit Function
    
ReadAllLinesOfFile_Err:
    Close #FNum
    MsgTxt = "حدث خطأ عند محاولة القراءة من الملف." & vbCrLf & vbCrLf & "رسالة الخطأ:" & vbCrLf & Err.Description
    MsgBox MsgTxt, vbExclamation Or vbMsgBoxRight Or vbMsgBoxRtlReading
End Function

في هذه الحالة فإن الدالة ReadAllLinesOfFile تعيد قيمة من النوع Variant يحتوي على مصفوفة يبدأ ترقيم عناصرها بالصفر (الدالة تعيد Null في حالة حدوث خطأ).
و يتم استعمالها كالتالي:
كود :
Private Sub Command1_Click()
    Dim MyList As Variant
    MyList = ReadAllLinesOfFile("E:\NameList.txt")
    If Not IsNull(MyList) Then
        Text2.Text = MyList(3)
    End If
End Sub

أي نقوم بتعريف متغير لتخزين المصفوفة ثم نستدعي الدالة ثم نتأكد من أن القيمة المعادة ليست Null. لاحظ أننا بعد استدعاء الدالة استعملنا المصفوفة MyList للوصول إلى الأسطر.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}}
تم الشكر بواسطة: Amir_alzubidy , Ahmed_Mansoor , Ahmed_Mansoor
#4
(09-03-13, 05:07 PM)ناجي إبراهيم كتب :
كود :
Private Function ReadLineOfFile(ByVal AFilePath As String, ByVal ALineIndex As Long) As String
   Dim FNum As Integer
   Dim Idx As Long
   Dim ALine As String
   Dim MsgTxt As String
   
   On Error GoTo ReadLineOfFile_Err
   
   ReadLineOfFile = ""
   If ALineIndex < 0 Then Err.Raise vbObjectError + 1001, "IO.ReadLineOfFile", "Negative line numbers not allowed"
   
   ALine = ""
   Idx = 0
   FNum = FreeFile
   Open AFilePath For Input As #FNum
   Do While Idx <= ALineIndex
       Line Input #FNum, ALine
       Idx = Idx + 1
   Loop
   Close #FNum
   ReadLineOfFile = ALine
   Exit Function
   
ReadLineOfFile_Err:
   Close #FNum
   MsgTxt = "حدث خطأ عند محاولة قراءة سطر من الملف." & vbCrLf & vbCrLf & "رسالة الخطأ:" & vbCrLf & Err.Description
   MsgBox MsgTxt, vbExclamation Or vbMsgBoxRight Or vbMsgBoxRtlReading
End Function
السلام عليكم 
اخي ناجي 
حين استخدم هذا الفكشن يظهر لي اخطاء وضحتها في الملف المرفق 
ارجو المساعدة وشكرا


الملفات المرفقة صورة/صور
   
الرد }}}}
تم الشكر بواسطة:
#5
(16-04-16, 12:03 PM)hak1wr كتب :
(09-03-13, 05:07 PM)ناجي إبراهيم كتب :
كود :
Private Function ReadLineOfFile(ByVal AFilePath As String, ByVal ALineIndex As Long) As String
   Dim FNum As Integer
   Dim Idx As Long
   Dim ALine As String
   Dim MsgTxt As String
   
   On Error GoTo ReadLineOfFile_Err
   
   ReadLineOfFile = ""
   If ALineIndex < 0 Then Err.Raise vbObjectError + 1001, "IO.ReadLineOfFile", "Negative line numbers not allowed"
   
   ALine = ""
   Idx = 0
   FNum = FreeFile
   Open AFilePath For Input As #FNum
   Do While Idx <= ALineIndex
       Line Input #FNum, ALine
       Idx = Idx + 1
   Loop
   Close #FNum
   ReadLineOfFile = ALine
   Exit Function
   
ReadLineOfFile_Err:
   Close #FNum
   MsgTxt = "حدث خطأ عند محاولة قراءة سطر من الملف." & vbCrLf & vbCrLf & "رسالة الخطأ:" & vbCrLf & Err.Description
   MsgBox MsgTxt, vbExclamation Or vbMsgBoxRight Or vbMsgBoxRtlReading
End Function
السلام عليكم 
اخي ناجي 
حين استخدم هذا الفكشن يظهر لي اخطاء وضحتها في الملف المرفق 
ارجو المساعدة وشكرا

أهلا أخي الكريم , هذا الكود هو للفيجول بيسك6 وأعتقد أنك تستخدم فيجول بيسك دوت نت , الكود يعمل بشكل صحيح على الفيجول بيسك6 .
الرد }}}}
تم الشكر بواسطة: Amir_alzubidy


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [ تم الحل ] : البحث بأوّل حرف داخل الفليكس جريد عبد العزيز البسكري 5 72 30-11-16, 01:54 AM
آخر رد: عبد العزيز البسكري
  كود عدد الاحرف المكرره فى تكست الحلوانى 2 67 20-10-16, 06:32 PM
آخر رد: الحلوانى
  [سؤال] طباعة التقرير بعدد معين ABO.BANCIANA 5 287 04-03-16, 09:52 PM
آخر رد: ahmedabdelaliem
  [سؤال] استخراج قيم عمود فى تكست بوكس ABO.BANCIANA 2 275 21-02-16, 08:58 PM
آخر رد: ahmedabdelaliem
  عمل checked على مجموعة معينة داخل listview بالفجويل باسيك 6 abdouhai 5 1,104 27-12-15, 03:41 AM
آخر رد: awidan76
  كيف أجعل برنامج يبدأ بفورم معين اللى انا أختاره Acc.MohamedSamir 2 268 05-12-15, 11:43 AM
آخر رد: Acc.MohamedSamir
Rainbow [سؤال] البحث عن كلمة داخل عدة الروابط dlshad24 3 428 03-07-15, 05:54 PM
آخر رد: dlshad24
  [vb6.0] كيفية تنفيذ كود مكتوب داخل اداة textbox ghost_programmer 6 1,161 03-06-15, 05:48 PM
آخر رد: ghost_programmer
  [سؤال] تحويل الصوت الى نص داخل textbox maro 1 1,063 07-01-15, 11:30 AM
آخر رد: برير مسبل
  مساعدة في كتابة كود يتم من خلاله طباعة الفورم عدد معين من المرات نصر صالح 2 549 20-12-14, 10:03 PM
آخر رد: Ahmed_Mansoor

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم