קובץ DLL זה הורד מהאתר של B.Kainka
בכתובת הבא:
http://home.t-online.de/home/B.Kainka
.
כמו כן הוא
מופיעה באתר של חברת אלקטור בכתובת
http://www.elektor-electronics.co.uk/
וניתן לשימוש
פרטי חינם.
כמו כן מצאתי
באינטרנט עוד 2 קבצי DLL דומים בתפקוד שלהם ומשמשים בתקשורת עם המפתחים השונים של המחשב.
באתר של
חברת zealsoft
המכיל קובץ Port.dll
המסוגל לעבוד על חלונות 2000 ו- XP בכתובת:
http://www.zealsoft.com/ntport/index.html
באתר http://neil.fraser.name/software/lpt/ ניתן למצוא דוגמה
של Neil Fraser לשימוש נוסף ב- DLL ייחודי.
כדי לפשט
את הבנת בעניין לקחתי את פרויקט מספר 3 במפתח המקבילי שהוא "הרכבת מספר היציאות של המפתח תוך שימוש באוגר
הזזה" וכתבתי אותו מתאים לכל אחד מקבצי ה- DLL
השונים:
חשוב!
כל הפונקציות
הנ"ל מתייחסות לקובץ Port.dll של B.Kainka וחברת אלקטור
שמות כל
הפונקציות רשומות באותיות גדולות.
חלק מהפונקציות
לא עובדות תחת WindowsNT,2000,XP.
את הקובץ
יש להעתיק לתיקייה הבא: c:\windows\system
בכל מחשב שמפעיל את המפתח. אפשרות שניה להעתיק את
הקובץ לאותה תיקייה שבה מופעל קובץ ההרצה של התוכנה. אישית אני מעדיף את האפשרות
השניה.
פונקציות להתקשרות עם המפתח
המקבילי LPT:
(הפונקציות לא עובדות תחת WindowsNT,2000,XP).
INPORT
מקבלת משתנה
של כתובת בין (0-65535).
הפונקציה
קוראת את מצב האוגר בכתובת שהתקבלה.
הערך המוחזר
מהפונקציה הוא משתנה בגודל (byte) המכיל את תוכן האוגר.
הכרזת הפונקציה
במודול:
Declare Function INPORT Lib "Port" (ByVal p%) As Integer
OUTPORT
מקבלת משתנה
של כתובת בין (0-65535) ומספר בין (0-255).
הפונקציה
מוציא מידע למפתח.
אין לה ערך
מוחזר.
הכרזת הפונקציה
במודול:
Declare Sub OUTPORT Lib "Port" (ByVal A%, ByVal b%)
פונקציות להתקשרות עם המפתח
הטורי COM:
(הפונקציות עובדות תחת WindowsNT,2000,XP).
OPENCOM
מקבלת משתנה
מסוג מחרוזת הכוללת את הגדרות המפתח כמו:
עבור :Windows 95/98
OPENCOM "COM2,19200,N,8,1"
עבור Windows 95/98/NT:
OPENCOM "COM2: baud=19200 data=8 parity=N stop=1"
הפונקציה
פותחת את המפתח
הפונקציה
מחזירה ערך '0' אם יש תקלה בפתיחת המפתח.
הכרזת הפונקציה
במודול:
Declare Function OPENCOM Lib "Port" (ByVal A$) As Integer
CLOSECOM
הפונקציה
לא מקבלת כלום
הפונקציה
סוגרת את המפתח
הפונקציה
לא מחזירה כלום
הכרזת הפונקציה
במודול:
Declare Sub CLOSECOM Lib "Port" ()
READBYTE
הפונקציה
לא מקבלת כלום
הפונקציה
קוראת את מצב המפתח כמילה(המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).
הפונקציה
מחזירה '-1' כאשר יש שגיאה או את המילה.
הכרזת הפונקציה
במודול:
Declare Function READBYTE Lib "Port" () As Integer
SENDBYTE
הפונקציה
מקבלת בית בין (0-255)
הפונקציה
שולחת למפתח מילה(המפתח חייב להיות פתוח על ידי הפונקציה
הפונקציה
לא מחזירה כלום
הכרזת הפונקציה
במודול:
Declare Sub SENDBYTE Lib "Port" (ByVal b%)
DSR
הפונקציה
לא מקבלת כלום
הפונקציה
קוראת את מצב הדק DSR
(המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).
הפונקציה
מחזירה '1' או '0' בהתאם למצב ההדק.
הכרזת הפונקציה
במודול:
Declare Sub RTS Lib "Port" (ByVal b%)
CTS
הפונקציה
לא מקבלת כלום
הפונקציה
קוראת את מצב הדק CTS
(המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).
הפונקציה
מחזירה '1' או '0' בהתאם למצב ההדק.
הכרזת הפונקציה
במודול:
Declare Function CTS Lib "Port" () As Integer
RI
הפונקציה
לא מקבלת כלום
הפונקציה
קוראת את מצב הדק RI
(המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).
הפונקציה
מחזירה '1' או '0' בהתאם למצב ההדק.
הכרזת הפונקציה
במודול:
Declare Function RI Lib "Port" () As Integer
DCD
הפונקציה
לא מקבלת כלום
הפונקציה
קוראת את מצב הדק DCD
(המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).
הפונקציה
מחזירה '1' או '0' בהתאם למצב ההדק.
הכרזת הפונקציה
במודול:
Declare Function DCD Lib "Port" () As Integer
RTS
הפונקציה
מקבלת '1' או '0'
הפונקציה
משנה את מצב הדק RTS
בהתאם לערכים שהיא מקבלת (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).
הפונקציה
לא מחזירה כלום
הכרזת הפונקציה
במודול:
Declare Sub RTS Lib "Port" (ByVal b%)
TXD
הפונקציה
מקבלת '1' או '0'
הפונקציה
משנה את מצב הדק TXD
בהתאם לערכים שהיא מקבלת (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).
הפונקציה
לא מחזירה כלום
הכרזת הפונקציה
במודול:
Declare Sub TXD Lib "Port" (ByVal b%)
DTR
הפונקציה
מקבלת '1' או '0'
הפונקציה
משנה את מצב הדק DTR
בהתאם לערכים שהיא מקבלת (המפתח חייב להיות פתוח על ידי הפונקציה OpenCom).
הפונקציה
לא מחזירה כלום
הכרזת הפונקציה
במודול:
Declare Sub DTR Lib "Port" (ByVal b%)
TIMEOUT
הפונקציה
מקבלת זמן milli
seconds
הפונקציה
קובעת את זמן ההמתנה המקסימלי למפתח הטורי (המפתח
חייב להיות פתוח על ידי הפונקציה OpenCom).
אם אי תשובה
מהמפתח הטורי על לאותו זמן הערך המוחזר יהיה '-1'
הכרזת הפונקציה
במודול:
Declare Sub TIMEOUT Lib "Port" (ByVal Value%)
פונקציות לניהול זמן.
DELAY
הפונקציה
מקבלת זמן ב- milli
seconds
הפונקציה
משהה את פעולת המחשב למשך הזמן הנקלט.
הפונקציה
לא מחזירה כלום.
הכרזת הפונקציה
במודול:
Declare Sub DELAY Lib "Port" (ByVal b%)
DELAYUS
הפונקציה
מקבלת זמן ב- micro
seconds
הפונקציה
משהה את פעולת המחשב למשך הזמן הנקלט.
הפונקציה
לא מחזירה כלום.
הכרזת הפונקציה
במודול:
Declare Sub DELAYUS Lib "Port" (ByVal l As Long)
TIMEINIT
הפונקציה
לא מקבלת כלום.
הפונקציה
מאפסת את מונה הזמן ה- milli seconds.
הפונקציה
לא מחזירה כלום.
הכרזת הפונקציה
במודול:
Declare Sub TIMEINIT Lib "Port" ()
TIMEREAD
הפונקציה
לא מקבלת כלום.
הפונקציה
קוראת את הזמן זמן ה- milli seconds
שעבר מאז הפעלת הפונקציה TIMEINT.
הפונקציה
מחזירה את הזמן שעבר ב- milli seconds
הכרזת הפונקציה
במודול:
Declare Function TIMEREAD Lib "Port" () As Long
TIMEINITUS
הפונקציה
לא מקבלת כלום.
הפונקציה
מאפסת את מונה הזמן ה- micro seconds.
הפונקציה
לא מחזירה כלום.
הכרזת הפונקציה
במודול:
Declare Sub TIMEINITUS Lib "Port" ()
TIMEREADUS
הפונקציה
לא מקבלת כלום.
הפונקציה
קוראת את הזמן זמן ה- micro seconds שעבר מאז הפעלת הפונקציה TIMEINTUS.
הפונקציה
מחזירה את הזמן שעבר ב- micro seconds
הכרזת הפונקציה
במודול:
Declare Function TIMEREADUS Lib "Port" () As Long
REALTIME
הפונקציה
מקבלת את הערכים '0' או '1'
הפונקציה
מעלה את התוכנה לרמה גבוהה של עדיפות במעבד של המחשב. הפונקציה טובה למצבים של
עבודה עם זמנים מדויקים או קרטיים. יש להשתמש בפונקציה
זו רק ליפני הפעלת קוצב הזמן ולהפסיק מיד בסוף קריאת הזמן כי בזמן זה שאר תוכניות
המחשב יעבדו לאט מאוד.
הפונקציה
לא מחזירה כלום.
הכרזת הפונקציה
במודול:
Declare Sub REALTIME Lib "Port" (ByVal i As Boolean)
|