Al-Zain

البداء بإستخدام أدوات Codejock

130 ردود في هذا الموضوع

بسم الله الرحمن الرحيم

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

HnHn :

ملخص ما يحتويه الموضوع لكي يسهل تصفحه كما يلي

:

LIN.gif

[المشاركة رقم 1 ] - شرح مميزات الاداة وطريقة استخدامها تحميل المثال

[المشاركة رقم 17 ] - شرح كيفية إضافة قائمة مع الأيقونات تحميل المثال

[المشاركة رقم 18 ] - مثال على استخدام الاداة بواسطة حريف برمجة تحميل المثال

[المشاركة رقم 19 ] - مثال على استخدام الاداة لتحويل الاستايل الى Office 2007 تحميل الادوات SkinFramewor SkinControls

[المشاركة رقم 23 ] - مثال عن ToolBar Default تحميل المثال

[المشاركة رقم 31 ] - شرح شريط الأدوات Office 2007 حمل Bin ToolBar3 ToolBar2

[المشاركة رقم 33 ] - مثال عن الجدول الازرق الموجود فى الاكسبلورر للويندوس بواسطة حريف برمجة تحميل المثال

[المشاركة رقم 37 ] - تابع لشرح شريط الأدوات Office 2007 - RibbonTab

[المشاركة رقم 42 ] - روابط ايقونات Office 2003 و Windows Vista

[المشاركة رقم 43 ] - طريقة استخدام اداه الـ Task panel بواسطة حريف برمجة تحميل المثال

[المشاركة رقم 45 ] - جميع الأدوات Codejock

[المشاركة رقم 54 ] - مثال للشريط الحالة بواسطة حريف برمجة تحميل المثال

[المشاركة رقم 63 - 66 ] - امثاله لعمل المسج تبع MSN msgbox PopupControl

[المشاركة رقم 72 ] - طريقة انشاء عنصر قائمة يتفرع منه عنصر آخر بواسطة حريف برمجة تحميل المثال

LIN.gif

والله بس شفت هذه الإدوات وقرأيتها في المتدى حبيت أستخدمها.

وهذا ربط من مشاركة VisualBasic Lover

http://www.arabteam2000-forum.com/index.ph...amp;hl=codejock

http://www.arabteam2000-forum.com/index.ph...amp;hl=codejock

ولكن الصراحة وجت صعوبة في إستخدامها.

وحاولت أستخدم أداة من الأدوات فقط ولكن وجدت صعوبة كبيرة جداً. ولا أعرف السبب :s

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

وإستخدمة منها القائمة وشريط الأدوات

ويشرفني أن أبداء في هذا المنتدى بالشرح الأول :D

وسوف أشرح كيفية إضافة قائمة وشريط الأدوات إعذروني إذا كنت غير محترف في الشرح ولكن أريد أن يبداء اعضاء المنتدى بإكمال الشروحات :P

وقبل البداء هذا هو برنامج

http://www.codejock.com/public/download/ev...veX.v10.4.1.zip

http://www.codejock.com/public/download/ev...veX.v10.4.1.zip

لن أشرح كيفية عملية التنصيب لأنها سهلة ولا يتطلب الإمر إلى التباع التالي Next :angry:

يجب تحميل أداة ActiveX وتسمى CommandBar

تستطيع إضافتها من قائمة Project

تجد Components

commandBars.jpg

سوف أبداء بالشرح

هذه هي القائمة كما ترون

File.jpg

الكود التالي يقوم بتعريف متغيرات ثابتة لمعرفة قيمة الحدث الذي وقع على الأداة commandBar

ويوضع في المتغيرات العامة

 

[left] [/size]

[size="3"]Option Explicit[/size]

[size="3"]Const ID_FILE_NEW = 4008
Const ID_FILE_OPEN = 4009
Const ID_FILE_SAVE = 4010
Const ID_FILE_PRINT = 4011
Const ID_FILE_CLOSE = 5040
Const ID_FILE_PRINT_SETUP = 5042
[/size]

[size="3"][/left][/size]

[size="3"]

الآن سوف نصنع القائمة مع الأدوات

وتوضع في بداء تحميل الفورم

الكود هذا يقوم بتفعيل الأداة

 CommandBars.EnableActions

أما هذا الكود هذا سوف يقوم بإدراج في قائمة File

New

Open

Save

Print

Print Setup

Close

وهذا هو الكود

