என் முதல் கதையின் நாயகி ....

காலை நேரம்...
பேருந்தின் சத்தம் மெல்லமாக என் காதுகளை கவ்வி கொண்டிருந்தது....
பயண நெருக்கடியிலும் ...வேலை அவசரத்திலும்.... கிடைத்த பேருந்தில் ஏறி இருக்கையில் அமர்ந்தேன் .....
பேருந்தின் சத்தத்தை தொலைக்க அனைவருக்கும் உதவிய செல்போனின் பாடல்கள் எனக்கும் உதவியது...
எல்லா சத்தத்தையும் மீறி ஒலித்தது அவளின் குரல் ......

எண்ணெய் தடவாத பரட்டை கூந்தல்.....
இடுப்பில் சொருகிய சீலை.....
கையில் ஒரு தூக்கு சட்டி ...
ஒரு ஏழை தாயின் அப்பட்டமான பதிவு .....

மௌனம் கலந்த அவளின் உரத்த சத்தம் ...."சார் இந்த பஸ்ல விஜயநகர் போக எவ்வளவு" நடத்துனர் - "அஞ்சு ரூபா மா" .....தூக்கிய தலையுடனே !!!!!நகர்ந்து சென்றால் அடுத்த பேருந்திருக்கு .....
என் பார்வை அவளை நோக்கி நகர்ந்தது ....

அடுத்த பேருந்திலும் அவளின் குரல் ஒலித்திருக்கும்.....

என் நிலையை நினைத்து நன்றி கூறினேன் கடவுளுக்கு.......அவளின் நிலையை நினைத்து பழிக்க தோன்றியது கடவுளை ......

என் முதல் கதைக்கு காரணமானால் அவள்....

-
பிரிட்மன்

எனக்கு வேலை கிடைச்சிருச்சு





டே கெளம்புரேண்டா ......
மச்சான் வர்ரேண்டா....
.
.
.
.
தினமும் என் நாட்கள் இப்படிதான் கழிகின்றன என்று சிறிய அழுகை கலந்த சிரிப்புடன்
வாசலின் அருகில் நின்று அவர்களை வழி அனுப்பி விட்டு அறையினுள் வந்து அமர்ந்தேன் ......

மெல்லமாக நிசப்தம் என் அறையை ஊடுருவியது .......

மறுநாள் தூக்கு தண்டனைக்காக காத்திருக்கும் ஒரு கைதி கடக்கும் ஒரு இரவின் வெறுமையை உணர்ந்த வண்ணம்
தினமும் இருக்கிறேன் ,சென்னை பட்டினத்தில் வேலை தேடி கொண்டிருக்கும் நான் ......

பனி படர்ந்தது போல் என் நுரையீரலை வருடி சென்றது சிகரெட்டின் புகை .....
தொண்டையை நனைத்தது ஒரு டீ.....
பெரும்பாலான வேலை தேடும் பல இளைஞர்களின் காலை உணவு ....

திரும்பவும் நிசப்தமான என் அறையுனுள் நுழைந்தேன் ....

அந்த தனிமையில் நான் உணர்ந்தது என் நடுத்தர குடும்பத்தின் நிலையை மட்டுமே .....
என் குடும்பத்தில் இரண்டு தங்கைகளுக்கு அண்ணனாகவும்.....
என் தந்தையின் சுமையை குறைக்க இருக்கும் மூத்த மகனாகவும் ....
ஈன்ற பொழுதினும் பெரிதுவக்க காத்திருக்கும் என் தாய்க்கு மகனாகவும் பிறந்த ஒரு மகனின் பொறுப்பு ,
என் தனிமையின் நிசப்தத்தை மேலும் அதிகப்படுத்தி குறைத்தது......

பல கனவுகளோடு இங்கு வந்த என் கண்களுக்கு ...
தூக்கம் தொலைத்த பல இரவுகளையும், கண்ணீரையும் மட்டுமே பரிசளித்து இருந்தேன் ......

அறையின் நிசப்பதத்தை ஊடுருவியது எனது செல்போனின் ஒலி...,
புதிய எண்...,
என்னை தயார் படுத்திக்கொண்டேன் ,எதிர் பார்த்தது போலவே அது Interview Call ....

நாளை எனக்கு Interview ....


கடைசி பந்தில் சிக்ஸ் அடித்து இந்திய அணிக்கு உலக கோப்பையை வாங்கி தரவேண்டிய நிலையில் பந்தை எதிர் கொள்ளும் சச்சின் எவ்வளவு பதட்டத்துடனும் தயாரிப்புடனும் இருப்பாரோ ......

