المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : اشياء جميلة و مخفية في دلفي - Hidden Features of Delphi


Wael Dalloul
11-02-2010, 11:35 AM
السلام عليكم, اتمنى ان تكونوا جميعا بخير,
في هذا الموضوع, احببت ان نقوم بجمع بعض المميزات التي يتمتع بها دلفي ولكنها مخفية نوعا ما, وقد لا يعرفها البعض, لذلك سوف ابدأ بنفسي و اضيف بعض الامور و انتم عليكم ان تشاركونا بما عندكم...

1 -هل تعلم انه يمكنك تسجيل Macro و انت تعمل في الكود بحيث يمكنك من عمل الكثير من الاشياء المفيدة؟
لعمل لذلك اتبع الخطوات التالية:
1- اذهب إلى كود اي وحدة(Unit) و من ثم قم بالضغط على Ctrl+Shift+R لبدء تسجيل الماكرو
2- قم بكتابة بعض الاكواد وعمل شيئ ما
3- اضغط على Ctrl+Shift+R لتوقيف التسجيل
4- لتشغيل الماكرو عليك بالضغط على Ctrl+Shift+P وسوف يعيد ما فعلته, مرة اخرى

2- إذهب إلى Help ثم About و من ثم اضغط على مفتاح Alt و اكتب كلمة Team وسوف تحصل على قائمة بفريق دلفي, انقر نقرتين على القائمة لتحصل على صور الفريق :)

سوف اكمل فيما بعد إن شاء الله,..

AL-MOB4RM3G
11-02-2010, 12:16 PM
وسوف يعيد ما فعلته, مرة اخرى

بارك الله لك اخي الكريم, Wael Dalloul

لقد رأيت الخآصيّة من قبل لكن لم استخدمها + لدي تسآئل, ماذا نستفيد عمليّا من ال Macro,, ؟

ان كان ال Macro يعيد كتآبة الكود, اليس من الأفضل استخدام كوبي باست للكود وتنتهي المشكلة, + اسرع ؟

بارك الله لك,

kachwahed
11-02-2010, 05:52 PM
وعليكم السلام ورحمة
أهلا بالأخ وائل
بارك الله لك أخي، موضوع جميل
ان كان ال Macro يعيد كتآبة الكود, اليس من الأفضل استخدام كوبي باست للكود وتنتهي المشكلة, + اسرع ؟
الـ Macro هو مجموعة من العمليات (كتابة/حذف/نسخ/لصق/تركيبة من تلك العمليات)، أي شيء قمت بفعله أثناء تسجيل الـ Macro، فسيقوم هذا الأخير بالقيام بنفس العمليات عند تنفيذه.

- للتنقل بين أحرف كبيرة/صغيرة (Lower/Upper Case) المفاتيح:
أحرف صغيرة: Ctrl+K ثم O
أحرف كبيرة: Ctrl+K ثم N

- حذف السطر بكامله Ctrl+Y

- البحث السريع Ctrl+E ثم المتابعة F3

- حذف الكلمات Ctrl+T

- مفاجأة: Ctrl+O ثم O سرد الإعدادات الافتراضية للمترجم في أعلى الصفحة.
شكرا كثيرا.

AL-MOB4RM3G
11-02-2010, 09:05 PM
الـ Macro هو مجموعة من العمليات (كتابة/حذف/نسخ/لصق/تركيبة من تلك العمليات)، أي شيء قمت بفعله أثناء تسجيل الـ Macro، فسيقوم هذا الأخير بالقيام بنفس العمليات عند تنفيذه.

جميل, ومع ذلك لم افهم متى يستخدم, :cryss:
طيب ان كتبت السؤآل بطريقة اخرى, متى يفضّل استخدام ال macro ؟
هل عندما مثلا اكتب درس, فأسجل ما اقوم به وبعد ذلك اعرضه وأبدأ التسجيل ؟؟ طيب لو كان شئ من هذا, فما المشكلة لو مثلا سجلت الدرس من البدآية ؟

