Microsoft تشكر شركة مطورو دوت نت على الخطأ الذي اكتشفته في فيجوال ستوديو 2010

التحيات من Microsoft Connect! ، هذه هي بداية رسالة شركة  Microsoft ، وذلك شكرا وتقديرا لهم لنا على الخطأ الذي قمنا بالتبليغ عنه في النسخة الجديدة من فيجوال ستوديو.

وهذا الخطأ يظهر عند الدخول لتعديل القالب TemplateField في ال GridView  حيث تظهر مشوهة تماما ويصعب التحكم في الأداوت المضافة فيها ، ولذلك قمنا بإرسال ملاحظة على هذه الشائبة وكتبنا فيها سبب حدوث المشكلة وكيف يبدو العمل حينها ، وأيضا وضحنا أنه يصعب التحكم في الأدوات المضافة في القالب المشوه وهذا السبب لوجود المزيد من الشوائب المترابطة في قالب الجريد فيو.

 وهذا ما دعى Microsoft  إلى تأكيد هذه الشائبة وإرسال رسالة بالشكر ، وأيضا وعدت مايكروسوفت بأن تحل هذه المشكلة سواء في هذه  النسخة أو في الإصدارات التاللية من Visual Studio 2010 كالنسخة النهائية .

ولمن يملك حساب على Microsoft Connect يستطيع الدخول على هذا الرابط لرؤية التبليغ عن الشائبة

GridView TemplateField: bad in desinger mode

 ولنا الكثير من الملاحظات على الفيجوال ستوديو 2010 وإن شاء الله سنبلغ عنها أولا بأول، فالفيجوال ستوديو هو بيئتنا ونقضي في أحضانه أغلب سنو العمر وذلك يجب أن يكون متكامل ، فنحن مطورو الدوت نت لا نرضى إلا بالكمال أو بالأقرب له ، وأيضا نريد رفع رأس المطور العربي عاليا بين مطوري العالم ، لأننا من خير أمة أخرجت للناس.

حل مشكلة: عدم إمكانية تعديل قاعدة البيانات في فيجوال ستوديو 2010

عند استخدام الفيجوال ستوديو 2010 ستواجه مشكلة، أنك لو حاولت التعديل على أي جدول في قاعدة البيانات من خلال Server Explorer فإنك لن تستطيع وسيتطلب الأمر إنشاء جدول من جديد، ولكن الحل بسيط وهو كالتالي:

هذه المشكلة نفسها موجودة في SQL Server 2008 Management Studio وتطرقت لها سابقا

وحل المشكلة في فيجوال ستوديو 2010 هو نفسه

هذا هو نص رسالة الخطأ

Saving changes is not premitted.....

.

والحل بسيط وهو يجب عليك تعطيل الخيار الموضع في نهايةالرسالة

سواء في فيجوال ستوديو 2010 أو سكول سيرفر 2008 فالحل هو نفسه، اذهب إلى خيارات ثم اتبع ما في الصورة، وارفع الصح عن الخيار الموضح

 

 

 

بالتوفيق للجميع مع فيجوال ستوديو 2010

الجديد في فيجوال ستوديو 2010

للوهلة الأولى عند استخدامك للنسخة الجديدة ، تشعر أنك فعلا في برنامج من عام 2020، حيث ألوان العمل ممتازة ومريحة للعين، الأيقونات جميلة ومرتبة، بل حتى المحرر الخاص بكتابة الكود جميل بشكل لا يوصف، ويكفي أننا - نحن مطورو الدوت نت - نقضى سنو العمر ننظر إلى المحرر ، ونحرر به، وهو ما من شأنه إراحة بال المطور إلى حد ما.

قامت مايكروسوفت - كالمعتاد - بإضافة بعض الإضافات لبيئة التطوير الجديدة وسأقوم بعرض أغلبها هنا:
Visual Sudio 2010

1- التكبير والتصغير Zoom
بامكانك الآن أن تقوم بتكبير الكود البرمجي أو تصغيره، وهذا يشمل الكود الخلفي، وسوم HTML، النصوص، أي نص يظهر في داخل المحرر.
ويمكن عمل ذلك بسهولة تامة حيث الأمر أشبه بتكبير الخط في الاكسبلورر، كل ما عليك هو الضغط على زر Ctrl واستخدام عجلة الماوس إما للأعلى أو للأسفل.

Visual Sudio 2010

