تقييم الموضوع :
  • 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 ك ب / التحميلات : 30)
(( يَا أَيَّتُهَا النَّفْسُ الْمُطْمَئِنَّةُ ارْجِعِي إِلَى رَبِّكِ رَاضِيَةً مَرْضِيَّةً فَادْخُلِي فِي عِبَادِي وَادْخُلِي جَنَّتِي ))

الرد }}}}
تم الشكر بواسطة: 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 ك ب / التحميلات : 35)
الرد }}}}
تم الشكر بواسطة: mera


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Question [vb6.0] هل يمكن عمل برنامج يعمل على نظام ماكنتوش؟؟ Microformt 1 52 23-11-17, 12:23 AM
آخر رد: Ahmed_Mansoor
  [سؤال] مساعدة لوتكرمتم في صنع برنامج تخفيضات Visual Basic 8 101 17-11-17, 12:00 AM
آخر رد: Visual Basic
  برنامج وارد ومصروفات abdohassan 7 270 12-09-17, 08:13 PM
آخر رد: abdohassan
Question [vb6.0] هل يوجد برنامج تنصيب يبحث ويجمع ملفات برنامجي المصنوع من فجوال بيسك ؟؟ Microformt 3 210 11-07-17, 04:34 PM
آخر رد: Microformt
  تحزيم برنامج بالVB6 متصل بقاعدة بيانات أكسس اسلام الكبابى 13 526 08-07-17, 12:21 PM
آخر رد: Ahmed_Mansoor
  [vb6.0] عمل برنامج شبكات ffmmffmm 0 172 29-06-17, 03:18 AM
آخر رد: ffmmffmm
  [vb6.0] مساعدة في فهم و تعلم صنع برنامج يعمل على سيرفر بقاعدة بيانات اكسس مربوطة بالادو larbihamri 6 286 10-06-17, 09:19 PM
آخر رد: Amir_alzubidy
  برنامج setup factory 9 norhan 3 860 05-06-17, 04:10 AM
آخر رد: عبد العزيز البسكري
  كود تشغيل برنامج اخر مرفق bidaya 2 186 28-05-17, 05:08 AM
آخر رد: bidaya
  برنامج VB6 النسخة الفرنسية كاملة الخير طهوري 6 508 12-04-17, 04:34 PM
آخر رد: الخير طهوري

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


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