الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن التعامل مع بورت الطابعة؟؟

مغلق
بدأه TAXIDRIVER في 12 ديسمبر 2003 · 8 رد · 2,227 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ماهي الدالة التي أستخدمها للتعامل مع بورت الطابعة ؟؟

#2

السلام عليكم ,,

خذ الرابط تحدثنا فيه كثيرا عن هذا الامر ,,

http://www.arabteam2000.com/ib/index.php?s...showtopic=36111

ستجد ضالتك هناك باذن الله ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#3

بصراحة أخوي النقطة اللي أبيها هي قولك في الموضوع أعلاه :

((

القاعدة كالتالي ,,

أي رقم تريد اخراجه من المنفذ سيتم تحليله الى العامل 000110101 ,,,

حيث أن الرقم المدخل سيتحول بالنظام الثنائي ذو الاساسا 2 ,, أرجو أن تكون قد فهمتني ,,,

رد علي ,, لأتابع معك ,,

بالتوفيق ,,, ))

سؤالي اللي أبغاه هو كيف أخذ البتات ( 1010100001) من منفذ الطابعة وتحويله عن طريق decode إلى الحروف التي نقرأها .

طيب ولو حدث خطأ في نقل البتات اللي فوق مثلاً 0 كتبت 1 كيف يمكنني تصحيح هذا الخطأ والحصول على الكلمة الصحيحة التي أنطبعت عن طريق الطابعة .

وشاكرلك أخوي تجاوبك السابق والحالي مع أسئلتي الثقيلة .

#4

السلام عليكم,

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

فمثلا نفترض ان اه عندنا الحرف A فهدا يمكن أن نكتبه كما يلي :

في العشاري سيكون 65

في الهيكس سيكون 41

وفي البايناري سيكون 01000001

وهكدا.

أتمنى لك التوفيق وإلى اللقاء.

#5

السلام عليكم ,,

كما فهمت من سؤالك ,, أنت تريد أخذ قيمة من البورت ,, بالطبع بواسطة الدالة inp ,, قيمة الاعادة لل inp من النوع BYTE وهي unsigned char وليست من نوع bit ,,

يعني القيمة المعادة هي تماما ماتريده ,,

ماقصدك بالحروف ,, هل تقصد حروف الاسكي a,b,c D Hk وهكذا ,,

اقتباس
طيب ولو حدث خطأ في نقل البتات اللي فوق مثلاً 0 كتبت 1 كيف يمكنني تصحيح هذا الخطأ والحصول على الكلمة الصحيحة التي أنطبعت عن طريق الطابعة
.

لم أفهم ماتنوي فعله ,,

وضح لأوضح لك ,,

بالتوفيق ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#6

أولاً أشكر الأخوان على تجاوبهم .

(( كما فهمت من سؤالك ,, أنت تريد أخذ قيمة من البورت ,, بالطبع بواسطة الدالة inp ,, ))

أنا هذا سؤالي الرئيسي كيف يتم ذلك وياليت بمثال ؟؟

أما كلامي الغير مفهوم فأنا تكلمت عن المشكلة ككل وهذا شي يدخل فيه الشبكات وتقنيات أكتشاف الأخطاء مثل تقنية هامنغ كود وغيرها .

والمشكلة بكاملها :

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

هذي كلها أعملها ( كمحاكاة) بالسي++ .

أنا أهم شي عندي نقطة (( أخذ البتات من منفذ الطابعة عن طريق سي++ ))

وأنا قرأت الموضوع الذي وضعه أخونا HGB بس مافهمت منه اللي أبي .

وآسف على الإطالة وعدم توضيحي للمشكلة بشكل كامل .

بإنتظار آرائكم.أولاً أشكر الأخوان على تجاوبهم .

#7

ياليت ياشباب المساعدةلأني محتاج لدالة التي تأخذ قيمة من بورت الطابعة

وهذي المشكلة موقفه شغلي.

#8

السلام عليكم,

يمكنك استعمال الدالة CreateFile وأضن أنه تكلمنا عنها سابقا.وبعدها يمكنك أن تكتب أو تقرأ من port كأنك تقرأ أو تكتب في ملف عادي.

إلى اللقاء.

#9

السلام عليكم ,,

باستخدام الدالة ,,,

unsigned char cData;
	cData = Inp(888);

الرقم 888 هو رقم البورت الخاص بالطابعة وهو مايعادل 378 بالهيكس ,,

فقط باستخدام الطريقة أعلاه ,, "طبعا بعد أن تجهز كل شيء وتستورد الدوال من ملف ال dll كما ذكرنا في الرابط السابق ملف ال dll هو Inpout32 " يمكنك ان تقرأ ماتريد من ال Port ,,

خذ المثال ماعليك الا أن تشغله ,,

Test_2.cpp

تم تعديل هذه المشاركة بواسطة HGB في 14 ديسمبر 2003 في 02:52

banner_60_468.gif

NOTHING IS IMPOSSIBLE

هذا الموضوع مغلق.

مواضيع مشابهة