தன் தாய்க்கு இருதய அறுவை சிகிச்சை செய்ய போகும் ஒரு டாக்டர் எவ்வளவு பதட்டத்துடனும் தயாரிப்புடனும் இருப்பாரோ ......

அதே பதட்டத்துடனும் தயாரிப்புடனும் அமர்திருந்தேன் நான் ...

என் முறை வந்ததும் உள்ளே அழைக்கப்பட்டேன் .....

வெளியே வந்ததும் பயங்கரமாக அழ தோன்றியது ...

இந்தியா வெற்றி ....ஆபரேஷன் சக்சஸ் .....

தன் முதல் குழந்தையை பிரசவித்து அழும் தாயின் ஆனந்த கண்ணீர் போல் என் கண்களையும் நனைத்தது முதல் முறையாக ஆனந்த கண்ணீர் .....


பார்வை இழந்த ஒருவன் பார்வை பெற்று இந்த உலகத்தை முதல் முறை பார்ப்பது போல் சந்தோசமாக இந்த உலகத்தை பார்கிறேன்.,..

அம்மாவுக்கு முதலில் கூற வேண்டும் ....

தொலைபேசியில் அழைத்தேன் ....
அம்மா... "எனக்கு வேலை கிடைச்சிருச்சு"
ஈன்ற பொழுதினும் பெருதுவத்தால் என் தாய் .....

என் சந்தோசத்தை கவனிக்க இந்த ஊரில் யாரும் இல்லை .....
.
.
நானும் கவனிக்க மறந்தேன்...
!!! ?!!
!!! ?!!
!!! ?!!

வேகமாக வந்த அந்த பேருந்தை .....

என் தாயின் ஆனந்த கண்ணீர் அவள் தாடையை தடவும் முன் அது அவள் அலறலை கண்டிருக்கும்.......

-பிரிட்மன்

OOPS


Oops concepts:
1. Class
2. Methods and Function
3. Polymorphism
4. Inheritance
5. Constructor
6. Abstract class
7. Interface class
8. Encapsulation
Class:
It is a collection of different variables and methods.
(Method- Function without return type is called method.)

Namespace:
It is the logical collection of user defined data types.
Access specifier:
It will specify the class, it has 5 types.
1. Public
2. Private
3. Protected
4. Internal
5. Protected Internal
1.Public:
It can be accessed outside of the class.
2.Private:
It cannot be accessed outside of the class.



3. Protected:
It is same as private, but it can be inherited but cannot be used outside of the class by instant of object.


4. Internal:
Same as public but it can be accessed by code within same class.
5. Protected Internal:
It is same as the internal but it can be accessed by code of the assembly.





Access Modifier:
It modifies the access of the class.
1. Sealed
2. Static
3. Abstract
4. Virtual
Sealed:
If you mark a method as sealed then we cannot access the method.
Static:
1. Static Method
2. Static Class
3. Static Constructor

Static Method:
Static method contained in static class can access only by class name.
Static Class:
Instant for a static class never be created
(In .net all class library are static class)

Static Constructor:
Only single object can be created. To initialize a static variable we need to use static constructor, a static constructor must be parameter less.
(Constant: constant value once set cannot be altered throughout the program.)

Constructor:
1. It is a special member function, whose name is same name as that of class name.
2. It doesn’t have a return type.
3. Constructor can be parameterized or we can have default constructor also.
4. It is used to initialize the object of a class.

There are three types of constructors
a. Default constructor
b. Parameterized constructor
c. Copy constructor
d. Static constructor.
Static Constructor:
Only single object can be created. To initialize a static variable we need to use static constructor, a static constructor must be parameter less.
Copy Constructor:

Destructor:
It is denoted by the symbol(~),it has same name as that of a constructor, and it is used to destroy the object created by the constructor. Only
One destructor is enough to destroy all the objects

Dynamic Dropdown in C# .Net

