عودة لمشكلة كود نسخ الخطوط
بسم الله الرحمن الرحيم
سبق ان عرضت هذه المشكلة وقام اخى الفاضل old_school بوضع حل
ويحتاج الى شئ من الاحترافية ونحن لسنا كذلك
فوصلت الى هذا الكود
الكود التالى يقوم بنسخ خطوط الى فولدر اسمه temp على سطح المكتب DesktopFolr_ وبالفعل تم النسخ


;(File.Copy("AutoPlay\\Docs\\*.TTF", _DesktopFolder .. "\\temp", true, true, false, true, nil
وعند تغيير تغيير الكود ليتم النسخ في windows\fonts_
;(File.Copy("AutoPlay\\Docs\\*.TTF", _WindowsFolder .. "\\Fonts", true, true, false, true, nil
لم يتم النسخ .. فما مشكلة الكود هذا
lملاحظة : اعمل على ويندوز 10
Link


لدعم قناة وسام الحمد على اليوتيوب

التعديل الأخير تم بواسطة sabmov ; 15-08-2018 الساعة 04:24 PM سبب آخر : خطأ املائى
إضافـــة الخطوط إلى مجلـد الخطوط في الويندوز


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



ثم قم بنسخ الخطوط إلى المجلد Docs في مجلد سمه مثلا Font كما ترى



وهذه صور الخطوط المقابلة للأزرار




اقتباس :-
إذهب لزر الخط الأول وضع هذا الكود
كود:
File.Copy("AutoPlay\\Docs\\Font\\Hi djaz.TTF&q uot;, _******sFolder .. "\\Fonts", false);
كما ترى في الصورة



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



الآن بعد تخصيص لكل زر خط خاص به نأتي لزر تنصيب جميع الخطوط ونضغط عليه مرتين



اقتباس :-
نذهب إلى سكريبت ثم On Click ونضع هذا الكود

كود:
confirmation = Dialog.Message(" رسالة تأكيد ", "هل أنت متأكد من نسخ جميع الخطوط إلى جهازك؟", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1); if confirmation == 6 then File.Copy("AutoPlay\\Docs\\Font\\*. *", _******sFolder .. "\\Fonts", false); else Application.Exit******(); end



وهاهي النتيجة




* ملاحظة على درس التعامل مع الخطوط وكيفية تنصيبها بضغطة زر

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

ويمكن إضافة سكريبت لطمأنة المستخدم بأن العمل يتم على ما يرام كما ترى في الصورة



ولعمل ذلك نقوم باستبدال الكود الأخير بهذا الكود

كما ترى في الصورة




كود:
confirmation = Dialog.Message(" رسالة تأكيد ", "هل أنت متأكد من نسخ جميع الخطوط إلى جهازك؟", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1); if confirmation == 6 then StatusDlg.Show(MB_ICONNONE, false); File.Copy("AutoPlay\\Docs\\Arabic Font Pack\\*.*", _******sFolder .. "\\Fonts", false); StatusDlg.Hide(); else Application.Exit******(); end
تم حذف من الكود كلمة سكريبت لاحظ الصورة في الأعلى

وتقبل تحياتي ....

الموضوع منقول من منتدى اخر
بسم الله الرحمن الرحيم
تحياتى اخى الكريم
هل جربت الاكواد على ams8.5
اعتقد ان الاكواد لاصدار سابق .. فلم تعمل معى






see this.........








ما شاء الله اخى old_school
حقيقة اجد فكر جديد فشكرا لك
طبعا الجزء الاول تم الاستفادة منه بشكل كامل وهو فتح فولدر الخطوط فى الويندوز
بالنسبة للجزء الثانى وهو تحميل الخط .. هذا خط واحد .. ماذا لوكان هناك عدد من الخطوط
لقد قمت بالتعديل على اسم الخط ليشمل ttf.*
للاسف لم اوفق .. فكيف افعلها
لك تحياتى وكل عام وانتم بخير
التعديل الأخير تم بواسطة sabmov ; 28-08-2018 الساعة 12:18 AM سبب آخر : خطأ املائى
ما شاء الله اخى old_school
حقيقة اجد فكر جديد فشكرا لك
طبعا الجزء الاول تم الاستفادة منه بشكل كامل وهو فتح فولدر الخطوط فى الويندوز
بالنسبة للجزء الثانى وهو تحميل الخط .. هذا خط واحد .. ماذا لوكان هناك عدد من الخطوط
لقد قمت بالتعديل على اسم الخط ليشمل ttf.*
للاسف لم اوفق .. فكيف افعلها
لك تحياتى وكل عام وانتم بخير
السلام عليكم
قم بنسخ عدة خطوط دفعة واحدة