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

مشاهدة النسخة كاملة : add Image


محمد سامر
30-08-2016, 08:40 PM
بسم الله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين،،،
http://www.abc4web.net/vb/attachment.php?attachmentid=3312&stc=1&d=1472581807

إضافة الصورة بالنسبة لطالب تعتبر هامه بالنسبة للبيانات المدرسية أوالجامعية بحيث نستطيع من خلالها تحديد الطالب ومعرفته
فهذا ملف مفتوح لإضافة بينات الطلاب مع إضافة الصورة لكل طالب...
بقالي أسبوع بحاول أضبط الصورة مع الإسم لكن لم أستطع بالرغم من إستخدامي لبعض الملفات الهامه لذلك.

الملف المفتوح

http://up.top4top.net/downloadf-240k3bm1-rar.html

الملف التنفيذي بعد إضافة كود الأخ المحترف((جزاه الله خيرا))
لكن به مشكلة
http://up.top4top.net/downloadf-242tdkf1-rar.html

_؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟....؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟. ..؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟

عبد الهادي بهاب
30-08-2016, 09:48 PM
موفق بإذن الله ... لك مني أجمل تحية .

عبد الهادي بهاب
30-08-2016, 10:09 PM
في اليسبوكس اضف هذا السطر في الاسفل



Ext = {".jpg",".png",".bmp",".psd",".gif"};
for i,n in pairs(Ext) do
Image.Load("Image1", "AutoPlay\\Images\\"..Input.GetText("Inp_ID")..n.."");
end

محمد سامر
30-08-2016, 10:27 PM
في اليسبوكس اضف هذا السطر في الاسفل


Image.Load("Image1", "AutoPlay\\Images\\"..Input.GetText("Inp_ID")..".png");



جزاك الله خيرا ...أخي....تسلم من كل سووووووء:abc_152:

فرح صالحي
30-08-2016, 10:29 PM
موفق بإذن الله ... لك مني أجمل تحية .

عبد الهادي بهاب
30-08-2016, 10:31 PM
جزاك الله خيرا ...أخي....تسلم من كل سووووووء:abc_152:

تم تعديل الكود السابق ليتناسب مع كل الصيغ

فرح صالحي
30-08-2016, 10:39 PM
تم تعديل الكود السابق ليتناسب مع كل الصيغ

الكود المعدل به خطا هذا السطر
for i,n in pairs(Ext) do

عبد الهادي بهاب
30-08-2016, 11:03 PM
فيه اشكالية جديدة
هل اذا عدلت الصورة
فانها تغير الصورة في المجلد ؟

محمد سامر
30-08-2016, 11:16 PM
الكود المعدل به خطا هذا السطر
for i,n in pairs(ext) do

فعلا الكود فيه مشكله...ماالمشكله أخي ..فرح صالحي

محمد سامر
30-08-2016, 11:19 PM
فيه اشكالية جديدة
هل اذا عدلت الصورة
فانها تغير الصورة في المجلد ؟


فعلا أخي إذا عدلت الصورة فإنها لا تتغير

محمد بن أحمد أبو حذيفة
30-08-2016, 11:53 PM
بسم الله الرحمن الرحيم
الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عبد الهادي بهاب
31-08-2016, 12:31 AM
الكود المعدل به خطا هذا السطر
for i,n in pairs(Ext) do

اين ؟؟؟ الخطا

المـهاجر
31-08-2016, 12:55 AM
سؤال فيه ملف مفتوح به صورة واحدة .. كيف سيتم تغيير الصورة ؟؟
لم تم استخدام حلقة تراجع المصفوفة ؟؟
Ext = {".jpg",".png",".bmp",".psd",".gif"};
for i,n in pairs(Ext) do
Image.Load("Image1", "AutoPlay\\Images\\"..Input.GetText("Inp_ID")..n.."");
end
دائما ما ستستقر على العنصر الأخير (gif) مهما كان عدد عناصر المصفوفة
لم النقطتان و علامتى الاقتباس بعد المتغير n ؟؟

