تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف اسوي برنامج يقرأ سطر سطر وينفذ امر
#1
 بحتاج مساعدi في برنامج عندي ، عاوزه البرنامج يقرأ من تكست فايل 
والموجود فيه هاي البيانات : 

ip vrf NMS_CORE

  description ATHEEB_NMS_CORE_MGMT_VRF
  rd 48695:40003
  route-target import 48695:40003
  route-target import 48695:40004
  route-target export 48695:40003 
 route-target export 48695:40004
$


[rtl]ip vrf voice[/rtl]

  rd 48695:40003
  route-target import 48695:40003
  route-target import 48695:40004
  route-target export 48695:40003 
 route-target export 48695:40004
يقرأ سطر سطر واذا لم يجد هذه الجمله "  address-family ipv4 " يقوم باضافتها في سطر جديد ، وبعدها يضع هذا الشكل $ 

ثم ينتقل الى جمله ip vrf VOICE  ويقرأها برضو سطر سطر واذا لم يجد هذه الجمله "  address-family ipv4 " ايضا يقوم باضافتها بسطر جديد وبعدها يضع $ 
وهكذا للبقيه ، 

شكرا جزيلا
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم

السطر address-family ipv4 هل سيبحث عنه في ملف التكست كاملا قبل اضافته ام انه يجب ان يكون في السطر الاول مثلا ؟
الرجاء التوضيح لان المطلوب غير واضح

يعطيك العافية
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}
تم الشكر بواسطة:
#3
نعم سيكون في كل التكست فايل ، هلا هاي الجمله address-family ipv4 لابد ان تكون في نهايه كل تعريف من التعريفات الثلاثه التي حطيتها تحت
يعني مثلا
ip vrf NMS_CORE و ip vrf CORP و ip vrf VOICE i هدول تلت تعريفات منفصله عن بعضهم يفصل بينهم علامه $ في كل تعريف لازم يكون في جمله
address-family ipv4


ip vrf NMS_CORE
description ATHEEB_NMS_CORE_MGMT_VRF
rd 48695:40003
route-target import 48695:40003
route-target import 48695:40004
route-target export 48695:40003
route-target export 48695:40004
$
ip vrf CORP
rd 48695:40003
route-target import 48695:40003
route-target import 48695:40004
route-target export 48695:40003
route-target export 48695:40004
$
ip vrf VOICE
rd 48695:40003
route-target import 48695:40003
route-target import 48695:40004
route-target export 48695:40003
route-target export 48695:40004
$

بدي البرنامج بعد ما يقرأ السطور الي بالاعلى واذا ما وجد كلمه address-family ipv4
يضيفها كالتالي :

ip vrf NMS_CORE
description ATHEEB_NMS_CORE_MGMT_VRF
rd 48695:40003
route-target import 48695:40003
route-target import 48695:40004
route-target export 48695:40003
route-target export 48695:40004
address-family ipv4
$
ip vrf CORP
rd 48695:40003
route-target import 48695:40003
route-target import 48695:40004
route-target export 48695:40003
route-target export 48695:40004
address-family ipv4
$
ip vrf VOICE
rd 48695:40003
route-target import 48695:40003
route-target import 48695:40004
route-target export 48695:40003
route-target export 48695:40004
address-family ipv4
$
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم

بامكانك استخدام الكود التالي
PHP كود :
Private Sub Command1_Click()
Close
Open App
.Path "/in.txt" For Input As #1
Open App.Path "/out.txt" For Output As #2
Dim l1$, l2$, l3$, a$
l1$ = ""
l2$ = ""
l3$ = ""
a$ = ""
gt False
gt0
:
If 
EOF(1) = True Then CloseEnd
Line Input 
#1, a$
l1$ = l2$
l2$ = l3$
l3$ = a$
If 
InStr(a$, "ip vrf NMS_CORE") > 0 Then GoTo gt1
If InStr(a$, "ip vrf CORP") > 0 Then GoTo gt1
If InStr(a$, "ip vrf VOICE") > 0 Then GoTo gt1
Print #2, a$
GoTo gt2
gt1
:
If 
InStr(l2$, "address-family ipv4") > 0 Then GoTo gt3
If l1$ = "" And l2$ = "" Then GoTo gtx
If Trim(l2$) <> "$" Then Print #2, "$"
Print #2, "address-family ipv4"
Print #2, a$
GoTo gtx
gt2
:
GoTo 
gtx
gt3
:
If 
Trim(l1$) <> "$" Then Print #2, "$"
Print #2, a$
gtx:
GoTo 
gt0
End Sub 

