StringMaster v1.1
دليل الاستخدام

الغرض ووظائف البرنامج

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

Main window (الشكل 1. النافذة الرئيسية)

String Master يقرأ سلسلة معلومات الملف المصدر بسلسلة ، يتحقق من توافقها مع السلاسل الفرعية أو القناع المحدد قبل وضع المخزن المؤقت. عندما يملأ المخزن المؤقت البيانات المخزّنة يتم تخزينها في ملفات ، تكرر أسماءها اسم الملف الأولي مع إضافة أرقام فرز الأقنعة في قائمة البرنامج. يتم تسجيل السلاسل التي لا تتطابق مع أي من الأقنعة المعرفة من قبل المستخدم في الملف بصفر.

الإصدارات الأساسية والمهنية من String Master

بدءا من الإصدار 1.1 وظيفة من StringMaster و StringMaster Pro متطابقة تقريبا. يتمثل الاختلاف الرئيسي في الإصدار الاحترافي في إمكانية العمل في وقت واحد باستخدام 256 قناعًا ، بينما يقتصر الإصدار القياسي على 32. وأيضًا ، في كل بداية من الإصدار غير المسجل ، سيتم تنفيذ المتصفح الافتراضي لعرض الصفحة الرئيسية StringMaster (http : //chaoscoder.com/20-StringMaster). لا مزيد من مزعج الشاشات ، أي تأخير أو قيود ميزة أخرى.

About Screen of standard version (الشكل 2. حول شاشة الإصدار القياسي)

واجهة البرنامج والضوابط

واجهة البرنامج مدمجة ومريحة. من الأعلى إلى الأسفل يحتوي الإطار String Master على: شريط القوائم؛ حقل اختيار سلسلة الملف المصدر ؛ حجم المخزن المؤقت والإحصائيات تحديث مجال إعداد التردد ، حقل الإعداد المرجعي ؛ مربع التحرير والسرد مع قائمة من الأقنعة أو سلسلة فرعية ؛ خط المعلومات.

Main window (الشكل 3. النافذة الرئيسية)

عند تمرير الماوس فوق أي من عناصر التحكم ، تظهر تلميح أداة مع شرح موجز.

Flyover (الشكل 4. جسر علوي)

باستخدام شريط القوائم (Menu)، يمكنك الاتصال بنافذة مساعدة ، أو اختيار أحد أوضاع معالجة الملفات أو جمع البيانات الإحصائية ، أو الأمر باستخدام السلسلة الفرعية بدلاً من قناع ، واستخدام خيار العمل مع ترميز Unicode ، وتمكين / تعطيل بروتوكول البرنامج ، وأغلق على الفور نافذة التطبيق. يمكن العثور على مزيد من المعلومات حول عناصر القائمة في قسم "قائمة البرامج وأوضاع معالجة الملفات".

في حقل اختيار الملف المصدر (Source File)، يمكنك إدراج رابط للملف المصدر في حافظة نظام التشغيل ، أو تحديده يدويًا ، باستخدام الزر "..." على اليمين. يجب ألا يحتوي اسم الملف على أحرف غير لاتينية ، وإلا فسيبلغ البرنامج عن خطأ.

Error while opening a file with non-latin characters in the name (الشكل 5. خطأ أثناء فتح ملف به أحرف غير لاتينية في الاسم)

Buffer size (lines) مجال الإعداد يحتوي على عدد الأسطر التي سيتم تخزينها في مخازن اللدغة أثناء الفرز قبل كتابتها فعليًا إلى الملفات لكل قناع. يساعد استخدام التخزين المؤقت في تسريع البرنامج ، اعتمادًا على أداء جهاز الكمبيوتر الخاص بك ، حيث يمكن أن يختلف حجم المخزن المؤقت الأمثل من 1000 إلى 10000 سطر ، يتم تعيين الإعدادات الافتراضية على 10000. ولن توفر زيادة أخرى في هذا الرقم زيادة كبيرة في المعالجة سرعة. يمكن تغيير حجم المخزن المؤقت مباشرة أثناء معالجة الملف.

String Prepare Settings يستخدم في إجراء معالجة مسبقة للارتباطات (إزالة المعلمات القابلة للنقل ، واسم البرنامج النصي والمسارات ، مما يقلل من الإشارة إلى المجلد الأول أو إلى المجال). المزيد عن روابط منطق التحويل - في "قائمة البرامج وأساليب معالجة الملفات."

مربع التحرير والسرد مع قائمة من الأقنعة أو سلسلة فرعية يسمح لك بإدخال المرشحات المطلوبة لمعالجة الملف المصدر ، لا يمكن أن يتجاوز العدد الإجمالي 32 للنسخة المجانية و 256 للنسخة المدفوعة. افتراضيًا ، تحتوي هذه القائمة على 30 نطاقًا (com /,. Net /,. Org /,. Info /,. Gov /,. Edu /,. Mil /,. Biz /,. Co /,. Xxx /,. tv /,. ru /,. ua /,. by /,. cz /,. bg /,. sk /,. kz /,. es /,. de /,. fr /,. uk /,. eu / ,. pl /,. ca /,. ch /,. cn /,. jp /,. it /,. kr /) ، يمكن للمستخدم إدخال أي قيم أخرى. يجب أن يبدأ كل قناع جديد في سطر جديد.

إحصائيات تحديث مجال تحديد التردد في خط المعلومات. للوصول إليه النافذة الرئيسية تحتاج إلى توسيع أفقيا حتى Feedback Intensity (lines) يبدو. القيمة الافتراضية لهذا الحقل هي 100 ، بمعنى آخر ، يقوم البرنامج بتحديث الإحصائيات كل 100 سطر معالج للملف المصدر. إذا قمت بتقليل القيمة ، فسيتم تحديث الإحصائيات بشكل متكرر أكثر إذا قمت بزيارتها ثم أقل تكرارًا ، لكن هذا سيسمح بزيادة الأداء عند العمل مع قواعد البيانات الكبيرة. يمكن تغيير قيمة Feedback Intensity في أي وقت وكذلك في بداية معالجة الملف ، كما يحدث أثناء عملية الفرز.

Field change the refresh rate statistics (الشكل 6. حقل تغيير إحصاءات معدل التحديث)

خطوط المعلومات يحتوي على إجمالي عدد الخطوط المعالجة ، ومتوسط ​​سرعة البرنامج ، أي عدد الخطوط المعالجة في الثانية (Average Speed ​​(links / second)).

عندما يغلق التطبيق الطريقة المعتادة (باستخدام زر الإغلاق في نظام التشغيل أو عن طريق الضغط على تركيبة المفاتيح المناسبة) ، يقوم البرنامج بإنشاء ملف تكوين (StringMaster.ini) ، والذي يحفظ معظم المعلومات التي يدخلها المستخدم: اسم الملف الذي تم اختياره لـ المعالجة والمسار الكامل لها ، ومحتويات سطر إعداد الارتباط مع حقل قائمة الأقنعة والمسارات وأسماء إنشاء الملفات مع نتائج الفرز وقيمة شدة الاستطلاع. يسجل هذا الملف أيضًا ما إذا تم تمكين ترميز Unicode واستخدام سلاسل فرعية بدلاً من الأقنعة ، وكذلك حجم الإطار المعرفة من قبل المستخدم. في المرة التالية التي تبدأ فيها تطبيق String Master ، ستقوم تلقائيًا بقراءة هذه البيانات من ملف التكوين.

يجب تعيين خيار إدخال السجل ، وإذا لزم الأمر ، حجم المخزن المؤقت للسلسلة يدويًا في كل مرة يتم فيها إعادة تشغيل البرنامج: عند بدء تشغيل البرنامج ، يتم تعطيل إمكانية إدخال السجل افتراضيًا ، ويبلغ حجم المخزن المؤقت 10000 سطر.

يمكن تعديل ملف التكوين يدويًا باستخدام أي محرر نصوص. لإعادة تعيين جميع الإعدادات ، قم ببساطة بحذف ini-file ، في هذه الحالة ، عندما تبدأ تشغيل String Master ، سيتم تشغيله مع تعيين جميع المعلمات على القيم الافتراضية.

أوضاع معالجة الملفات والقوائم

String Master’s تنقسم القائمة إلى عدة فئات موضوعية. بالإضافة إلى تحديد Help والإغلاق السريع لإطار التطبيق ، هناك ثلاث مجموعات أخرى من العناصر. المجموعة الأولى تسمح باختيار واحد من أربعة أوضاع للفرز ، ووضع تحضير الخط وواحد من وضعي التشفير. تحتوي المجموعة الثانية على ثلاث نقاط لجمع المعلومات الإحصائية ، وتتيح لنا تقدير حجم الملفات الناتجة وعدد مرات حدوث الأقنعة ، وهي مفيدة عند العمل مع كميات كبيرة من بيانات الإدخال. تتضمن المجموعة الثالثة خيارات ترميز Unicode ، واستخدام سلاسل فرعية بدلاً من الأقنعة وإدخال سجل المعالجة بواسطة البرنامج. يمكن تنشيط كل عنصر من عناصر القائمة بواسطة مفتاح ساخن أو مجموعة من المفاتيح ، مما يجعل البرنامج بسيطًا وبديهيًا.

String Master’s menu (قائمة Fig. 7. String Master’s)

About (F1) - يفتح نافذة المعلومات التي تحتوي على معلومات حول الإصدار وتاريخ الإصدار والبريد الإلكتروني لمؤلف البرنامج.

بعد أن يحدد المستخدم ملفًا للمعالجة ، يقوم بتعيين جميع العناصر الفرعية أو الأقنعة المطلوبة في الحقل المناسب ، و يختار أحد أوضاع التقسيم (Split by Masks - Many, Split by Masks - Single, Split by Random - Single, Split by Black and White) ، أو إعداد السلسلة أو التشفير (Hash Strings md5, Hash Strings SM-hash) ، يبدأ البرنامج في تحليل سطر الملف سطراً ، والتحقق من مطابقة كل مكون من الخطوط مع المعلمات المحددة ويعرض المعلومات في الملفات الناتجة .

عند تحديد Split by Masks - Many (F2) ، يتم إنشاء الملفات وفقًا لعدد الأقنعة / substrings ؛ يتم إعطاء كل ملف اسمًا يتكون من اسم الملف المصدر ورقم الفرز للقناع أو السلسلة الفرعية. عند تسمية الملف المصدر base.txt وكل الارتباطات المعروضة في سلاسل فرعية افتراضية تحتوي على «. Com /», سيتم حفظها في ملف يسمى base.txt.1.txt; يحتوي على «. Net /» - إلى ملف base.txt.2.txt; والذي يحتوي على «. org /» - في حالة التطابق ، سيتم نسخ ملف مصدر السلسلة إلى جميع الملفات التي تحتوي على أقنعة / سلاسل فرعية مطابقة. إذا كان بالإضافة إلى ذلك ، إذا كان هناك خطوط لا تناسب أي قناع أو سلسلة فرعية ، فسيتم وضعها في ملف يحمل اسم المصدر والفهرس 0.

مثال: إذا تم العثور على حدثين في أحد الأسطر base.txt.3.txt, و - «. Com /» ، فسيحصل على «. Net /», و base.txt.1.txt,

عند استخدام base.txt.2.txt. ، يتشابه رقم وأسماء الملفات التي تم إنشاؤها ، ولكن إذا تم العثور على سطر يتوافق مع العديد من العناصر الفرعية أو الأقنعة ، فسيتم وضعه فقط في الملف مع وضع قناع أعلى في القائمة.

مثال: إذا تم العثور على اثنين من الحوادث في أحد الخطوط Split by Masks - Single (F3) و - «. Com /» ، فسيحصل على «. Net /», فقط ولكنه لن يحصل على base.txt.1.txt,

مع base.txt.2.txt. ، سيقوم البرنامج بإنشاء ملفين فقط - مع الفهرس 0 والفهرس 1. في ملف الفهرس 1 سيتم وضع خطوط البيانات المصدر ، والتي ستتزامن مع واحد على الأقل من الأقنعة أو العناصر الفرعية المحددة ؛ الفهرس 0 سوف ملف الحصول على كل تلك التي لم يكن هناك تطابق.

تم تصميم Mode Split by Black and White (F4) لتقسيم الملفات الكبيرة إلى أجزاء مع المزج التلقائي. في هذه الحالة ، يتم تجاهل جميع الأقنعة ، ويقوم البرنامج بإنشاء 32 ملفًا: سيكون لكل سطر من الملف المصدر احتمال متساوٍ للدخول في أحد هذه الملفات.

من خلال تحديد Split by Random - Single (F5) ، يمكن للمستخدم إعطاء النموذج المطلوب الوحيد إلى قائمة الارتباطات (ما يسمى المعالجة المسبقة). في إصدارات البرامج السابقة ، تم استخدام هذا الخيار بالاقتران مع أوضاع الفرز التي تتيح توفير الكثير من الوقت ، لكنه قد يؤدي أيضًا إلى فقد الروابط (على سبيل المثال ، عند تقليل الارتباطات إلى العلامة "؟" في الأساس ، تحصل جميع الأسطر التي لا تحتوي على هذا الحرف على ملف به فهرس صفر ، ويمكن فقدانه عند دمجه مع قاعدة تحضير أخرى مع أوضاع معالجة أخرى). المعالجة المسبقة المستخدمة كإجراء منفصل تسمح بتجنب مثل هذه الأخطاء. من الجيد أيضًا رؤية إصدار غير مكتمل قبل إنشاء ملف بيانات مشفر.

يتم تجاهل جميع الأقنعة والبدائل في هذا الوضع من قبل البرنامج ، ويتم استخدام تسلسل محدد مسبقًا من الأحرف في الحقل Prepare Strings (F6) ، حيث:

  • الحرف الأول - ضروري للعثور على الأحرف في الملف ، والتي ستكون مكان تقسيم السلسلة ؛
  • الحرف الثاني - عداد إدخالات الحرف المحدد ؛
  • الحرف الثالث - هو 0 أو 1. إذا كان 0 ، فسيكون إدخال الحرف في بداية السلسلة. إذا 1 ، النهاية ؛
  • العلامة الرابعة - يمكن أن تكون 0 أو 1. إذا كانت 0 ، فسيتم حذف جميع البيانات الموجودة في السلسلة من البداية إلى حرف الإدخال. إذا 1 ، ثم من الحرف إلى النهاية ؛
  • الحرف الخامس - هو 0 أو 1. إذا كان 0 ، فسيتم تضمين حرف الإدخال في سطر الملف الناتج. إذا 1 ، ثم استبعدت.

مثال 1: إذا كانت إعدادات URL في URL ، فستكون القيمة String Prepare Settings ثم الارتباطات مثلhttp://ru.someforum.com/index.php؟showtopic=10358&st=40&#entry136670 سيتم تخفيض إلى النموذج http://ru.someforum.com، لان:

  • يتم البحث عن الشخصية «/» ؛
  • يتم البحث في الإدخال الثالث للشخصية ؛
  • يتم فحص الخط من البداية.
  • يتم حذف جميع البيانات بعد حرف الإدخال ؛
  • لا يتم تضمين حرف الإدخال نفسه في ملف الإخراج.

مثال 2: إذا كانت إعدادات URL في URL ، فستكون القيمة /3010, ثم الارتباطات مثل http://music.bla.bla.ru.someforum.com سيتم تحويلها إلى ru.someforum.com، لان:

  • يتم البحث عن الشخصية «.»
  • يتم البحث في الإدخال الأول للشخصية ؛
  • يتم فحص الخط من النهاية ؛
  • يتم حذف جميع البيانات بعد حرف الإدخال (عند التحقق من اليمين إلى اليسار ، هذا هو نفس الجزء من الرابط «http: //music.bla.bla»)
  • لا يتم تضمين حرف الإدخال نفسه في ملف الإخراج.

في هذه الحالة ، هناك مسح للروابط من المجالات الفرعية.

مثال 3: إذا كان في عنوان URL ، قم بإعداد الإعدادات ، فاتورة القيمة .3110, نوع الارتباط http://ru.someforum.com/index.php؟showtopic=10358&st=40&#entry136670 تأخذ شكل http://ru.someforum.com/index.php، لان:

  • يتم البحث عن شخصية «؟»
  • يتم البحث في الإدخال الأول للشخصية ؛
  • يتم فحص الخط من البداية.
  • يتم حذف جميع البيانات بعد حرف الإدخال
  • لا يتم تضمين حرف الإدخال نفسه في ملف الإخراج.

يزيل هذا العلاج المعلمات الإضافية للبرنامج النصي.

مع ?1010, ، يمكن للمستخدم تشفير كل سطر من الخوارزمية md5. ينشئ هذا البرنامج ملفًا واحدًا ، حيث سيتم وضع جميع علامات التجزئة لخطوط الملف المصدر. يكون هذا مفيدًا عندما يرغب العديد من المستخدمين في مقارنة قواعد الخطوط الخاصة بهم ، دون الكشف عن بعضهم البعض عن محتواهم المباشر ، وكذلك لبيع القواعد.

وضع التشفير Hash Strings md5 (F7) ، على عكس الوضع السابق ، يسمح بتحديد طول التجزئة. نظرًا لأن استخدام MD5 بالطول الكامل في معالجة الملفات الصغيرة أمر غير عملي ، فإن تقليل طول التجزئة سيزيد في كثير من الحالات من سرعة البرنامج وحجم ملف الإخراج الذي يحتوي على قيم السلسلة المشفرة. يوصى باستخدام تجزئة أطول عند العمل بكميات كبيرة من المعلومات ، حيث سيساعد ذلك في تجنب التعارضات المحتملة.

Specifying the length of the hash for encryption (الشكل 8. تحديد طول التجزئة للتشفير)

قائمة طعام. طرق الحصول على الإحصاءات والخيارات

إلى جانب الطرق الأساسية للعمل مع ملف في Hash Strings SM-hash (F8) ، يمكن للمستخدم أيضًا الاستمتاع بعدة أوضاع إحصائية إضافية. لتحديدها ، يمكن للمستخدم استخدام عناصر القائمة String Master.

تم تصميم هذه الأوضاع لتحديد حجم ملفات الإخراج وعدد الإدخالات وفقًا للمعلمات التي يحددها المستخدم. يشبه مبدأ التشغيل خوارزميات الفرز ، لكن ملفات الإخراج تحتوي على إحصائيات بدلاً من أن تكون مناسبة لسلاسل الأقنعة ، مما يجعل الأمور أسرع بكثير ، لأن الأداء في هذه الحالة يقتصر فقط على سرعة القراءة سطراً. يتكون اسم ملف الإخراج من اسم الملف الأصلي مع إضافة "stata" ووضع الإحصائيات المحدد. على سبيل المثال ، إذا كان اسم الملف هو base.txt ضمن وضع Split by Masks - كثير (stata) ، فسيتم تسمية الملف الناتج base.txt.stata.method1. في ملف الإحصائيات بصرف النظر ، يتم إدخال الأقنعة التي تم حسابها البيانات على إجمالي عدد الأسطر في الملف المصدر والوقت المستغرق في التحليل. القدرة على جمع الإحصاءات مفيدة للغاية عند العمل مع قواعد بيانات كبيرة من الروابط.

Example of output file in stata mode (الشكل 9. مثال على ملف الإخراج في وضع stata)

بغض النظر عن الوضع المحدد للعمل مع الملفات ، يمكن للمستخدم اختيار خيارات إضافية: استخدام ترميز Unicode ، والتعامل مع سلاسل فرعية بدلاً من الأقنعة (يتم تمكينها افتراضيًا) ، وتمكين البروتوكول من العمل بواسطة البرنامج.

يمكن لخيار Split by Masks - Many (stata) (Shift+F2), Split by Masks - Single (stata) (Shift+F3), Split by Black and White (stata) (Shift+F4) معالجة الملفات باستخدام ترميز UTF-8 (تنسيق تحويل Unicode ، متوافق مع ترميز النص 8 بت) تحت إشارة ممكّنة وترميز ANSI إذا تم تعطيله. وبالتالي ، مع Unicode mode (Ctrl + F1) ، ليست هناك حاجة لاستخدام برنامج تابع لجهة خارجية لحفظ النص في ترميز مناسب.

من خلال الخيار String Master ، يمكن للمستخدم فقط استخدام السلاسل الفرعية للفرز ، وفي هذه الحالة يكون استخدام Use Substring not Mask (Ctrl + F2) ذا صلة فقط إذا كان يمكن أن يحدث في نص ملف مصدر. استخدام الخيار Substring not Mask ممكّن بشكل افتراضي ، إذا تم تعطيله ، يتم تنشيط وضع الأقنعة ، حيث يكون للحرف «*» تطبيق أوسع.

يسمح خيار «*» للتطبيق بالاحتفاظ ببروتوكول سجل العمل ، والذي سوف يحتوي على معلومات حول تاريخ ووقت بدء وإنجاز الملفات المحددة وطرق الفرز والتشفير ، وكذلك اسم الملف ومساره الكامل.

Program working Minutes (الشكل 10. برنامج العمل دقائق)

برامج العمل والخيارات المتقدمة

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

Progress of a task (الشكل 11. تقدم المهمة)

بعد الفرز ، سيتم عرض نافذة تقرير للمستخدم ، تشير إلى أن العمل قد تم.

Completion report of the program (الشكل 12. تقرير الانتهاء من البرنامج)

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

Display of the file names configuration field (الشكل 13. عرض حقل تكوين أسماء الملفات)

يعد تغيير الأسماء مفيدًا عند العمل مع الملفات الكبيرة ، لأنه من خلال تغيير العنوان ، يمكنك تسجيل الملفات على محرك أقراص فعلي مختلف. عند بدء استخدام حقل اسم الملف لأول مرة ، يكون فارغًا ؛ تظهر القيم الموجودة فيه عند تحديد ملف مصدر في حقل ملف المصدر. عند إغلاق البرنامج بالطريقة القياسية ، يتم تخزين أسماء الملفات المحددة من قبل المستخدم في ملف التكوين ، ولكن عندما يتم اختيار قاعدة بيانات جديدة للفرز باستخدام زر Enable Application Log ، يتم إعادة تعيينها إلى القيم الافتراضية.

Hidden field for setting file names (الشكل 14. الحقل المخفي لإعداد أسماء الملفات)

ميزات مهمة للبرنامج

من بين الميزات المهمة للبرنامج ما يلي: المعالجة الثانوية للملف نفسه لا تحل محل ملفات المخرجات ولكنها تلحق بها. لذلك ، عند التعامل مع الملفات الكبيرة ، التي تستهلك معالجتها وقتًا طويلاً ، لا تنسَ ذلك.

في كل بداية من البرنامج ، يتم تعيين قيمة المخزن المؤقت على 10000 سطر ، يتم إيقاف تشغيل خيار التسجيل. إذا احتاج المستخدم إلى الاحتفاظ بسجل أو استخدام قيمة المخزن المؤقت للسلسلة بشكل مختلف عن الافتراضي ، في كل مرة في بداية البرنامج ، يجب إعادة تعيين الإعدادات المناسبة. يتم حفظ جميع التغييرات الأخرى في ملف ini ، ويتم قراءتها تلقائيًا في بداية «…»

عنصر القائمة String Master. أو الضغط على Exit (Halt) يغلق البرنامج على الفور ، طيه تسجيل البيانات الحالية من المخزن المؤقت إلى ملف الإخراج ولم يتم تنفيذ إعدادات ملف التكوين. في حالة حدوث أي فشل أو الحاجة إلى إغلاق البرنامج ، يجب تقليل قيمة المخزن المؤقت. يمكن تطبيق إمكانية الخروج في حالات الطوارئ عندما "يتجمد" البرنامج ، في بقية الوقت يجب إغلاق String Master بطريقة قياسية.

خاتمة

بالطبع ، F10 لا يناسب فقط العمل مع قوائم الروابط ، ومجموعة متنوعة من قواعد البيانات للمنتديات والمواقع الإلكترونية. من خلال عمل مستقر وسريع مع الملفات الكبيرة ، يمكن أن يكون لهذا البرنامج الكثير من الاستخدامات الأخرى.

تحميل

String Master