محمد سامر
31-08-2016, 01:18 PM
سؤال فيه ملف مفتوح به صورة واحدة .. كيف سيتم تغيير الصورة ؟؟
لم تم استخدام حلقة تراجع المصفوفة ؟؟
ext = {".jpg",".png",".bmp",".psd",".gif"};
for i,n in pairs(ext) do
image.load("image1", "autoplay\\images\\"..input.gettext("inp_id")..n.."");
end
دائما ما ستستقر على العنصر الأخير (gif) مهما كان عدد عناصر المصفوفة
لم النقطتان و علامتى الاقتباس بعد المتغير n ؟؟

كيف سيتم تغيير الصورة؟؟؟

ثامر أبو بلقيس
31-08-2016, 03:26 PM
فعلا أخي إذا عدلت الصورة فإنها لا تتغير

في ملفك المرفوع في بداية الموضوع
الكود الموجود في الصورة عند الضغط عليها
استبدله بالاتي
if Input.GetText("Inp_ID")=="" then
Dialog.Message("تنبيه","ادخل رقم الكشاف");
else
mo = Input.GetText("Inp_ID");
sExtension = "All Images Files (*.jpg;*.png;*.bmp;*.psd;*.gif)|*.jpg;*.png;*.bmp; *.psd;*.gif|All Files (*.*)|*.*|";
tImagesFiles = Dialog.FileBrowse(true, "", Shell.GetFolder(SHF_MYDOCUMENTS), sExtension, "", "", false, true);
if tImagesFiles[1] ~= "CANCEL" then
path_parts = String.SplitPath(tImagesFiles[1]);
destination = _SourceFolder.."\\AutoPlay\\Images\\"
result = DLL.CallFunction("AutoPlay\\Docs\\FldrActn.dll", "CopyFolder", "\"" .. tImagesFiles[1].. "\"" .. ",\"" .. destination .. "\",1,1", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL)
File.Rename(_SourceFolder.."\\AutoPlay\\Images\\".. path_parts.Filename..path_parts.Extension.."", _SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension.."");
Image.Load("Image1", _SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension)
File.Copy(_SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension.."", "C:\\School\\Images\\", true, true, false, true, nil);
end
end

وشوف ربما تنجح في تصحيح هده المرحلة

محمد سامر
31-08-2016, 03:53 PM
في ملفك المرفوع في بداية الموضوع
الكود الموجود في الصورة عند الضغط عليها
استبدله بالاتي
if input.gettext("inp_id")=="" then
dialog.message("تنبيه","ادخل رقم الكشاف");
else
mo = input.gettext("inp_id");
sextension = "all images files (*.jpg;*.png;*.bmp;*.psd;*.gif)|*.jpg;*.png;*.bmp; *.psd;*.gif|all files (*.*)|*.*|";
timagesfiles = dialog.filebrowse(true, "", shell.getfolder(shf_mydocuments), sextension, "", "", false, true);
if timagesfiles[1] ~= "cancel" then
path_parts = string.splitpath(timagesfiles[1]);
destination = _sourcefolder.."\\autoplay\\images\\"
result = dll.callfunction("autoplay\\docs\\fldractn.dll", "copyfolder", "\"" .. Timagesfiles[1].. "\"" .. ",\"" .. Destination .. "\",1,1", dll_return_type_string, dll_call_stdcall)
file.rename(_sourcefolder.."\\autoplay\\images\\".. Path_parts.filename..path_parts.extension.."", _sourcefolder.."\\autoplay\\images\\".. Mo..path_parts.extension.."");
image.load("image1", _sourcefolder.."\\autoplay\\images\\".. Mo..path_parts.extension)
file.copy(_sourcefolder.."\\autoplay\\images\\".. Mo..path_parts.extension.."", "c:\\school\\images\\", true, true, false, true, nil);
end
end

وشوف ربما تنجح في تصحيح هده المرحلة

جزاك الله خيرا أستاذ ثامر
لكن المشكله مازالت مستمرة

ثامر أبو بلقيس
31-08-2016, 04:00 PM
عندي يعمل لعل برنامجك يريد أن يكون مسؤول ربما

محمد سامر
31-08-2016, 04:35 PM
عندي يعمل لعل برنامجك يريد أن يكون مسؤول ربما
لا إله إلا الله ..فعلا كنت ناسي أعمله مسؤوول...
فعلا إشتغل تمام...لكن هناك عدة مراقبات:
عند إضافة صورة للطالب الأول تحفظ في ملف Image برقم 1
عند إضافة صورة للطالب الثاني تحفظ في ملف Image برقم 2..وهكذا
لكن عند تغيير الصورة...يحدث أخطاء ..كتكرارها...والصورة القديمة لا تحذف بل تظل موجودة

محمد سامر
31-08-2016, 04:48 PM
هل من حل لحذف الصور القديمة التي قمت بإستبدالها

ففي الصورة أدرجت الكود التالي
if Input.GetText("Inp_ID")=="" then
Dialog.Message("تنبيه","أدخل رقم الطالب");
else
mo = Input.GetText("Inp_ID");
sExtension = "All Images Files (*.jpg;*.png;*.bmp;*.psd;*.gif)|*.jpg;*.png;*.bmp; *.psd;*.gif|All Files (*.*)|*.*|";
tImagesFiles = Dialog.FileBrowse(true, "", Shell.GetFolder(SHF_MYDOCUMENTS), sExtension, "", "", false, true);
if tImagesFiles[1] ~= "CANCEL" then
path_parts = String.SplitPath(tImagesFiles[1]);
destination = _SourceFolder.."\\AutoPlay\\Images\\"
result = DLL.CallFunction("AutoPlay\\Docs\\FldrActn.dll", "CopyFolder", "\"" .. tImagesFiles[1].. "\"" .. ",\"" .. destination .. "\",1,1", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL)
File.Rename(_SourceFolder.."\\AutoPlay\\Images\\".. path_parts.Filename..path_parts.Extension.."", _SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension.."");
Image.Load("Image1", _SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension)
File.Copy(_SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension.."", "C:\\School\\Images\\", true, true, false, true, nil);
end
end

وفي on select وفي آخره أدرجت
Ext = {".jpg",".png",".bmp",".psd",".gif"};
for i,n in pairs(Ext) do
Image.Load("Image1", "AutoPlay\\Images\\"..Input.GetText("Inp_ID")..n.."");
end

محمد سامر
31-08-2016, 04:54 PM
أليس من الممكن إدراج مثلا ثلاثة أزرار
1- لإضافة صورة
2- لحذف صورة
3- لتعديل صورة
أهكذا يكون أسهل

ثامر أبو بلقيس
31-08-2016, 05:07 PM
بالنسبة للكود الذي يكتب في ListBox نفكر قليلا
رايح يستدعي صور و هذه الصور أرقام فقط من 1 إلى ....
علاش ما نستغلش الارقام بأرقام صفوف ListBox على شرط واحد أن المجلد
الصور لا يستورد اليه في المشروع ككل ملفات ذات تسمية رقمية لوحدها دون حروف
الا تلك الصور التي فرضتها أكواد برنامجك على أن نتغلب عن اللاحقة مهما كان نوعها

كلام:abc_139:


جرب هذا الكود و اضفه لما كان مكتوب في ملفك :abc_139:
في ListBox الحدث on select ليصبح الكود كاملا :
local Lsttbl = ListBox.GetSelected(this);
if Lsttbl then
Input.SetText("Inp_ name", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1", Lsttbl[1]), "Name"))
Input.SetText("Inp_user", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]),"user"))
Input.SetText("Inp-class", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]),"class"))
Input.SetText("Inp_ID", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]))
end

belkiss = Lsttbl[1]
n = File.Find(_SourceFolder.."\\AutoPlay\\Images\\", "*.*", false, false, nil, nil);
for i,p in pairs(n) do
k = String.SplitPath(p).Filename
if k == ""..belkiss then
Image.Load("Image1", p);break
end
end

ثامر أبو بلقيس
31-08-2016, 05:40 PM
عن مشكل الصورة احذفها قبل ما تستبدلها

ترقيع أي لم أهذب الأكواد
عند الضغط على الصورة

if Input.GetText("Inp_ID")=="" then
Dialog.Message("تنبيه","ادخل رقم الكشاف");
else
mo = Input.GetText("Inp_ID");
File.Delete(_SourceFolder.."\\AutoPlay\\Images\\".. mo..".*", false, false, false, nil);
sExtension = "All Images Files (*.jpg;*.png;*.bmp;*.psd;*.gif)|*.jpg;*.png;*.bmp; *.psd;*.gif|All Files (*.*)|*.*|";
tImagesFiles = Dialog.FileBrowse(true, "", Shell.GetFolder(SHF_MYDOCUMENTS), sExtension, "", "", false, true);
if tImagesFiles[1] ~= "CANCEL" then
path_parts = String.SplitPath(tImagesFiles[1]);
destination = _SourceFolder.."\\AutoPlay\\Images\\"
result = DLL.CallFunction("AutoPlay\\Docs\\FldrActn.dll", "CopyFolder", "\"" .. tImagesFiles[1].. "\"" .. ",\"" .. destination .. "\",1,1", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL)
File.Rename(_SourceFolder.."\\AutoPlay\\Images\\".. path_parts.Filename..path_parts.Extension, _SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension);
Image.Load("Image1", _SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension)
File.Copy(_SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension, "C:\\School\\Images\\", true, true, false, true, nil);
end
end

محمد سامر
31-08-2016, 06:21 PM
جزاك الله خيرا معلمي الفاضل ......
جهد أكثر من رائع ...
ربنا يبارك في حضرتك:abc_152:
كل شيء اصبح تمام..ولم أنسى كعادتي ...شغلته كمسؤول..

عبد الهادي بهاب
31-08-2016, 10:07 PM
بالنسبة للكود الذي يكتب في ListBox نفكر قليلا
رايح يستدعي صور و هذه الصور أرقام فقط من 1 إلى ....
علاش ما نستغلش الارقام بأرقام صفوف ListBox على شرط واحد أن المجلد
الصور لا يستورد اليه في المشروع ككل ملفات ذات تسمية رقمية لوحدها دون حروف
الا تلك الصور التي فرضتها أكواد برنامجك على أن نتغلب عن اللاحقة مهما كان نوعها

كلام:abc_139:


جرب هذا الكود و اضفه لما كان مكتوب في ملفك :abc_139:
في ListBox الحدث on select ليصبح الكود كاملا :
local Lsttbl = ListBox.GetSelected(this);
if Lsttbl then
Input.SetText("Inp_ name", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1", Lsttbl[1]), "Name"))
Input.SetText("Inp_user", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]),"user"))
Input.SetText("Inp-class", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]),"class"))
Input.SetText("Inp_ID", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]))
end

belkiss = Lsttbl[1]
n = File.Find(_SourceFolder.."\\AutoPlay\\Images\\", "*.*", false, false, nil, nil);
for i,p in pairs(n) do
k = String.SplitPath(p).Filename
if k == ""..belkiss then
Image.Load("Image1", p);break
end
end

عن مشكل الصورة احذفها قبل ما تستبدلها

ترقيع أي لم أهذب الأكواد
عند الضغط على الصورة

if Input.GetText("Inp_ID")=="" then
Dialog.Message("تنبيه","ادخل رقم الكشاف");
else
mo = Input.GetText("Inp_ID");
File.Delete(_SourceFolder.."\\AutoPlay\\Images\\".. mo..".*", false, false, false, nil);
sExtension = "All Images Files (*.jpg;*.png;*.bmp;*.psd;*.gif)|*.jpg;*.png;*.bmp; *.psd;*.gif|All Files (*.*)|*.*|";
tImagesFiles = Dialog.FileBrowse(true, "", Shell.GetFolder(SHF_MYDOCUMENTS), sExtension, "", "", false, true);
if tImagesFiles[1] ~= "CANCEL" then
path_parts = String.SplitPath(tImagesFiles[1]);
destination = _SourceFolder.."\\AutoPlay\\Images\\"
result = DLL.CallFunction("AutoPlay\\Docs\\FldrActn.dll", "CopyFolder", "\"" .. tImagesFiles[1].. "\"" .. ",\"" .. destination .. "\",1,1", DLL_RETURN_TYPE_STRING, DLL_CALL_STDCALL)
File.Rename(_SourceFolder.."\\AutoPlay\\Images\\".. path_parts.Filename..path_parts.Extension, _SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension);
Image.Load("Image1", _SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension)
File.Copy(_SourceFolder.."\\AutoPlay\\Images\\".. mo..path_parts.Extension, "C:\\School\\Images\\", true, true, false, true, nil);
end
end


مداخلة جد ممتازة استاذ ثامر و تنسيق جيد للاكواد
واجهتني مشكلة في استدعاء الصور بحيث لم اجدها تستدعي الصورة المناسبة
لذلك عدلت قليلا بحيث استدعي رقم ID باعتباره هو الاسم الذي اعتمد في حفظ الصورة
و ايضا في كل مرة نختار من الليسبوكس يجب ان تعود الصورة للمجهول اي الصورة الاولى
و بعد البحث يعتمد اسم الطالبق التعريفي

في اليسبوكس


Lsttbl = ListBox.GetSelected(this);
if Lsttbl then
Input.SetText("Inp_ name", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1", Lsttbl[1]), "Name"))
Input.SetText("Inp_user", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]),"user"))
Input.SetText("Inp-class", INIFile.GetValue("AutoPlay\\Docs\\1ere\\DB1A1T.ini", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]),"class"))
Input.SetText("Inp_ID", ListBox.GetItemData("ListBox_Stu1",Lsttbl[1]))
end

Image.Load("Image1", "AutoPlay\\Images\\m4.png");
belkiss = Input.GetText("Inp_ID");
n = File.Find(_SourceFolder.."\\AutoPlay\\Images\\", "*.*", false, false, nil, nil);
for i,p in pairs(n) do
k = String.SplitPath(p).Filename
if k == ""..belkiss then
Image.Load("Image1", p);break
end
end

محمد سامر
31-08-2016, 10:45 PM
مداخلة جد ممتازة استاذ ثامر و تنسيق جيد للاكواد
واجهتني مشكلة في استدعاء الصور بحيث لم اجدها تستدعي الصورة المناسبة
لذلك عدلت قليلا بحيث استدعي رقم id باعتباره هو الاسم الذي اعتمد في حفظ الصورة
و ايضا في كل مرة نختار من الليسبوكس يجب ان تعود الصورة للمجهول اي الصورة الاولى
و بعد البحث يعتمد اسم الطالبق التعريفي

في اليسبوكس


lsttbl = listbox.getselected(this);
if lsttbl then
input.settext("inp_ name", inifile.getvalue("autoplay\\docs\\1ere\\db1a1t.ini", listbox.getitemdata("listbox_stu1", lsttbl[1]), "name"))
input.settext("inp_user", inifile.getvalue("autoplay\\docs\\1ere\\db1a1t.ini", listbox.getitemdata("listbox_stu1",lsttbl[1]),"user"))
input.settext("inp-class", inifile.getvalue("autoplay\\docs\\1ere\\db1a1t.ini", listbox.getitemdata("listbox_stu1",lsttbl[1]),"class"))
input.settext("inp_id", listbox.getitemdata("listbox_stu1",lsttbl[1]))
end

image.load("image1", "autoplay\\images\\m4.png");
belkiss = input.gettext("inp_id");
n = file.find(_sourcefolder.."\\autoplay\\images\\", "*.*", false, false, nil, nil);
for i,p in pairs(n) do
k = string.splitpath(p).filename
if k == ""..belkiss then
image.load("image1", p);break
end
end

رائع أخي المحترف...جميل جدااااا...
نأمل من الله عز وجل .. أن نصل لهذا المستوى الطيب..

عبد الهادي بهاب
31-08-2016, 11:04 PM
رائع أخي المحترف...جميل جدااااا...
نأمل من الله عز وجل .. أن نصل لهذا المستوى الطيب..

لا مستوى و لا شيء ........الفكرة كل الفكرة في فهم الكود ثم تقليده ماتوفرت لك الفرصة ثم الاضافة و التعديل حسب الحدث المناسب
فهم الاكواد هو اللقطة ثم انطلق

محمد سامر
01-09-2016, 12:36 AM
لا مستوى و لا شيء ........الفكرة كل الفكرة في فهم الكود ثم تقليده ماتوفرت لك الفرصة ثم الاضافة و التعديل حسب الحدث المناسب
فهم الاكواد هو اللقطة ثم انطلق

فهم الاكواد هو اللقطة ثم انطلق

بارك الله فيك أخي وبارك عليك:abc_022:

خالد المسيلي
11-09-2016, 10:59 PM
عيدكم مبارك