2- موضع النوافذ Enhanced Docking Behavior
الجديد هنا أنك تستطيع وضع النوافذ مثل مستعرض ملفات المشروع أو أي نافذة أخرى كلسان (Tab) داخل مشروع العمل أو حتى يمكنك أن تضعها خارج الفيجوال ستوديو بدون مشاكل، وستجد بالصورة الخيارات الجديدة في موضوع النوافذ.

Visual Sudio 2010

3- العرض الهرمي Call Hierarchy
هذه الميزة يمكن رؤيتها إذا كنت تستخدم السي شارب، وهي تقوم بعرض الكود بطريقة مرتبة وجميلة لتسهيل الوصول إلى أي منطقة منه.

Visual Sudio 2010

4- الإنشاء اللحظي Generate From Usage
هذه الإضافة من أجمل الإضافات التي رأيتها، لنفرض مثلا أنك تكتب كود وفجأة حاولت استدعاء دالة لم تقم بإنشاءها بعد أو تعريف متغير من فئة غير موجودة أو نسيت أن تنشئها، كل ما عليك هو الوقوف على الخطأ الظاهر واستخدام توليد أو إنشاء جديد وسيقوم الفيجوال ستوديو بإنشائه لك

Visual Sudio 2010
Visual Sudio 2010

5- IntelliSense Consume-First Mode
إضافة جديدة تسمح لك بتحديد IntelliSense  وذلك بإظهار كافة الأنواع أو بعضها، وهذا يؤخذ عند النية بالعمل على أن الأنواع معرفة مسبقا أم لا، حيث قمت بالتجربة ووجدت أن ال IntelliSense  تقوم باختزال الاقتراحات عند استدعاء اجراءات أو فئات .
هنالك وضعان لل IntelliSense  الأول : standard mode وهو ما المعتاد ، أو وضع الختزال consume-first mode وتستطيع التنقل بينهم عبر CTRL+ALT+SPACEBAR.

7- Navigate To
تمكنك هذه الميزة من تسهيل عملية البحث بطريقة جديدة، حيث تستطيع البحث عن رموز معينة أو تحديد موضع كلمة البحث في المشروع الخاص بك، ويمكنك استخدام رموز البحث لتعطيك تخصيص أكثر في البحث.

8- Drag-and-Drop Data Binding for WPF Controls
تستيطع الآن استخدام ربط البيانات بأدوات ال WPF وذلك بالسحب والإفلات كالسابق، مثلا استخدام DataSet>

9- Connecting to Data in Multiple Objects
من اسمها .. باستخدام معالج الربط تستطيع الآن ادراج أكثر من كائن في ال Data Source

بالتأكيد هنالك المزيد من الإضافات، ولكن لا يسعني الوقت لإكمالها، لأنها بسيطة وتعتبر تعديلات أو تحسينات لعيوب سابقة.

Visual Studio 2010 Beta 1 جاهزة للتحميل

اليوم وبعد طول انتظار صدرت النسخة التجريبية الأولى من البيئة التي لا غنى عنها لمطورو الدوت نت، ومنذ صدور خبر أن النسخة ستكون متاحة هذا الأسبوع ونحن نحدث الموقع بفارغ الصبر آملين وضع الروابط من قبل مايكروسوفت.
سيكون لنا وقفة بإذن الله على الجديد في هذه النسخة وفي المنصة وفي الإضافات على اللغات البرمجية.

حاليا سأضع لكم رابط النسخة وقد وضعت مايكروسوفت نسختين، ولكل نسخة وصغت مايكروسوفت طريقتين للتحميل ، نبدأ باسم الله:
1- Visual Studio Team System 2010
- Web Installer
- ISO File

2- Visual Studio 2010 Professional
Web Installer
- ISO File


نسخة الويب حجم الملف 5 ميغا وسيقوم بتحميل اللازم من الإنترنت
أما نسخة  الصورة الكاملة فهي ما بين 1100 ميغا بايت إلى 1300 ميغا بايت .

