PDA

View Full Version : سوال: تشخيص اينكه برنامه براي اولين بار در ويندوز اجرا شده است؟



SilverLearn
چهارشنبه 11 اسفند 1389, 16:37 عصر
سلام بچه ها من ميخوام برنام ه اي بنويسم كه تو اين قسمتش موندم كه مي خوام اولين باري كه برنامه در ويندوز باز ميشه رو تشخيص بده(كه اولين بار است كه برنامه اجرا شده) و يك فرم رو نمايش بده ولي بعد از اجراي دوم اين فرم ديگه نمايش داده نشه
اميدوارم كه منظور من رو فهميده باشين
پيشاپيش از همتون تشكر مي كنم....

knight-rak
چهارشنبه 11 اسفند 1389, 18:21 عصر
از دو راه میشه استفاده کرد 1 سیستم فایلینگ که یه مقداری رو توی یه فایل ذخیره کنید و از اون بخونید و بعد از اجرای اول تغییر کنه
ذخیره کردن یه مقدار توی ریجستری که بازم مثل قبلی باید تغییر کنه
موفق باشید ....

jakijavad
چهارشنبه 11 اسفند 1389, 18:45 عصر
سلام djmohammad (http://barnamenevis.org/member.php?48668-djmohammad) عزیز

یه حافظه برا برنامه ات ایجاد کن ، ( با استفاده از فایل یا دیتا بیس)
مثلا میتونی موقع لود شدن برنامه برا اولین باربا استفاده از یک text Box رکوردی رو ذخیره کنی و یه کد مقایسه قرار بدی که اگه برنامه دوباره لود شد تعداد رکورد هارو با رکورد قبلی قبلی که ذخیره شد مقایسه کنه اگه از اون کمتر بود مثلا فرم 2 نمایش داده بشه واگه بیشتریا مساوی بود فرم 3 نشون داده بشه . البته احتمالا راه های ساده تری هم هست مثل استفاده از رجیستری و...

مثال زیر رو دانلود کن

ٍٍٍExample.rar = http://www.parsiking.com/upload/file8/1299109004.rar دانلود

نمی دونم تا چه حد آشنایی داری اگه ابهام داشتی بگوتا توضیح بدم . فقط اینو بگم که تو text box که تو فرم اول هست مهم نیست که چی وارد بشه ، فقط باید حتما یه چیزی وارد بشه که به جدول ما تو بانک اطلاعاتی یک سطر ( رکورد) اضافه بشه . هر بار که برنامه اجرا میشه تعداد رکورد ها شمرده میشه و اگر این تعداد با مقدار قبل فرق داشته باشه دیگه فرم 2 نشون داده نمیشه و فرم 3 نشون داده میشه .
دقت داشته باش که اولین بار که برنامه اجرا میشه تا قبل از اینکه کاربر توی text box چیزی بنویسه و دکمه رو فشار بده تعداد سطر (رکورد) های جدول بانک اطلاعاتی صفر هستش
بعد از فشار دادن دکمه تعداد سطر ها به "یک " تغییر میکنه . من تو برنامه قرار دادم اگه تعداد رکورد ها کمتر از 2 بود فرم 2 نشون داده بشه در غیر ایصورت فرم 3 نشون داده بشه .
امیدوارم واضح بوده باشه

اینم کدهای برنامه :
Private Sub Command1_Click()
Adodc1.Recordset.Update
If Adodc1.Recordset.RecordCount < 2 Then
Load Form2
Form2.Show
Form1.Hide
Else
Load Form3
Form3.Show
Form1.Hide
End If

End Sub
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Hard\MMMM.mdb"
Adodc1.CommandType = adCmdTable
Adodc1.RecordSource = "Table1"
Adodc1.Refresh
Text1.DataField = "ssss"
Adodc1.Recordset.AddNew
End Sub

Private Sub Text1_Change()
If Text1.Text <> "" Then
Command1.Enabled = True
Else
Command1.Enabled = False
End If
End Sub

ali190
چهارشنبه 11 اسفند 1389, 19:49 عصر
سلام
این کار رو میتونی به راحتی از طریق ذخیره و بازخوانی مقدار در رجیستری انجام بدی
یاعلی

محسن واژدی
چهارشنبه 11 اسفند 1389, 20:18 عصر
سلام علیکم
این نمونه را ببینین

موفق باشید

jakijavad
چهارشنبه 11 اسفند 1389, 22:45 عصر
mohsenvj (http://barnamenevis.org/member.php?104729-mohsenvj)

فوق العاده بود . میشه گفت لقمه رو بدون این که یه 3-4 بار دور سر چرخوند راحت تو دهن گذاشت . :لبخند: