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

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

- تحياتي .


الملفات المرفقة
.rar   عرض نص سطر محدد م&.rar (الحجم : 1.96 ك ب / التحميلات : 239)
الرد }}}
تم الشكر بواسطة: 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 للوصول إلى الأسطر.

نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
الرد }}}
#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 , اسلام الكبابى


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل هنالك امكانية لطباعة النص داخل الداتا ريبورت بشكل عامودي mohammed_atallah 2 699 11-09-22, 06:00 PM
آخر رد: mohammed_atallah
  عرض الصور من قاعدة بيانات اكسس داخل الداتا ريبورت mohammed_atallah 0 517 04-09-22, 09:17 AM
آخر رد: mohammed_atallah
  كيف أجعل تكست في الكريستال ريبورت بصيغة strikeout amazonette 0 1,402 18-01-20, 03:09 PM
آخر رد: amazonette
  تقرير سجل معين في الكريستال ريبورت amazonette 2 1,822 10-12-19, 12:38 PM
آخر رد: amazonette
  كيفية البحث وعمل فلتر للبيانات داخل Mysql ؟ gedo 2 2,166 07-11-18, 05:53 PM
آخر رد: gedo
  الحذف من داخل DATAGRID باستخدام ADO دهشوش1 2 2,201 09-11-17, 04:20 AM
آخر رد: دهشوش1
  [نقاش] نسخ المفات في مجلد معين بالجهاز maher 1 1,752 09-03-17, 09:14 AM
آخر رد: Ashraf Elafify
  [ تم الحل ] : البحث بأوّل حرف داخل الفليكس جريد عبد العزيز البسكري 5 3,258 30-11-16, 01:54 AM
آخر رد: عبد العزيز البسكري
  كود عدد الاحرف المكرره فى تكست الحلوانى 2 2,330 20-10-16, 06:32 PM
آخر رد: الحلوانى
  [سؤال] طباعة التقرير بعدد معين ABO.BANCIANA 5 3,204 04-03-16, 09:52 PM
آخر رد: ahmedabdelaliem

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


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