ملف الادخال اسمه in.txt
ملف الاخراج اسمه out.txt

او بامكانك تحميل الملف من المرفقات

يعطيك العافية


الملفات المرفقة
.rar   txt-file.rar (الحجم : 1.52 ك ب / التحميلات : 44)
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}
تم الشكر بواسطة: ahmedabdelaliem
#5
اهلا ، إذا لم تكن بيانات الملف النصي كبيرة جداً ، فمن الممكن إستخدام هذه الطريقة ، وبما أن علامة الـ $ تفصل التعاريف دائما فيمكن الإستعانه بدالة التجزئه ، كمايلي :

كود :
Dim Defins() As String
Dim FileData As String
Dim I As Integer
Dim F As Integer

F = FreeFile
Open "File.txt" For Input As #F
           FileData = Input(LOF(F),F)
           DoEvents
Close #F

IF InStr(1,FileData,"$") = 0 Then
   MsgBox "There is Problem"
   Exit Sub
End IF

Defins = Split(FileData,"$")
DoEvents

Kill File.txt
DoEvents

F = FreeFile
Open "File.txt" For Append As #F

For I = LBound(Defins) To UBound(Defins)

      IF InStr(1,Defins(I),"address-family ipv4") <> 0 Then
          Print #F,Defins(I)
          DoEvents
          Print #F,"$"
          DoEvents
       Else
          Print #F,Defins(I)
          DoEvents
          Print #F,"address-family ipv4"
          DoEvents
          Print #F,"$"
          DoEvents
       End IF

Next

Close #F
DoEvents

MsgBox "Ok We Are Done!"
الرد }}}
تم الشكر بواسطة:
#6
(03-04-15, 09:05 PM)abulayth كتب : السلام عليكم

بامكانك استخدام الكود التالي

PHP كود :
Private Sub Command1_Click()
Close
Open App
.Path "/in.txt" For Input As #1
Open App.Path "/out.txt" For Output As #2
Dim l1$, l2$, l3$, a$
l1$ = ""
l2$ = ""
l3$ = ""
a$ = ""
gt False
gt0
:
If 
EOF(1) = True Then CloseEnd
Line Input 
#1, a$
l1$ = l2$
l2$ = l3$
l3$ = a$
If 
InStr(a$, "ip vrf NMS_CORE") > 0 Then GoTo gt1
If InStr(a$, "ip vrf CORP") > 0 Then GoTo gt1
If InStr(a$, "ip vrf VOICE") > 0 Then GoTo gt1
Print #2, a$
GoTo gt2
gt1
:
If 
InStr(l2$, "address-family ipv4") > 0 Then GoTo gt3
If l1$ = "" And l2$ = "" Then GoTo gtx
If Trim(l2$) <> "$" Then Print #2, "$"
Print #2, "address-family ipv4"
Print #2, a$
GoTo gtx
gt2
:
GoTo 
gtx
gt3
:
If 
Trim(l1$) <> "$" Then Print #2, "$"
Print #2, a$
gtx:
GoTo 
gt0
End Sub 

ملف الادخال اسمه in.txt
ملف الاخراج اسمه out.txt

او بامكانك تحميل الملف من المرفقات

يعطيك العافية

شككرا لك اخي على الرد ، لكن اذا عدلت على ملف in.text واضفت كمان شغلات فلازم اعدل على الكود واضيفهم لحتى يقرأه ويضيف الجمله addres-family ipv4  ، وهاي بتطلب اني افرز كل تعريف لحال واخد نسخه من اسمه واكتبها بالكود وهاي عمليه صعبه شوي ، 
لكن اجتني فككره ، ممكن تساعدني بانه نخلي البرنامج يضع addres-family ipv4 قبل كل $  وبهيك بضمن انه مهما كان الملف كبير فهو رح يحط هاي الجمله قبل $ ، خصوصا انه هاي العلامه $ تفصل بين كل تعريف عن الاخر وبهيك حققت الي انا بحتاجه .
شكككرا مره اخرى 