kachwahed
11-02-2010, 09:19 PM
جميل, ومع ذلك لم افهم متى يستخدم,
تخيل أن لديك 8000 سطر تختلف محتوياتها
حيث يجب أن تمر عليها كلها لتحذف أربعة أحرف من كل آخر سطر وتضيفها إلى بدايته
كيف ستفعل ذلك من غير Macro؟
الـ Macro يسجل المفاتيح التي كنت تضغط عليها عند التسجيل ويقوم بإعادة ضغطها تماما كما فعلت.
هل اتضحت الفكرة؟

Wael Dalloul
13-02-2010, 06:09 AM
بارك الله بكم على التفاعل, بالفعل كما اوضح الاخ kachwahed, الماكرو احيانا يمكنك من تنفيذ عمليات معقدة داخل الكود بطريقة سريعة من غير كتابة برنامج لذلك :)

هذه ربما الكثير منا لا يعرفها :D
البحث عن خاصية ما في ال Object Inspector كما يلي:
اضغط على F11 او قم بتعليم ال Object Inspector و من ثم اضغط على Tab لينتقل المؤشر إلى عامود اسم الخاصية و من ثم ابدأ بكتابة اسم الخاصية التي تريد ليذهب المؤشر مباشرة إليها, ومن ثم يمكنك ضغط Tab مرة آخرى لتعود إلى عامود القيمة لكتابتها, بهذه العملية تكون قد وفرت بعض الوقت الذي كنت تقضيه في البحث عن الخاصية....

وهذه صورة Gif تشرح كيفية عمل ذلك:

http://www.malcolmgroves.com/images/software/oi.gif

ملاحظة: هذه الميزة موجودة ايضا في Delphi 7 و لا ادري فيما إذا كانت موجودة في النسخ السابقة ام لا...

Wael Dalloul
13-02-2010, 06:19 AM
incremental search في الكود:
اضغط على CTRL + E سوف تلاحظ كتابة كلمة Searching For: في ال Status bar في الاسفل الان يمكنك البدأ بالكتابة ليتم البحث عن الكلمة التي تريدها وذلك بطريقة مشابهة لخاصية البحث في ال Object Inspector, و في حال اردت العودة إلى الوضع الطبيعي لكتابة الاكواد عليك الضغط على زر ESC ليعود كل شيئ إلى مكانه...

هذه الامور البسيطة سوف تساعد كثيرا في زيادة انتاجيتك و انت تعمل وسوف توفر عليك الكثير من الوقت....

Wael Dalloul
13-02-2010, 07:09 AM
ايضاً:
في الكود يمكنك الضغط على المفتاح Alt ومن ثم الضغط على Shift و من ثم القيام بالتعليم باستخدام الماوس او الاسهم:
الفائدة: إذا كان لديك عدة سطور تريد حذف اول حرفين من كل سطر, الطريقة العادية للقيام بذلك هي الذهاب إلى كل سطر وحذفها, اما باستخدام Alt يمكنك تحديد الحرفين لكل السطور التي تريد حذف اول حرفين منها ثم الضغط على زر Delete...

للتجريب: اضغط على المفتاح Alt و استمر بالضغط, و من ثم اضغط على Shift و استمر بالضغط عليه, و من ثم استخدم الماوس او الاسهم للتحديد.

ملاحظة: يمكن حذف الحرفين من اول السطور باسخدام ماكروا ايضا, وذلك بتسجيل Home + D + D :)

