PDA

مشاهده نسخه کامل : کمک در رابطه با برنامه نویسی اتو پلی



salahisoft
28-07-15, 16:17
سلام دوستان
توی نرم افزار اتو پلی ما بر فرض 20 تا گزینه داریم(a تا t) اگه گزینه های abcdef رو انتخاب کردیم یه صفحف باز شه و داخلش بنویسه جواب فلا چیز است و یا از توی همون 20 تا گزینه های ghi رو انتخاب کرد یک صفحه باز بشه و جواب رو داخلش بنویسه
در کل به ازای انتخاب یه سری از گزینه ها یه سری جواب ها را به ما بده .
ممنون میشم کمک کنید
نمونه کاملا ناقص
download (Only the registered members can see the link)

SajjadKhati
28-07-15, 16:47
متوجه نشدم
یه کم واضح تر بگو چی میخای

salahisoft
28-07-15, 23:39
سلام دوست عزیز ممنون از جوابت
نمونه رو دانلود کردی؟
توی نمونه 7 تا چک باکس داریم که یوزر به ازای انتخاب چند تا چک باکس مثلا(abcd) و با زدن دکمه کلیک هر یا xbutton1 یه صفحه جدید بازبشه و داخلش نوشته شده باشه جواب اول
و اگه یوزر گزینه های (efg) رو انتخاب کرد و روی گزینه کلیک هر یا xbutton1 کلیک کرد یه صفحه جدید باز بشه وداخلش نوشته شده باشه جواب دوم , همین . به همین ترتیب تا اخر

دیگه از این ساده تر نمیتونستم توضیح بدم .
ممنون از کمک کردد .

SajjadKhati
29-07-15, 01:23
سلام گلپسر
نگا کن اگه برنامه ای میخای بنویسی ، اول ، کلیات و بعدش جزئیاتش رو برا خودت مشخص کنی تا الگوریتم مورد نظرتو بنویسی
اینی که تو میگی اصلا هدفش مشخص شده نیست تا الگوریتم بشه براش تعریف کرد. این بار توضیحت مشخصه اما هدفت مبهم هه . یعنی بر چه اساس مثلا abc رو انتخاب کرده باشه ، صفحه ای باز شه؟ یعنی مثلا فقط 2 (مثلا فقط a و b) تا یا 10 تا یا 12 تا یا 20 تا و ... رو با هم انتخاب کرده باشه ، چی بشه؟ اگه تکی انتخاب کرده باشه چی؟ 2 تا انتخاب شده باشه ، چه صفحه ای باز شه و مثلا کمتر یا بیشتر ، چه صفحه ای؟ کلا چند تا صفحه داری؟
جواب اول و دوم بر چه اساس نمایش بده؟
کلا هدفت بسیار مبهم هه
کلا قضیه رو بگو که چه برنامه ای میخای بنویسی؟

salahisoft
29-07-15, 11:51
سلام دوست من
ببینید گزینه ها همون سوالاته و و اون صفحه ای که میخوایم با زدن دکمه باز شه جوابش هست حالا این صفحه هرچیزی میتونه باشه یه صفحه ای مثل صفحه اصلی اما با ابعاد کوچکترففکر میکنم دیالوگ باشه (مثل صفحه سریال نامبر نرم افزار ها ) که قرار نیست با هر بار انتخاب گزینه ها یه صفحه جدید بازشه همون صفحه هستش اما جواب داخلش تغییر میکنه .
من تو کار مشاوره هستم دارم یه نرم افزاری با کمک شما درست میکنم که بتونم همکارهام یا هرکس دیگه ای با انتخاب مشکلاتش از بین گزینه ها محصول مورد نظرش رو بتونه تشخیص بده و بدونه چی باید استفاده کنه .
نمونه (Only the registered members can see the link)