(03-04-15, 09:31 PM)Ahmed_Mansoor كتب : اهلا ، إذا لم تكن بيانات الملف النصي كبيرة جداً ، فمن الممكن إستخدام هذه الطريقة ، وبما أن علامة الـ $ تفصل التعاريف دائما فيمكن الإستعانه بدالة التجزئه ، كمايلي :


كود :
Dim Defins() As String
Dim FileData As String
Dim I As Integer
Dim F As Integer

F = FreeFile
Open "File.txt" For Input As #F
           FileData = Input(LOF(F),F)
           DoEvents
Close #F

IF InStr(1,FileData,"$") = 0 Then
   MsgBox "There is Problem"
   Exit Sub
End IF

Defins = Split(FileData,"$")
DoEvents

Kill File.txt
DoEvents

F = FreeFile
Open "File.txt" For Append As #F

For I = LBound(Defins) To UBound(Defins)

      IF InStr(1,Defins(I),"address-family ipv4") <> 0 Then
          Print #F,Defins(I)
          DoEvents
          Print #F,"$"
          DoEvents
       Else
          Print #F,Defins(I)
          DoEvents
          Print #F,"address-family ipv4"
          DoEvents
          Print #F,"$"
          DoEvents
       End IF

Next

Close #F
DoEvents

MsgBox "Ok We Are Done!"
يعطيك العافيه أخي ، شكرا على الرد ..
لكن ممكن النتائج تكون بملف منفصل ؟!
الرد }}}
تم الشكر بواسطة:
#7
واذا كانت اشارة $ غير موجودة

على كل حال ممكن وضع جميع الاوامر التي ممكن ان تكون مثل ip vrf VOICE في مصوفة ومهما زاد عددها لن تؤثر على عمل البرنامج

يعطبك العافية
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}
تم الشكر بواسطة:
#8
(04-04-15, 01:18 AM)abulayth كتب : واذا كانت اشارة $ غير موجودة

على كل حال ممكن وضع جميع الاوامر التي ممكن ان تكون مثل ip vrf VOICE في مصوفة ومهما زاد عددها لن تؤثر على عمل[صورة مرفقة: arrow-10x10.png] البرنامج

يعطبك العافية

الله يعافيك ي رب ، بس كككككيف !!!
الرد }}}
تم الشكر بواسطة:
#9
ان شاء الله الى الغد لان جهازي الحالي لا يوجد عليه لغة برمجة  Blush
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}
تم الشكر بواسطة:
#10
التعديل في المرفقات , بالطريقة التي ذكرتها سابقاً .


الملفات المرفقة
.rar   Read_TextFile.rar (الحجم : 2.24 ك ب / التحميلات : 48)
الرد }}}
تم الشكر بواسطة: mera


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] برنامج تنبيه صوتي ويندوز 10 aboezzat84 0 83 07-01-24, 06:46 PM
آخر رد: aboezzat84
  برنامج VB6 النسخة الفرنسية كاملة الخير طهوري 7 11,935 02-01-24, 06:55 PM
آخر رد: الخير19
  [vb6.0] ريد كود طيع التقرير نسختين علماً انني استخدم برنامج Active Report ؟ Microformt 2 359 12-11-23, 05:05 PM
آخر رد: Microformt
  [سؤال] ماهو سبب خروج هذه الرسالة كما في الصورة المرفقة عند تشغيل برنامج الفيجوال بيسك6 وادي العوضي 3 498 24-07-23, 11:50 PM
آخر رد: وادي العوضي
  تحول برنامج مبرمج v.b في xp الو وندوز ٧ kanu3342 9 5,068 10-10-22, 12:02 AM
آخر رد: كاظم هاشم البهادلي
  [سؤال] احتاج برنامج يقرأ من اكسل ضروري لو سمحتم mera 0 505 10-06-22, 03:43 PM
آخر رد: mera
  [كود] برنامج سوبر ماركت نهى علي 11 1,792 07-06-22, 05:14 AM
آخر رد: نهى علي
  برنامج اختبارات( للمناقشه) haider kh 2 994 30-12-21, 08:28 PM
آخر رد: أبو خالد الشكري
  [vb6.0] برنامج ميزان شاحنات كبيرة وادي العوضي 25 3,681 17-11-21, 01:49 PM
آخر رد: وادي العوضي
  [vb6.0] برنامج retshard 2 876 01-11-21, 10:20 AM
آخر رد: ahmedabdelaliem

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


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