وهذه هي  متطلبات التشغيل من مايكروسوفت
System Requirements
Supported Operating Systems: Windows Server 2003; Windows Server 2008; Windows Vista; Windows XP
Computer that has a 1.6GHz or faster processor
Visual Studio 2010 can be installed on the following operating systems:
Windows Vista (x86 or x64), all editions except Starter Edition
Windows XP (x86 or x64), Service Pack 2 or later, all editions except Starter Edition
Windows Server 2003 (x86 or x64), Service Pack 1 or later, all editions
Windows Server 2003 R2 or later (x86 or x64), all editions
Windows Server 2008 (x86 and x64) or later (all editions)
Windows Server 2008 R2 RC (x64) Enterprise Edition
Windows 7 RC (x86 and x64) Ultimate Edition
1024MB RAM
3GB of available hard disk space
5400 RPM hard disk drive
DirectX 9-capable video card that runs at 1280 x 1024 or higher display resolution
DVD-ROM drive

 

بالتوفيق للجميع وانتظرنا بالجديد في هذه النسخة كما وعدناكم

Microsoft Silverlight نور تطبيقاتك

في ظل تطور الويب الهائل، والذي يخرج لنا كل يوم تقنيات جديدة تحاول جعل تطبيقات الويب مشابهة لبرامج سطح المكتب، وذلك بجعلها أسرع وأكثر مرونة، وأكثر حيوية، قامت مايكروسوفت بإصدار السيلفر لايت Microsoft Silverlight، وأغلبنا سمع به أو قرأ عنه، وهنا سأحاول أن أجمع أكبر قدر ممكن من المعلومات والأسئلة التي تدور في بال الجميع.

ماذا قبل السيلفر لايت ؟
كان مطورو المواقع يستخدمون تقنيات شتى لجعل مواقع الويب أكثر تفاعلية RIA مثل استخدام Java Applet و Macromedia Flash وحيث كان الفلاش الأوسع والأكثر انتشارا لمزايا عديدة به على باقي التقنيات الأخرى.

ولماذا السيلفر لايت ؟
مطورو الدوت نت يوميا في تزايد، ومايكروسوفت وبرمجتها ASP.NET غزت برمجة الإنترنت بنجاح هائل لا مثيل له، وهؤلاء المطورون يحتاجون لبديل عن الفلاش يلبي طلابتهم يمكنهم من استخدام ما تعلموه في بيئة الدوت نت في إنشاء تطبيقات أكثر تفاعلية، تعلم الفلاش يحتاج منهم وقت، ولكن استخدام تقنية مرتبطة ببرمجتهم سيزيل عنهم الكثير من العناء، مثلما قامت مايكروسوفت مسبقا بجعل ال ASP.NET تستخدم لغات اعتاد عليها من مع مايكروسوفت مسبقا كالفيجوال بيسك والسي شارب.

هل تعتبر السيلفر لايت بديلا عن الفلاش :؟
الكثير منا يسأل  هذا السؤال وبحكم أنني لم أنشئ ملفات فلاش مسبقا فسأنقل ما قرأته لأكون عادلا.
كلا التقنيتين لها مزايا وعيوب، وحاليا الفلاش يسبق السيلفر لايت في كثير من النواحي مع أن السيلفر لايت بها أمور جميلة وغير موجودة بالفلاش، ولكن مايكروسوفت وعدت بالتطوير الدائم للسيلفر لايت، ويوما بعد يوم نرى التقليل من الفوارق بشكل كبير، لذلك إن كنت ستبدأ بتعلم السيلفر لايت فكن واثق أنها ستعطيك كل ما تحلم به في الفلاش وزيادة عند صدور النسخة الجديدة منها.

ما هي إصدارات السيلفر لايت ؟
الإصدار 1.0
الإصدار 2.0
الإصدار 3.0 وهو بيتا
الإصدار 4.0 وهو قيد الدراسة من مايكروسوفت


هل يعمل السيلفر لايت على كافة الأنظمة والمتصفحات ؟
الأمر معقد نوعا ما ويحتاج لشرح تفصيلي مستقبلا إن شاء الله ، ولكن مايكروسوفت تشق هذا الطريق بنجاح والحمد لله، وهو جعل أغلب الأنظمة تدعم السيلفر لايت، وكذلك جميع المتصفحات، حتى أن متصفح جوجل كروم الجديد يدعم السيلفر لايت، على العموم الجدول هذا يوضح دعم أنظمة التشغيل والمتصفحات للسيلفر لايت بإصداراته.
Silverlight supported internet explorers and operation systems


هل تدعم أجهزة الجوال السيلفر لايت؟
حاليا لا تدعم أجهزة الجوال في تصفح الإنترنت السيلفر لايت ولكن مايكروسوفت وعدت أنه في أواخر هذه السنة سيكون هنالك دعم كامل للإصدار الثاني وسأتكلم عن هذا الأمر لاحقا إن شاء الله.