SajjadKhati
29-07-15, 17:38
گلپسر من بازم متوجه نشدم
تیک سئوال ها رو میزنه ، بعد جواب میاد؟ خیلی کلی صحبت میکنی و مسائل رو نمیشکافی .
جواب ها رو اغلب تیک میزنن و درستی و نادرستی شو چک مینن . اینی که میگی بیشتر باز کن . جواب و سئوال ، هر دو تشریحی ان؟
این طوری میخای مثلا هر سئوالی ، یه جواب داشته باشه (فرضا 10 تا سئوال به کاربر داده میشه) و متناظر با هر کدوم ، 10 تا جواب داشته باشه (هر دو تشریحی) که کاربر با زدن تیک هر سئوال ، جواب های اون سئوالات به کاربر نمایش داده شه . مثلا اگه تیک سئوال 3 و 8 و 9 رو زد ، جواب این سه سئوال تیک زده شده ، بعد از زدن دکمه ی مورد نظر ، لیست بشه؟
از کلی تا جزئی ترین چیز همه رو بگو
اگه هم دوست داشتی ، میتونی ادامه ی بحث ها رو تو این تاپیک بگی :

فیلم آموزش کامل Autoplay Media Studio (Only the registered members can see the link)

چون سئوالات اتوپلی اونجا هستن و اگه کسی سئوال مشابه داشت ، پخش و پلا نشه

salahisoft
29-07-15, 18:56
سلام
یه دستور if نیاز داره که شرط باید بهش داد شرطش چیه ؟
اگه گزینه های اول و دوم و سوم رو کاربر انتخاب کرد با زدن دکمه باتون یه دیالوگ باز بشه که توش نوشته شده باشه جواب 1 و اگه گزینه های سوم چهارم و پنجم رو انتخاب کرد با زدن دکمه باتون یه دیالوگ باز بشه و توش بنویسه جواب شماره 2
و غیر از اینها گزینه ای رو انتخاب کرد باز هم با زدن دکمه باتون یه دیالوگ بازشه و بنویسه جواب وجود ندارد .
همین

SajjadKhati
29-07-15, 20:54
چقد سلام میکنی گلپسر؟ :Love-ssa~! (1):
سلام
همین؟ من فک کردم این یه نمونه هست و با کداش میخای مثلا سئوال 100 تایی طرح کنی
کدهای داخل چک باکس رو پاک کن و توی دکمه جواب گزینه ها اینو بزار :



for i=1,3 do
threeOption = CheckBox.GetChecked("CheckBox"..i);
if threeOption==false then
AllOption1 = "No"
break
else
AllOption1 = "Yes"
end
end


for i=3,5 do
threeOption = CheckBox.GetChecked("CheckBox"..i);
if threeOption==false then
AllOption2 = "No"
break
else
AllOption2 = "Yes"
end
end