kachwahed
13-02-2010, 07:14 AM
ملاحظة: هذه الميزة موجودة ايضا في Delphi 7 و لا ادري فيما إذا كانت موجودة في النسخ السابقة ام لا...
موجودة أيضا في Delphi 2
- للإضافة عدة مكونات من نفس النوع، انقر على المكون مع الضغط على المفتاح Shift ثم انقر عدة مرات على الـ Form
- للتنقل بين تعريف التابع/الإجراء وبين جسم التابع/الإجراء تستخدم المفاتيح Ctrl+Shift+Up/Down
- لتغيير موضوع الصفحة من الكود تستخدم المفاتيح Ctrl+Up/Down
- لتنظيم الكود استخدام المفاتيح Ctrl+Shift+U/I
شكرا على الموضوع أخي وائل، فعلا أمور بسيطة تؤدي خدمات كبيرة.

AL-MOB4RM3G
13-02-2010, 02:28 PM
- للتنقل بين تعريف التابع/الإجراء وبين جسم التابع/الإجراء تستخدم المفاتيح Ctrl+Shift+Up/Down

جميلة هذه كثيرا, في الحقيقة بحثت عنها كثيرا ولم اجدها, جزاك الله خيرا اخي,

- عندما نريد تحديد عدة مكونات في نفس الوقت في الفورم ولدينا كثير من الكومبننتات يحدث امرار مشكلة انه بدل من تحديد الكومبننتات يتم عمل move للكومبننت المحدد من مكآنه, بإستخدام Ctrl, وبعدها السحب على الفورم من خلآل زر الموس الأيسر نتجنب هذه المشكلة,

بارك الله لكم,

kachwahed
13-02-2010, 02:42 PM
لدينا كثير من الكومبننتات يحدث امرار مشكلة
عند الانتهاء من تصميم الواجهة، انقر من القائمة الرئيسية على Edit ثم اختر Lock Controls
هكذا لن تتمكن من تحريك المكونات خطأ.

Wael Dalloul
13-02-2010, 09:12 PM
في ال Object Inspector يمكنك الضغط على CTRL ومن ثم الضغط مرتين على خاصية مربوطة مع Component اخرى (ملونة بلون بني غامق) ليتم الانتقال إليها, مثلاً: إذا كان لديك زر مربوط مع ImageList عند النقر مرتين على الخاصية Images يتم الانتقال (تحديد) ال IMageList
ملاحظة: يجب النقر على قيمة الخاصية وليس ال Caption الخاصة بها....


الاختصار CTRL + Shift + C: يقوم بتوليد جسم التابع من ال Header و العكس بالعكس, للتجربة اكتب اسم اي تابع في ال CLass و من ثم اضغط على المفاتيح الثلاثة ليتم توليد جسم للتابع, ويمكنك ايضا كتابة جسم التابع ثم الضغط على المفاتيح ليتم توليد Header للتابع...

AL-MOB4RM3G
14-02-2010, 07:18 PM
- Ctrl + Space في حآلة كتآبة الكود يعطي قآئمة Procedure و Fucetions و Components (التي تختفي امرار + لا اردي ما اسمها),

يقوم بتوليد جسم التابع من ال Header
ما هو ال Header ؟ بارك الله لك

Wael Dalloul
14-02-2010, 08:34 PM
ما هو ال Header ؟ بارك الله لك
في دلفي كما في C++ هناك قسمين للتابع الذي يكون ضمن ال Class الاول يدعى ال Header وهو يحتوي على تعريف لشكل التابع(البارمترات و القيمة المرجعة) ويكون موجود في تعريف الكلاس في قسم ال Interface
مثلاً عند النقر مرتين على الفورم يتم توليد حدث Create Form سوف تلاحظ وجود السطر التالي في تعريف ال Class


procedure FormCreate(Sender: TObject);


ام الجسم فسوف يكون في الاسفل اي بعد كلمة ال implementation على الشكل التالي:

procedure TForm1.FormCreate(Sender: TObject);


في ال C++ هناك ملفين لكل Class الاول يدعى Header و تكون لاحقته .h و الثاني يتم كتابة اجسام التوابع و تكون لاحقته .cpp

اما في الدوت نت سواء كانت VB.net ام C# فقد قاموا بإلغاء هذا الامر و اصبح فقد تكتب جسم التابع مباشرة ضمن الكلاس بدون Header, اي تكتب الجسم داخل ال CLass مباشرة..