ولكن لماذا صدرت السيلفر لايت متأخرة ؟
ماذا لم تقم مايكروسوفت بتنزيل السيلفر لابت من 5 سنوات مثلا.
 السبب هو قلة التقنيات السابقة فالدوت نت بحد ذاتها ليست مرنة في عمل الرسوم وتحريكها وانشائها رغم وجود مكتبة GDI+ ، وقد تم حل هذا الأمر بالإضافة لباقي المشاكل بعدة أمور:  الأولى منها صدرت منذ 4 سنوات وهي XAML ( زامل ) لوصف الرسم  eXtensible Application Markup Language

الزامل عبارة عن لغة وصفية ( كالإكس أم أل ) ولكن تم تحديدها لتصف الرسومات
ممثلا بالسي شارب لكي نرسم زر يتوجب كتابة التالي
Button Btn = new Button( );
 Btn.Background = Brushes.Blue;
 Btn.Text="Submit";
 Btn.........=......

ولكن لنرى الزامل
<Button Click="OnClickHandler" Background="Blue" Content="Hello" />

 

ليس موضوعنا الآن ولكن هذا أعطى مرونة كبيرة، طبعا مع اضافة الكثير من الخيارات الخاصة بالرسم: أدوات ، أشكال ، آليات ...

ثاني التقنيات الهامة هي Windows Presentation Foundation (WPF).
فهي آلية مايكروسوفت لاستخدام الزامل في الدوت نت مع طبعا بعض التقنيات الأخرى كاستخدام المتجهات Vectors بدلا من ال Pixels
الWPF بدأت مع الدوت نت 3.0 والمتوفر تلقائي في الفيستا نية من مايكروسوفت لتكون قاعدة لتسهيل عمل بعض الملحقات ولدعمها بكل يسر مستقبلا .
كما نرى من الاسم الكودي للسيلفر لايت كانت اسمها WPF في كل مكان ، وهذا هو الهدف منها ال WPF تستخدم في تطوير برمجيات الويب/ وسطح المكتب مع الأخذ بعين الاعتبار أن ليست كافة مزايا ال WPF متاحة لبرمجة الويب جزء صغير من مكتباتها لا أكثر متاح لبرمجة الويب.

ولنرى الآن ماذا لدينا:  لدينا تقنية لوصف الرسوم XAML ولدينا تقنية لتطبيقها في مجال الدوت نت WPF ، فالآن قمنا برسم رسومات وأشكال وادارتها والتحكم بها بمنتهى السهولة، ولكن مواقع الويب تحتاج لآلية للتفاعل عند تحريك الماوس أو النقر على أمر ( على جهاز العميل ) الجافا سكريبت تفي بالغرض ولكنها لا تعطي الشرارة للبدء وهنا يجب أن نذكر على التقنية الثالثة والتي قلبت الموازين ألا وهي الأجاكس AJAX

لا أتوقع مطور مواقع ويب لا يستخدم الأجاكس، وإن كنت جديد على هذه التقنية فالويب مليء بدروس الأجاكس وستجد درس لي حولها سيفيدك كثيرا.

ما سبق هو ما حصل لحين الإصدار الأول من السيلفر لايت، ولكن مع صدور الإصدار الثالث قريبا ستختلف بعض الأمور ، فمثلا سيتم دعم الدوت نت من داخل المتصفح بشكل مبدئي، وهذا سيعطي مرونة بل وشبيهة إلى حد كبير بتطبيقات الدوت نت لسطح المكتب، وبنظري سيصبح العمل مشابه نوعا ما للجافا أبليت - تطبيق سطح المكتب مصغر عالويب - وهو ما سيكون تطور هائل.


من أين أبدأ ؟
الويب مليء بالدروس والكتب والمواقع المختصة، ولكن أخص موقع السيلفر لايت نفسه http://silverlight.net فهو مليء بكل ما تتخيله وخصوصا الفيديوهات الجميلة.
أنصحك بالبدء بتعلم سيلفر لايت الإصدار الثاني وتترك الإصدار الأول لأن الإصدار الأول يختلف عن التطور  الجديد الذي طرأ على الإصدارات الأحدث.

