إسطوانة الوندوز، ومحرك اﻷقراص المُبرّد، وطابعة اﻹيصالات

السلام عليكم ورحمة الله

في الفترة الفائتة عانيت من مشاكل كثيرة تم حل جزء كبير منها والحمد لله. أحببت أن أشارككم بها، وربما أجد حل للمشاكل التي مازالت قائمة.

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

طابعة الفواتير لها منفذ توازي Parellel Port :

وهي صينية وماركتها غير مكتوبة، أو ربما تكون مكتوبة بالصينية. ولم أعرف كيف أقوم بتعريفها في نظام لينكس، حيث أنه يعتمد على معرفة المستخدم بإسم الطابعة، والقرص الذي جاء معها كان لنظام وندوز، وحينها لم يكن لدي نظام وندوز مثبت في أي من اﻷجهزة المنزلية. فحاولت تثبيت قرص الوندوز 7 وهو DVD في الجهاز القديم ، وهو الجهاز الوحيد المحتوي على منفذ توازي، حيث أن اللوحات الرئيسة للأجهزة الجديدة أصبحت خالية من هذا المنفذ ومنفذ التوالي، فمن احتاج لها يمكنه شراء كرت يحتوي على هذه المنافذ، أو شراء محول Parellel to USB.

اسطوانة الوندوز تعمل فقط عند بداية تشغيل الحاسوب، ثم تتعذر أثناء تثبيت الونوز، أحياناً عند Expanding files 0%، وأحياناً عند 26%، وعند إعادة تشغيل الجهاز بعدها يتعذر اﻹقلاع بواسطة هذا القرص، إلا بعد غلق الجهاز ثم تشغيله بعد ساعات طويلة، نفس المشكلة هذه حدثت مع OpenSuse DVD، أما اﻷقراص العادية CD-ROM فهي تعمل بدون مشاكل. فبعد أيام طويلة من المحاولات قمت بشراءIDE-DVD، وطبعاً كنت متوقع أن لايحدث فرق، لكن يمكنني إستخدام هذا المحرك في جهاز آخر في حال ثبوت أن المشكلة ليست في محرك اﻷقراص:

عند تركيب محرك اﻷقراص لم يستطع اﻹقلاع بالوندوز أو أي نظام آخر، وطبعاً جربت كثير من التغييرات، مثل تحويل الـ Master/Slave jumpers, Cables, BIOS Settings

وفكرت في عدة حلول، لكن كلها كانت مكلفة مادياً أو من ناحية الوقت:

  1. شراء قرص صلب جديد للجهاز المحمول ثم تثبيت وندوز ولينكس: تكلفة القرص 200 قيقا: حوالي 80 دولار. والمشكلة أنه يحتاج لوقت حتى أقوم بتثبيت اللينكس في القرص الجديد، خصوصاً أن النظام الحالي يعمل حوالي سنتين وبه إعدادات كثيرة وهو مستقر وهو الجهاز الرئيسي الذي أعمل عليه ولا يحتمل المخاطرة.
  2. شراء نسخة وندوز XP بسبب أنه مناسب مع الجهاز القديم، ولايحتاج تنشيط عن طريق الإنترنت، أو أنه غير مغلق عن السودان، حيث قال لي أحد الزملاء وهو يعمل في شركة بترول أن البرامج اﻷمريكية التي يتعدى عمرها 5 سنين غير محظورة. والسبب اﻵخر هو أنه يأتي بإسطوانة عادية CD-ROM ، وهي تعمل في محرك الأقراص الحالي. لكن لم أجده في السوق
  3. شراء CPU جديدة: تكلفتها من حوالي 500 إلى مايزيد عن 660 دولار: المشكلة تكمن في أنه ربما لا أحتاج للوندوز إلا نادراً وفي التجارب فقط، حيث أني أقوم بالبرمجة والتطوير في بيئة لينكس، وعند اﻹنتهاء أقوم بتجربة البرنامج في وندوز، حيث أن المستفيدين من البرامج يستخدمون وندوز، حتى أن إنتاج ملفات تنفيذية للوندوز أصدرها عن طريق نظام لينكس. فالتكلفة عالية، ولم يحن بعد اﻹحتياج الفعلي هذا الجهاز الجديد
  4. شراء معالج جديد، ولوحة جديدة، وذاكرة:حوالي 250 دولار: أشبه بالحل السابق، إلا أني لم أكن متأكد أن العتاد القديم هو الذي حال دون تثبيت الوندوز

قبل البداية في تنفيذ أحد هذه الحلول، قمت بتجربة أخيرة، وهي تشغيل هذا المحرك في جهاز آخر ذو لوحة جديدة، ولم يُقلع أيضاً فأيقنت أن المشكلة مرتبطة بمحرك اﻷقراص وهي تحديداً مرتبطة بالسخانة، حيث أنه لايستطيع اﻹقلاع  باﻷقراص المرنة DVD عندما يسخن، فقمت بوضعه في الثلاجة وفي داخله اسطوانة الوندوز لمدة ساعة نصف، بعدها قمت بتركيبه في الجهاز القديم ومحاولة تثبيت الوندوز، وقد تفاجأت بأن التثبيت هذه المرة إكتمل بنجاح. وأول مرة أقوم بثبيت الوندز كان في شهر يناير، وهو في الشتاء، لذلك لم تحدث هذه المشكلة، أما اﻵن فإن درجات الحرارة تفوق الـ 40 درجة مئوية في الخرطوم.

