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

كيف أمرر بارامترات لبرنامجي ؟؟

مغلق
بدأه essam7 في 14 فبراير 2005 · 3 رد · 3,458 مشاهدة · في أرشيف منتدى الدلفي
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

كيف أمرر بارامترات لبرنامجي ؟؟

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

winexe('cmd',1).

وأريد أن أغير عبارة الـ

cmd

كبارامتر أي أن عبارة

cmd متغيرة فكل ما أغير البارامتر تتغير عبارة ال

cmd وبالتالي انفذ ملف تنفيذي اخر

مثلا في قائمة ابدء ثم تشغيل اريد ان اكتب اسم برنامجي ثم فراغ ثم دبل كوت ثم البارامتر وليكن الالة الحاسبة فيصبح الشكل

project1 "calc"

#2

وهذا الكود يقوم بقرائة الملفات المفتوحه

var FileName : string; 
i : integer; 
begin 
for i := 1 to ParamCount do begin 
if i = 1 then 
FileName := ParamStr(1) 
else 
FileName := FileName+' '+ParamStr(i); 
end;
#3

سبقتني يا أخي عروة. :lol:

جميع لغات البرمجة تسجل متغيرين في بداية تنفيذ تطبيقك: السلسلة المحرفية التي أدخلنها في سطر الأوامر ِ Command-Line و عدد هذه الباراميترات الموجودة بداخل هذه السلسلة.

مثلا في لغة السي أو سي ++ نجد تعريف الدالة الرئيسية هو :

int main( int argc[ , char *argv[ ] );
أو  في ويندوز :
int wmain( int argc[ , wchar_t *argv[ ] );

نفس الشيء نجده أيضا في ديلفي.

نجد ParamCount و هي دالة ترجع عدد الباراميترات المدخلة بعد إسم التطبيق, وكذاك الدالة

(ParamStr(i التي ترجع الباراميتر المدخل الموافق للمرتبة رقم i بعد التطبيق التنفيذي .

مثلا لو كتبت هذا الأمر في سطر الأوامر Comande-line:

Project1.exe  first second  "The 3rd parameter"  4

فإن ParmCount = 4 و على سبيل المثال

Parmstr(3)= "The 3rd parameter" ok :) .

هذا مثال يستعرض كل الباراميترات المدخلة لتطبيقك التنفيذي, يظهرها على التوالي في MessageBox. قبل تنفيذ البرنامج♣8 أنقر في القائمة الرئيسية menu في ديلفي على Run ثم

Parameters... ثم اكتب في خانة parameters ما تشاء من البراميترات. مثلا

calc.exe second "the 3rd parameter" and4 "and the 5" ok

procedure TForm1.FormCreate(Sender: TObject);
var
 i:integer;
begin
if GetCommandLine <> nil then ShowMessage(GetCommandLine);
for i:= 1 to ParamCount do
 begin
   showmessage('The Parameters in the' + IntToStr(i)
     + 'Position Is : ' + ParamStr(i));
 end;
//WinExec(pchar(paramstr(1)),SW_NORMAL);
end;

(h)

سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين

يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.

اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.

الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.

إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.

و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله

أخوكم مراد

27_06_06_05_21_41_1151410901logo_adl_wal_ihsan.jpg

#4

sorry i cant write arabic

thanks very much for all answers -waf

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

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