ما يهمنا هنا, عند الضغط على الاختصار السابق سوف يتم توليد الجسم إذا كتبت ال Header و ضغطت على الاختصار, او اذا كتبت الجسم وضغطت على الاختصار سوف يتم توليد ال Header, وهذا مفيد بعض الشيئ فلإضافة اي تابع ما إلى اي كلاس تريد يمكنك التوجه و كتابة ال Header ضمن الكلاس و من ثم الضغط على الاختصار و كتابة الكود :)

اتمنى ان تكون الاجابة واضحة.

kachwahed
15-02-2010, 02:35 PM
- Ctrl + Space في حآلة كتآبة الكود يعطي قآئمة Procedure و Fucetions و Components (التي تختفي امرار + لا اردي ما اسمها),
اسمها Code Completion
هناك أيضا Ctrl+Shift+Space بداخل الإجراء/التابع لعرض الـ Hint الخاص بالـ Header.
الاختصار CTRL + Shift + C: يقوم بتوليد جسم التابع من ال Header و العكس بالعكس, للتجربة اكتب اسم اي تابع في ال CLass و من ثم اضغط على المفاتيح الثلاثة ليتم توليد جسم للتابع, ويمكنك ايضا كتابة جسم التابع ثم الضغط على المفاتيح ليتم توليد Header للتابع...
الثانية لم تعمل معي !

Wael Dalloul
15-02-2010, 08:24 PM
عليك ان تضع اسم الكلاس قبل اسم التابع :)
جرب وضع الاجراء التالي في Class اسمهTForm1 ومن ثم اضغط على الاختصار CTRL + Shift + C وإن شاء الله سوف تعمل...


procedure TForm1.DeleteSpaces;
begin

end;

kachwahed
15-02-2010, 10:05 PM
جرب وضع الاجراء التالي في class اسمهtform1 ومن ثم اضغط على الاختصار ctrl + shift + c وإن شاء الله سوف تعمل...
صحيح... الإجراء تابع للصنف، كيف فاتني ذلك؟؟؟ كنت أظن أنها تعمل في اتجاه واحد
شكرا كثير أخي وائل :)

khiro.alg
04-04-2010, 10:11 PM
السلام عليكم

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

إذا أردت تحريك المكونات بدقة/إضغط على زر Ctrl بإستمرار ووجه المكون بإستعمال أزرار التوجيه الأربعة.

TF6M
02-05-2010, 04:58 PM
السلام عليكم
بارامترات يمكن تمريرها للـ Delphi32.exe :
No Project : -np
No Splash : -ns
Heap Monitor : -hm .... لاحظ Titlebar.

مثال :
في الـ Run أكتب Delphi32.EXE -np

بالتوفيق ,,

khiro.alg
30-10-2010, 05:37 PM
لنسخ كتلة برمجية مباشرة وبسهولة:
- حدد الكتلة البرمجية المراد نسخها -إبقى ظاغطا على Ctrl واسحب الجزء الذي ضللته للمكان المراد نسخه إليه

المبرمج محمد
08-11-2010, 08:43 AM
السلام عليكم ورحمة الله وبركاته

بصراحة هذا أول مشاركة لي في هذا المنتدى ,اشكركم هلى هذا الموضوع

- يمكنك تصفح كافة الوحدات (Units) الخاصة بالمشروع من خلال Ctrl+F12

- يمكنك تصفح كافة النوافذ الخاصة بالمشروع وإظهارها من خلال Shift+F12

chafik
05-01-2011, 01:33 AM
أقترح على الاخوة تثبيت حزمة CnWizards ستوفر كل العناء في البرمجة فهي مجانية

