منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغات البرمجة الاخرى (http://vb4arb.com/vb/forumdisplay.php?fid=4)
+--- قسم : قسم لغة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=18)
+---- قسم : قسم أسئلة vb6.0 (http://vb4arb.com/vb/forumdisplay.php?fid=28)
+---- الموضوع : [سؤال] كيف اسوي برنامج يقرأ سطر سطر وينفذ امر (/showthread.php?tid=11942)

الصفحات: 1 2


كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - mera - 03-04-15

 بحتاج مساعد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 " ايضا يقوم باضافتها بسطر جديد وبعدها يضع $ 
وهكذا للبقيه ، 

شكرا جزيلا


RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - abulayth - 03-04-15

السلام عليكم

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

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


RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - mera - 03-04-15

نعم سيكون في كل التكست فايل ، هلا هاي الجمله 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
$


RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - abulayth - 03-04-15

السلام عليكم

بامكانك استخدام الكود التالي
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

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

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



RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - Ahmed_Mansoor - 03-04-15

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

كود :
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!"



RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - mera - 04-04-15

(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!"
يعطيك العافيه أخي ، شكرا على الرد ..
لكن ممكن النتائج تكون بملف منفصل ؟!


RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - abulayth - 04-04-15

واذا كانت اشارة $ غير موجودة

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

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


RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - mera - 04-04-15

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

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

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

الله يعافيك ي رب ، بس كككككيف !!!


RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - abulayth - 04-04-15

ان شاء الله الى الغد لان جهازي الحالي لا يوجد عليه لغة برمجة  Blush


RE: كيف اسوي برنامج يقرأ سطر سطر وينفذ امر - Ahmed_Mansoor - 04-04-15

التعديل في المرفقات , بالطريقة التي ذكرتها سابقاً .