[left]CommandBars.Actions.Add ID_FILE_NEW, "&New", "New", "Create a new document", "File"
CommandBars.Actions.Add ID_FILE_OPEN, "&Open", "Open", "Open an existing document", "File"
CommandBars.Actions.Add ID_FILE_SAVE, "&Save", "Save", "Save the active document", "File"
CommandBars.Actions.Add ID_FILE_PRINT, "&Print", "Print", "Print the active document", "File"
CommandBars.Actions.Add ID_FILE_PRINT_SETUP, "&Print Setup", "Print Setup", "Change the printing options", "File"
CommandBars.Actions.Add ID_FILE_CLOSE, "&Close", "Close", "Close the active document", "File"[/left]

إن CommandBars.Actions.Add يأخذ خمس متغيرات أولها إسم المتغير مثل ID_FILE_NEW

والثاني &NEW وهو الإسم الذي يظهر على القائمة

والثالث NEW وهو عبارة عن تعليق

والرابع Create a new document وهو عبارة عن وصف

أما الخامس هي إسم القائمة وأكيد ماعندنا إلا واحدة وهي File

والآن الكود التالي يقوم تحميل القائمة في CommandBars

 
[left] [/size]

[size="3"]Dim Control As CommandBarControl
Dim ControlFile As CommandBarPopup[/size]

[size="3"] 'Add some CommandBar items.
Set ControlFile = CommandBars.ActiveMenuBar.Controls.Add(xtpControlPopup, 0, "&File")
With ControlFile.CommandBar.Controls
.Add xtpControlButton, ID_FILE_NEW, ""
.Add xtpControlButton, ID_FILE_OPEN, ""
.Add xtpControlButton, ID_FILE_SAVE, ""
Set Control = .Add(xtpControlButton, ID_FILE_PRINT, "")
Control.BeginGroup = True
.Add xtpControlButton, ID_FILE_PRINT_SETUP, ""
Set Control = .Add(xtpControlButton, ID_FILE_CLOSE, "")
Control.BeginGroup = True
End With[/size]

[size="3"][/left][/size]

[size="3"]

أما هذا الكود يقوم بتحميل شريط الأدوات ويكون محتوياته هو

[left]Dim ToolBar As CommandBar
Set ToolBar = CommandBars.Add("Standard", xtpBarBottom)
With ToolBar.Controls
.Add xtpControlButton, ID_FILE_NEW, ""
.Add xtpControlButton, ID_FILE_OPEN, ""
.Add xtpControlButton, ID_FILE_SAVE, ""
Set Control = .Add(xtpControlButton, ID_FILE_PRINT, "")
Control.BeginGroup = True
End With[/left]

إن Control.BeginGroup=True يقوم بوضع خط فاصل بين القوائم

أما هذه الأكواد يقوم بإضافة تعليقات على بعض الأدوات الموجودة في القائمة كالمرور على القائمة أو مكان القائمة

	'Disable ALL items with Id ID_FILE_SAVE
CommandBars.Actions(ID_FILE_SAVE).Enabled = False[/size]

[size="3"] 'Change the DescriptionText of ALL items with Id ID_FILE_PRINT
'CommandBars.Actions(ID_FILE_PRINT).DescriptionText = "Print the current document to a file"[/size]

