View Full Version : reset کردن برنامه
omidan321
چهارشنبه 21 فروردین 1392, 21:11 عصر
سلام آیا میشه برنامه رو بست و به طور خودکار اونو باز کرد
یعنی به طور عمومی اونو ریست کرد ؟
ایا میشه ؟
یوسف زالی
چهارشنبه 21 فروردین 1392, 22:25 عصر
سلام.
کامپوننت MadShi این کار رو هنگام ارور دادن انجام می ده.
دیدن اینجا هم می تونه مفید باشه:
http://stackoverflow.com/questions/6020867/close-and-restart-the-current-application-in-delphi
Mask
پنج شنبه 22 فروردین 1392, 10:23 صبح
البته این کد هم تا حدودی این کار رو میکنه:
uses
ShellAPI;
//do code....
Application.Terminate;
ShellExecute(Handle,'open',pchar(Application.ExeNa me),'','',SHOW_OPENWINDOW);
omidan321
پنج شنبه 22 فروردین 1392, 11:31 صبح
دستتون درست
کار کرد ولی چون برنامم پسورد ورودی داره رمز رو تو کدها کپی کردم و وقتی روی دکمه ورود کلیک میکنم اتفاقی نمیافته
bitbtn1.click;
این کد کار نمیکنه که برنامه ریست کامل اجرا شه
به نظر شما اشکال کجاست؟
omidan321
پنج شنبه 22 فروردین 1392, 11:55 صبح
راست میگی عجب حرفی زدما
اینم اون قطعه کد مرموز
Application.Terminate;
ShellExecute(Handle,'open',pchar(Application.ExeNa me),'','',SHOW_OPENWINDOW);
getpass(pass1,1);
edit1.Text :=pass1;
bitbtn8.Click;
BORHAN TEC
پنج شنبه 22 فروردین 1392, 16:30 عصر
راست میگی عجب حرفی زدما
اینم اون قطعه کد مرموز
Application.Terminate;
ShellExecute(Handle,'open',pchar(Application.ExeNa me),'','',SHOW_OPENWINDOW);
getpass(pass1,1);
edit1.Text :=pass1;
bitbtn8.Click;
حاجی این دیگه چه کاریه؟! :متعجب:
موقعی که برنامه با Application.Terminate بسته میشه دستور ShellExecute هم اجرا میشه ولی خطهای بعد از اون اجرا نمیشه، نه اینکه اجرا نشه بلکه تاثیری در اجرای دوباره نداره! شما باید تابع getpass و بقیه رو در رویداد OnCreate یا چنین رویدادی کنترل کنید.چرا که برنامه به صورت کامل بسته شده و تمام اطلاعات ران تایم آن از حافظه پاک می شود و مجدداً اجرا می شود. شما میتونید که یوزر و پس رو قبل از خروج از برنامه در جایی ذخیره کنید و موقع باز کردن برنامه هم آنها را بخوانید و کنترل لازم را انجام دهید. این شکل ساده و تقریباً بدون امنیت لازم بود برای برقراری امنیت هم میتونید کارهایی را انجام دهید مثلاً اینکه اطلاعات رو در یک پایگاه داده رمز گذاری شده ذخیره کنید یا هر راهی که امنیت لازم رو برقرار کنه.
موفق باشید...
majidbestgame
پنج شنبه 22 فروردین 1392, 17:02 عصر
سلام پیشنهاد میکنم در رویداد OnCreate فرم برنامه تون یک کدی بنویسی که چک کنه آیا فایل مربوط به یوزر و پسورد در یک مسیر خاص موجو هست یا خیر اگه موجود بود برنامه اون فایل رو باز کنه و یوزر پس رو بخونه سپس لاگین کنه به برنامه سپس فایل مربوط به یوزر پسورد حذف بشه تا برای دفعات بعد اشتباهی رخ نده-برای امنیت هم میتونی از رمز نگاری base64 , ... استفاده کنین- اگرم موجود نبود فایل مورد نظر یعنی اینکه برنامه به طور عادی اجرا شده است
یوسف زالی
پنج شنبه 22 فروردین 1392, 19:09 عصر
نیازی به دیتابیس نیست.
کافیه برای برنامتون ورودی های Command Line در نظر بگیرید.
مثلا همچین چیزی:
MyProg FFB13762CD 909892AAE
omidan321
شنبه 24 فروردین 1392, 07:47 صبح
[/CODE]
برای برنامتون ورودی های Command Line در نظر بگیرید.
بیشتر توضیح میدی راجع بهش؟
یوسف زالی
شنبه 24 فروردین 1392, 12:39 عصر
در برنامه می تونید از ParamCount و ParamStr استفاده کنید.
در همین سایت سرچ کنید مطلب زیاد هست.
هنگام ران شدن برنامه هم اگر جلوی فایل Exe پارامتری بنویسید در برنامه در همون پارامتر ها دریافت می شه.
کجاش مشکل دارید؟
omidan321
شنبه 24 فروردین 1392, 15:11 عصر
مشکل ندارم فقط باید همین طور که گفتی سرچ کنم و این مطلبی رو که گفتی رو یه بار تست کنم جواب نگرفتم مزاحم میشم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.