namespace Dynamic
{
//Code By Britman Dated 17-02-2011 To Creat Dynamic Dropdownlist
public partial class Form1 : Form
{
private System.ComponentModel.IContainer components = null;
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
int i = 0;
int x = 0, y = 0;

public Form1()
{
InitializeComponent();
}
private void InitializeComponent()
{
this.SuspendLayout();
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(942, 468);
this.Name = "Form1";
this.Text = "Form1";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);

}

private void Form1_Load(object sender, EventArgs e)
{

x = 0;
y = 0;

i = i + 1;
string[] strTypes = new string[] {"A", "O", "E"};

ComboBox ddlDynamicDropDown = new ComboBox();
ddlDynamicDropDown.Location = new Point(x, y);
ddlDynamicDropDown.Width = 150;
ddlDynamicDropDown.Text = "--Select--";
ddlDynamicDropDown.Items.AddRange(strTypes);
ddlDynamicDropDown.Name = i.ToString();
ddlDynamicDropDown.SelectedIndexChanged += new System.EventHandler(doEvents);
this.Controls.Add(ddlDynamicDropDown);
}

private void button1_Click(object sender, EventArgs e)
{


}



public void doEvents(object sender, EventArgs e)
{



ComboBox ddlDynamicDropDownSender = sender as System.Windows.Forms.ComboBox;

if (ddlDynamicDropDownSender.Text == "A" || ddlDynamicDropDownSender.Text == "O")
{
if (Convert.ToInt32(ddlDynamicDropDownSender.Name) >= i)
{
//x = x + 20;
y = y + 20;
i = i + 1;
string[] strTypes = new string[] { "A", "O", "E" };

ComboBox ddlDynamicDropDown = new ComboBox();
ddlDynamicDropDown.Location = new Point(x, y);
ddlDynamicDropDown.Width = 150;
ddlDynamicDropDown.Text = "--Select--";
ddlDynamicDropDown.Items.AddRange(strTypes);
ddlDynamicDropDown.Name = i.ToString();
ddlDynamicDropDown.SelectedIndexChanged += new System.EventHandler(doEvents);
this.Controls.Add(ddlDynamicDropDown);
}


}
else
{

int x = i;
for (x = Convert.ToInt32(ddlDynamicDropDownSender.Name)+1; x <= i; x++)
{


ComboBox ddlDynamicDropDown = FindControl(x.ToString()) as System.Windows.Forms.ComboBox;

this.Controls.Remove(ddlDynamicDropDown);
y = y - 20;
}

i = Convert.ToInt32(ddlDynamicDropDownSender.Name);



}

}

private Control FindControl(string ControlName)
{
if (ControlName.Length == 0 || this.Controls.Find(ControlName, true).Length == 0)
return null;


return this.Controls.Find(ControlName, true)[0];

}
}
}

Dynamic Dropdown in VB# .Net

Public Class Form1
Dim i As Int32 = 0
Dim x As Int32 = 0
Dim y As Int32 = 0

'Code By Britman Dated 17-02-2011 To Creat Dynamic Dropdownlist
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
x = 0
y = 0

i = i + 1
Dim strTypes() As String = New String() {"A", "O", "E"}


Dim ddlDynamicDropDown As ComboBox = New ComboBox()
ddlDynamicDropDown.Location = New Point(x, y)
ddlDynamicDropDown.Width = 150
ddlDynamicDropDown.Text = "--Select--"
ddlDynamicDropDown.Items.AddRange(strTypes)
ddlDynamicDropDown.Name = i.ToString()
AddHandler ddlDynamicDropDown.SelectedIndexChanged, AddressOf doEvents

'ddlDynamicDropDown.SelectedIndexChanged += New System.EventHandler(doEvents)

Me.Controls.Add(ddlDynamicDropDown)
End Sub


Public Sub doEvents(ByVal sender As Object, ByVal e As EventArgs)



Dim ddlDynamicDropDownSender As ComboBox = sender ' as System.Windows.Forms.ComboBox

If ddlDynamicDropDownSender.Text = "A" Or ddlDynamicDropDownSender.Text = "O" Then
If Convert.ToInt32(ddlDynamicDropDownSender.Name) >= i Then
'x = x + 20;
y = y + 20
i = i + 1
Dim strTypes() As String = New String() {"A", "O", "E"}


Dim ddlDynamicDropDown As ComboBox = New ComboBox()
ddlDynamicDropDown.Location = New Point(x, y)
ddlDynamicDropDown.Width = 150
ddlDynamicDropDown.Text = "--Select--"
ddlDynamicDropDown.Items.AddRange(strTypes)
ddlDynamicDropDown.Name = i.ToString()

AddHandler ddlDynamicDropDown.SelectedIndexChanged, AddressOf doEvents
Me.Controls.Add(ddlDynamicDropDown)
End If


Else

Dim x As Integer


For x = Convert.ToInt32(ddlDynamicDropDownSender.Name) + 1 To i Step x + 1


Dim ddlDynamicDropDown As ComboBox = FindControl(x.ToString()) 'as System.Windows.Forms.ComboBox

Me.Controls.Remove(ddlDynamicDropDown)
y = y - 20
Next


i = Convert.ToInt32(ddlDynamicDropDownSender.Name)



End If


End Sub
Private Function FindControl(ByVal ControlName As String) As Control
If ControlName.Length = 0 Or Me.Controls.Find(ControlName, True).Length = 0 Then
Return Nothing
End If


Return Me.Controls.Find(ControlName, True)(0)

End Function

End Class