نبذة عن لغة البرمجة Tcl/Tk

superlinux

عضوية ذهبية
06-08-2012
160
46
47
39
مستخدم للماك منذ
1996
النظام
Linux
هل انتقلت من PC
لا
#1
اذا كنت مفتكر انه كتابة البرامج على الماكنتوش صعبة، فهي عبر لغة TCL وبالإضافة الى المكتبة البرمجية Tk الخاصة بإضافة الأزرار و النوافذ الى برمجتك، انها جدا اسهل مما قد تتصور. حتى ان نفس البرنامج المكتوب بهذه اللغة يعمل ايضا على لينيكس وويندوز و اي نظام يونيكس BSD. وكي لا ننس فإن الماكنتوش هو أيضا نظام داروين BSD .

كيفية التأكد من وجود مفسر لغة ال TCL:
  1. نفتح Terminal عندنا.
  2. نكتب tcl ونضغط زر الحقول (TAB) مرتين. اذا لقينا في السرد كلمة "tclsh" حتى لو مع رقم الاصدارة ملتلصق بها، يعني هي موجودة. و انا عندي في اصدارة الماك اسد الجبل (Mountain Lion) لقيتها. لكن الاصدار هو 8.5 والاصدار الحالي من المصدر الاساسي هو 8.6.
  3. للتأكد من قدرتنا على البرمجة لتصميم برنامج له واجهة رسومية نكتب و ننفذ الأمر التالي: wis. وإذا ظهرت نافذة فارغة جرداء من أي شيء، اعلم أنه بالامكان تصميم برنامج له واجهة رسومية. هذه النافذة سنضيف اليها بعض الازرار.

نبدأ البرمجة عبر استعمال محرر نصي مثل vi او Text Edit. ونصنع ملف جديد بإمتداد tcl
مثلا:

vi mycode.tcl

هذا الكود التالي سيُظهِر في نافذة البرنامج اطار ادخال و زر. عند الضغط على الزر سيقول لك في اطار مستقل ما يعني الجملة " انت كتبت التالي: (ما كتبته في الإدخال سيظهر هنا)"

PHP:
"You entered the following text: (the text)"
هذا هو الكود في الرد القادم و سنفسره في الرد الذي يليه.

(الله يعيني على jQuery لما يكون الانترنت بطيئ!)
 
الإعجابات: Diamond Ice

superlinux

عضوية ذهبية
06-08-2012
160
46
47
39
مستخدم للماك منذ
1996
النظام
Linux
هل انتقلت من PC
لا
#2
كود:
#!/usr/bin/wish
 
proc show_entry_in_a_message { } {
 
# The dot before "text_entry" is very important. this means that the entry text_entry is on the main window
    set text_written [ .text_entry get]
#showing message
    tk_messageBox -message " You entered: \"$text_written\" "
 
}
 
#defining the main window components in the application.
label .lab -text "Enter some text"
entry .text_entry
button .but -text "click me" -command show_entry_in_a_message
 
#packing them on the window
pack .lab .text_entry .but
 

superlinux

عضوية ذهبية
06-08-2012
160
46
47
39
مستخدم للماك منذ
1996
النظام
Linux
هل انتقلت من PC
لا
#3
لقد ارفقت نص الكود في ملف جاهز للتحميل.
لتشغيل البرنامج نكتب في الشل:
#هذا الامر كرمال اعطاء صلاحية التشغيل
كود:
chmod +x tcl-program.txt
#هكذا نشغله
كود:
tcl-program.txt/.
 

المرفقات

ا

الطاهر

Guest
#4
اخوي الدرس يثير الفضول فعلاً، لكن عندي سؤال:
اين نجد (الشل) حتى نجرب؟
عن نفسي لا اعرف شيء في بيئة الماك اسمه (شل).
وشكراً
 

superlinux

عضوية ذهبية
06-08-2012
160
46
47
39
مستخدم للماك منذ
1996
النظام
Linux
هل انتقلت من PC
لا
#5
اخوي الدرس يثير الفضول فعلاً، لكن عندي سؤال:
اين نجد (الشل) حتى نجرب؟
عن نفسي لا اعرف شيء في بيئة الماك اسمه (شل).
وشكراً
الشل هو التيرمنال اي الطرفيَّة. انت عندك في الماك الشل الافتراضي هو bash اي Bourne Again SHell. و الشل حقيقةً من الآخر هو مفسر سطر الاوامر. ﻻ تنسَ ابدا ان الماك هو يونيكس Unix!
الشل هو ايضا لغة برمجة بطريقة سكريبت.

من الشل الشبيه للbash :
  • csh طريقة كتابت السكريتات فيه هي جدا شبيهة جدا بلغة ال C.
  • korn ksh يمكنك القول بأن هذا الشل هو المناهض\المنافس الأول للbash
  • zsh
  • tcsh
 
ا

الهواري

Guest
#6
كنت سأسأل نفس سؤال الاخ الطاهر عن (الشل). يعني الشل هو (الترمنال).

شيء ثاني اريد اسأل عنه: (ان الماك هو يونيكس Unix). هذه بصراحة ما فهمتها. ممكن توضيخ ولك الشكر.
 

superlinux

عضوية ذهبية
06-08-2012
160
46
47
39
مستخدم للماك منذ
1996
النظام
Linux
هل انتقلت من PC
لا
#7
كنت سأسأل نفس سؤال الاخ الطاهر عن (الشل). يعني الشل هو (الترمنال).

شيء ثاني اريد اسأل عنه: (ان الماك هو يونيكس Unix). هذه بصراحة ما فهمتها. ممكن توضيح ولك الشكر.
الماكنتوش ليس نظام تشغيل مصبوب صَبَّة واحدة كما هو الحال في ويندوز, الذي هو ما له بأحد، عايش في عالمه الخاص. يعني لو مايكروسوفت يصح لها وتسنح لها الفرصة مثلا لعمل انترنت مختلفة عن الأنترنت الذي نعرفه هذه الايام بكل ما تعنيه من مشاركة المعلومات بين جميع انظمة التشغيل، لفعلت!
والآن أي نظام يعمل بناء على موصفات يونيكس هو نظام يونيكس. وماك هو نظام يعمل على نواة Darwin BSD و الBSD تعني "Berkeley Software Distribution" أي توزيعة برامج جامعة كاليفورنيا، بِرْكَلِي, الأمريكية . و هذه تفرّع من نظام Unix يونيكس. إقرأ المزيد هنا :
http://ar.wikipedia.org/wiki/توزيعة_برمجيات_بيركلي

وللإثبات افتح الترمنال Terminal وادخل السطر التالي:
كود:
uname -a
 
ا

الهواري

Guest
#8
مشكوز اخوي على هذه المعلومات وهذه التوضيحات.
 

login

عضوية ذهبية
11-09-2011
594
22
317
الرياض، المملكة العربية السعودية
مستخدم للماك منذ
2004
النظام
OS X Mountain Lion
هل انتقلت من PC
نعم
#9
شكرا اخوي على الموضوع الرائع، لي فترة احاول القراءة عن ال Tcl/Tk ولم تسنح لي الفرصة. باذن الله راح استخدمها مع البيرل في المستقبل القريب
 

iSkyFalConS

مصمم ومبرمج خطوط
28-08-2007
2,489
121
317
السعودية ــ الرياض
مستخدم للماك منذ
2006
النظام
OS X Lion
هل انتقلت من PC
نعم
#10
اضن ياسوبر لنكس ان الصوت والصورة ستكون افضل طريقة لايصال المعلومة للجميع في مثل هذه الامور ... مجرد رأي
 

superlinux

عضوية ذهبية
06-08-2012
160
46
47
39
مستخدم للماك منذ
1996
النظام
Linux
هل انتقلت من PC
لا
#11
اضن ياسوبر لنكس ان الصوت والصورة ستكون افضل طريقة لايصال المعلومة للجميع في مثل هذه الامور ... مجرد رأي
اذن شاهد قناتي على اليوتيوب فيها اكثر من 36 درس عن اللغة من اﻷلف الى الياء تقريبا. مع شرح لمشروع كامل عن تسجيل طلاب في مدرسة.
https://www.youtube.com/user/ranixlb

ﻻتنسى تكبس زر التَسَجُّل في القناة (subscribe). تأتيك على الإيميل كل ما هو جديد.
 

superlinux

عضوية ذهبية
06-08-2012
160
46
47
39
مستخدم للماك منذ
1996
النظام
Linux
هل انتقلت من PC
لا
#13
سلام. اوﻻ مبروك استمرار المنتدى.
امّا بالنسبة للشروحات عن اللغة TCL/Tk , فـهي الآن مصبوبة في برنامج لأجهزة نظام الاندرويد على الرابط التالي. و بالنسبة لسماع الشروحات بالعربي كل ما عليك فعله هو تغيير لغة واجهة النظام.
https://play.google.com/store/apps/details?id=net.superlinux.tcltktutorials
انا أعتذر اذا ما صنعت نفس البرنامج على نظام ال iOS . لم اتعلم ال iOS SDK (حزمة برمجة نظام ال iOS ) حتى اﻵن. تعلمت اللغة العامة اقصد الObjective C فقط.
 

tu54rki

عضوية ذهبية
22-06-2010
376
56
127
الخبر
مستخدم للماك منذ
2009
النظام
OS X Mavericks
هل انتقلت من PC
نعم
#14
مشكور علي هذي المعلومات. و الماك مبني علي نوات اليونكس. وهذا معروف