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

مشاهدة النسخة كاملة : مساعدة بشأن نسخ الخطوط لمجلد الخطوط


قسوره
07-02-2020, 04:56 AM
السلام عليكم ورحمة الله وبركاته
لدي استفسار أتمنى من الإخوة في هذا المجال يفيدوني
أريد صنع زر ينسخ مجموعة من الخطوط الموجودة في إحدى مجلدات الإسطوانة لمجلد الخطوط في نظام التشغيل عند المستخدم للإسطوانة
جربت أكثر من كود وكلهم لم يحققوا نتيجة صحيحة
جربت هذا الكود
confirmation = Dialog.Message(" رسالة تأكيد ", "هل أنت متأكد من نسخ جميع الخطوط إلى جهازك؟", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
if confirmation == 6 then
File.Copy("AutoPlay\\Docs\\Font\\*.*", _WindowsFolder .. "\\Fonts", false);
else
Application.ExitScript();
end
وهذا أيضاً
path = Shell.GetFolder(SHF_FONTS);
sFile = File.Find("AutoPlay\\Docs\\Font", "*.*", false, false, nil, nil);
for j in sFile do
StatusDlg.Show(MB_ICONNONE, false);
File.Copy(sFile{j}, path, true, true, false, true, nil);
StatusDlg.Hide();
end
حتى الأكواد التي تنسخ ملف خط واحد فقط وليس مجموعة خطوط بمجلد لا تعمل أيضاً
مع العلم أعمل على نظام تشغيل 8.1
أنتظر مساعدة جهابذة هذا التخصص
وجزاكم الله خيراً

وليد شوكلاته
07-02-2020, 08:30 AM
السلام عليكم ورحمة الله وبركاته
لدي استفسار أتمنى من الإخوة في هذا المجال يفيدوني
أريد صنع زر ينسخ مجموعة من الخطوط الموجودة في إحدى مجلدات الإسطوانة لمجلد الخطوط في نظام التشغيل عند المستخدم للإسطوانة
جربت أكثر من كود وكلهم لم يحققوا نتيجة صحيحة
جربت هذا الكود
confirmation = Dialog.Message(" رسالة تأكيد ", "هل أنت متأكد من نسخ جميع الخطوط إلى جهازك؟", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);
if confirmation == 6 then
File.Copy("AutoPlay\\Docs\\Font\\*.*", _WindowsFolder .. "\\Fonts", false);
else
Application.ExitScript();
end
وهذا أيضاً
path = Shell.GetFolder(SHF_FONTS);
sFile = File.Find("AutoPlay\\Docs\\Font", "*.*", false, false, nil, nil);
for j in sFile do
StatusDlg.Show(MB_ICONNONE, false);
File.Copy(sFile{j}, path, true, true, false, true, nil);
StatusDlg.Hide();
end
حتى الأكواد التي تنسخ ملف خط واحد فقط وليس مجموعة خطوط بمجلد لا تعمل أيضاً
مع العلم أعمل على نظام تشغيل 8.1
أنتظر مساعدة جهابذة هذا التخصص
وجزاكم الله خيراً

:abc_087: السلام عليكم ورحمة الله وبركاته :abc_088:
اولا لابد من جعل البرنامج يعمل كمسئول Run As Administrator

كما بالصور
https://f.top4top.io/p_14987m5tk1.jpg

ثم

https://k.top4top.io/p_1498e7qti1.jpg

ثم تضع هذا الكود فى زر او فى الحدث On Preload اذا اردت الخطوط تتثبت تلقائيا بدون تدخل المستخدم

fontFolder = Shell.GetFolder(SHF_FONTS);

find_fonts = File.Find("AutoPlay\\Docs\\Font", "*.ttf", true, true, nil, nil);

if find_fonts then

for x,y in pairs (find_fonts) do

get_font_name = String.SplitPath(y);

File.Copy(y, fontFolder, true, true, false, true, nil);

System.RegisterFont(fontFolder.."\\"..get_font_name.Filename..get_font_name.Extension, get_font_name.Filename, true);

end

end

Dialog.Message("تنبيه", "تـــم تـثـبـيــت الـخـطــوط بـنـجـاح", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON2);

وبعد ذلك تضع الخطوط فى مجلد باسم Font مع مراعاة اسماء الخطوط
تكون باللغة الانجليزية او ارقام ممنوع استخدام الاسماء العربية
وتضع هذا المجلد داخل مجلد Docs الواضح فى الصورة التالية

https://b.top4top.io/p_1498hi9a31.jpg

وبعدها اعمل معاينة وسيتم تثبيت الخطوط تم تجربة الكود قبل ارساله ويعمل 100%
على ويندوز 10 + ويندوز 8.1 + ويندوز 7
الكود يثبت الخطوط الموجودة فى المجلد المذكور Font مهما كان عددها او اسمائها المهم باللغة الإنجليزية
:abc_087: تقبل تحياتى :abc_088:

عبد الهادي بهاب
07-02-2020, 08:31 AM
السلام عليكم ورحمة الله وبركاته
لدي استفسار أتمنى من الإخوة في هذا المجال يفيدوني
أريد صنع زر ينسخ مجموعة من الخطوط الموجودة في إحدى مجلدات الإسطوانة لمجلد الخطوط في نظام التشغيل عند المستخدم للإسطوانة
جربت أكثر من كود وكلهم لم يحققوا نتيجة صحيحة
وجزاكم الله خيراً

ممكن يفيدك الموضوع

http://www.abc4web.net/vb/showthread.php?t=27619

قسوره
07-02-2020, 03:49 PM
أحسن الله إليك وبارك فيك ونفع بك أخي الكريم
جزاك الله خيراً
كنت أصنع كل شئ بالإنجليزية لكن المفترض وضع صلاحيات المستخدم كما تفضلت
الكود يعمل بفضل الله ،ظننته لا يعمل لأني وجدت بعض الخطوط لم تُنسخ وبعضها نُسخ فظننت أن المشكلة بإسم ملف الخط لأنه يحوي أرقام أو رموز كالشرطة فحذفتها ولم ينجح الأمر ثم انتبهت أن الملفات هذه بصيغة otf وليس ttf المشار لها بالكود فاجتهدت لإضافة الإمتداد للكود لكن لم ينجح الأمر
فهل ثمة طريقة أخي الكريم لجعل الإمتدادين في الكود ليتم نسخ الخطوط كلها ؟
شاكر لك تعاونك الطيب

قسوره
07-02-2020, 03:55 PM
ممكن يفيدك الموضوع

http://www.abc4web.net/vb/showthread.php?t=27619

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

عبد الهادي بهاب
07-02-2020, 06:45 PM
لكن لم ينجح الأمر
فهل ثمة طريقة أخي الكريم لجعل الإمتدادين في الكود ليتم نسخ الخطوط كلها ؟


هل مازالت المشكل ؟

عبد الهادي بهاب
07-02-2020, 06:58 PM
ممكن تكرر الكود مرتين مع تغغير النطاق
او نضيف الاختيار الثاني
مثلا



fontFolder = Shell.GetFolder(SHF_FONTS);
exten = {"*.ttf","*.otf"};
for i,ext in pairs(exten)do
find_fonts = File.Find("AutoPlay\\Docs\\Font", ext, true, true, nil, nil);

if find_fonts then

for x,y in pairs (find_fonts) do

get_font_name = String.SplitPath(y);

File.Copy(y, fontFolder, true, true, false, true, nil);

System.RegisterFont(fontFolder.."\\"..get_font_name.Filename..get_font_name.Extension, get_font_name.Filename, true);

end

end
end
Dialog.Message("ÊäÈíå", "ÊÜÜÜã ÊÜËÜÈÜíÜÜÊ ÇáÜÎÜØÜÜæØ ÈÜäÜÌÜÇÍ", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON2);


جرب بالتوفيق

قسوره
07-02-2020, 07:50 PM
ممكن تكرر الكود مرتين مع تغغير النطاق
او نضيف الاختيار الثاني
مثلا



fontFolder = Shell.GetFolder(SHF_FONTS);
exten = {"*.ttf","*.otf"};
for i,ext in pairs(exten)do
find_fonts = File.Find("AutoPlay\\Docs\\Font", ext, true, true, nil, nil);

if find_fonts then

for x,y in pairs (find_fonts) do

get_font_name = String.SplitPath(y);

File.Copy(y, fontFolder, true, true, false, true, nil);

System.RegisterFont(fontFolder.."\\"..get_font_name.Filename..get_font_name.Extension, get_font_name.Filename, true);

end

end
end
Dialog.Message("ÊäÈíå", "ÊÜÜÜã ÊÜËÜÈÜíÜÜÊ ÇáÜÎÜØÜÜæØ ÈÜäÜÌÜÇÍ", MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON2);


جرب بالتوفيق

الله يرضى عنك ويسعدك بالدارين أخي الكريم
تم بفضل الله نسخ الملفات التي تحمل الإمتدادين بهذا الكود
لي استفسار أخر وجزاك الله خيراً
الآن وضعت مقطع مرئي بامتداد "wmv" كمقطع ترحيبي قبل الولوج للإسطوانة
ولكن هناك مشكلة المقطع حوالي 11 ثانية بعد انتهاء الثوان القليلة هذه يتم الولوج للإسطوانة تلقائياً مع أني مفعّل خيار الضغط لتخطي المقطع إلا أنه لا يثبت بل بمجرد إنتهاء ال11 ثانية يدخل فوراً للإسطوانة وهذا لا أريده لأن المقطع به تنبيه للإسطوانة لابد المستخدم يراه وينفذه قبل الولوج للإسطوانة
جربت هذا الكود الذي به عداد انتظار ولكن دون فائدة مازال الولوج للإسطوانة تلقائيَا
Dialog.SplashVideo("AutoPlay\\Videos\\start.wmv", 139333, true);
ولكي أحل تلك المشكلة إضطررت لزيادة وقت المقطع ل7 دقائق تقريباً وإعادة تصديره مع العلم أنه صورة ثابتة مع صوت بالخلفية لكن الحجم صار مبالغ فيه من نصف ميجا ل 34 ميجا تقريباً للملف الترحيبي هذا ولا يمكن ضغطه حتى لا يقل دقة الصورة التي هي بالفعل ضعيفة الدقة بسبب هذا الإمتداد
فهل ثمة كود يجعل المقطع ال11 ثانية يثبت بعد إنتهاء مدته ويكون به خيار الضغط لتخطي المقطع بعد إنتهاءه وثبوته
وأعتذر على الإطالة وجزاك الله خيراً

عبد الهادي بهاب
07-02-2020, 08:10 PM
الله يرضى عنك ويسعدك بالدارين أخي الكريم
تم بفضل الله نسخ الملفات التي تحمل الإمتدادين بهذا الكود
لي استفسار أخر وجزاك الله خيراً
الآن وضعت مقطع مرئي بامتداد "wmv" كمقطع ترحيبي قبل الولوج للإسطوانة
ولكن هناك مشكلة المقطع حوالي 11 ثانية بعد انتهاء الثوان القليلة هذه يتم الولوج للإسطوانة تلقائياً مع أني مفعّل خيار الضغط لتخطي المقطع إلا أنه لا يثبت بل بمجرد إنتهاء ال11 ثانية يدخل فوراً للإسطوانة وهذا لا أريده لأن المقطع به تنبيه للإسطوانة لابد المستخدم يراه وينفذه قبل الولوج للإسطوانة
جربت هذا الكود الذي به عداد انتظار ولكن دون فائدة مازال الولوج للإسطوانة تلقائيَا
Dialog.SplashVideo("AutoPlay\\Videos\\start.wmv", 139333, true);
ولكي أحل تلك المشكلة إضطررت لزيادة وقت المقطع ل7 دقائق تقريباً وإعادة تصديره مع العلم أنه صورة ثابتة مع صوت بالخلفية لكن الحجم صار مبالغ فيه من نصف ميجا ل 34 ميجا تقريباً للملف الترحيبي هذا ولا يمكن ضغطه حتى لا يقل دقة الصورة التي هي بالفعل ضعيفة الدقة بسبب هذا الإمتداد
فهل ثمة كود يجعل المقطع ال11 ثانية يثبت بعد إنتهاء مدته ويكون به خيار الضغط لتخطي المقطع بعد إنتهاءه وثبوته
وأعتذر على الإطالة وجزاك الله خيراً

ممكن نستعمل الخيارات في الشريط الفوق
project
startup
ثم في النافذة نختار الفيديو الترجيبي
في الاسفل هناك خيار style
عدم تفعيل Allow clic to skip

يعني لن تبدا الاسطوانة حتى ينتهي الفيديو

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

عبد الهادي بهاب
07-02-2020, 08:24 PM
الله يرضى عنك ويسعدك بالدارين أخي الكريم وجزاك الله خيراً

جرب هذا الملف ممكن يفيدك

https://top4top.io/downloadf-1498fecvx1-rar.html

قسوره
07-02-2020, 08:25 PM
ممكن نستعمل الخيارات في الشريط الفوق
project
startup
ثم في النافذة نختار الفيديو الترجيبي
في الاسفل هناك خيار style
عدم تفعيل allow clic to skip

يعني لن تبدا الاسطوانة حتى ينتهي الفيديو

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

شاكر لك جداً تفاعلك هذا أخي الكريم جزاك الله عني خيراً
بالنسبة للخيار نعم كنت قد فعلته والنتيجة واحدة للأسف يتم الولوج للإسطوانة مباشرة بعد إنتهاء المقطع دون الحاجة للضغط للتخطي "للعلم للتو من كلامك أخي الكريم علمت أن هذا الخيار لا يجعل المقطع يثبت حتى بعد إنتهاءه بل دوره هو تخطي المقطع قبل نهايته وإلا فإذا انتهى المقطع فسيتم فتح التجميعة بدون الحاجة للضغط"
أنا أخي الغالي أريد المقطع بعد أن ينتهي يظل ثابت لا يدخل للإسطوانة إلا بالضغط عليه للتخطي
أما عن الزر تقصد أضعه في مونتاج المقطع في آخره؟
وإن كان كذلك فالمحصلة واحدة أيضاً ستنتهي ثواني المقطع ويلج للإسطوانة أيضاً
لكن إن كنت تقصد عبر البرنامج فأنا مازلت على أبواب هذا التخصص وليس عندي كثير معلومات عنه فياليتك أخي تشرح لي كيف أفعل هذه الطريقة الثانية بالبرنامج بارك الله فيك

عبد الهادي بهاب
07-02-2020, 09:15 PM
شاكر لك جداً تفاعلك هذا أخي الكريم جزاك الله عني خيراً
بالنسبة للخيار نعم كنت قد فعلته والنتيجة واحدة للأسف يتم الولوج للإسطوانة مباشرة بعد إنتهاء المقطع دون الحاجة للضغط للتخطي "للعلم للتو من كلامك أخي الكريم علمت أن هذا الخيار لا يجعل المقطع يثبت حتى بعد إنتهاءه بل دوره هو تخطي المقطع قبل نهايته وإلا فإذا انتهى المقطع فسيتم فتح التجميعة بدون الحاجة للضغط"
أنا أخي الغالي أريد المقطع بعد أن ينتهي يظل ثابت لا يدخل للإسطوانة إلا بالضغط عليه للتخطي
أما عن الزر تقصد أضعه في مونتاج المقطع في آخره؟
وإن كان كذلك فالمحصلة واحدة أيضاً ستنتهي ثواني المقطع ويلج للإسطوانة أيضاً
لكن إن كنت تقصد عبر البرنامج فأنا مازلت على أبواب هذا التخصص وليس عندي كثير معلومات عنه فياليتك أخي تشرح لي كيف أفعل هذه الطريقة الثانية بالبرنامج بارك الله فيك

نعم لقد وضعت لك ملف مفتوح للطريقة الثانية جربها


https://top4top.io/downloadf-1498fecvx1-rar.html

قسوره
07-02-2020, 10:56 PM
نعم لقد وضعت لك ملف مفتوح للطريقة الثانية جربها


https://top4top.io/downloadf-1498fecvx1-rar.html

رزقك الله الفردوس الأعلى
جزاك الله خيراً أخي الكريم
ما قصرت حفظك الله