بعد اﻹنتهاء من حل مشكلة تثبيت الوندوز، ظهرت مشكلة جديدة وهي تعريف الطابعة، حيث وجدت أن قرص التعريف يحتوي على ملفات ومجلدات مكتوبة بالصينية، وداخلها تعريفات للوندوز XP, 2000 لكن ليس Windows 7، وحتى أن برامج التعريف مكتوبة باللغة الصينية:

عندها تذكرت طريقة الطباعة أيام نظام الدوز وهي عن طريق هذا اﻷمر:

dir > prn:

أو

dir > lpt1:

والذي يقوم بطباعة أسماء الملفات في الطابعة الموصلة على منفذLPT1

وفي برامج توربو باسكال كنا نستخدم طريقة الملفات للطباعة:

Assign(F,'PRN');
Rewrite(F);
Writeln(F, 'Hello');

وقد عملت الطابعة، لكن لم تسطع طباعة الحروف العربية، وظهرت بدلاً عنها الحروف الصينية.

قمت بعد ذلك بتثبيت أوبونتو 9.10 وتجربة الطباعة بدون تعريف الطابعة بإستخدام اﻷمر:

echo Hello World > /dev/lp0

وقد نجحت أيضاً في كتابة الحروف اﻹنجليزية واﻷرقام، لكن الحروف العربية ظهرت باللغة الصينية:

لا أعرف هل الطابعة مصممة للطباعة بالحروف اﻹنجليزية والصينية فقط؟

ربما تكون اﻹجابة لدى اﻷخ زاهر ديركي، فقد قرأت في أحد تدويناته أنه نجح في كتابة الكلمات العربية بطريقة صحيحة وغير متقطعة.

وبإستخدام المحول USB To Parellel أو العكس، لم تنجح الطريقة السابقة، حيث أنه لم يم التعرف على منفذ التوازي، بل تم التعرف على المنفذ على أنه USB

Advertisements

11 فكرة على ”إسطوانة الوندوز، ومحرك اﻷقراص المُبرّد، وطابعة اﻹيصالات

  1. مرة واجهتني مشكلة في اقلاع قرص ثابت Hard disk بسبب حرارته فوضعته في البراد و قمت بتشغيله، احيانا نرى امور مضحكة في عالم التقنية.
    لكن من اجر حرارة الجهاز حاول تغيير وحدة التغذية لوحدة بقيم أكبر و بنوعية جيدة، التغذية السيئة سبب من سبب ارتفاع الحرارة

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

    >وبإستخدام المحول USB To Parellel أو العكس، لم تنجح الطريقة السابقة، حيث أنه لم يم التعرف على منفذ التوازي، بل تم التعرف على المنفذ على أنه USB

    قد يكون اسم المخرج فيه USB و لكنه LPT

    تستطيع استعمال SYNASER
    http://www.ararat.cz/synapse/doku.php/start

    طبعا في حال نجاحك مع الطابعة نحن ننتظر مشاركتك لنا هذه المعلومات 😀

  2. الـ USB to Parellel ظهر باﻹسم:

    /dev/usb/usblp0

    لكنه لم يطبع.
    سوف أحاول البحث عن طابعة جديدة إن شاء الله
    طريقة الطباعة هي:

    try
    Print:= True;
    if Target = 'Linux' then
    AssignFile(F, '/dev/lp0')
    else
    AssignFile(F, 'prn:');
    Rewrite(F);
    except
    on e: exception do
    begin
    ShowMessage('تعذرت الطباعة');
    Print:= False;
    end;
    end;
    // Header
    if Print then
    begin
    Writeln(F);
    Writeln(F, 'Bill # ', BatchID);
    Writeln(F, DateTimeToStr(Now));
    Writeln(F, 'Item Count Total');
    Writeln(F, '----------------------------');
    Writeln(F);
    end;

  3. هذه التعليمات محرمة لدي.

    Assign(F,’PRN’);
    Rewrite(F);
    Writeln(F, ‘Hello’);

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

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

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

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

    >>هذه التعليمات محرمة لدي.
    وماهي البدائل؟

  6. دائما تأتي الطابعات مع برنامج يقوم بعملية إعداد لها، و ليس بالضرورة درايفر للويندوز أو للينوكس
    إذا كنت وجدت البرنامج و كانت الطابعة متطورة قد تجد معايرة لصفحة codepage و احيانا برتوكو التخاطب أيضا. لا بد من وجود هذا البرنامج لأن هنالك الكثير من المعايرات لأي طابعة مهما كانت
    انتبه و أنت ترسل النصوص العربية أن تجرب بال ANSI أو UTF8 أو اخيرا Unicode قم بتحويل النص قبل ان ترسلها.
    إذا كنت تستعمل Lazarus فهو يستخدم UTF8 جرب Unicode

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

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

  7. بالنسبة
    Assign(F,’PRN’);
    Rewrite(F);
    Writeln(F, ‘Hello’);

    عندما تتعامل مع الملفات تعامل من خلال التوابع الملفات و أشهرها TFileStream
    عند التعامل مع البوابات Synapse جيد لذلك

  8. عند استخدام هذا الكود:

    SetLength(UniLine, 200);
    Utf8ToUnicode(PUnicodeChar(UniLine), PChar(Line), Length(Line));
    Writeln(F, UniLine);


    حيث أن Line به السطر المراد طباعته و line, UniLine كلاهما من النوع string
    كتبت جملة SQL:

    insert into table … values …

    يبدو أن التحويل لم يتم بطريقة صحيحة

  9. يكفي مجرد اسناد قيمة متحول من نوع ansistring أو utf8string إلى متحول من نوع widestring حتى يتم التحويل بين المحارف تلقائيا

    تستطيع استعمال UTF8Decode و المعاكسة لها للتحويل بين النوعين

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s