البرامج اللازمة بسيطة  فإذا كنت مطور مواقع باستخدام الفيجوال استوديو فهو يكفي كمحرر للعمل ولكن تنقصه الكثير من المزايا لذلك أنصح باستخدم البليند Microsoft Blend لمطوري المواقع أو لأي شخص يريد البدء بتعلم السيلفر لايت فورا.
على العموم كل ما يلزمك للبدء تجده في هذا الرابط http://silverlight.net/GetStarted/

مشكلة عدم التخزين أو التعديل في قاعدة بيانات MS Access

الكثير منا يستخدم قواعد بيانات SQL Server أثناء برمجته وكود بتعديل بيانات معينة ببساطة سيكون كالتالي

 

Using conn As New SqlConnection(My.Settings.AwqafDBConnectionString1)
Dim cmd As SqlCommand = conn.CreateCommand()
cmd.CommandText="UPDATE students SET sname=@sname,birthdate=@birthdate,address=@address,tel=@tel,degree=@degree where sname=@sname"
cmd.Parameters.AddWithValue("@sname", Me.txtname.Text)
cmd.Parameters.AddWithValue("@birthdate", Me.txtbirthdate.Text)
cmd.Parameters.AddWithValue("@address", Me.txtaddress.Text)
cmd.Parameters.AddWithValue("@tel", Me.txtTel.Text)
cmd.Parameters.AddWithValue("@degree", Me.txtdegree.Text)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
End Using

ولكن هذه الطريقة لن تنجح في حال تم استخدام قواعد بيانات Access، فهو لن يعطي خطأ برمجي ولكن لن يقوم بحفظ التعديلات في قاعدة البيانات ولحل هذه المشكلة سيتم إزالة المتغيرات واستبدالها ب ؟ مع مراعاة ترتيب القيم التي ستعطي للمتغيرات حسب الترتيب التي عليه في جمله الاستعلام وذلك بالطريقة التالية

 

Using conn As New OleDbConnection(My.Settings.AwqafDBConnectionString1)
Dim cmd As OleDbCommand = conn.CreateCommand()
cmd.CommandText="UPDATE students SET birthdate=?,address=?,tel=?,degree=? where sname=?"
cmd.Parameters.AddWithValue("@birthdate", Me.txtbirthdate.Text)
cmd.Parameters.AddWithValue("@address", Me.txtaddress.Text)
cmd.Parameters.AddWithValue("@tel", Me.txtTel.Text)
cmd.Parameters.AddWithValue("@degree", Me.txtdegree.Text)
cmd.Parameters.AddWithValue("@sname", Me.txtname.Text)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
End Using

ويفضل التقليل من استخدام قواعد البيانات Access لأن إمكانياتها محدودة جدا فمن استخدم قواعد بيانات SQL و قواعد بيانات Access سيلاحظ هذا الأمر وسيقرر دائما اللجوء إلى قواعد بيانات SQL أثناء برمجته

حل مشكلة عدم تخزين البيانات في قاعدة البيانات

هل واجهت يوما وأنت تبرمج تطبيقا من تطبيقات سطح المكتب مشكلة عدم تخزين البيانات التي يتم إضافتها أو تعديلها في قاعدة البيانات، وأيضا عدم حذف البيانات من قاعدة البيانات عند إتمام عملية الحذف، مع أن عمليات الإضافة والتعديل والحذف تتم بنجاح ولا تحتوى على أي خطأ برمجي، وقد حاولت البحث كثيرا لإيجاد حل لذلك ولكن لم تجد الجواب الشافي .

إذا سأعطيك الحل الأمثل لهذه المشكلة وهو كالتالي :
 يتم في البداية وضع قاعدة البيانات في مجلد Debug الموجود بداخل مجلد bin
وبعدها يتم الانتقال إلى خصائص قاعدة البيانات من خلال النقر عليها بالزر الأيمن للماوس واختيار properties وجعل خاصية Copy to Output Directory تأخذ القيمة Do not copy وهكذا تكون الطريقة وتستطيع أن تجربها الآن بنفسك وتحل مشاكلك السابقة

Microsoft SQL Server 2008 Service Pack 1

كعادة شركة مايكروسوفت دعم منتجاتها وتحديثها أولا بأول، قامت شركة مايكروسوفت بطرح الحزمة الخدماتية الأولى من التعديلات والإضافات الجديدة لمزود قواعد بياناتها Microsoft SQL Server 2008

