عندى استفسار يا اخى؟
كيف اسخدم اداة الفلاش واجعلة يظهر فى الفورم وليس"flash player"؟
و كيف اضمن "data base"فى المشروع و اربطها ب"dao or ado" بحيث احمى البرنامج الخاص بى؟
.......... ولك جزيل الشكر
عندى استفسار يا اخى؟
كيف اسخدم اداة الفلاش واجعلة يظهر فى الفورم وليس"flash player"؟
و كيف اضمن "data base"فى المشروع و اربطها ب"dao or ado" بحيث احمى البرنامج الخاص بى؟
.......... ولك جزيل الشكر
الحافظة Clipboard
بصراحة اريد ان اغطي الوظائف الاساسية التي يقوم بها البرنامج الشهير Photo Shop , وما في شيء صعب اذا كان هناك توكل على الله و عزيمة و جهد .
فالان قد قمنا بعمل الكثير من الوظائف كتنعيم الصور و تحديدها و قلب الالوان و التلاعب بها و اضاءة الصور و ان شاء الله سنغطي الكثير كالطبقات Layers و تحرير الصور و الكثير الكثير ان شاء الله . الا اذا كان الموضوع ممل و تريدونني ان اغيره فهذا شيء ثاني . و انا انتظر منكم التفاعل .
نرجع لموضوعنا الرئيسي الا و هو كيف تقوم بنسخ و لصق الصور . الامر بسيط جدا .
اليك كود نسخ الصور :
Clipboard.SetDataObject(PictureBox1.Image)
استخدمنا الدالة SetDataObject التابعة للكائن Clipboard ووظيفتها هي نسخ البيانات الى الحافظة .
كود لصق الصور
If Clipboard.GetDataObject.GetDataPresent(DataFormats.Bitmap) = True Then
PictureBox1.Image = Clipboard.GetDataObject.GetData(DataFormats.Bitmap)
Else
MsgBox("The Clipboard doesn’t contain a bitmap!")
End Ifفي البداية يجب التاكد فيما اذا كانت هناك صورة في الحافظة و ذلك باستخدام الدالة GetDataPresent و تابعها هو نوع البيانات التي تريد التاكد فيما اذا كانت موجودة في الحافظة او لا . و بالتالي نستخدم الكلاس DataFormats لنعرف النوع Bitmap .
و اذا كان الناتج True فننا نقوم بلصق الصورة في مربع الصورة و ذلك باستخدام الدالة GetData و تابعها هو نوع البيانات التي تريد لصقها من الحافظة .
ارجو من الجميع ان يشدو العزم . و نريد بعد ان ننتهي ان نجمع هذه الاكودا في برنامج واحد يقوم بجميع هذه الوظائف . اظنه سيكون رائعا .
و اما بالنسبة لاخ egypt فإن شاء الله سنغطي موضوع اضافة ال Components
هذا او الله اعلم
اخ mada egypt : بالنسبة لربط قاعدة بيانات :
http://www.vb4arab.com/vb/showthread.php?s...&threadid=26887
و بالنسبة للفلاش :
http://www.planetsourcecode.com/vb/scripts...d=762&lngWId=10
(f) اخى عبد الرحمن
شكرا على المساعدة
"اما المقصود ب "تضمين ال database" انى فعلا اتعامل مع قواعد البيانات
بصورة جيدة لكن المشكلة هى ظهور "database file"فى المشروع النهائى
مما يسمح بالعبث بة وهذا يتعارض مع امن البيانات"
الأخ/ عبد الرحمن أنت أكثر من رائع.. فعلاً محترف..
أنا ما دخلت على موضوعك الطويل والرائع هذا إلا هاليومين بس.. وفعلاً انبهرت بأسلوبك الرائع وعاجزة عن التعبير:o:o:o
أهم شي أنك تستمر في مشاركاتك المميزة .. وتدري أن أكثر شي جذبني لقراءة موضوعك هو وضع شرح للكود (زبدة الكود هههههههه:D:D:D)
شكري الجزيل لك.. واتمنى من كل قلبي أنك ماتتوقف أبدا عن إفادتنا جميعاً بثقافتك المنورة:o:o
انا أدرس حاليا الفيجوال نيت وأكيد راح أكون متفوقة فيه بفضل الله ثم بفضلك:o:o:o:o:o:o:o:o:o:o
لا تقاطعنا..;);) والله معاك وإن شاء الله يزيدك..(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)
(f)(f)(f)(f)(f)(f)(f)(f)(f)(gift)(gift)(gift)(gift)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)(f)
اولا ارحب بالاخت kh,d و اتمنى لك التوفيق في الدنيا و الاخرة . و اشكرك على المديح اللي بصراحة لا استحقه .:D
ثانيا : سنقوم باذن الله بالانتقال من موضوع التعامل مع الصور و اضافة التاثيرات اليها الى المواضيع الاخرى و المتشعبة في الفجوال بيسك نت و ذلك لانني لم اجد ذاك الحماس من الاخوة في هذا الموضوع . و هناك سبب اخر الا وهو اني افضل ان نغطي جميع مواضيع الفجوال بيسك.نت و لا نقتصر على موضوع واحد او موضوعين .
هذا و الله اعلم .
التدقيق الاملائي
سنتعلم اليوم فكرة جميلة جدا و مفيدة و هي التدقيق الاملائي للنص . بالطبع
لن نقوم بعمل فهرس للكلمات و لكن سنقوم باستدعاء المدقق الاملائي لبرنامج الوورد . و سنقوم بعمل برنامج لا يقوم بالتدقيق الاملائي و حسب , وانما يعطيك المقترحات للكلمات الخاطئة .
في البداية ابدا مشروع ويندوز جديد , ثم اضف زري امر 2 buttons , لستتين 2 listbox , مربع نص textbox .
ثم من قائمة Project اختر Add Reference . من علامة التبويب com ا ختر العنصر Microsoft Word 10 Object Library (طبعا لازم تكون مركب الوورد)
ثم اضغط OK
و اليك الكود مع الشرح
هذا الكود تحت زر الامر رقم واحد
'يمثل هذا المتغير برنامج الوورد public WordApp As New Word.Application() Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' يمثل هذا المتغير النص المكتوب Dim DRange As Word.Range Me.Text = "Starting Word ..." 'اضافة مستند جديد WordApp.Documents.Add() Me.Text = "Checking words..." ' تعرف النص المكتوب الحالي و الموجود في المستند الذي اضفناه DRange = WordApp.ActiveDocument.Range 'ادخال النص المكتوب في مربع النص الى المستند DRange.InsertAfter(TextBox1.Text) 'يمثل هذا المتغير الاخطاء الاملائية Dim SpellCollection As Word.ProofreadingErrors 'تعريف الاخطاء الاملائية المكتوبة في النص SpellCollection = DRange.SpellingErrors 'اذا كانت هناك اخطاء املائية في النص If SpellCollection.Count > 0 Then Dim iword As Integer Dim newWord As String ' حلقة تكرارية تضيف جميع الاخطاء الاملائية الى اللستة For iword = 1 To SpellCollection.Count newWord = SpellCollection.Item(iword).Text ListBox1.Items.Add(newWord) Next End If Me.Text = "Word spelling Demo" End Sub
الكود السابق يقوم بفحص النص المكتوب في مربع النص , ثم يقوم بادراج الكلمات الخاطئة (الغير معرفة في فهرس الوورد) الى اللستة رقم واحد .
و ساقوم باضافة الجزء الثاني في الدرس القادم إن شاء الله و هو عن كيفية استدعاء المقترحات للاخطاء الاملائية .
احب فقط ان اوضح السيناريو السابق:
في البداية انشانا مستند جديد , ثم قمنا بانشاء صفحة (range) و هي التي بها النص . بعد ذلك نقلنا النص الموجود في مربع النص الى الصفحة , ثم قمنا بعمل التدقيق الاملائي و اظهار النتائج في برنامجنا . و هذا كل مافي الامر .
التدقيق الملائي (تابع)
سنقوم باضافة المقترحات في اللستة رقم 2 للاخطاء الاملائية الموجودة في اللستة رقم 1 . فاذا اختار المستخدم كلمة من الكلمات المقترحة ثم ضغط على الزر رقم 2 فان البرنامج يقوم باستبدال الكلمة الخاطئة في مربع النص بالكلمة المقترحة التي اختارها المستخدم .
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged ' يمثل هذا المتغير الكلمات المقترحة Dim CorrectionsCollection As Word.SpellingSuggestions 'ناخذ الكلمات المقترحة للاخطاء الاملائية الموجودة في اللستة 1 CorrectionsCollection = WordApp.GetSpellingSuggestions(ListBox1.Text) 'مسح جميع العناصر الموجدة في اللستة 2 ListBox2.Items.Clear() 'اذا كانت هناك مقترحات للاخطاء الاملائية If CorrectionsCollection.Count > 0 Then Dim iWord As Integer 'حلقة تقوم باضافة الكلمات المقترحة الى اللستة 2 For iWord = 1 To CorrectionsCollection.Count ListBox2.Items.Add(CorrectionsCollection.Item(iWord).Name) Next End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 'اذا كانت هناك اخطاء املائية و مقترحات لهذه الاخطاء If ListBox1.SelectedIndex >= 0 And ListBox2.SelectedIndex >= 0 Then ' اسبدال الكلمات الخاطئة في مربع النص بالكلمات المقترحة TextBox1.Text = Replace(TextBox1.Text, _ ListBox1.SelectedItem, ListBox2.SelectedItem) 'حذف الخطا الاملائي في اللستة 1 بعد القيام باسبداله ListBox1.Items.Remove(ListBox1.SelectedIndex) ListBox2.Items.Clear() End If End Sub
هل كان الدرس مفيد ؟
هل تريدوننا ان نتعمق في موضوع الربط ببرامج الاوفيس Automating Microsoft Office Applications ؟
نعم أخي تعمق ..وواصل فنحن معك ..ولن نبخل في التفاعل معك..
العمليات الحسابية المعقدة مع الاكسل
من المعروف ان من اهم الوظائف التي يقوم بها برنامج الاكسل هي القيام بالعمليات الحسابية المعقدة جدا . لذلك سنتعرف اليوم على كيفية ربط برنامج الاكسل و ادخال العبارات الحسابية اليه ثم اخراج النتائج .
اولا: من قائمة Project اختر Add Reference , من علامة التبويب com اختر العنصر Microsoft Excel 10 Object Library ثم اضغط OK .
ثانيا: اضف زر امر و اكتب الكود الاتي:
'يمثل هذا المتغير برنامج الاكسل
Dim exl As New Excel.Application()
'سنخزن في هذا المتغير عبارة رياضية معقدة
Dim mathStr As String
'امكانية ادخال العبارات الرياضية من المستخدم
mathStr = InputBox("Enter math expression to evaluate", , _
"cos(56.7/4)/exp(-4.269)")
If mathStr <> "" Then
Try
'اظهار نتيجة العبارة الرياضية
MsgBox(exl.Evaluate(mathStr).ToString)
'في حال وجود خطأ
Catch exc As Exception
MsgBox(exc.Message)
End Try
End Ifتحياتــــــــــــــــــــــــــــــــي...
المؤشرات Pointers
اعتقد ان هذه اول مرة ستكون للكثيرين من مبرمجي فجوال بيسك ان يتعاملوا مع المؤشرات و الذاكرة و غيرها من هذه المواضيع . و ذلك لان فجوال بيسك.نت يدعم التعامل مع مثل هذه الامور بعكس الاصدارات السابقة .
اعتقد ان هذا الموضوع ليس غريبا على مبرمجي السي و السي++ . و هو موضوع شيق ولكنه ليس سهلا و يكون خطير احيانا بسبب انه يتعامل مع الذاكرة مباشرة مما يؤدي حيانا الى اغلاق البرنامج او اويندوز اذا تم التعامل معها بشكل خاطئ.
على العموم سنقوم بعمل برنامج يقوم بعكس الوان صورة معينة Inverse و قد قمنا بعمل هذا الكود مسبقا و لكن باستخدام الدالتين SetPixels , GetPixels و اللتان يلاحظ عليهما البطء . اما اليوم فسنتعلم كيف نعكس الوان الصورة بالتعامل مع المؤشرات و الذاكرة RAM مباشرة و ستلاحظ الفرق الشاسع في السرعة.
في البداية اضف زر امر و مربع صورة .
قم بالاستدعاء الاتي
Imports System.Drawing.Imaging
ثم اكتب الكود التالي:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'يحمل هذا المتغير الصورة الموجودة في مربع الصورة Dim Bitmap As Bitmap = New Bitmap(PictureBox1.Image) 'انشاء مستطيل بنفس مساحة الصورة Dim Rect As New Rectangle(0, 0, Bitmap.Width, Bitmap.Height) 'يحمل هذا المتغير بيانات عن صورة معينة Dim BitmapData As BitmapData = New BitmapData() 'تقوم هذه الدالة باغلاق مساحة معينة من الصورة ولها 3 توابع 'الاول : المساحة التي تريد اغلاقها من الصورة ليتم التعامل معها في الذاكرة مباشرة 'الثاني : نوع الاغلاق و قد اخترنا منع الكتابة على الصورة 'الثالث : تحديد نوع تنسيق الصورة و قد اخترنا النقطية 'و بالتالي اصبح هذا المتغير يشير الى بيانات الصورة في الذاكرة BitmapData = Bitmap.LockBits(Rect, ImageLockMode.WriteOnly, _ Bitmap.PixelFormat) 'عرفنا هذا المتغير من نوع المؤشرات Dim pixels As IntPtr 'تقوم هذه الدالة باعطائك العنوان لاول نقطة في الصورة في الذاكرة pixels = BitmapData.Scan0() 'يمنحك هذا الكلاس مجموعة من الدوال تمكنك من القراءة و الكتابة في الذاكرة Dim M As System.Runtime.InteropServices.Marshal Dim X, Y, C, O As Integer Dim W As Integer = Rect.Width Dim Clr As Color For Y = 0 To Rect.Height For X = 0 To W - 1 ' حساب موضع النقطة في الذاكرة ' موضع النقطة هو : 4 * عرض الصورة * رقم الصف الذي به النقطة + 4 * رقم العمود الذي به النقطة ' لاحظ ان الرقم 4 هو بسبب ان الصورة نقطية و ان كل نقطة في الذاكرة تخزن في اربع وحدات في الذاكرة O = CInt((4 * W * Y) + (4 * X)) 'تقوم هذه الدالة بقراءة بيانات معينة من الذاكرة ' اتابع الاول: العنوان الذي يشير الى الصورة في الذاكرة 'التابع الثاني : عدد الوحدات التي تريد ان يتم اضافتها الى العنوان الاساسي للصورة ليتم قراءة البيانات التي به C = M.ReadInt32(pixels, O) ' تحويل اللون من عدد صحيح إلى كائن لون Clr = Color.FromArgb(C) ' عكس الوان الصورة Clr = Color.FromArgb(Clr.A, 255 - Clr.R, _ 255 - Clr.G, 255 - Clr.B) ' تحويل كائن اللون إلى عدد صحيح C = Clr.ToArgb ' تخزين اللون المعكوس في الذاكرة 'التابع الثالث لهذه الدالة هو البينات التي تريد كتابتها في العنوان المحدد M.WriteInt32(pixels, O, C) Next Next ' فك الاغلاق الذي تم في الذاكرة للصورة Bitmap.UnlockBits(BitmapData) PictureBox1.Image = Bitmap PictureBox1.Refresh() End Sub End Class
ستلاحظ فرق هائل في السرعة بين هذا الكود و الكود السابق .
(بالمساعدة من كتاب الاخ محمد غانم)
تحياتــــــــــــــــــــــي...
اخى فى الله عبد الرحمن
لا اعلم حقا ماذا اقول لك فليس هناك من الكلمات مايوفيك حقك
اخى انا اعمل بالفيجوال بيسك 6 كمبرمجة وبالasp and vbscript كمصمم صفحات
وامس قررت ان اعرف بيئة الدوت نت عما تتكلم حتى اغير الى asp.net
واذا بى اجد دروسك هذه فقلت اجرب اتابعها والى الان لم انام من كثرة التشويق والمتعة الموجودة فى دروسك وليست اللغة فالمدرس هو الذى يحبب المادة للتلاميذ
وانت جعلتنا نعشقها
بارك الله فيك
ولا تيأس فلعل هناك كثير مثلى منتظر الفرصة حتى يتابعها على مهل
ولكن مجرد ان يقرأ وينفذ معك اول سطر
حتى لن يمل من الدعاء لك فى كل لحظة
لانك تستحق هذا
بارك الله فيك وجعله فى ميزان حسناتك
ومازلت لم تتعرض لقواعد البيانات بعد وانا فى انتظار المزيد والمزيد من انهارك الفياضة من العلم
مشكور اخى ملايين المرات
(f)(f)(f)(f)(f)(f)(f)
وفقك الله اختي amalaya . وان شاء الله سوف نتعرض للكثير من المواضيع المشوقة . و اتاسفعلى التاخير و ذلك بسبب فترة الاختبارات .
الأخ عبدالرحمن والأخوه المبرمجين
شكرا على إضافاتكم ...
سؤال:
أنا عندي Repeater فيه عمود أقوم بتعبأته من ds وعمود آخر أريد أن أنشيء فيه عدّاد 1- 2 - 3 .... يقوم بعد الصفوف
هل تستطيعون إفادتي ولكم مني جزيل الشكر(f)
والله اسف يا اخي , فليست لدي ادنى فكرة عن ماذا تتحدث .
حاول ان تكتب سؤالك في المندى كموضوع لعل الاخوة الكرام ان يفيدوك .
الحقيقه الدرس جيد ولكن لمن عندهم خلفية في vb.net ولكن انا اريد المدخل لهذه النسخه الجديده فانا مبرمج vb6 واريد التحول الى vb.net
وايد الاستفسار عن نظام التشغيل المناسب لهذه النسخه وهل هي باكج كامل اقصد مايخص ado.net & asp.net &vb.net
السلام عليكم
جزاك الله ألف خير يا أخ عبدالرحمن على ما تقدم من دروس طيبة
ومعلومات متنوعة ذات فائدة عظيمة تشكر حقيقتاً على هذا المجهود المبارك
أخي الطيب
بحثت عن الـ COM Component وهو Microsoft Direct Text To Speach
في الـ Reference في الـ COM فلم أجده ؟
فكيف أحصل عليه هل يوجد مثلاً على الإنترنت لتحميل
أم أن الإصدارة التي لدي ليس فيها هذا الـ Component
وجزاك الله خيرا
في المثال يتضح المقال
اخ الشهاب : اشكرك على التفاعل مع الموضوع . و بصراحة لا استطيع ان اجيبك لانني ببساطة لا املك فجوال ستوديو على الجهاز حاليا .
و باذن الله سوف نستكمل ادروس في اقرب وقت ممكن .
الحمد لله وجد الحل بالنسبة للترقيم التسلسلي في الداتا جريد
كل مافي الموضوع إنك تضيف Template cloumn وبعدين تحط الكود التالي
<%#Databinder.eval(Container,"ItemIndex")+1%>
وسلامتكم
اشعر وكأن المنتدى والموقع متجمد منذ أكثر من عشر أيام فما القصة
اجازة و الناس مسافرة
أشتقنا للدروس:D:D:D
ارجو أن لا يطول سفركم فقد اشتقنا لكم ولدروسكم أخي عبد الرحمن أسأل
الله أن يكتب لكم في كل خطوة السلامة والتوفيق أخوكم (محمد خالد الحمادة )
(f
مشكور يا اخي العزبز على المعلومات القيمه
هذا الموضوع مغلق.