ভিবিস্ক্রিপ্ট (VBScript) একটি শক্তিশালী স্ক্রিপ্টিং ভাষা, যা বিভিন্ন ধরনের অ্যাপ্লিকেশন এবং ওয়েব পেজ অটোমেশন কার্যক্রমে ব্যবহার করা হয়। যদিও এটি সাধারণত সিম্পল স্ক্রিপ্টিং এবং ওয়েব ফর্ম অটোমেশন জন্য ব্যবহৃত হয়, তবে এতে কিছু উন্নত বৈশিষ্ট্যও রয়েছে, যা স্ক্রিপ্টিংয়ের ক্ষমতাকে আরও বিস্তৃত করে। এই টিউটোরিয়ালে, আমরা কিছু অ্যাডভান্সড ভিবিস্ক্রিপ্ট কনসেপ্ট সম্পর্কে আলোচনা করব, যেমন: Error Handling, Arrays, Functions, Objects, Regular Expressions, এবং Working with COM Objects।
ত্রুটি হ্যান্ডলিং একটি গুরুত্বপূর্ণ অঙ্গ, যা স্ক্রিপ্টের মধ্যে ত্রুটি ঘটলে স্ক্রিপ্ট চালানোর সঠিক প্রক্রিয়া নিশ্চিত করে। VBScript তে Error Handling ব্যবহৃত হয় On Error Resume Next এবং Err Object এর মাধ্যমে।
On Error Resume Next
' ত্রুটি ঘটানো
Dim x, y, result
x = 5
y = 0
result = x / y ' ডিভিশন বাই জিরো ত্রুটি
If Err.Number <> 0 Then
MsgBox "ত্রুটি ঘটেছে: " & Err.Description
Err.Clear ' ত্রুটি পরিষ্কার করা
End If
On Error GoTo 0 ' ত্রুটি হ্যান্ডলিং বন্ধ
এখানে:
এরে ভিবিস্ক্রিপ্টে ডেটার একটি সংগ্রহ, যা একটি নির্দিষ্ট ডেটা টাইপের একাধিক মান ধারণ করতে পারে। VBScript এ Arrays ব্যবহারের মাধ্যমে একাধিক মান সংরক্ষণ এবং পরিচালনা করা যায়।
Dim arr(3) ' 4 আংকির একটি এরে (0 থেকে 3)
arr(0) = "John"
arr(1) = "Jane"
arr(2) = "Jim"
arr(3) = "Jill"
For i = 0 To 3
MsgBox arr(i)
Next
এখানে, আমরা একটি এক-মাত্রিক এরে তৈরি করেছি এবং বিভিন্ন মান সংরক্ষণ করেছি। লুপের মাধ্যমে আমরা প্রতিটি মান প্রদর্শন করেছি।
Dim arr(2, 1) ' 2x2 ম্যাট্রিক্সের এরে
arr(0, 0) = "John"
arr(0, 1) = "Doe"
arr(1, 0) = "Jane"
arr(1, 1) = "Smith"
For i = 0 To 1
For j = 0 To 1
MsgBox arr(i, j)
Next
Next
এখানে, দুই-মাত্রিক এরে ব্যবহৃত হয়েছে, যাতে দুটি আয়তন রয়েছে (2x2 ম্যাট্রিক্স)।
ফাংশনগুলি এমন কোড ব্লক যা নির্দিষ্ট কাজ সম্পন্ন করে এবং একটি মান রিটার্ন করে। VBScript তে Functions ব্যবহার করে কোড পুনরায় ব্যবহারযোগ্য করা যায় এবং স্ক্রিপ্টকে আরও কার্যকরী ও পরিষ্কার করা যায়।
Function AddNumbers(a, b)
AddNumbers = a + b
End Function
Dim result
result = AddNumbers(10, 20)
MsgBox result
এখানে:
VBScript তে Objects ব্যবহার করে আপনি ডেটা এবং ফাংশন একত্রিত করতে পারেন। আপনি ActiveX objects ব্যবহার করতে পারেন যেমন FileSystemObject
, ADODB.Connection
, এবং বিভিন্ন COM অবজেক্ট, যা আপনাকে অনেক ধরণের কার্যক্রম সম্পাদন করতে সাহায্য করে।
Dim fso, file
Set fso = CreateObject("Scripting.FileSystemObject")
' একটি ফাইল তৈরি এবং কিছু লেখা
Set file = fso.CreateTextFile("C:\test.txt", True)
file.WriteLine("Hello, VBScript!")
file.Close
' ফাইলের উপস্থাপনা
MsgBox "ফাইল সফলভাবে তৈরি হয়েছে!"
Set fso = Nothing
Set file = Nothing
এখানে FileSystemObject ব্যবহার করা হয়েছে, যার মাধ্যমে একটি ফাইল তৈরি এবং লেখা হয়েছে।
Regular Expressions (Regex) হল একটি শক্তিশালী টুল যা টেক্সট বা স্ট্রিংয়ের সাথে নির্দিষ্ট প্যাটার্ন অনুসন্ধান এবং পরিবর্তন করতে ব্যবহৃত হয়। VBScript তে Microsoft VBScript Regular Expressions 5.5 লাইব্রেরি ব্যবহার করা হয়।
Dim regEx, result
Set regEx = New RegExp
' প্যাটার্ন সেট করা
regEx.IgnoreCase = True
regEx.Global = True
regEx.Pattern = "\b\w+\b"
' টেক্সট থেকে প্যাটার্ন খোঁজা
result = regEx.Execute("This is a test.")
For Each match In result
MsgBox match.Value
Next
Set regEx = Nothing
এখানে, আমরা একটি সিম্পল রেগুলার এক্সপ্রেশন ব্যবহার করেছি যা টেক্সটের সব শব্দের সাথে মিল খুঁজে বের করে।
VBScript COM অবজেক্টের সাথে কাজ করতে পারে, যা বিভিন্ন অ্যাপ্লিকেশনের সাথে যোগাযোগ করার সুযোগ দেয়। উদাহরণস্বরূপ, আপনি Microsoft Excel, Word, বা Outlook এর সাথে VBScript ব্যবহার করে কাজ করতে পারেন।
Dim objExcel, objWorkbook
' Excel অ্যাপ্লিকেশন চালু করা
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
' নতুন ওয়ার্কবুক তৈরি করা
Set objWorkbook = objExcel.Workbooks.Add
' Excel সেল এ মান লেখা
objExcel.Cells(1, 1).Value = "Hello, Excel!"
' কাজ শেষ হলে Excel বন্ধ করা
objWorkbook.SaveAs "C:\example.xlsx"
objExcel.Quit
Set objExcel = Nothing
Set objWorkbook = Nothing
এখানে, Microsoft Excel COM অবজেক্টের সাথে ইন্টারঅ্যাক্ট করা হয়েছে এবং একটি নতুন Excel ফাইল তৈরি করে এতে ডেটা লেখা হয়েছে।
এই অ্যাডভান্সড কনসেপ্টগুলির মাধ্যমে আপনি VBScript কে আরও শক্তিশালী এবং কার্যকরীভাবে ব্যবহার করতে পারবেন।
VBScript একটি স্ক্রিপ্টিং ভাষা হলেও এতে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর কিছু মূল ধারণা সমর্থিত রয়েছে। VBScript এ ক্লাস তৈরি এবং অবজেক্ট তৈরি করা যায়, তবে এটি অন্যান্য পূর্ণাঙ্গ OOP ভাষার মতো ব্যাপকভাবে অবজেক্ট ওরিয়েন্টেড ফিচার (যেমন ইনহেরিটেন্স) সমর্থন করে না। তবুও, VBScript এ Encapsulation, Polymorphism, এবং Abstraction এর মতো OOP কনসেপ্ট বাস্তবায়ন করা সম্ভব।
VBScript এ ক্লাস এবং অবজেক্ট তৈরি করতে Class কিওয়ার্ড ব্যবহার করা হয়। ক্লাসের মধ্যে বিভিন্ন Property (গুণ) এবং Method (পদ্ধতি) থাকতে পারে।
Class Person
' Properties (গুণ)
Public Name
Public Age
' Method (পদ্ধতি)
Public Sub Introduce
MsgBox "My name is " & Name & " and I am " & Age & " years old."
End Sub
End Class
এখানে, Person
নামক একটি ক্লাস তৈরি করা হয়েছে। এতে দুটি পাবলিক প্রপার্টি রয়েছে—Name এবং Age, এবং একটি Introduce নামক মেথড রয়েছে যা ক্লাসের অবজেক্টের তথ্য প্রদর্শন করবে।
একবার ক্লাস তৈরি হলে, আপনি তার অবজেক্ট তৈরি করতে পারেন এবং এর প্রপার্টি বা মেথড ব্যবহার করতে পারেন।
Dim person1
' অবজেক্ট তৈরি করা
Set person1 = New Person
' অবজেক্টের প্রপার্টি সেট করা
person1.Name = "John"
person1.Age = 30
' অবজেক্টের মেথড কল করা
person1.Introduce
এখানে, person1
নামক একটি অবজেক্ট তৈরি করা হয়েছে Person
ক্লাস থেকে। অবজেক্টটির Name এবং Age প্রপার্টি সেট করা হয়েছে এবং Introduce মেথড কল করা হয়েছে, যা মেসেজ বক্সে তথ্য প্রদর্শন করবে।
Encapsulation হল ডেটা (প্রপার্টি) এবং ফাংশন (মেথড) একত্রে একটি একক ইউনিটে রাখা। VBScript এ, আপনি ক্লাসের প্রপার্টি এবং মেথড একত্রিত করে ডেটাকে সুরক্ষিত রাখতে পারেন। এছাড়া, প্রপার্টি বা মেথডকে Private করে রাখতে পারেন যাতে তারা বাইরের কোড থেকে সরাসরি অ্যাক্সেস না করা যায়।
Class Person
' Private Properties (গোপন প্রপার্টি)
Private Name
Private Age
' Public Method to set Name
Public Sub SetName(newName)
Name = newName
End Sub
' Public Method to set Age
Public Sub SetAge(newAge)
Age = newAge
End Sub
' Public Method to get Name
Public Function GetName()
GetName = Name
End Function
' Public Method to get Age
Public Function GetAge()
GetAge = Age
End Function
' Public Method to introduce
Public Sub Introduce
MsgBox "My name is " & GetName() & " and I am " & GetAge() & " years old."
End Sub
End Class
এখানে, Name এবং Age প্রপার্টি গোপন রাখা হয়েছে (Private), এবং সেগুলি অ্যাক্সেস করার জন্য পাবলিক Set এবং Get মেথড ব্যবহার করা হয়েছে। এটি ডেটা সুরক্ষা এবং ক্লাসের ভিতরের লজিক নিয়ন্ত্রণ করতে সাহায্য করে।
Polymorphism হল একটি ফাংশন বা মেথডের একাধিক রূপ থাকতে পারে। VBScript এ পলিমরফিজম সাধারণত ওভাররাইডিং বা ওভারলোডিং এর মাধ্যমে বাস্তবায়িত হয় না, তবে আপনি একই নামের মেথড তৈরি করে বিভিন্ন পরিস্থিতিতে আলাদা আলাদা ফলাফল পেতে পারেন।
Class Animal
Public Sub Speak
MsgBox "Animal speaks"
End Sub
End Class
Class Dog
Inherits Animal
' Dog ক্লাসে Speak মেথড ওভাররাইড
Public Sub Speak
MsgBox "Dog barks"
End Sub
End Class
Dim myAnimal, myDog
Set myAnimal = New Animal
Set myDog = New Dog
' Animal ক্লাসের Speak মেথড
myAnimal.Speak
' Dog ক্লাসের Speak মেথড
myDog.Speak
এখানে, Dog ক্লাসটি Animal ক্লাস থেকে ইনহেরিট করেছে এবং Speak মেথডকে ওভাররাইড করেছে, যাতে ডগের জন্য আলাদা আচরণ (বarking) তৈরি করা হয়।
Abstraction হল এমন একটি ধারণা যার মাধ্যমে ক্লাসের ভিতরের জটিলতাগুলো লুকিয়ে রাখা হয় এবং শুধুমাত্র দরকারি অংশ প্রকাশ করা হয়। VBScript এ আপনি Private প্রপার্টি এবং মেথড ব্যবহার করে অ্যাবস্ট্রাকশন অর্জন করতে পারেন।
Class Car
Private Make
Private Model
Public Sub SetCarDetails(carMake, carModel)
Make = carMake
Model = carModel
End Sub
Public Function GetCarDetails()
GetCarDetails = "Car Make: " & Make & ", Model: " & Model
End Function
End Class
Dim myCar
Set myCar = New Car
myCar.SetCarDetails "Toyota", "Corolla"
' Only the GetCarDetails method is accessible
MsgBox myCar.GetCarDetails
এখানে, Make এবং Model প্রপার্টি গোপন রাখা হয়েছে এবং তাদের সেট ও গেট করার জন্য পাবলিক মেথড দেয়া হয়েছে। বাইরের কোড শুধুমাত্র SetCarDetails এবং GetCarDetails মেথড ব্যবহার করতে পারে।
VBScript এ OOP এর কিছু মূল ধারণা যেমন Encapsulation, Polymorphism, এবং Abstraction সমর্থিত হলেও এটি পূর্ণাঙ্গ OOP ভাষার মতো ইনহেরিটেন্স এবং অন্যান্য বৈশিষ্ট্য সমর্থন করে না। তবে VBScript এর মাধ্যমে আপনি ক্লাস এবং অবজেক্ট তৈরি করতে পারেন, যা কোডের পুনঃব্যবহারযোগ্যতা, ডেটা নিরাপত্তা এবং কার্যকারিতা বাড়াতে সহায়তা করে।
Inheritance (উত্তরণ) এবং Polymorphism (বহু রূপতা) হল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) এর দুটি গুরুত্বপূর্ণ ধারণা। যদিও VBScript একটি সম্পূর্ণ অবজেক্ট-ওরিয়েন্টেড ভাষা নয়, তবে এটি কিছু মৌলিক OOP ধারণা সমর্থন করে, যার মধ্যে Inheritance এবং Polymorphism অন্তর্ভুক্ত। VBScript এর মাধ্যমে আপনি কিছু সিম্পল OOP কনসেপ্ট যেমন ইনহেরিটেন্স এবং পলিমরফিজম ব্যবহার করতে পারেন।
Inheritance হল একটি ধারণা যেখানে একটি ক্লাস অন্য একটি ক্লাসের বৈশিষ্ট্য এবং আচরণ (properties and methods) গ্রহণ করে। এটি কোড পুনরায় ব্যবহার (code reusability) এবং কোডের কাঠামো সহজ করার জন্য ব্যবহৃত হয়।
VBScript-এ ক্লাসের মধ্যে ইনহেরিটেন্স সরাসরি সমর্থিত না হলেও, আপনি একটি ক্লাসের অবজেক্ট থেকে অন্য একটি ক্লাসের অবজেক্ট তৈরি করতে পারেন এবং মেথড ব্যবহার করতে পারেন।
' Superclass (Parent Class)
Class Animal
Public Name
Public Sub Speak()
MsgBox "The animal makes a sound."
End Sub
End Class
' Subclass (Child Class) inheriting from Animal
Class Dog
Inherits Animal ' Inherit the properties and methods of Animal
' Overriding the Speak method of the parent class
Public Sub Speak()
MsgBox "The dog barks."
End Sub
End Class
' Creating objects
Dim animal, dog
Set animal = New Animal
Set dog = New Dog
animal.Speak() ' Output: The animal makes a sound.
dog.Speak() ' Output: The dog barks.
এখানে, Dog
ক্লাসটি Animal
ক্লাস থেকে বৈশিষ্ট্য ও পদ্ধতি গ্রহণ করেছে। তবে, Dog
ক্লাসটি Speak()
মেথডকে পুনঃসংজ্ঞায়িত (override) করেছে, যা Polymorphism এর একটি উদাহরণ।
Polymorphism হল এমন একটি ধারণা যেখানে একটি মেথড বা ফাংশন একাধিক রূপে কাজ করতে পারে। সাধারণভাবে, এটি দুইভাবে কাজ করে:
এটি একটি ক্লাসের পদ্ধতিকে অন্য ক্লাসের ভিতরে পুনঃসংজ্ঞায়িত (override) করার মাধ্যমে কাজ করে।
' Superclass (Parent Class)
Class Animal
Public Sub Speak()
MsgBox "The animal makes a sound."
End Sub
End Class
' Subclass (Child Class) overriding the Speak method
Class Dog
Inherits Animal
Public Sub Speak()
MsgBox "The dog barks."
End Sub
End Class
' Subclass (Child Class) overriding the Speak method
Class Cat
Inherits Animal
Public Sub Speak()
MsgBox "The cat meows."
End Sub
End Class
' Creating objects
Dim animal, dog, cat
Set animal = New Animal
Set dog = New Dog
Set cat = New Cat
animal.Speak() ' Output: The animal makes a sound.
dog.Speak() ' Output: The dog barks.
cat.Speak() ' Output: The cat meows.
এখানে, Dog এবং Cat ক্লাস দুটি Speak() পদ্ধতিটি Animal ক্লাসের পদ্ধতির উপর ভিত্তি করে পুনঃসংজ্ঞায়িত (override) করেছে। এর মাধ্যমে Polymorphism অর্জিত হয়েছে, কারণ এক পদ্ধতি বিভিন্ন রূপে কাজ করছে।
VBScript-এ ইনহেরিটেন্স এবং পলিমরফিজম ব্যবহার করার মাধ্যমে আপনি কিছু গুরুত্বপূর্ণ OOP ধারণা গ্রহণ করতে পারেন, তবে এটি একটি পূর্ণাঙ্গ OOP ভাষা নয় এবং VBScript এর সীমাবদ্ধতা রয়েছে।
VBScript একটি প্রাথমিক স্ক্রিপ্টিং ভাষা, যা মূলত সহজ এবং দ্রুত স্ক্রিপ্টিংয়ের জন্য ডিজাইন করা হয়েছে। এটি কিছু উন্নত বৈশিষ্ট্য যেমন Interfaces এবং Abstraction সরাসরি সমর্থন করে না, যেমন কোনো পূর্ণাঙ্গ অবজেক্ট-ওরিয়েন্টেড ভাষা (যেমন Java, C#) সমর্থন করে। তবে, VBScript এ কিছু পরিমাণে Abstraction এবং Interfaces এর ধারণা বাস্তবায়ন করা সম্ভব, যদিও এটি কিছু সীমাবদ্ধতা নিয়ে আসে।
VBScript প্রকৃতপক্ষে Interfaces কে সরাসরি সমর্থন করে না, কারণ এটি সম্পূর্ণরূপে অবজেক্ট-ওরিয়েন্টেড (OOP) ভাষা নয়। তবে, আমরা কিছু ট্রিকস এবং কৌশলের মাধ্যমে কিছু Interface-এর মতো কার্যকলাপ বাস্তবায়ন করতে পারি।
VBScript এ আপনি একটি Class ব্যবহার করে "interface"-এর মত কিছু কার্যকলাপ তৈরি করতে পারেন, তবে এটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিংয়ের মূল ধারণা থেকে কিছুটা ভিন্ন। আপনি একটি ক্লাসের মধ্যে বিভিন্ন মেথড বা প্রোপার্টি ডিফাইন করতে পারেন এবং অন্য ক্লাসে সেগুলির কার্যকরী বাস্তবায়ন করতে পারেন।
উদাহরণ:
' একটি "Interface"-এর মতো ক্লাস
Class Shape
Public Sub Draw()
MsgBox "Drawing shape"
End Sub
End Class
' বাস্তবায়ন করা ক্লাস
Class Circle
Inherits Shape ' "Interface"-এর মতো আচরণ
Public Sub Draw()
MsgBox "Drawing a Circle"
End Sub
End Class
' ব্যবহার
Dim obj
Set obj = New Circle
obj.Draw ' Output: "Drawing a Circle"
এখানে, Shape ক্লাসটি একটি সাধারণ পদ্ধতি ডিফাইন করে, যা Circle ক্লাসে ইনহেরিট করা হয়েছে। যখন আমরা obj.Draw
কল করি, তখন এটি Circle ক্লাসের বাস্তবায়িত Draw
মেথডটি কল করে।
এই পদ্ধতি আসলে VBScript এ interface ধারণার একটি বিকল্প, কিন্তু এটি প্রকৃতভাবে একটি Interface নয়।
Abstraction হল একটি সফটওয়্যার ডিজাইন প্যাটার্ন, যা ব্যবহারকারীর জন্য কমপ্লেক্সিটি লুকিয়ে রেখে সহজ ইন্টারফেস প্রদান করে। VBScript এ, আপনি অভ্যন্তরীণ জটিলতা লুকিয়ে রেখে শুধুমাত্র গুরুত্বপূর্ণ ফাংশনালিটি প্রকাশ করতে পারেন।
VBScript এ Abstraction সাধারণত Class এবং Methods ব্যবহার করে হয়। আপনি ক্লাসের মাধ্যমে ডেটার বাস্তবায়ন লুকিয়ে রাখতে পারেন, যাতে শুধুমাত্র সেই ক্লাসের পাবলিক মেথড বা প্রোপার্টি ব্যবহার করা হয়, যা ব্যবহারকারীর কাছে অ্যাক্সেসযোগ্য।
' ক্লাস তৈরি
Class Car
Private make
Private model
' Constructor
Public Sub Init(mk, md)
make = mk
model = md
End Sub
' Public Method (Abstraction)
Public Sub ShowDetails()
MsgBox "Car Make: " & make & ", Model: " & model
End Sub
' Getter Methods (Abstraction)
Public Function GetMake()
GetMake = make
End Function
Public Function GetModel()
GetModel = model
End Function
End Class
' ব্যবহার
Dim myCar
Set myCar = New Car
myCar.Init "Toyota", "Camry"
myCar.ShowDetails ' Output: "Car Make: Toyota, Model: Camry"
এখানে, Car
ক্লাসের মধ্যে make এবং model ভেরিয়েবলগুলি Private
করা হয়েছে, যা ব্যবহারকারীর কাছ থেকে লুকানো রয়েছে। বাইরে থেকে শুধুমাত্র ShowDetails, GetMake, এবং GetModel মেথড ব্যবহার করে এই তথ্য অ্যাক্সেস করা যায়। এটি Abstraction এর একটি সাধারণ উদাহরণ, যেখানে অভ্যন্তরীণ ডেটা লুকিয়ে রাখা হয়েছে এবং শুধুমাত্র প্রয়োজনীয় ফাংশনালিটি প্রকাশ করা হয়েছে।
VBScript এ Interfaces এবং Abstraction এর পূর্ণাঙ্গ বাস্তবায়ন সম্ভব নয়, কারণ এটি সম্পূর্ণ OOP সমর্থন করে না। তবে, আপনি কিছু কৌশলের মাধ্যমে ক্লাস ব্যবহার করে Abstraction এবং Interface এর মতো আচরণ তৈরির চেষ্টা করতে পারেন। Abstraction সাধারণত পাবলিক এবং প্রাইভেট মেথড বা প্রপার্টির মাধ্যমে অর্জিত হয়, যা ব্যবহারকারীকে শুধুমাত্র দরকারি কার্যকারিতা প্রদান করে, এবং Interface কিছুটা Inheritance এর মাধ্যমে ক্লাসে বাস্তবায়ন করা যেতে পারে।
ইভেন্ট ড্রিভেন প্রোগ্রামিং (Event-Driven Programming) এমন একটি প্রোগ্রামিং প্যারাডাইম, যেখানে প্রোগ্রামের প্রবাহ ব্যবহারকারীর ইনপুট বা অন্যান্য সিস্টেম ইভেন্টের মাধ্যমে নির্ধারিত হয়। VBScript তে, বিশেষ করে ActiveX Controls বা HTML elements এর সাথে কাজ করার সময় ইভেন্ট ড্রিভেন প্রোগ্রামিং ব্যবহৃত হয়। এটি সাধারণত ব্যবহারকারীর ইন্টারঅ্যাকশনের ওপর ভিত্তি করে কাজ করে, যেমন বোতাম ক্লিক, মাউস মুভ, কিবোর্ড ইনপুট ইত্যাদি।
VBScript এর মাধ্যমে আপনি HTML পেজের ইলিমেন্টের সাথে ইভেন্ট ড্রিভেন প্রোগ্রামিং করতে পারেন, যেমন কোনো বোতামে ক্লিক করা, একটি টেক্সট বক্সে ইনপুট দেয়া, অথবা মাউস হোভার করা।
<!DOCTYPE html>
<html>
<head>
<title>VBScript ইভেন্ট ড্রিভেন প্রোগ্রামিং</title>
<script language="VBScript">
Sub ButtonClick
MsgBox "আপনি বোতামটি ক্লিক করেছেন!"
End Sub
</script>
</head>
<body>
<button onclick="ButtonClick">এখানে ক্লিক করুন</button>
</body>
</html>
এখানে, ButtonClick
সাবরুটিনটি বোতাম ক্লিক করার সময় ট্রিগার হয় এবং একটি মেসেজ বক্স দেখায়।
একটি ইভেন্ট মাউস মুভের মাধ্যমে ট্রিগার করা যেতে পারে। এই উদাহরণে, মাউস মুভ করলে একটি মেসেজ দেখানো হবে।
<!DOCTYPE html>
<html>
<head>
<title>মাউস মুভ ইভেন্ট</title>
<script language="VBScript">
Sub MouseMoveHandler
MsgBox "আপনি মাউসটি এখানে এনেছেন!"
End Sub
</script>
</head>
<body>
<div onmousemove="MouseMoveHandler" style="width: 300px; height: 300px; background-color: lightblue;">
মাউস এখানে এনেছেন
</div>
</body>
</html>
এখানে, onmousemove ইভেন্টটি ব্যবহারকারীর মাউস মুভ হওয়ার সময় MouseMoveHandler সাবরুটিনটিকে ট্রিগার করে, যা একটি বার্তা দেখায়।
ফর্ম ইনপুট ক্ষেত্রেও ইভেন্ট ড্রিভেন প্রোগ্রামিং ব্যবহৃত হয়। যেমন, টেক্সট বক্সে টাইপ করা বা ফর্ম সাবমিট করা।
<!DOCTYPE html>
<html>
<head>
<title>টেক্সট বক্স ইভেন্ট</title>
<script language="VBScript">
Sub TextBoxInput
MsgBox "আপনি টেক্সট বক্সে ইনপুট দিয়েছেন!"
End Sub
</script>
</head>
<body>
<input type="text" onkeyup="TextBoxInput" placeholder="টেক্সট লিখুন">
</body>
</html>
এখানে, onkeyup ইভেন্টটি ট্রিগার হয় যখন ব্যবহারকারী টেক্সট বক্সে কোনো কী প্রেস করে এবং TextBoxInput সাবরুটিনটি একটি মেসেজ প্রদর্শন করে।
ইভেন্ট ড্রিভেন প্রোগ্রামিংয়ে একটি স্ক্রিপ্ট একাধিক ইভেন্টকে একযোগে ম্যানেজ করতে পারে, যেমন একটি পেজে একাধিক ইভেন্টের জন্য আলাদা হ্যান্ডলার তৈরি করা। এটি কমপ্লেক্স অ্যাপ্লিকেশন এবং ইউজার ইন্টারফেস ডিজাইনে কার্যকরী হয়।
<!DOCTYPE html>
<html>
<head>
<title>একাধিক ইভেন্ট</title>
<script language="VBScript">
Sub OnButtonClick
MsgBox "বোতাম ক্লিক হয়েছে!"
End Sub
Sub OnKeyUpEvent
MsgBox "কী প্রেস করা হয়েছে!"
End Sub
</script>
</head>
<body>
<button onclick="OnButtonClick">বোতাম ক্লিক করুন</button>
<input type="text" onkeyup="OnKeyUpEvent" placeholder="কী প্রেস করুন">
</body>
</html>
এখানে, OnButtonClick সাবরুটিন বোতাম ক্লিকের ইভেন্টে এবং OnKeyUpEvent সাবরুটিন ইনপুট ফিল্ডে কী প্রেস হওয়ার সময় ট্রিগার হয়।
এই প্রোগ্রামিং পদ্ধতি ব্যবহারকারীর ইন্টারঅ্যাকশন অনুযায়ী ফাংশনালিটি প্রদান করতে সাহায্য করে এবং ওয়েব ডেভেলপমেন্টে ইন্টারঅ্যাকটিভ প্রোগ্রাম তৈরি করতে সক্ষম করে।
Read more