المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مســاعدة في تحسين هذا الكـــــــود؟


ياسرهتهت
07-11-2015, 10:33 PM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
أخواني الاعزاء أساتذتي الكرام
في هذا الملف المفتوح

http://up.top4top.net/downloadf-top4top_42f5cdcdb71-rar.html

كود حماية التجميعة بستخدام رقم الهاردسك
طبعا قبل التسجيل تظهر الصفحة رقم 1 للتسجيل
وبعد التسيجيل تظهر الصفحة رقم 2
وهذا موجود في الملف المفتوح
المشكلة التي ابحث لها عن حل
ان عند تشغيل التجميعة بعد التسجيل تظهر الصفحة رقم 1 لثانية قبل الدخول لصفحة 2
هل يمكن جعل هذة الثانية تختفي اي لا تظهر صفحة رقم 1 نهائيا بعد التسجيل
كما ارجو من الاساتذة الكرام الاتطلع على الكود وتصحيحة بشكل افضل واحترافي
وخصوصا انني لجعل التجميعة لا تطلب التسجيل في كل مرة تشغل فيها
جعلت التجميعة بعد التسجيل تحفظ التسجيل في ملف INIفي فولد WIN
وتقوم بالمقارنة عند التشغيل

:abc_051:واكيد في طريقة افضل من ذالك عن الاساتذة

شـكــ وبارك الله فيكم ـــرا لك ... لكم مني أجمل تحية .

عبود عبود
08-11-2015, 01:07 AM
السلام عليكم ورحمة الله وبركاته

بالنسبة لتحسين شكل ومضمون الكود فيكون كالتالى فى "On StartUp" عند المشترى :

--
fud = File.DoesExist(_WindowsFolder.."\\systemm561.ini");
if fud then
x =x+0
y = x*22
d = y -44
r = d +13
e=r *13
thameur = Math.Floor(e);
belkiss = INIFile.GetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value");
if belkiss~="" then
if belkiss +0 == thameur then
db = SQLite.Open("MyDatabase1.db");
SQLite.Query(db,"CREATE TABLE Users(userid INTEGER PRIMARY KEY, name TEXT, adresse TEXT, phone TEXT, nota TEXT, age TEXT)");
Page.Jump("Page2");
else
Page.Jump("Page1");
end
else
Dialog.Message("Notice", "خطأ", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.ExitScript();
end
else
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value", "00000");
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value2", "12345678");
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value3", "admen");
end


لاحظ السطر الأول تم تبديل الدالة بدلا من البحث عن ملف يكون التحقق من وجود ملف systemm561.ini داخل فولدر الويندوز .


أما بالنسبة لتحسين شكل الكود فى زر التفعيل يكون كالتالى :

--
x =x+0
y = x*22
d = y -44
r = d +13
e=r *13
thameur = Math.Floor(e);
belkiss = String.ToNumber(Input.GetText("Input3"));
if belkiss == "" then
Dialog.Message("Notice", "ÎØÃ", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.ExitScript();
else
belkiss = belkiss+0;
if belkiss == thameur then
Dialog.TimedMessage("ÃÑÌæ ÇáÇäÊÙÇÑ ÞáíáÇ", "ÌÇÑí ÚãáíÉ ÇáÊÍÞÞ æÇáÊÓÌíá", 2000, MB_ICONINFORMATION);
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value", belkiss);
Dialog.TimedMessage("ÔßÑÇ áÅäÊÙÇÑß", "ÊãÊ ÚãáíÉ ÊÓÌíá ÇáãäÊÌ ÈäÌÇÍ", 1000, MB_ICONINFORMATION);
xButton.SetVisible("xButton1", true);
elseif belkiss ~= thameur then
Dialog.TimedMessage("ÃÑÌæ ÇáÇäÊÙÇÑ ÞáíáÇ", "ÌÇÑí ÚãáíÉ ÇáÊÍÞÞ æÇáÊÓÌíá", 3000, MB_ICONINFORMATION);
Dialog.Message("Notice", "áÇÊÍÇæá ÑÌÇÁ", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.ExitScript();
end
end

ياسرهتهت
08-11-2015, 01:37 AM
بسم الله الرحمن الرحيم
أستاذ عبود شكرا لك على هذا التعديل
:abc_152::abc_152:
موفق بإذن الله ... لك مني أجمل تحية .

ثامر أبو بلقيس
08-11-2015, 11:55 AM
إضافة لما ذكر أستاذي المحترم عبود

و فيما تعلق ببقاء الصفحة 1 عشر ثوان ثم الانتقال للصفحة 2 أي البرنامج مفعل

--------------------

حاول إدراج صفحة جديدة و لتكن مثلا الصفحة 3 هذه الصفحة تكون من حيث الشكل مطابقة للصفحة الأولى و هي
اشعار بأن البرنامج مسجل حيث لا توجد فيها بيانات تسجيل

ثم في الصفحة هذه أعطيها أمر في on show مثلا بأن تبقى 10 ثوان ليتم ارجاعه للصفحة 2

كلام يمكنك تحويله لعملي و هذا يجرنا بأن نكتب في On StartUp عند تحقق شرط التسجيل أن يتم الانتقال للصفحة 3 و التي بدورها
تنقلنا الى الصفحة2 و طبعا اذ لم يتحقق الشرط منطقي يفتح البرنامج لاول وهلة على الصفحة 1


كلام :abc_138:

ياسرهتهت
08-11-2015, 05:18 PM
بسم الله الرحمن الرحيم
شكرا لك استاذنا ابو بلقيس

:abc_138::abc_138::abc_138:
جربت الطريقة
نفس الشي تظهر صفحة 1 ثم صفحة 3 ثم صفحة 2
في عندي فكرة لكن مشعارف انفذها
هو ان اجعل صفحة 1 وصفحة 2 = صفحة واحدة
ولتكن الصفحة 1 فيها كل كائنات صفحة 1 وصفحة 2
عند الدخول لها بدون تسجيل
تظهر كائنات التسجيل ويختفي الباقي
وبعد التسجيل العكس
اظن ان هذة الفكرة قد تنجح
وانا احاول فيها

موفق بإذن الله ... لك مني أجمل تحية .

ثامر أبو بلقيس
08-11-2015, 05:26 PM
نعم فالأفكار كثيرة فقط ستختار مع ما سيتناسب مع مشروعك
ولك من الخبرة ما يكفي لتطويع المشروع و متطلباته حسب ماتريد
موفق أخي :abc_138:

عبود عبود
09-11-2015, 12:58 PM
عذرا على عدم المتابعة " لسة جاى من الشغل "

ما تتحدث عنه من ظهور الصفحة الأولى للثوانى لم ألاحظه لدى نهائيا .

أما بخصوص إقتراحك فيمكننى مساعدتك إذا تعذر عليك شيئ .

ياسرهتهت
09-11-2015, 01:37 PM
عذرا على عدم المتابعة " لسة جاى من الشغل "

ما تتحدث عنه من ظهور الصفحة الأولى للثوانى لم ألاحظه لدى نهائيا .

أما بخصوص إقتراحك فيمكننى مساعدتك إذا تعذر عليك شيئ .
------------------------------------------------------------------------------
بسم الله الرحمن الرحيم
اخي عبود شكرا لك علي المتابعة
بالنسبة لظهور الصفحة 1 لثوني الحمد الله مش الحال

ما اتمنه مكنك ان تساعدني في وضع كود يجعل التجميعة عند تشغيلها لاول مرة
ولفترة 15 يوم او عدد مرات تشغيل تعمل بشكل عادي يعني تدخل للصفحة 2
وبعد انقضاء 15 يوم تقوم بطلب التسجيل ؟

كأنها فترة تجريبية لعدة ايام او عدد من مرات التشغيل

بعدها تطلب التسجيل وتعمل بالشكل العادي

شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عبود عبود
09-11-2015, 01:41 PM
إن شاء الله بعد صلاة العشاء

ولو هناك فكرة أخرى أو أى شيئ تريد إضافتة أكتب ما تريد

ياسرهتهت
09-11-2015, 02:27 PM
بسم الله الرحمن الرحيم
شكرا لك استاذ عبود وفي انتظارك
فقط لتوضيح انا استخدمت هذا الكود

times_allowed = 15;
times_run = Application.LoadValue("My Application", "Has Been Run");
times_run = String.ToNumber(times_run);
times_remaining = (times_allowed - times_run)
if times_run == "" then
Application.SaveValue("My Application", "Has Been Run", "1");
else
Application.SaveValue("My Application", "Has Been Run", (times_run + 1));
end

if times_run > times_allowed then
fud = File.DoesExist(_WindowsFolder.."\\systemm561.ini");
if fud then
x =x+0
y = x*22
d = y -44
r = d +13
e=r *13
thameur = Math.Floor(e);
belkiss = INIFile.GetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value");
if belkiss~="" then
if belkiss +0 == thameur then
db = SQLite.Open("MyDatabase1.db");
SQLite.Query(db,"CREATE TABLE Users(userid INTEGER PRIMARY KEY, name TEXT, adresse TEXT, phone TEXT, nota TEXT, age TEXT)");
Page.Jump("Page2");
else
Page.Jump("Page1");
end
else
Dialog.Message("Notice", "خطأ", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.ExitScript();
end
else
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value", "00000");
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value2", "12345678");
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value3", "admen");
end
else
Dialog.Message("تنبية", "باقي من الفترة التجريبية "..times_remaining.." مرة");
Page.Jump("Page2");
end





ومن المفروض ان يعمل معي بشكل جيدا لكن لا ادري ما الخلل
تتنهي عدد مرات التشغيل التجريبية ويستمر في العمل دون طلب التسجيل
ولا يعرض انها فترة تجريبية ؟؟؟؟؟؟
مع انني سبق واستخدمته من قبل في التسجيل ولكن برقم مخزن في التجميعة مش بالهاردسك

:abc_085: عشرات الساعات والمحاولات ولم :abc_102:

عبود عبود
09-11-2015, 09:03 PM
إليك بهذا الملف من الأستاذ هيثم فترة تجريبية بعدد أيام


فترة تجريبية بعدد محدود من الأيام (https://www.mediafire.com/?nubrcefmaf7sc69)


سأبدأ لك بالتعديل المطلوب الآن على ملفك بعدد مرات التشغيل .

عبود عبود
09-11-2015, 09:46 PM
" التشغيل بعدد محدود من المرات " الكود بعد التعديل يصبح كالتالى :


--
times_allowed = 5;
times_run = Application.LoadValue("My Application", "Has Been Run2");
times_run = String.ToNumber(times_run);
times_remaining = (times_allowed - times_run)
if times_run == "" then
Application.SaveValue("My Application", "Has Been Run2", "1");
else
Application.SaveValue("My Application", "Has Been Run2", (times_run + 1));
end

if times_run > times_allowed then
Dialog.Message("إنتهت النسخة التجريبية حبيبى حك جيبك للتفعيل", "رسالة تحذير");
Application.Exit();
else
Dialog.Message("باقى من عدد مرات تشغيل الإسطوانة", رسالة تحذير"..times_remaining.." ãÜÑÉ");
fud = File.DoesExist(_WindowsFolder.."\\systemm561.ini");
if fud then
x =x+0
y = x*22
d = y -44
r = d +13
e=r *13
thameur = Math.Floor(e);
belkiss = INIFile.GetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value");
if belkiss~="" then
if belkiss +0 == thameur then
db = SQLite.Open("MyDatabase1.db");
SQLite.Query(db,"CREATE TABLE Users(userid INTEGER PRIMARY KEY, name TEXT, adresse TEXT, phone TEXT, nota TEXT, age TEXT)");
Page.Jump("Page2");
else
Page.Jump("Page1");
end
else
Dialog.Message("Notice", "خطأ", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);
Application.ExitScript();
end
else
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value", "00000");
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value2", "12345678");
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value3", "admen");
end
end

عبود عبود
09-11-2015, 09:49 PM
طبعا لاحظ محرر الصفحة لا يدعم اللغة العربية فى الكود فعذرا " أكيد هتقدر تعرفها انت بطريقتك "

أو تم التعديل بالكتابة يدويا فى محرر الصفحة بدلا من النسخ واللصق

وأنتظر منك التجربة ووضع أى أسئلة أخرى

عبود عبود
09-11-2015, 10:03 PM
فى حالة الإنتهاء من تصميمك أرسل لى العمل النهائى لوضع مزيد من الإحتياطات الأمنية ومراجعة الأكواد :abc_138:

ربيع
09-11-2015, 10:05 PM
طبعا لاحظ محرر الصفحة لا يدعم اللغة العربية فى الكود فعذرا " أكيد هتقدر تعرفها انت بطريقتك "

أو تم التعديل بالكتابة يدويا فى محرر الصفحة بدلا من النسخ واللصق

وأنتظر منك التجربة ووضع أى أسئلة أخرى

ربما قبل النسخ من محرر الاكواد التاكد من اختيار اللغة العربية من شريط اختيار اللغة بعدها ننسخ الكود و نلصق في صندوق اكوادالموقع ربما :abc_152:

المـهاجر
09-11-2015, 10:16 PM
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value", "00000");
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value2", "12345678");
INIFile.SetValue(_WindowsFolder.."\\systemm561.ini", "My Section", "My Value3", "admen");

اكواد كهذه لا تعمل الا بعد منح البرنامج صلاحيات المسئول (الأدمنستراتور)

ياسرهتهت
09-11-2015, 11:37 PM
فى حالة الإنتهاء من تصميمك أرسل لى العمل النهائى لوضع مزيد من الإحتياطات الأمنية ومراجعة الأكواد :abc_138:

-----------------------------------------------------------------

شكرا لك استاذ عبود
بارك الله فيك
:abc_152::abc_152:

ثامر أبو بلقيس
10-11-2015, 04:26 PM
بسم الله الرحمن الرحيم
شكرا لك استاذنا ابو بلقيس

:abc_138::abc_138::abc_138:
جربت الطريقة
نفس الشي تظهر صفحة 1 ثم صفحة 3 ثم صفحة 2
في عندي فكرة لكن مشعارف انفذها
هو ان اجعل صفحة 1 وصفحة 2 = صفحة واحدة
ولتكن الصفحة 1 فيها كل كائنات صفحة 1 وصفحة 2
عند الدخول لها بدون تسجيل
تظهر كائنات التسجيل ويختفي الباقي
وبعد التسجيل العكس
اظن ان هذة الفكرة قد تنجح
وانا احاول فيها

موفق بإذن الله ... لك مني أجمل تحية .

نعم اجراء لا باس به .... صورة مرئية من عمل مماثل قديم بنفس الفكرة
http://up.harajgulf.com/do.php?id=359444

ملاحظة - روابط ملفك محذوفة
- الملف المرئي للتوضيح موفقين

ياسرهتهت
10-11-2015, 05:16 PM
نعم اجراء لا باس به .... صورة مرئية من عمل مماثل قديم بنفس الفكرة
http://up.harajgulf.com/do.php?id=359444

ملاحظة - روابط ملفك محذوفة
- الملف المرئي للتوضيح موفقين
--------------------------------------------
بسم الله الرحمن الرحيم

ما شاء الله واضح انه ملف دسم يحتوي افكار واكواد كثيرة
هل يوجد لديك استاذنا الكريم الملف المفتوح لهذا العمل
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
:abc_138::abc_138::abc_138:

عبدوعزيز
22-01-2016, 09:11 PM
مشكوووووور