[size="3"] 'Change the ToolTipText of ALL items with Id ID_FILE_OPEN
CommandBars.Actions(ID_FILE_OPEN).ToolTipText = "Open an existing document"
'''''''''''''''''''''
CommandBars.LoadCommandBars "Codejock Software ActiveX Demos", App.Title, "Layout"

-----------------------------------------------------------------------------------------

الآن نأتي إلى إضافة الأحداث على القائمة

وهي عبارة عن Method

وهي سهلة جداً لا تحتاج إلى شرح لأنها تستخدم Select Case

وعند الضغط على احد القوائم يقوم إظهار مسج يعلمك على ماذا تم ضغطه

[left]
Private Sub CommandBars_Execute(ByVal Control As XtremeCommandBars.ICommandBarControl)[/size]

[size="3"] On Error Resume Next[/size]

[size="3"] Select Case Control.Id

Case ID_FILE_NEW: MsgBox Control.Caption & " Clicked"
Case ID_FILE_OPEN: MsgBox Control.Caption & " Clicked"
Case ID_FILE_CLOSE: MsgBox Control.Caption & " Clicked"
Case ID_FILE_SAVE: MsgBox Control.Caption & " Clicked"

Case Else:
MsgBox Control.Caption & " clicked", vbOKOnly, "Button Clicked"
End Select
End Sub
[/left]

أرجوا أن يحوز على رضاكم

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

ياشباب أنبهكم تنبيه هام

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

ولكن سوف أسهل الأمر إليكم وتستطيعون تجربة البرنامج وهو في المرفقات مع الكود

Test_Codejock.zip

تم تعديل بواسطه HnHn
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الملفات ناقصة ........ موديل

هل هناك حل ...........ز للرسالة التي تطلع ؟

حفظك الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

توضيح بسيط

إن CommandBars.Actions.Add يأخذ خمس متغيرات أولها إسم المتغير مثل ID_FILE_NEW

والثاني &NEW وهو الإسم الذي يظهر على القائمة

والثالث NEW وهو عبارة عن تعليق

والرابع Create a new document وهو عبارة عن وصف

أما الخامس هي إسم القائمة وأكيد ماعندنا إلا واحدة وهي File

والآن الكود التالي يقوم تحميل القائمة في

المتغيرات التى تتحدث عنها هى فى الاصل برامترات اى توابع لخواص الاداه

أولها إسم المتغير مثل ID_FILE_NEW

هذا ليس اسم المتغير هذا رقم تعريفى لل Item الذى تقوم بوضعة فى الاداه وهذا يتم استدعائة فى الحدث الخاص بالاداه على ما اتذكر Execute وفى حالة القوائم الرئيسية ضعه ( 0 ) لانها لا تهم الضغط عليها وايضا يستخدم لوضع الايكونات

التول بار الذى اضفته ينقصه الايكونات

لكن اخى انت تستخدم اصدار كام من الاداه

تم تعديل بواسطه حريف برمجة
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مرحبا ياشباب

أشكركم على الرد

بالنسبة على العضو أبوزيد. صحيح الملفات ناقصة ولكن بالغلط . أنا آسف سوف أرفق الملفات مرة ثانية

بالنسبة ل" حريف برمجة" . الصراحة إنت الي أرشدتني في إستخدام هذه الأداة لذلك أشكرك من صميم قلبي

على هذا التوضيح ..... شكلي نسيت الي تعلمته في الكلية.... قمت أخلط بين المتغيرات والباراميترات

على العموم في المرة الثانية سوف أنتبه إلى ملاحظاتك

طبعاً أنا أستخدم الإصدار v10.4

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

يعني توني في البر.... مشوار طويل

ياليت تعلمني كيف أضيف أيقونات لأني لسة حايس معاهم

Sample_Menu.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اوك انا عندى اصدار قبل الى عندك

بالنسبة لاستخدام الايكونات بتضيف اداه imagelist

الشرح طيارى كدة مش هينفع انا كنت عامل مثال

انا عندى امتحان بكرة وبعده اول لما اخلص اوعدكم بدورة فى استخدامها

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ده مثال على استخدام الايكونات فى القوائم فقط مع امج لست

المثال بالاصدار القديم من الاداه

المثال فى المرفقات مع لاداه نشط الاول الاداه بان تفتح مشروع فارغ (جديد) وادرج الاداه به ثم اغلق

وبعد ذلك افتح المثال وشغل

انا ذى ما قلت انا مش هقدر اكمل دلوقتى لضيق الوقت والاداه دى عاوزة شغل كتيير

command_bars.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مشكور على الردود السريعة

لكن ياشباب أنا ماأبغي تتعبون في شرح الأدوات الي فيها.... لأني عارف إنها طويلة وصعبة

ولكن كل الي أبغاه والي يبغونه الأعضاء هي التنوير في إستخدام هذه الأدوات

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

أما المثال الموجود ياأستذاي "حريف البرمجة" لم يعمل هناك مشكلة في الضغط :s

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الاداه شغالة معة 10/10

ونزلتها مرة تانية لكن قل لى هل المشكلة تحدث عندك فى عملية فك الضغط ام عملية التشغيل؟؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

عزيزي "حريف برمجة"

يعطيني خطأ عند فتح الملف المضغوط

وهذا الخطأ

Error.jpg

عزيزي وجدت حل للأيقونات ولكن يجب أن تكون عبارة عن شريط أيقونات

Toolbar.png

وهذا هو المثال

أدعوا لي إن شاء الله راح أشرح جميع الأدوات .... ولكن بمساعدتكم

سلام ياحلوين

Sample_Menu.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اوك اخى لكن الطريقة التى استخدمتها فى وضع الايكونات مملة جدا

كما قلت لك استخدم ال Imagelist

كما يبدوا انك لست مبتدا كما توقعت لكن نصيحة مجرب

ابعد عن الادوات فمهما كبرت امكانيات ال Codejock فهى فى الاخر اداه واذا اردت عمل نسخة تجارية من برنامجك فستشتريها حتما

افعل مثلى واتجه الى صناعتهم اى صناعة الاكتيف اكس

انا عدلتلك المثال وكمان ضغطه zip ومتقلش فى مشاكل

Sample_Menu.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بداية ممتازة اخ Yousef Al-Zain :rolleyes: بالتوفيق في اكمال هذا الشرح الجميل

وهذا رابط لنفس الادارة للفائدة اكثر

Codejock

بالتوفيق

تم تعديل بواسطه HnHn
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مرحبا أأأأأأألف

الصراحة إبداخ ياأخ "حريف برمجة" (h)

هذا المثال أفضل وأسهل وأكثررررررر إختصار :P

ممنون لك ياأستاذي العزيز..... ولكن بالنسبة لي أنا أهتمامي بالشكل ليس كل شي

ولكن أهتم بها لكي يضفي على برامجي حس الإبداع ليس إلا....

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

وسوف أقوم بشرح مافعلته ياأستاذي في أقرب وقت.

أشكرك على مرورك يا "HnHn" :rolleyes:

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

يا سيدى متبالغش كدة انا مش استاذك ولا حاجة انا بردة فى اشياء كتير معرفها والبرمجة مفيهاش استاذ ان شاء الله كمل انت شرح الى انا حطيته ونسقه وانا بكرة باذن الله هديلك المثال الثانى

اخ HnHn شكرا على تثبيت الموضوع كعادتك دائما بصترحة انا اجد هذا المنتدى نشيط بفضلك وبفضل بقية الاعضاء

ولغة الفى بى من سهولتها يهتم بها الكثيير من الناس

بالتوفيق

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اخوي

طلعت لي هذه الرساله لما حاولت التشغيل في المرفقات

error.bmp

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
اخوي

انت تتحدث الى من؟؟

اما انك لم تنزل الاداه ستجدها فى المشاركة الاولى

نزلها اذا ظل نفس العيب قل لنا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

tool.bmp

انا فعلا مسطبها ومنزلها من الموقع

تم تعديل بواسطه vb-run-time
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته ..... مرة ثانية :D

إنظروا إلى جمال القوائم

Form.jpg

شرح كيفية إضافة قائمة مع الأيقونات بتاعها...

نحتاج إلى إستخدام أداتين وهما

Microsoft Windows Common Controls 6.0 وتسمى الأدوات الشائعة

Xtreme CommandBars ActiveX Control 10.4

وتجدهما في قائمة Project >-- Components

نستخدم من الأدوات الشائعة ImageList

ونظيف الأيقونات الي بنريد

ImageList.jpg

والآن هنا الكود نضعه في التحميل للفورم

CommandBars1.VisualTheme = xtpThemeRibbon

هذا الكود يحدد ماهو الإستايل التي تريده إما

xtpThemeRibbon

أو

xtpThemeOffice2007

وغيرها من الثيم

Dim Fmenue As CommandBarPopup
Dim ctrl As CommandBarControl

Set Fmenue = CommandBars1.ActiveMenuBar.Controls.Add(xtpControlButtonPopup, 0, "File")

هنا تبداء في إنشاء قائمة بإسم File

With Fmenue.CommandBar.Controls
.Add xtpControlButton, 101, "New"
.Add xtpControlButton, 102, "Open"
.Add xtpControlButton, 103, "Save"
Set ctrl = .Add(xtpControlButton, 104, "Close")
ctrl.BeginGroup = True
End With

لاحظ هنا أن

.Add xtpControlButton

أخذت بارامترين

الأول: رقم الأيقونه وفي نفس الوقت هو رقم ال ID لل Item

الثاني : هو الإسم الي يظهر للفورم

وهنا إستخدمنا تحكم في القائمة لإنشاء فاصل أو خط

	Set ctrl = .Add(xtpControlButton, 104, "Close")
ctrl.BeginGroup = True

أما هنا تم إنشاء قائمة جديدة وسميناها Setting

وفيها Item واحد وهو Language .

وبالطبع ال Language يأخذ أكثر من قيمة

ووضعنا هنا قيمتين Arabic ,English

إذاً سوف يختلف الكود هنا شيئاً بسيطاً

ويكون فقط في فروع اللغات

Set Fmenue = CommandBars1.ActiveMenuBar.Controls.Add(xtpControlButtonPopup, 0, "Setting")
With Fmenue.CommandBar.Controls
Set ctrl = .Add(xtpControlButtonPopup, 0, "&Language")
ctrl.CommandBar.Controls.Add xtpControlButton, 105, "&Arabic"
ctrl.CommandBar.Controls.Add xtpControlButton, 106, "&English"
ctrl.BeginGroup = True
End With

وفي النهاية نربط بين أداة commandBars و ImageList

CommandBars1.AddImageList ImageList1

أما أين يتم تنفيذ الأحداث في القوائم فهو في مكان آمن ولا يتغير

Private Sub CommandBars1_Execute(ByVal Control As XtremeCommandBars.ICommandBarControl)
MsgBox Control.Id
End Sub

أرجوا أن وفقت في شرح هذه الأداة جيداً

ولا تنسوا يوجد المثال في المرفقات

Sample_Menu3.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

عزيزى vb run time الرسالة run time ايضا

حاول تشغل اى مثال ليها وخاصا مع الاداه command bar

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

ان شاء الله اشتغل انت مع property window لانى محضر مفاجئة عشان المجموعة تخلص

ومعاك مثال على استخدام الاداه

PropertyGrid.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

يا "حريف برمجة" هذا مش إتفاقنا

تعطيني شي كبير جدا فيه مايقارب أكثر 500 كود ....حرام عليك .... يبغالي شهر على ماأفهمه وأشرحة :s

بس إن شاء الله إذا إطلعت عليه وعجبني راح أشرحة ليش لا ... وإن شاء الله في أقرب وقت ممكن :rolleyes:

بالنسبة البرنامج الي إستخدمت فيه لإلتقاط الصور ... هو برنامج مشهور في المنتديات وهو برنامج Snagit 8.0

طبعاً ماراح أشارك بدون شي جبت لكم شيء جميل جداً وسهل للغاية :lol:

ولا يبغالها شرح أبداً .... ماراح تتعبون في إستخدامها

لأن الأداة فقط تقوم بتغيير أدوات المستخدمة في الفجول بيسك إلى أشكال أخرى

بس شوفوا الصور هذه

هذه للأدوات المستخدمة في ال Office 2007

SkinFormOffice2007.jpg

وهذه المستخدمة في Windows Vista

SkinFormVista.jpg

وشوفوا صندوق الحوار تبع الOffice 2007

OpenDialog.jpg

وهذا صندوق الحوار تبع الخطوط

FontDialog.jpg

وفي المرفقات

1- الأداة المستخدمة ............ فقط شغل الملف Register لكي ينسخه لك إلى السيستم ويتم تسجيله.... مهم

2- المثال البسيط جداً

23 المثال الكامل .... لا تنسى نسخ مجلد Style إلى هذا المثل ...

أرجوا أن ينال إعجابكم

أرجوا أن ألتمس منكم الدعاء في قضاء حاجتي

Tool.zip

SkinFramework.zip

SkinControls.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اوك

الاشياء الصعبة هشرحها انا طبعا اذا توافق

اما انت فاكمل التول بار فما زلت لم تشرحه بعد

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اشكر على مرورك يا "حريف برمجة"

بالنسبة لشرح الأدوات.... أنا تبنيت فكرة البداية .... مش قلت أنا راح أشرح كلها....

ولكن شفت الموضوع يستحق الأهتمام فيه.....

وأرجوا كل شخص يستطيع شرح أي شيء في أدوات Codejock ألا يبخل علينا...

إن شاء الله راح أتابع شرح ToolBar

على فكرة أنا توني سامع في codejock قبل 7 أيام بس... يعني خليني أفهم وش الموجود فيها وراح أشرحها... إن شاء الله

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

والله روعة هذه الأداة فيها شغلات كثيرة عن الToolBar

هذا المثال الأول وهو عبارة عن ToolBar Default العادي

بالنسبة للأيقونات نفس العملية سويناها في المثال القوائم موجودة

ToolBar1.jpg

وهذا المثال موجود في المرفقات

ToolBar1.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

حسنا وربنا يوفقك عشان عاوزين نعمل مثال 3d مثلا اوفيس ووووو

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مش عاوزيين اشياء متقطعة خلص مثال كبير واشرحة هيكون افضل

واقترح انك تبدا بتول بار اوفيس 2007

اه وانا اريد ان اسالك على شئ وهو رابط رفع الصور على المنتدى

تم تعديل بواسطه حريف برمجة
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .