PDA

View Full Version : عدم استفاده از برنامه در چند کامپیوتر



mortaza_max
یک شنبه 04 آذر 1397, 00:45 صبح
سلام
دوستان من یک برنامه با اکسس ساختم و حالا میخام قابلیتی بزارم که فقط در یک کامپیوتر اجرا بشه و راه حلی که به ذهنم رسیده اینه که مثلا از کاربر بخام سریال هاردیسکشو برام بفرسته و من اونو منها یا به اضافه یه عددی بکنم و برنامه باز بشه. یعنی اگه سریال یک کامپیوتر500 باشه به برنامه بگم که رمزش 500+5 هست مثلا و کاربر هم که اطلاع نداره از این موضوع و کد رو از طریق پیامک و یا وب بفرسته برا من و من رمز رو بهش تحویل بدم.
سوال من اینه :
میخوام اولین بار که اجرا شد فرم مربوط به کد سریال هارد دیسک اجرا بشه و بخش کد فعاسازی که تا این قسمت مشکلی نیست.
میخام بدونم که چه جوری میتونم این صفحه رو فقط در هنگام اجرای بار اول بیارم و درصورتی که کاربر موفق شد فعالش کنه دیگه نپرسه کد فعالسازی رو
مشکل دوم اینجاست که سریال ّبه شکل زیره و نمیشه عملیات ریاضی روش انجام داد! چه راح حلی پیشنهاد میکنید ؟
2336321-QMJ-664132
فقط هر راه حلی پیشنهاد میکنید لطفا کامل و کدشو هم بزارین. چون زیاد حرفه ای نیستم

mohammadsaleh
یک شنبه 04 آذر 1397, 13:11 عصر
سلام
درباره ماکرو autoexec جستجو کن. راهگشاست

mortaza_max
یک شنبه 04 آذر 1397, 13:42 عصر
سلام
درباره ماکرو autoexec جستجو کن. راهگشاست

چیز خاصی پیدا نکردم متاسفانه

fazl11
یک شنبه 04 آذر 1397, 16:56 عصر
سلام دوست عزیز
شما که فرم اولیه را درست کردید و کاربر کد مربوطه را وارد کرد دو تا راه آسون داره 1- بعد ثبت کد و تایید فرم، با کلیک روی دکمه تایید فرم را غیر فعال کنید یعنی همراه با تایید کد در صورت صحیح بودن کد هم ریجستر بشه هم فرم اولیه unvisible بشه 2- در فرم اولیه یک تیک باکس بذارید تا پس از تایید کد و بررسی صحت آن ، کاربر خودش تصمیم بگیره که فرم اولیه مجدد نمایش داده بشه یا نه

mortaza_max
یک شنبه 04 آذر 1397, 23:09 عصر
سلام دوست عزیز
شما که فرم اولیه را درست کردید و کاربر کد مربوطه را وارد کرد دو تا راه آسون داره 1- بعد ثبت کد و تایید فرم، با کلیک روی دکمه تایید فرم را غیر فعال کنید یعنی همراه با تایید کد در صورت صحیح بودن کد هم ریجستر بشه هم فرم اولیه unvisible بشه 2- در فرم اولیه یک تیک باکس بذارید تا پس از تایید کد و بررسی صحت آن ، کاربر خودش تصمیم بگیره که فرم اولیه مجدد نمایش داده بشه یا نه

روش خوبی بود برای یک بار اجرا. منتها اگه بعد unvisibel شدن همون فایل رو ببره تو یه کامپیوتر دیگه باید فرم دوباره کار کنه تا برای اون کامپیوتر باز نشه!که با این روش فکر نکنم بشه. بنظرم بهترین راه اینه که یه تیبل بسازیم که داخلش سریال کامپیوتر و کد فعالسازی جا بگیره و تو بار اول که کد فعالسازی رو وارد کرد در جدول ثبت بشه و هربار که برنامه رو اجرا کرد اول جدول رو برسی کنه و ببینه اگه سریال و کد فعالسازی باهم مچ هستن نشون نده. ولی چه جوری اینکار رو بکنم؟ که با هربار اجرای نرم افزار اول جدول رو بررسی کنه بعد ببینه اگه کد فعالسازی وجود داشت بره به برنامه و اگه نداشت فرم فعالسازی رو نشون بده. چه جوری این کارو بکنم؟

mosaArabi
دوشنبه 05 آذر 1397, 00:00 صبح
سلام
برای این کار شما باید یه فرم در شروع برنامتون قرار بدین که حاوی 2 تا تکست باکس باشه
در اولی بیاد شماره هارد سیستم را بخونه
در دومی هم شما کد ریجستر تولید شده را به کاربر میدین تا ثبت کنه
شما در انلود فرم هم باید دستور بنویسید که بیاد کد هارد بخونه و در تکست اول نمایش بده . بعد با تکست دوم برابری کنه البته با اون مدل دلخواهرشما در vbبرابر کنه
اگه مساوی بود که فرم بعدی را باز کنه وگر نه خود فرم نمایش داده بشه
اگه تمایل داشتین دمو ریجستر در کانال تلگرام بنده هست . میتونید الگو بگیرین
AccessSoft@

gitec1
دوشنبه 05 آذر 1397, 12:58 عصر
سلام
بهترین روش برای شما این هست که یک جدول ایجاد کنید و سریال ارسالی که شما برای کاربر ارسال می کنید در یک فیلد همان جدول دخیره شود /. فقط کافی هست و در انتها با یک کد نویسی ساده تا زمانی که ان فیلد به صورت دستی پاک نشود بر روی ان سیستم باز می شود.
در بخش
on loadeفرم کد زیر را وارد نمایید.
Private Sub Form_Load()
Me.txtSerial = CreateObject("Scripting.FileSystemObject").GetDrive("c:").SerialNumber
End Sub

mortaza_max
دوشنبه 05 آذر 1397, 18:02 عصر
سلام
بهترین روش برای شما این هست که یک جدول ایجاد کنید و سریال ارسالی که شما برای کاربر ارسال می کنید در یک فیلد همان جدول دخیره شود /. فقط کافی هست و در انتها با یک کد نویسی ساده تا زمانی که ان فیلد به صورت دستی پاک نشود بر روی ان سیستم باز می شود.
در بخش
on loadeفرم کد زیر را وارد نمایید.
Private Sub Form_Load()
Me.txtSerial = CreateObject("Scripting.FileSystemObject").GetDrive("c:").SerialNumber
End Sub

ممنون بابت راهنمایی ولی من کد نویسی بلد نیستم اصلا. چه جوری کد بنویسم که اگه برابر بود دیگه اجرا نشه؟ و همچنین اگه به کامپیوتر دیگه ای کپی شد اونجا هم باز سریال بخواد؟