الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هو الامر

مغلق
بدأه great_word في 25 يناير 2002 · 7 رد · 589 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

بارك الله فيكم لنشر العلم

ما هو الأمر في لغة السي يقوم بتشغيل برنامج آخر ؟

مثلا أريد أن أعمل برنامج يقوم بتشغيل برنامج (scan disk)

وكيف يمكنني أن أتعامل مع الوقت ؟

كتوقيت البرنامج ؟

#2

هلا أخوي great_word

بالنسبه لهالأمور ماني خبير فيها ولكن هناك أمر في السي

أسمه

 system("");

يستقبل سلسلة حرفية

وهذه الدالة تعمل كل ما يمكن عمله على الدوس

فمثلاً

 system("cls");

تقوم بمسح الشاشة

و

 system("dir");

تقوم بإستعراض القرص الصلب

وما إلى ذلك من الاوامر...

وأنا شخصياً لم أجرب تشغيل برنامج بهذا الامر ولكن أعتقد أنه يمكن

عمل ذلك بها.

يوجد مكتبة في السي إسمها time.h وهي المسؤلة عن التوقيت

ويمكنك مراجعة هذه المكتبة و معرفة الدوال التي تدعمها...

وأتمنى أن أكون قد أجبت على سؤالك (مع أعتقد العكس :) )

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

#3

السلام عليكم

لا أعلم ان كان هذا ما تريده ام لا

ان كنت تستعمل منتجات بورلاند ( لا أعلم ان كانت غيرها تحوي هذه الدوال ) فعليك بالدوال الموجودة في process.h و هي :

execl, execle, execlp, execlpe, execv, execve, execvp, execvpe, _wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp, _wexecvpe (راجع الـــ help )

ان كنت تريد استعمالwinapi فهناك : ,ShellExecute

ShellExecuteEx ,WinExec .....

بالنسبة للزمن فكما قال الاخ طلال .

وان كنت تريد استعمال winapi فعليك بـ Time Functions, Time Structures , Timer Functions .........

والله أعلم

هناك حتى الأحلام أصبحت ممنوعة ...

إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!

ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...

There, even in dreams u r wanted

To be a programmer, how a nice dream it was

Leaving ...

أعيدوا لإسمي لونه المفضل

#4

شكرا جزيلا لكم لقد أفدتومني في فهم الموضوع كلاكما كمل الثاني

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

#include

#include

main()

{

system ("c:path of program");

return 0;

}

أنا لم أفهم جيدا هذا .. لقد وضعته لأنه الكومبايلر طلب مني

return 0

ماذا تعني هذه والقيمة

#5

أخوي great_word :

لا أعلم ما هو الكمبايلر الذي تستخدمة ولكن أنا إستخدمت

مايكروسوفت فجول سي بلس بلس && تيربو سي

ولم تكن return 0 مطلوبة ولا أعتقد أن أي كمبايلر سيطلب ذلك منك

إجبارياً (أي سيحسب على ذلك خطاء).

و هذه العبارة تعني أن البرنامج إنتهى بسلام لا أقل و لا أكثر...

وهي غير إلزامية و لا أذكر أني إستخدمت هذه العبارة أبداً.

وسواءً كتبت البرنامج بها أم لا فلن يعتبر الكمبايلر ذلك

خطاء.

#6

هذا الأمر system يقوم بتنشيط سطر الأوامر.. اثناء تنفيذ البرنامج ثم .يعود ليكمل البرنامج من حيث .. توقف عنده

@@ مثال :

قمت بعمل .برنامج يطلب من المستخدم إدخال ..قيمه ثم يقوم البرنامج بتشغيل اللينكس..بواسطه هذا الأمر وبعد إنهاء اللينكس يعود البرنامج ليطبع القيمه اللتي أدخلها المستخدم .

و لكن مع الوندوز بعض الأوامر لا يمكن القيام بها .. لأن التنفيذ يكون من داخل بيئة الوندوز

@@ مثال :

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

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

أيضا هذا الأمر يتعامل مع البرنامج من موقعه على القرص الصلب...

@@ مثال :

برنامج الأخ طلال. لو كان موضوعا في مجلد فإنه سيقوم بإستعراض لذلك المجلد فقط . وليس للقرص الصلب و أيضا لو حاول.. إضافه ملف أو حذف ملف لإغنه سيكون في هذا المجلد الذي يوجد به البرنامج .. لذلك لو أراد استعراض القرص الصلب. ولنفرض أن اسمه C فيجب عليه أن يحفظ البرنامج بالمكان التالي C:myprogram.c .

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

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

(" :cd") ...........

("dir/w") ..........

لأنه بعد الإنتهاء من الداله system يعود للبرنامج.. في موقعه على القرص

***** بالنسبه ل return 0 فهي غير ضروريه مادامت لم تحدد شيء ترجعه الداله main

ومعناها . كما قال الاخوان البرنامج إنتها بسلام

014.gif
#7

شكرا لك أخ بطران

ولكن لم تعطينا الحل

#8

لم أفهم ماذا تقصد ..

إذا كان عن طريقه تشغيل برنامج من خلال برنامج تكتبه أنت .. فأنا لم أستطع ذلك حتى الآن .

أما إذا كان عن كيفية حذف أو تغيير لإعدادت الجهاز فهذه تتم عن طريق الأمر system .

أتمنى من أي من الأخوه أن يعطينا طريقة تشغيل برنامج معين من خلال برنامجي ..غير هذا الأمر

014.gif

هذا الموضوع مغلق.

مواضيع مشابهة