PDA

View Full Version : برنامه ماتریس معکوس در پاسکال و یک آموزش جالب



K.Mohammadreza
یک شنبه 13 اردیبهشت 1388, 10:13 صبح
سلام به همه برنامه نویسان مخصوصا برنامه نویسان دلفی.
اگر مطالب ارائه شده تکراری بود به بزرگی خودتان ببخشید.
مدتها در اینترنت گشتم اما برنامه ماتریس معکوس را بطور صحیح و کامل در پاسکال نیافتم من این برنامه را بصورت کامل آماده کردم و سورس آن را بصورت فایل pdf برایتان قرار می دهم که امیدوارم مورد استفاده قرار گیرد. این فایل را می توانید از آدرس زیر دریافت کنید:
http://www.MegaShare.com/835843
خیلی ها دوست دارند وقتی اعداد را تایپ می کنند همان موقع بصورت سه رقم، سه رقم جدا شود اینکار بسیار ساده است که در زیر به نحوه ی انجام اینکار می پردازیم.
برای اینکه کارمان بهتر باشد یک پروژه جدید ایجاد کنید و فقط یک کنترل Edit روی فرم بیندازید و سپس کارهای زیر را انجام دهید.
ابتدا دو تابع اساسی زیر را در برنامه خود وارد کنید.



function GetNumber(Str: String): String;
var
i: Integer;
begin
Result := '';
for i := 1 to Length(Str) do
if(Str[i] in ['0'..'9'])then
Result := Result + Str[i];
end;


function Set3Digit(StrSource: String): String;
var
i, j: Integer;
begin
Result := '';
j := 0;
for i := Length(StrSource) downto 1 do
begin
Result := StrSource[i] + Result;
Inc(j);
if((j mod 3) = 0)and(i <> 1)then
Result := ',' + Result;
end;
end;

و سپس در رویداد OnChange کنترل Edit کدهای زیر را بنویسید.



procedure Tfrorm1.Edit1Change(Sender: TObject);
begin
Edit1.OnChange := nil;
Edit1.Text := Set3Digit(GetNumber(Edit1.Text));
Edit1.SelStart := Length(Edit1.Text);
Edit1.OnChange := Edit1Change;
end;

sarvesabz_2003
دوشنبه 21 اردیبهشت 1388, 01:55 صبح
salam
man barnameye reverse matrix ro gereftam v run kardam,ama har matrise daraje 3 be bala mizadam peighame devided by zero mizad,dar morede matris 2*2 ham kheili az adad ro sefr mizad ya eshteba,dar zemn tarigheye nemayesh ro safhe ham beham rikhte bod,age mishe chek konid v moshkelesho bartaraf konid
mamnon

K.Mohammadreza
شنبه 11 مهر 1388, 17:50 عصر
salam
man barnameye reverse matrix ro gereftam v run kardam,ama har matrise daraje 3 be bala mizadam peighame devided by zero mizad,dar morede matris 2*2 ham kheili az adad ro sefr mizad ya eshteba,dar zemn tarigheye nemayesh ro safhe ham beham rikhte bod,age mishe chek konid v moshkelesho bartaraf konid
mamnon

برنامه براي ماتريس سه در سه درست شده چون از يونيت crt استفاده شده در صورتيکه بخواهيد ابعاد بزرگتر اسستفاده کنيد باعث ميشه که اطلاعات در هم ور هم ديده بشن چون از تابع gotoxy استفاده شده و گرنه برناتمه مشکلي نداره

babakmomeni
یک شنبه 12 مهر 1388, 09:53 صبح
سلام. با سپاس فراوان از دوست عزیز k.mohammadreza. با وجودی که اعتقاد شخصی بنده بر اینه که استفاده کورکورانه از کامپوننت های آماده بدون اینکه هیچ ذهنیتی از نحوه کارش وجود نداشته باشه باعث تنبلی مفرط برنامه نویس، علی الخصوص مبتدی مثل من، میشه، با این حال می تونه در مواردی که کاربر اشراف کامل به کارش داره، مثل حضرتعالی، در وقت و زمان صرفه جویی بکنه و دست کاربر رو توی کار روی بخشهای دیگه برنامه باز بذاره. این مقدمه رو از این جهت عرض کردم که با معرفی سری کامپوننتی که مد نظرمه کار ارزشمند شما در درک کار این قبیل کامپوننتها رو منحرف نکرده باشم. با همه این احوالات اگر سری به آدرس http://www.lohninger.com بزنین سری ارزشمندی از کامپوننتهای مربوط به ریاضیات خواهید دید که برای شما که ظاهرا با ریاضیات زیاد سرو کله می زنین شاید مفید باشه. در یونیت SDL_matrix هم توابع مربوط به عملیات ماتریسی موجود هستش. البته ورژن رایگان اون به شدت محدود شده ولی با این حال باز هم ارزش دیدن رو دارن.
امیدوارم جسارت حقیر رو که شاید تاپیک رو کمی از هدف اصلی منحرف کرده باشه رو ببخشید. سر آخر هم از دوست عزیز آقا/خانم sarvesabz_2003 ،ضمن خوشامدگویی به جامعه برنامه نویس، خواهش می کنم با احترام به قوانین سایت از تایپ فینگلیش خودداری بفرمایند.
پیروز باشید.

K.Mohammadreza
یک شنبه 12 مهر 1388, 15:19 عصر
با تشکر از دوست گرامي که راهنمايي کردن (البته بنده کليه کامپوننت هاي SDL‌را فول سورس دارم که اگر نياز داريد برايتان ايميل کنم) هدف من نوشتن برنامه در پاسکال بود که براي يک دوست که در همين سايت درخواست داده بود نوشتم

با تشکر

amir_ir
دوشنبه 13 مهر 1388, 09:19 صبح
با تشکر از دوست گرامي که راهنمايي کردن (البته بنده کليه کامپوننت هاي SDL‌را فول سورس دارم که اگر نياز داريد برايتان ايميل کنم)

با تشکر
سلام به دوستان عزیز
امکانش هست کامپوننت ها را داشته باشم ؟