karamofweb
09-01-2011, 03:50 PM
السلام عليكم،
قد يمر علينا الكثير من الدوال الضمنية التي نستعملها بكثرة لكن في بعض الاخيان نود ان نغير خاصية من خواص الدالة و نستقل باستعمالها، السبيل إلى ذلك سهل يكفي الضغط على Ctrl و الزر الايسر للفارة على الدالة فيقودنا البرنامج الى مكان تواجدها في المكتبة و كل ما يخصها نفس الشيئ اذا اردت ان ترى محتوى مكتبة من uses ......
تقبلوا تحيات Karamofweb:)

cargem
12-08-2011, 07:41 PM
Shortcut Action
Alt+[
Finds the matching delimiter (forward).

Alt+]
Finds the matching delimiter (backward).

Alt+Left Arrow
Go back after Alt+Up Arrow or Ctrl+Click (go to declaration) operation.

Alt+F7
Go to previous error or message in Messages View.

Alt+F8
Go to next error / message in Messages View.

Alt+Page Down
Goes to the next tab.

Alt+Page Up
Goes to the previous tab.

Alt+Right Arrow
Go forward after Alt+Left Arrow operation.

Alt+Shift+Down Arrow
Moves the cursor down one line and selects the column from the left of the starting cursor position.

Alt+Shift+End
Selects the column from the cursor position to the end of the current line.

Alt+Shift+Home
Selects the column from the cursor position to the start of the current line.

Alt+Shift+Left Arrow
Selects the column to the left of the cursor.

Alt+Shift+Page Down
Moves the cursor down one line and selects the column from the right of the starting cursor position.

Alt+Shift+Page Up
Moves the cursor up one screen and selects the column from the left of the starting cursor position.

Alt+Shift+Right Arrow
Selects the column to the right of the cursor.

Alt+Shift+Up Arrow
Moves the cursor up one line and selects the column from the left of the starting cursor position.

Alt+Up Arrow
Go to declaration.

Click+Alt+mousemove
Selects column-oriented blocks.

Ctrl+/
Adds or removes // to each line in the selected code block to comment the code.

Ctrl+Alt+F12
Display a drop down list of open files.

Ctrl+Alt+Shift+End
Selects the column from the cursor position to the end of the current file.

Ctrl+Alt+Shift+Home
Selects the column from the cursor position to the start of the current file.

Ctrl+Alt+Shift+Left Arrow
Selects the column to the left of the cursor.

Ctrl+Alt+Shift+Page Down
Selects the column from the cursor position to the top of the screen.

Ctrl+Alt+Shift+Page Up
Selects the column from the cursor position to the bottom of the screen.

Ctrl+Alt+Shift+Right Arrow
Selects the column to the right of the cursor.

Ctrl+Backspace
Deletes the word to the right of the cursor.

Ctrl+Click
Go to declaration.

Ctrl+Del
Deletes a currently selected block.

Ctrl+Down Arrow
Scrolls down one line.

Ctrl+End
Moves to the end of a file.

Ctrl+Enter
Opens file at cursor.

Ctrl+Home
Moves to the top of a file.

Ctrl+I
Inserts a tab character.

Ctrl+J
Templates pop-up menu.

Ctrl+K+n
Sets a bookmark, where n is a number from 0 to 9.

Ctrl+K+T
Select word.

Ctrl+Left Arrow
Moves one word left.

Ctrl+n
Jumps to a bookmark, where n is the number of the bookmark, from 0 to 9.

Ctrl+N
Inserts a new line.

Ctrl+O+C
Turns on column blocking.

Ctrl+O+K
Turns off column blocking.

Ctrl+O+L
Turn on line blocking mode.

Ctrl+O+O
Insert compiler options.

Ctrl+P
Causes next character to be interpreted as an ASCII sequence.

Ctrl+PgDn
Moves to the bottom of a screen.

Ctrl+PgUp
Moves to the top of a screen.

Ctrl+Q+#
Go to bookmark.

Ctrl+Right Arrow
Moves one word right.

Ctrl+Shift+C
Invokes class completion for the class declaration in which the cursor is positioned.