if AllOption1 ~= nil and AllOption1 == "Yes" then
Dialog.Message("Notice", "javab 1", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
elseif AllOption2 ~= nil and AllOption2 == "Yes" then
Dialog.Message("Notice", "javab 2", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
else
Dialog.Message("Notice", "javab vojod nadarad", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end


AllOption1 = nil
AllOption2 = nil


کدها رو چک نکردم . چک کن ببین مشکلی نداشته باشه
آموزش برنامه نویسی و ams هم هست تو اون تاپیک

salahisoft
29-07-15, 23:11
اگه بخوام تغییرات ایجاد کنم باید کدوم قسمت رو ویرایش کنم ؟منظورم توی گزینه های انتخابی باشه مثلا اگه گزینه 1و 5 رو کاربر انتخاب کنه یا گزینه 3و 6 رو انتخاب کنه کدوم قسمت رو باید ویرایش کنم ؟
ببخشید اینقدر سوال میپرسم .

SajjadKhati
30-07-15, 09:07
نه خواهش میکنم
واسه همین گفته بودم خوب توضیح بده دیگه
منظورت اینه که اگه کاربر چک باکس اول و پنجم و نهم را تیک زد ، پیام بده که تیک گزینه ی اول و پنجم و دهم رو زد؟
یعنی تیک هر گزینه ای رو زد ، پیام بده که تیک اون گزینه رو زد؟

salahisoft
30-07-15, 15:16
نه دوست من
توی این کد که شما گذاشتید با زدن کل تیک گزینه ها و کلیک کردن روی دکمه جواب مینویسه جواب 1 و با برداشتن تیک گزینه اول از کل گزینه های تیک دار و با زدن دکمه جواب مینویسه جواب 2 حالا :
من میخوام عوض کل گزینه ها که که تیک میزنی که مینویسه جواب 1 کاربر گزینه 1 و 5 رو انتخاب کنه و دکمه جواب رو زد بنویسه جواب 1 و اگه گزینه های 3 و 6 رو انتخاب کنه و دکمه جواب رو زد بنویسه جواب 2 و اگه گزینه های 2 و 7 رو انتخاب کنه و دکمه جواب رو زد بنویسه جواب 3
ممنون

SajjadKhati
30-07-15, 17:36
نه دوست من
توی این کد که شما گذاشتید با زدن کل تیک گزینه ها و کلیک کردن روی دکمه جواب مینویسه جواب 1 و با برداشتن تیک گزینه اول از کل گزینه های تیک دار و با زدن دکمه جواب مینویسه جواب 2 حالا :
من میخوام عوض کل گزینه ها که که تیک میزنی که مینویسه جواب 1 کاربر گزینه 1 و 5 رو انتخاب کنه و دکمه جواب رو زد بنویسه جواب 1 و اگه گزینه های 3 و 6 رو انتخاب کنه و دکمه جواب رو زد بنویسه جواب 2 و اگه گزینه های 2 و 7 رو انتخاب کنه و دکمه جواب رو زد بنویسه جواب 3
ممنون

مشکل دومی بخاطره اینه که اسم چک باکس هات قاتی پاتی هه
مشکل اولی به اضافه ی مشکلی که علاوه بر اسامی چک باکس ها (مثلا چک باکس 1 و 2 و 3 یا 3 و 4 و 5) ، چک باکس های دیگه هم تیک میخورن و پیام جواب وجود ندارد رو نمیده ، اشتباه من بود (گفتم کدها رو چک نکردم) . تصحیح اش کنم؟
گلپسر مباحث این جوری ، جزء مباحث اولیه ی برنامه نویسی تو لوا هست و با دیدن چند قسمت اول فیلم آموزش میتونی این نوع الگوریتم رو کد نویسی کنی

salahisoft
31-07-15, 22:05
حالا میتونی این قسمت رو کمک کنی ؟ و برنامش رو بنویسی ؟

SajjadKhati
31-07-15, 23:38
این الگو رو پیش برو (این برا گزینه های 1 و 5 هست) :



Question = {}
for i=1,7 do
Question[i] = CheckBox.GetChecked("CheckBox"..i);
end


if (Question[1] and Question[5]) and (Question[2]==false and Question[3]==false and Question[4]==false and Question[6]==false and Question[7]==false) then
Dialog.Message("Notice", "javabe 1", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
end

salahisoft
01-08-15, 01:29
این اگو عالی بود
فقط اینکه اگه تعدادگزینه ها خیلی زیاد باشه مثلا 50 تا , کاربر از 50 تا 2 تاش رو انتخاب کنه باید 48 تا ی دیگه رو فالس (false) داد و این زمان خیلی زیادی رو میبره .
ایا راه حلی برای این مشکل داری ؟

SajjadKhati
01-08-15, 07:15
آخه چون الگوی تو قاتی پاتیه و ترتیب خاصی نداره
مثلا یه بار میگی گزینه ی 2 و 5 ، یا بار میگی 1 و مثلا 8 و ...
اگه ترتیب خاصی داشت میشد

salahisoft
30-09-15, 19:13
سلام
خوبید ؟
چطوری میشه فایل ini رو که زمان زیادی میبره رو راحت تر نوشت ؟ لطفا راه حل بدید .
یا یه برنامه ای با اتو پلی نوشت که بشه خیلی سریعتر پارامتر های جستجو در ini رو سریعتر وارد کرد ؟
یه نمونه عکس میزارم
دانلود (Only the registered members can see the link)

SajjadKhati
30-09-15, 22:34
الان یعنی داری این داده ها رو که تو عکس گزاشتی (مثل همین Adobe Audition CS6 به عنوان داده ی num_1 تو خط 6 و ...) رو خودت توی فایل ini مینویسی؟
درست متوجه شدم؟ :1. (27):
اگه آره که قضیه ی این دیگه دیتابیس نمیشه. این جوری خیلی راحت تره که با متغییرها و بدون استفاده از دیتابیس کار کنی
اگه این حدسم درست باشه که باید از اول آموزش ها رو پی گیری کنی (چون لازمه غیر از دیتابیس ، حلقه ها و متغییرها و آرایه ها و کلا پایه ی برنامه نویسی رو یاد بگیری تا بتونی خودکار به نرم افزار بگی اطلاعات رو بخونه پشت سرهم)
بهتره با آرایه های چند بعدی هم آشنا بشی (البته خیلی ضروری نیست ولی کارت رو خیلی راحت تر میکنه)
تمام این آموزش ها چه بصورت فیلم یا متن تو انجمن هست (آرایه ی چند بعدی بصورت متنی هست)

salahisoft
02-10-15, 04:17
کل چیز هایی که توی عکس میبینی رو کسی که میخوتد فایل ini رو بنویسه باید به صورت دستی وارد کنه و این خودش زمان زیادی رو میطلبه .
میخوام یه نرم افزار باشه که موارد زیر دا خلش باشه به تعدادی که کاربر نیاز داره

[Groups]
number=------
--------------
[group_1]
name=All
num_1=-------------
group_1=------------
disk_1=-----
num_2=-----------------
group_2=------------
disk_2=-----------
num_3=----------------
group_3=----------------
disk_3=----------------
num_4=----------------
group_4=----------------
disk_4=----------------

number=----------



==========================
[group_2]
name=Adobe Collection
num_1=-----------------
search_1=-----------------
num_2=-----------------
search_2=-----------------
num_3=Adobe Photoshop.Elements.11
search_3=ادوب.فتوشاپ

number=-----------------

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


============================
یه سوال کلی :
ایا راهی هست که بشه فایل ini رو راحت تر و سریعتر نوشت ؟

SajjadKhati
02-10-15, 07:40
آقا فایل ini رو که کسی جز برنامه نویس نمینویسه
بعدشم لازم نیست خودت وارد کنی . اطلاعات رو از کاربر میگیری و تو آرایه ذخیره میکنی و تو فایل ini به خود نرم افزار میگی که بنویسه
چند باره گفتم که تو آموزش ها آموزشش هست حتما ببین (از قسمت دوم آموزش ها)

salahisoft
01-12-15, 12:25
سلام دوست من
یه توضیحی بدم این کیجن برای یه قفل نرم افزاری هست که به مجبور شدم دنبالش برم داستانش مفصله . . .
این کد طوری هست که میاد شناسه سخت افزار هارد کامپیوتر میگیره (در سیستم های مختلف متفاوته )و با کد اختصاصی(فرضا ثابت ) که ما از قبل بهش دادیم میاد یه کد اکتیو تولید میکنه .
خوب حالا کد های مبنا در الگوریتم برنامه نویس

sepehr.Lock._testGlobalVar = {
Language:"fa",
TrialTime: "10",
ProductName: "Product Name",
IsDemoLicense: "true",
SerialNumber: "1111222233334444",
SerialNumberDecorated: "1111-2222-3333-4444",
ComputerId: "1234567890",
ComputerIdDecorated: "12345-67890",

Company: "Company Name",
ActivationCode: "23X32355Y967969ZZZ",

SupportInternetUrl: "1",
و کد های سیستم خودم به شرح زیر هست


SerialNumberDecorated: "0615-7175-0678-3544",
ComputerId: "20214-51410",
ComputerIdDecorated: "20214-51410",

ActivationCode: "Z9X74H21XYQ13Z1581",



حالا میخواستم بدونم چجوری باید یه کیجن با اتو پلی درست کنم . لطفا کمکم کنید .
اینم کد های اصلی
// **NOTE: never update this file, this file will replaced by sepehr Softlock
if (typeof sepehr == "undefined") sepehr = {};
if (typeof sepehr.SoftLock == "undefined") sepehr.SoftLock = {};

if (!Array.indexOf) {
Array.prototype.indexOf = function(obj) {
for (var i = 0; i < this.length; i++) {
if (this[i] == obj) {
return i;
}
}
return -1;
}
}

sepehr.SoftLock._testGlobalVar = {
Language:"fa",
TrialTime: "10",
ProductName: "Product Name",
IsDemoLicense: "true",
SerialNumber: "1111222233334444",
SerialNumberDecorated: "1111-2222-3333-4444",
ComputerId: "1234567890",
ComputerIdDecorated: "12345-67890",
Phone: "Phone",
Company: "Company Name",
ActivationCode: "23X32355Y967969ZZZ",
Email: "Email@ema (Only the registered members can see the link)il.com",
FirstName: "First Name",
LastName: "Last Name",
SupportInternetUrl: "1",
SupportInternetUrlValue: "Only the registered members can see the link",
SupportPhone: "true",
SupportPhoneValue: "SupportPhone",
SupportSms: "true",
SupportSmsValue: "SupportSms"

};

sepehr.SoftLock.lastRegModeGet = function()
{
var lastRegMode = this.getGlobalVar("LastRegMode");
if (lastRegMode=="")
{
var hash = window.location.hash;
if (hash.length>0 && hash.charAt(0)=='#')
hash = hash.substr(1);
lastRegMode = hash;
}
return lastRegMode;
};

sepehr.SoftLock.lastRegModeSet = function(value)
{
this.setGlobalVar("LastRegMode", value);
};

sepehr.SoftLock.getGlobalBool = function(key) {
if (!this.isSoftLockHost())
return true;
return this.getGlobalInt(key) != 0;
};

sepehr.SoftLock.isDemoLicense = function() {
return this.getGlobalBool("IsDemoLicense");
};

sepehr.SoftLock.isSupportInternetAutomatic = function() {
return this.getGlobalBool("SupportInternetAutomatic");
};

sepehr.SoftLock.isSupportInternetUrl = function() {
return this.getGlobalBool("SupportInternetUrl");
};

sepehr.SoftLock.isSupportSms = function() {
return this.getGlobalBool("SupportSms");
};

sepehr.SoftLock.isSupportPhone = function() {
return this.getGlobalBool("SupportPhone");
};

sepehr.SoftLock.isSupportActivationFile = function() {
return this.getGlobalBool("SupportActivationFile");
};

sepehr.SoftLock.isTrialEnabled = function() {
return this.getGlobalBool("IsTrialEnabled");
};


sepehr.SoftLock.languageSet = function(name) {
this.setGlobalVar("Language", name);
};

sepehr.SoftLock.languageGet = function() {
return this.getGlobalVar("Language");
};

sepehr.SoftLock.serialNumberGet = function() {
return this.getGlobalVar("SerialNumber");
};

sepehr.SoftLock.computerIdGet = function() {
return this.getGlobalVar("ComputerId");
};

sepehr.SoftLock.serialNumberSet = function(value) {
return this.setGlobalVar("SerialNumber", value);
};


sepehr.SoftLock.getGlobalInt = function(key) {
var globalVar = this.getGlobalVar(key);
var ret = parseInt(globalVar, 10);
return isNaN(ret) ? 0 : ret;
};

sepehr.SoftLock.getGlobalVar = function(key) {
if (!this.isSoftLockHost()) {
return this._testGlobalVar[key] == undefined ? "" : this._testGlobalVar[key];
}

return this.sendDataToHost("Command=GetGlobalParam;Key=" + key);
};

sepehr.SoftLock.setGlobalVar = function(key, value) {
if (!this.isSoftLockHost())
this._testGlobalVar[key] = value;

this.sendDataToHost("Command=SetGlobalParam;Key=" + key + ";Value=" + String(value));
};

sepehr.SoftLock.isSoftLockHost = function() {
return window.external != null &&
window.external["sendDataToHost"] != undefined &&
sepehr.Convert.toBoolean(window.external["sendDataToHost"]("Command=IssepehrSoftLockHost"), false);
};

sepehr.SoftLock.sendDataToHost = function(parameter) {
if (!this.isSoftLockHost())
return "";

return window.external["sendDataToHost"](parameter);
};

sepehr.SoftLock.runTrial = function() {
this.sendDataToHost("Command=RunDemo");
};

sepehr.SoftLock.getCodeFromInternet = function() {
this.sendDataToHost("Command=GetCodeFromInternet");
};

sepehr.SoftLock.getCodeFromFile = function() {
this.sendDataToHost("Command=GetCodeFromFile");
};

sepehr.SoftLock.register = function() {
this.sendDataToHost("Command=Register");
};

sepehr.SoftLock.checkSerialNumber = function() {
this.sendDataToHost("Command=CheckSerialNumber");
};

// tools specific language functions
sepehr.SoftLock.LangSpecification = function(name, displayName) {
this.name = name;
this.displayName = displayName;
};

sepehr.SoftLock.getLanguages = function() {
var languages = new Array();
var xmlString = this.isSoftLockHost() ? this.getGlobalVar("AllLanguages") : "<Languages> <Language Name='en' NativeName='English'/> <Language Name='fa' NativeName='فارسی' /> </Languages>";
var xml = sepehr.Xml.loadXMLString(xmlString);
var languageElements = xml.getElementsByTagName("Language");
for (var i = 0; i < languageElements.length; i++) {
var name = languageElements[i].getAttribute("Name");
var nativeName = languageElements[i].getAttribute("NativeName");
languages[i] = new sepehr.SoftLock.LangSpecification(name, nativeName);
}
return languages;
};

sepehr.SoftLock.initLanguageCombo = function(combo) {
var langArray = this.getLanguages();
for (var i = 0; i < langArray.length; i++) {
var oOption = document.createElement("OPTION");
oOption.value = String(langArray[i].name);
oOption.text = langArray[i].displayName;
combo.options.add(oOption);
if (langArray[i].name == this.languageGet())
combo.selectedIndex = i;
}

combo.onchange = function() {
sepehr.SoftLock.languageSet(combo.value);
location.reload();
}
};

sepehr.SoftLock.serialTextBox_GetValue = function(edit1, edit2, edit3, edit4) {
var edits = new Array();
//initialize all edit boxes
edits.push(document.getElementById(edit1));
edits.push(document.getElementById(edit2));
edits.push(document.getElementById(edit3));
edits.push(document.getElementById(edit4));

var ret = "";
for (var i = 0; i < edits.length; i++)
ret += edits[i].value;
return ret;
};


sepehr.SoftLock.serialTextBox_Init = function(edit1, edit2, edit3, edit4) {
var edits = new Array();
//initialize all edit boxes
edits.push(document.getElementById(edit1));
edits.push(document.getElementById(edit2));
edits.push(document.getElementById(edit3));
edits.push(document.getElementById(edit4));

function checkForNextFocus(element) {
if (element.value.length == 4) {
var index = edits.indexOf(element);
if (index < 3) edits[index + 1].focus();
}
}

function onpaste(e) {
if (window.clipboardData == undefined)
return;

if (e == undefined) e = window.event;
var serialNumber = window.clipboardData.getData("Text");
serialNumber = serialNumber.replace(/-/g, "");
if (serialNumber.length == 16) {
for (i = 0; i < 4; i++)
edits[i].value = serialNumber.substr(i * 4, 4);
}
}

function onpropertychange(e) {
if (e == undefined) e = window.event;
var target = e.target || e.srcElement;
if (e.propertyName == "value")
checkForNextFocus(target);
}

function onkeypress(e) {
if (e == undefined) e = window.event;
var target = e.target || e.srcElement;
}

for (var i = 0; i < edits.length; i++) {
edits[i].maxLength = 4;
edits[i].onpaste = onpaste;
edits[i].onpropertychange = onpropertychange;
}

//set serial number to edit-boxes if exists
var serialNumber = this.serialNumberGet();
if (serialNumber != "" && serialNumber.length == 16) {
for (i = 0; i < 4; i++)
edits[i].value = serialNumber.substr(i * 4, 4);
}
};

sepehr.SoftLock.formatUserCodeForSms = function() {
var computerId = this.computerIdGet();
var serialNo = this.serialNumberGet();

var split = 4;
var value = computerId + serialNo;
var sms = new String();
for (var i = 0; i < value.length; i += split) {
sms += value.substr(i, split);
if (i + split < value.length) sms += "*";
}
return sms;
};

sepehr.SoftLock.checkActivationCode = function() {
switch (this.getLastError().toLowerCase()) {
case "cancel":
break;

case "":
window.location = "ResultAccept.htm";
break;

default:
this.showLastError();
}
};

sepehr.SoftLock.resourceFolderGet = function() {
return "resources/" + this.languageGet();
};

sepehr.SoftLock.resourceManager = new sepehr.resources.ResourceManager("Resources", sepehr.SoftLock.languageGet());
sepehr.SoftLock.init = function() {
var _this = this;
this.resourceManager.onIsReadyChange.addListener(t his, function() {
if (!this.resourceManager.isReady())
return;
document.body.innerHTML = sepehr.Utils.updateText(document.body.innerHTML, function(module, resourceFile, resourceKey) {
if (resourceFile != null) resourceFile = resourceFile.toLowerCase();
if (resourceFile == null || resourceFile == "resources") {
return _this.resourceManager.getString(resourceKey);
}
if (resourceFile == "properties") {
return _this.getGlobalVar(resourceKey);
}
});

//sepehr.Html.loadCssFile(this.resourceFolderGet() + "/styles.css"); //security error on RTL
sepehr.Html.setDocumentDirectionAndMirror(this.res ourceManager.getString("Direction"));

//update fields
this.updateFields(false);
});

this.resourceManager.init();
};

sepehr.SoftLock.insertLanguages = function() {
//adding languages
var languages = this.getLanguages();
for (var i = 0; i < languages.length; i++)
this.resourceManager.addResourceSet(languages[i].name, "resources/" + languages[i].name + "/Resources.resx");
};

sepehr.SoftLock.getLastError = function() {
return this.getGlobalVar("LastError");
};

sepehr.SoftLock.getLastErrorInfo = function() {
return this.getGlobalVar("LastErrorParam");
};

sepehr.SoftLock.showLastError = function() {
var err = this.getLastError();
var errInfo = this.getLastErrorInfo();

var msg = this.resourceManager.getString(err);
if (msg == null) msg = "Unknown Error!";

if (errInfo > "") msg += "\n\n";
alert(msg);
};

sepehr.SoftLock.updateField = function(elementId, save) {
if (document.getElementById(elementId) == undefined)
return;

var captal = elementId.substr(0, 1).toLocaleUpperCase() + elementId.substr(1);

if (save)
this.setGlobalVar(captal, document.getElementById(elementId).value);
else
document.getElementById(elementId).value = this.getGlobalVar(captal);
};

sepehr.SoftLock.updateFields = function(save) {
sepehr.SoftLock.updateField("firstName", save);
sepehr.SoftLock.updateField("lastName", save);
sepehr.SoftLock.updateField("email", save);
sepehr.SoftLock.updateField("company", save);
sepehr.SoftLock.updateField("phone", save);
sepehr.SoftLock.updateField("activationCode", save);
sepehr.SoftLock.updateField("serialNumber", save);
sepehr.SoftLock.updateField("serialNumberDecorated", save);
sepehr.SoftLock.updateField("computerId", save);
sepehr.SoftLock.updateField("computerIdDecorated", save);
sepehr.SoftLock.updateField("country", save);
sepehr.SoftLock.updateField("city", save);
sepehr.SoftLock.updateField("address", save);

if (document.getElementById("serial1") != undefined) {
if (save)
sepehr.SoftLock.serialNumberSet(sepehr.SoftLock.se rialTextBox_GetValue("serial1", "serial2", "serial3", "serial4"));
else
sepehr.SoftLock.serialTextBox_Init("serial1", "serial2", "serial3", "serial4");
}
};

//startup codes
sepehr.SoftLock.insertLanguages(); //start loading languages



لطفا کمک کنید .

SajjadKhati
01-12-15, 13:01
سلام گلپسر
لطفا بگو مشکلت تو کدوم تیکه از کد هه؟
من نمیتونم همه ی این کدا رو چک کنم
اون قسمت از الگوریتمی که متوجه نشدی رو بگو؟
اگه آموزش کلی این نوع و روش کیجن رو میخوای ، تو سایت پرشین کدرز هست

salahisoft
01-12-15, 13:32
عزیزم سوالم واضح بود
ما

SerialNumberDecorated: "0615-7175-0678-3544", ComputerId: "20214-51410" ActivationCode: "Z9X74H21XYQ13Z1581", داریم و یه الگوریتم اصلی که به وسیله اون الگوریتم اکتیویشن کد برای ما ساخته میشه حالا میخوایم یه کیجن درست کنیم که اگه کامپیوتر ای دی سیستمی تغییر کرد برای ما یه اکتیویشن کد باتو جه به الگوریتمی اصلی که براتون گذاشتم درست کنه .
همین
ممنون

SajjadKhati
01-12-15, 14:07
عزیزم سوالم واضح بود
ما

SerialNumberDecorated: "0615-7175-0678-3544", ComputerId: "20214-51410" ActivationCode: "Z9X74H21XYQ13Z1581", داریم و یه الگوریتم اصلی که به وسیله اون الگوریتم اکتیویشن کد برای ما ساخته میشه حالا میخوایم یه کیجن درست کنیم که اگه کامپیوتر ای دی سیستمی تغییر کرد برای ما یه اکتیویشن کد باتو جه به الگوریتمی اصلی که براتون گذاشتم درست کنه .
همین
ممنون

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

salahisoft
01-12-15, 14:23
الان منظورت اینه که اگه آی پی سیستم تغییر کرد ،الگوریتم بالا ، اکتیو کد تولید نمیکنه؟دقیقا منظورم همینه و لی اون ای پی نیشت شناسه کامپیوتره .
حالا میتونی کمک کنی به روش معکوس یا هر چیز دیگه ای به کمک نرم افزار اتو پلی یا هر نرم افزار دیگه ای بتونیم یه کیجن درست کنیم ؟

SajjadKhati
01-12-15, 14:35
الان منظورت اینه که اگه آی پی سیستم تغییر کرد ،الگوریتم بالا ، اکتیو کد تولید نمیکنه؟دقیقا منظورم همینه و لی اون ای پی نیشت شناسه کامپیوتره .
حالا میتونی کمک کنی به روش معکوس یا هر چیز دیگه ای به کمک نرم افزار اتو پلی یا هر نرم افزار دیگه ای بتونیم یه کیجن درست کنیم ؟


من نرم افزار دیگه بلد نیستم
اگه سراغ نرم افزار دیگه ای میخای بری ، طرف ویژال استودیو و زبان #C برو که اساتید تو این انجمن هستن
----
خوب منم که گفتم . اگه خودت کد بالا رو نوشته باشی باید بدونی کدوم تیکه رو مشکل داری. حالا اون تیکه رو فقط ازم سئوال بپرس و فقط اون یه تیکه کدش رو بزار
نه من تو پروژه ی کلی به کسی کمک نمیکنم

salahisoft
01-12-15, 14:38
ممنونم اما گفتم شاید بتونید کمکم کنید .:1. (28):

SajjadKhati
01-12-15, 14:41
ممنونم اما گفتم شاید بتونید کمکم کنید .:1. (28):

کمک میکنم گلپسر (البته تا جایی که بلد باشم)
در صورتی که خودت بخای و فقط جاهایی که مشکل داری رو بگی نه این جوری کلیات رو

salahisoft
01-12-15, 14:45
خوب بیا از صفر شروع کنیم .
قسمتی که میاد کد

SerialNumber ComputerId
رو میگیره و تبدیل به کد اکتیویشن میکنه کدوم قسمته ؟

salahisoft
01-12-15, 15:20
کجا رفتید ؟

SajjadKhati
01-12-15, 16:30
خوب بیا از صفر شروع کنیم .
قسمتی که میاد کد

SerialNumber ComputerId
رو میگیره و تبدیل به کد اکتیویشن میکنه کدوم قسمته ؟

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

salahisoft
01-12-15, 23:41
دوست من درسته که دانش برنامه نویسیم زیاد نیست اما نمیشه یه الگوریتمیکه یه کدی رو میسازه رو بیام هر جاش رو گیر کردم بپرسم ....مگه داریم مگه میشه ؟