چطور میتوان کدی نوشت که برنامه فقط یکبار اجرا شود؟

Mahdiseif

Member
دوستان سلام

میخواهم کدی را به برنامه اضافه کنم که پس از اجرای برنامه از اجرای دو باره جلوگیری کند.

آیا راهی دارد؟
متشکرم
 

sogoli

Active Member
با دستور زير برنامه وقتي به آخرين فريم مي رسد ثابت مي ماند
go the frame
 

Mahdiseif

Member
سلام
ببخشید مثل اینکه منظورم را مبهم بیان کردم.
من پروژه ای را که شامل چند ین قسمت است آماده کرده ام که قرار است بر روی سی دی تکثیر شود. فایل اصلی با قرار دادن سی دی در درایو بطور autorun اجرا میشود . میخواهم کاری کنم که اگر کاربر مثلا بر روی سی دی و یا icon فایل اجرایی کلیک کرد و در حالی که قبلا برنامه اجرا شده است ، دو باره اجرا نشود و از اجرای دوباره جلوگیری کند.

این کار در برنامه های مثلا دلفی با یک سری کد نویسی شدنی است ولی در lingo نمیدانم به چه ترتیب است.
 

iman1981

Member
نميدوونم ميشه در دايركتور به ليست برنامه هاي در حال اجرا در رم دسترسي داشت يا نه؟
ولي يه راهي به فكرم رسيد مي نويسم قابل انجامه.
شما مي تونيد در ابتداي اجراي پروژكتور يه شرط براي چك كردن وجود يا عدم وجود يك فايل يا مقدار قراردادي در يك فايل بزاري در صورت نبودن فايل يا مقدار اونو ميسازي و پروژكتور اجرا ميشه ولي در صورت وجود از قبل يعني برنامه يه بار قبل از اين هم اجرا شده و بنابراين از برنامه جاري خارج ميشي در انتها برنامه هم اون فايل يا مقدار را از بين ميبري.

فكر كنم كار بده يعني حتما كار ميده. (;
 

Mahdiseif

Member
ایمان عزیز
سلام

از راه حلت خیلی خوشم اومد و ظاهرا راه درستی باشه . امتحان میکنم .

راستی در اینترنت دنبال این موضوع گشتم . یک xtra به نام Buddyapi وجود دارد که دارای دستورات بسیاری من جمله همین خواسته ی من است . ولی قیمت آن 79 دلار است. مقداری با مطالب آن سر و کله زدم .یه جایی نوشته بود که اگر رجیستر نشوی فقط میتوانی در هر پروژه دو تا از امکانات این را استفاده کنی نه بیشتر. این حرف را غنیمت دونستم و دستور مربوط به موضوع را نوشتم و کار من راه افتاد . حالا نمیدونم بعدا ایراد میگیره یا نه؟ باید روی سیستم های دیگه امتحان کنم . نتیجه را بعدا مینویسم.

متشکرم
 

iman1981

Member
از كدوم متدش استفاده كردي؟
در ضمن يه mail براي نويسندش بزن بگو من دانشجوام و يه سريال براي استفاده شخصي مي خوام اسمتم بده برات ميفرسته من اينجوري يه سريال براي ورژن قبلش گرفتم يك سال پيش.
 

Mahdiseif

Member
با این دستور:
if baPrevious( true ) <> 0 then quit

فعلا کارم راه افتاده . ولی چیز خیلی خوبی است . برای گرفتن رجیستری اقدام میکنم اگه به من داد در همین جا آپلود میکنم. ورژن دریافتی شما اگه این امکان را داره میشه به ما هم مرحمت کنید؟


راستی ، روش شما هم خوبه ولی اگه از برنامه بصورت غیر عادی (مثل قطع برق )خارج بشیم دیگه برنامه اجرا نمیشه .چون اون فایل و یا اون متغیر پاک نشده .

به هر حال متشکرم :oops:
 

0012

Member
Mahdiseif گفت:
با این دستور:
if baPrevious( true ) <> 0 then quit

فعلا کارم راه افتاده . ولی چیز خیلی خوبی است . برای گرفتن رجیستری اقدام میکنم اگه به من داد در همین جا آپلود میکنم. ورژن دریافتی شما اگه این امکان را داره میشه به ما هم مرحمت کنید؟


راستی ، روش شما هم خوبه ولی اگه از برنامه بصورت غیر عادی (مثل قطع برق )خارج بشیم دیگه برنامه اجرا نمیشه .چون اون فایل و یا اون متغیر پاک نشده .

به هر حال متشکرم :oops:



MGS
2207741
 

bestman238

New Member
سلام شما اگر از ورژن جديد دايركتور 10 استفاده كنيد در قسمت publish يك تيك داره كه برنامه شما فقط يك دونه تو رم ميايد . وده بار هم برنامه اجرا بشه نميزاره .

اگه منظورت يكبار اجرا شدن برنامه است و ديگه كار نكنه از budy api استفاده كن اگه registerkey خواستي
پيام خصوصي بده
 

جدیدترین ارسال ها

بالا