واحتوت هذه الحزمة على تعديلات كثيرة من أهمها
1- تغيير اسم خدمة المزود عند تثبيته حيث كان SQLEXPRESS.
2- تسريع تنفيذ جمل تحتوى على OPTION statement حيث كانت بالسابق بطيئة.br />
أما باقي الإصلاحات والإضافات فأنها للخدمات الاضافية الأخرى أو للغات كالصينية وهي ليست بذات أهمية لنا.

ببالنسبة لنا نحن مستخدمو Microsoft Visual Studio 2008 فإنه يتطلب أن تقوم بالتحديث إلى الحزمة الأولى منه وهذا رابط تحميلها :  Microsoft Visual Studio 2008 Service Pack 1 وهذا الرابط بحجمه الكبير شامل كل التعديلات لكافة الإصدارات والملحقات والمنصات، لذلك أنصح ممن لديهم خطوط إنترنت بطيئة بتحمل النسخة المصغرة وهي ستقوم بتثبيت اللازم فقط من الإنترنت وهي عبر هذا الرابط  Microsoft Visual Studio 2008 Service Pack 1 (Installer)

وفي الختام أضع بين أيديكم رابط تحميل الحزمة وهو أهم ما في الأمر

Microsoft SQL Server 2008 Service Pack 1

Microsoft SQL Server 2005 Service Pack 3

قامت شركة مايكروسوفت بطرح الحزمة الثالثة من التعديلات والإضافات الجديدة لمزود قواعد بياناتها Microsoft SQL Server 2005

وذلك لحل بعض المشاكل البسيطة التي تم التبليغ عنها، وبنظري فهذه المشاكل ليست ذات أهمية إلا للمبرجين الذين يستخدمون خدمات المزود المتقدمة

ويمكنكم تحميل الحزمة عبر هذا الرابط:

Microsoft SQL Server 2005 Service Pack 3

وضع الكتابة: اكتب بالاتجاه الذي تريده

هل واجهت يوما معضلة في كتابة نصوص في الموقع عموديا، أو بالمحاذاة التي تريدها !! وبحثت في كل الحلول ولم تجد ما يرضيك فلجأت عندها لحلول نلجأ لها دائما كالخدع لحل العقبات البرمجية، قد تكون استخدمت صورا وكتبت عليها-كما خطر ببالي- أو تكون لجأت لحلول أخرى وتمنيت عندها لو أن امكانيات الأوفيس في التنسيق متاحة جميعها في الويب.

 

ولكن تم حل مشكلة اتجاه الكتابة بإضافة خصائص جديدة للأنماط CSS  ورأيت ذلك أثناء مطالعتي للمزايا الجديدة في انترنت اكسبلورر 8 IE8

حيث تم إضافة الخاصية writing-mode للتحكم باتجاه الكتابة كما بالصورة

حيث ترى الأوضاع الجديدة في محاذاة النص والتي لم نكن نعهداها سابقا

مثال على الاستخدام :

<div style="writing-mode: tb-rl">كتابة أفقية</div>

كتابة عمودية
الحمد لله

 

مع امكانية تغيير الاتجاه حسب القيمة باللون الأحمر في المثال بأحد القيم من الصورة مثل : tb-rl،rl-tb...

مع الانتباه إلى أن أغلب القيم هذه لن تعمل بشكل صحيح في المتصفحات القديمة لأنه لم تكن مدعومة

وفي الختام أحب بأن أضيف الوسوم التي تسمح  بهذه الخاصية وهي :

A, ABBR, ACRONYM, ADDRESS, B, BIG, BLOCKQUOTE, BUTTON, CAPTION, CENTER, CITE, CODE, currentStyle, CUSTOM, DD, DEL, DFN, DIR, DIV, DL, DT, EM, FIELDSET, FONT, FORM, hn, HR, I, INPUT, INPUT type=button, INPUT type=file, INPUT type=password, INPUT type=reset, INPUT type=submit, INPUT type=text, INS, ISINDEX, KBD, LABEL, LEGEND, LI, MARQUEE, MENU, OL, OPTION, P, PLAINTEXT, popup, PRE, Q, RT, RUBY, runtimeStyle, S, SAMP, SMALL, SPAN, STRIKE, STRONG, style, SUB, SUP, TD, TEXTAREA, TH, TT, U, UL, VAR, CSSCurrentStyleDeclaration Constructor, CSSRuleStyleDeclaration Constructor, CSSStyleDeclaration Constructor