Ctrl+Shift+#
Set bookmark.

Ctrl+Shift+B
Display buffer list.

Ctrl+Shift+Down Arrow
Jump between declaration and implementation.

Ctrl+Shift+Enter
Find usages.

Ctrl+Shift+J
SyncEdit.

Ctrl+Shift K+A
Expands all blocks of code.

Ctrl+Shift K+C
Collapses all classes.

Ctrl+Shift K+E
Collapses a block of code.

Ctrl+Shift K+G
Initializes/finalize or interface/implementation.

Ctrl+Shift K+M
Collapses all methods.

Ctrl+Shift K+N
Collapses namespace/Unit.

Ctrl+Shift K+O
Toggles between enabling and disabling Code Folding.

Ctrl+Shift K+P
Collapses nested procedures.

Ctrl+Shift K+R
Collapses all regions.

Ctrl+Shift K+T
Toggles the current block between collapsed and expanded.

Ctrl+Shift K+U
Expands a block of code.

Ctrl+Shift+End
Selects from the cursor position to the end of the current file.

Ctrl+Shift+G
Inserts a new Globally Unique Identifier (GUID).

Ctrl+Shift+Home
Selects from the cursor position to the start of the current file.

Ctrl+Shift+I
Indents block.

Ctrl+Shift+Left Arrow
Selects the word to the left of the cursor.

Ctrl+Shift+P
Plays a recorded keystroke macro.

Ctrl+Shift+PgDn
Selects from the cursor position to the bottom of the screen.

Ctrl+Shift+PgUp
Selects from the cursor position to the top of the screen.

Ctrl+Shift+R
Toggles between starting and stopping the recording of a keystroke macro.

Ctrl+Shift+Right Arrow
Selects the word to the right of the cursor.

Ctrl+Shift+space bar
Code Parameters pop-up window.

Ctrl+Shift+T
Create ToDo entry.

Ctrl+Shift+Tab
Moves to the previous code page (or file).

Ctrl+Shift+Tab
Moves to the previous page.

Ctrl+Shift+U
Outdents block.

Ctrl+Shift+Up Arrow
Jump between declaration and implementation.

Ctrl+Shift+Y
Deletes to the end of a line.

Ctrl+space bar
Code Completion pop-up window.

Ctrl+T
Deletes a word.

Ctrl+Tab
Moves to the next code page (or file).

Ctrl+Up Arrow
Scrolls up one line.

Ctrl+Y
Deletes a line.

F1
Displays Help for the selected fully qualified namespace.

Shift+Alt+arrow
Selects column-oriented blocks.

Shift+Backspace
Deletes the character to the left of the cursor.

Shift+Down Arrow
Moves the cursor down one line and selects from the right of the starting cursor position.

Shift+End
Selects from the cursor position to the end of the current line.

Shift+Enter
Inserts a new line with a carriage return.

Shift+Home
Selects from the cursor position to the start of the current line.

Shift+Left Arrow
Selects the character to the left of the cursor.

Shift+PgDn
Moves the cursor down one line and selects from the right of the starting cursor position.

Shift+PgUp
Moves the cursor up one screen and selects from the left of the starting cursor position.

Shift+Right Arrow
Selects the character to the right of the cursor.

Shift+Space
Inserts a blank space.

Shift+Tab
Moves the cursor to the left one tab position.

Shift+Up Arrow
Moves the cursor up one line and selects from the left of the starting cursor position.

Coldzer0
02-12-2011, 06:05 PM
هناك شئ ايضل رايته من حوالى يومين
ان تذهب الى ناذه About الخاصه بادلفى 7 وتكتب
Shift + TEAM
سوف يظهر لك نافذه بها اسماء الفريق

alkofily
26-01-2012, 09:09 PM
السلام عليكم ورحمة الله وبركاته

لتتبع الكود الخاص بالمكونات وغيرها
اذهب إلى project > option
debugging
اختر

use debug DCUs

ثم تتبع الكود