Güvenlik açığının nasıl kullan komut dosyası denetimi modüller ve yordamlar derlemeleri

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:184745
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Özet
Bu makalede, modüller ve yordamlar segment kodu Microsoft Script denetimi özelliklerini kullanmak gösterilmiştir. Nasıl dinamik olarak bağımsız değişkenleri belirleyebilir ve bu yordamı bir Function veya Sub olup gösterir.
Daha fazla bilgi
Microsoft komut dosyası denetimi, farklı modüllere segment komut ana bilgisayar uygulamasına olanak sağlayan özellikler içerir. Varsayılan modül, "Genel" her zaman vardır. Farklı modülleri, aynı ada sahip yordamlar içerebilir (diğer bir deyişle, yordam adları modülü kapsam vardır).

Microsoft komut dosyası denetimi, dinamik olarak yordamı bir Function veya Sub yaný sýra bağımsız değişkenleri, bekleyen olup olmadığını belirlemek ana bilgisayar uygulamasına izin yordamı özellikleri de içerir. Bu, ana uygulama, doğru sayıda parametre değerleri için kullanıcıdan izin verir.

Komut dosyası denetimi <a1>Modüller</a1> özelliği modül nesnelerin bir birleşimini içeren bir nesnedir. Bu, aşağıdaki özellikleri ve yöntemleri vardır:
  • Count: Modülleri numarası.
  • Item(x): tek bir modül nesne verir.
  • Add name: Verilen adla boş bir modül ekler.
Nesnenin modülü aşağıdaki özellikleri ve yöntemleri vardır:
  • Adı: Modül adı.
  • Yordamlar: Yordamlar nesne.
  • AddCode kodu: Bu modül için kod ekler.
  • Çalışma adı, args: adlandırılmış yordamını çalıştırır.
Yordamlar nesne yordamının nesnelerin bir birleşimini içerir. Bu, aşağıdaki özellikleri ve yöntemleri vardır:
  • Count: Sayısı modülünde yordamlar.
  • Item(x): tek bir Procedure nesnesi verir.
Procedure nesnesi aşağıdaki özellikleri ve yöntemleri vardır:
  • Adı: Yordamın adı.
  • HasReturnValue: Sub veya bir işlev yordamı olup olmadığını gösterir.
  • NumArgs: Sayısı bağımsız değişken, yordamın gerektirir.
Not: Tüm özellikleri ve yöntemleri listelenen nesneleri, yalnızca bu bu makaleyle ilgili verilir.

Aşağıdaki örnekte, bu özellik ve yöntemlerini nasıl gösteren etkileşimli bir programı sağlar:

ÖNEMLI: Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar da dahil ancak bunlarla sınırlı, satılabilirlik ve/veya belirli bir amaca uygunluk zımni hiçbir garanti olmamak kaydıyla, örtülü veya açık garanti vermez. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar.

ÖRNEK

  1. Visual Basic'te (Form1, varsayılan olarak oluşturulur) yeni bir proje oluşturun.
  2. Proje menüsünde Bileşenleri'ni tıklatın ve sonra "Microsoft komut dosyası denetimi 1.0" onay kutusunu seçin.
  3. Komut dosyası denetimi (ScriptControl1) (Metin1), bir <a0>metin kutusunda üç komut düğmeleri (Command1, Command2, Command3) ekleyin ve iki liste Form1'e (List1, List2) kutuları. Çok satırlı metin kutusunu özelliğini TRUE olarak ayarlanır. 30 Karakter 5 satırları yerleştirmek için metin kutusunu boyutlandırın.
  4. Form1'e aşağıdaki kodu ekleyin:
          Private Sub Command1_Click()        ScriptControl1.Modules.Add Text1.Text        Form_Activate      End Sub      Private Sub Command2_Click()        ScriptControl1.Modules(List1).AddCode Text1.Text        List1_Click      End Sub      Private Sub Command3_Click()      Dim RetVal As Variant, m As Variant        Set m = ScriptControl1.Modules(List1.Text)        With m.Procedures(List2.Text)          Select Case .NumArgs            Case 0              RetVal = m.Run(List2.Text)            Case 1              RetVal = m.Run(List2.Text, 5)            Case 2              RetVal = m.Run(List2.Text, 4, 23)            Case Else              MsgBox "Procedure has too many arguments"          End Select          If .HasReturnValue Then            MsgBox List2.Text & " returned: " & RetVal          End If        End With      End Sub      Private Sub Form_Activate()      Dim m As Variant        List1.Clear        With SCriptControl1          .Language = "VBScript"          .AllowUI = True          For Each m In .Modules            List1.AddItem m.Name          Next m        End With      End Sub      Private Sub Form_Load()        Command1.Caption = "Add Module"        Command2.Caption = "Add Code"        Command3.Caption = "Run Procedure"      End Sub      Private Sub List1_Click()      Dim m As String, p As Variant        m = List1        List2.Clear        If m = "" Then Exit Sub        For Each p In ScriptControl1.Modules(m).Procedures          List2.AddItem p.Name        Next p      End Sub      Private Sub List2_Click()      Dim m As String, p As String, r As Boolean, a As Long        m = List1        p = List2        With ScriptControl1.Modules(m).Procedures(p)          r = .HasReturnValue          a = .NumArgs        End With        MsgBox m & "." & p & " has " & IIf(r, "a", "no") & _               " return value and " & a & " arguments"      End Sub						
  5. Form1'nı çalıştırın.
  6. Aşağıdaki metin kutusuna yazıp modül Ekle'yi tıklatarak yeni bir modül oluşturun:
          Mod2						
  7. Aşağıdaki komut dosyası metin kutusuna yazın:
          Function Calc(X)        Calc = X * 2      End Function						
  8. Global öğesini seçtiğinizde List1 ve genel modülü eklemek için kod</a1>'ı tıklatın.
  9. Aşağıdaki komut dosyası, metin kutusuna yazın:
          Function Calc(X, Y)        Calc = X * Y      End Function      Sub Test()        MsgBox "The Test Sub in Module Mod2"      End Sub						
  10. Mod2 List1 içinde seçin ve genel modülü eklemek için kod</a1>'ı tıklatın.
  11. Çeşitli modüller ve yordamlar'ı tıklatın. Bir ileti kutusu görünür yordamı seçtiğinizde, yordamın dönüş değeri ve bunun yanı sıra bağımsız değişkenleri olup olmadığını gösteren alıyor.
  12. Bir yordamın seçtikten sonra yordamı çalıştırmak için Run'ı tıklatın. Kodu kullanmak için bağımsız değişkenleri belirler ve sonuçları ile farklı bir ileti kutusu görürsünüz.
NOT:
  • Genel, modül adı her zaman "Genel" Denetim sürümü Yerelleştirme bağlı olmayabilir veya olmayabilir. GlobalName sabit yerine sabit kullan - sözcük "Genel" kodlama.
  • Tek tek modülleri veya yordamlar kaldırmak için bir yöntem yoktur. Tüm kod silmek için <a0>komut</a0> denetimin .Clear yöntemi kullanmak zorunda. Bir yordam yerine aynı adla bir yordamla .AddCode yöntemini kullanarak geçersiz kılabilirsiniz.
Referanslar
Komut dosyası denetimi'ni edinme hakkında daha fazla bilgi için lütfen Microsoft Knowledge Base'de aşağıdaki makaleye bakın:
184739: BILGI: nereye komut dosyası Denetimi Al

Ek bilgi ve yordamlar genel modülünde çağrılıyor ilişkin örnekler için lütfen Microsoft Knowledge Base'de aşağıdaki makaleye bakın:
184740: Nasıl yapılır: işlevler, komut dosyası denetimi kullanmayı arama

Microsoft komut dosyası denetimi Yardım konuları:
   HasReturnValue Property   NumArgs Property   AddCode Method   Run Method   Modules Collection   Procedures Collection				
kbVBA500 kbVBp500 kbVBp400 kbVBp600 kbScript kbCtrl kbdse kbDSupport kbVBp

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 184745 - Son İnceleme: 12/05/2015 08:36:51 - Düzeltme: 4.1

Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 6.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic Enterprise Edition for Windows 6.0, Microsoft Visual Basic 4.0 Standard Edition, Microsoft Visual Basic 4.0 Professional Edition, Microsoft Visual Basic 4.0 32-Bit Enterprise Edition, Microsoft Visual Basic for Applications 5.0

  • kbnosurvey kbarchive kbmt kbhowto kbscript KB184745 KbMttr
Geri bildirim