هل يمكن لأحد أن يساعدني خطوة بخطوة في كيفية استخدام serial port ووضع البيانات التي يقرؤها في memo بدلاً من HyperTerminal الذي يأتي مع الويندوز؟
شكراً
هل يمكن لأحد أن يساعدني خطوة بخطوة في كيفية استخدام serial port ووضع البيانات التي يقرؤها في memo بدلاً من HyperTerminal الذي يأتي مع الويندوز؟
شكراً
السلام عليكم
goolg it first
http://www.google.com/search?hl=en&q=delph...G=Google+Search
هناك الكثير من الوصلات التي قد تفيدك
http://www.delphi-central.com/serial.aspx
المعذرة ليس لدي الوقت للتدقيق في تلك الوصلات و تجربتها .
CIONO1
هناك حتى الأحلام أصبحت ممنوعة ...
إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!
ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...
There, even in dreams u r wanted
To be a programmer, how a nice dream it was
Leaving ...
أعيدوا لإسمي لونه المفضل
Title: Access the serial port in Windows XP Author: Tomas Rutkauskas Product: Delphi 4.x (or higher) Post Date: 11/14/2002 Problem/Question/Abstract: How I do to access the serial or paralell port in Windows XP? Answer: The example below sends a char 'R' to the port, then reads a line until CR or LF is encountered, then processes a line via ParseData. Then all is repeated until Terminated is True. procedure ProcessCOMPortData(FPortName: string); var LPortHandle: THandle; LInBuffer: array[0..1023] of Char; LBytesWritten, LBytesRead: Cardinal; LOutBuffer: Char; LOverlapped: TOverlapped; LEvent: TEvent; LOldCommTimeouts, LCommTimeouts: TCommTimeouts; LPCommConfig: PCommConfig; LCommConfig: TCommConfig; CommConfigSize: Cardinal; LEOL: Boolean; LIndex: Integer; begin ZeroMemory(@LOverlapped, SizeOf(TOverlapped)); ZeroMemory(@LCommTimeouts, SizeOf(TCommTimeouts)); ZeroMemory(@LCommConfig, SizeOf(TCommConfig)); LPortHandle := INVALID_HANDLE_VALUE; LEvent := nil; LPCommConfig := nil; try CommConfigSize := 0; LPCommConfig := @LCommConfig; GetDefaultCommConfig(PChar(FPortName), LPCommConfig^, CommConfigSize); GetMem(LPCommConfig, CommConfigSize); GetDefaultCommConfig(PChar(FPortName), LPCommConfig^, CommConfigSize); LEvent := TEvent.Create(nil, True, False, ''); LOverlapped.hEvent := LEvent.Handle; LPortHandle := CreateFile(PChar(FPortName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); if (LPortHandle = INVALID_HANDLE_VALUE) then Exit; SetCommConfig(LPortHandle, LPCommConfig^, CommConfigSize); GetCommTimeouts(LPortHandle, LOldCommTimeouts); SetCommTimeouts(LPortHandle, LCommTimeouts); while not Terminated do begin PurgeComm(LPortHandle, PURGE_TXCLEAR or PURGE_RXCLEAR or PURGE_RXABORT or PURGE_TXABORT); LOutBuffer := 'R'; WriteFile(LPortHandle, LOutBuffer, Length(LOutBuffer), LBytesWritten, @LOverlapped); GetOverlappedResult(LPortHandle, LOverlapped, LBytesWritten, True); if LBytesWritten = 1 then begin ZeroMemory(@LInBuffer, SizeOf(LInBuffer)); ReadFile(LPortHandle, LInBuffer[0], 1, LBytesRead, @LOverlapped); case LEvent.WaitFor(50) of wrSignaled: begin GetOverlappedResult(LPortHandle, LOverlapped, LBytesRead, True); LEOL := False; LIndex := LBytesRead; while not LEOL and (LIndex < SizeOf(LInBuffer)) do begin ReadFile(LPortHandle, LInBuffer[LIndex], 1, LBytesRead, @LOverlapped); GetOverlappedResult(LPortHandle, LOverlapped, LBytesRead, True); LEOL := (LInBuffer[LIndex] = #$0A) or (LInBuffer[LIndex] = #$0D); Inc(LIndex); end; try ParseData(LInBuffer); except end; end; wrTimeout, wrAbandoned, wrError: begin Sleep(100); end; end; end; end; finally SetCommTimeouts(LPortHandle, LOldCommTimeouts); CloseHandle(LPortHandle); FreeAndNil(LEvent); if Assigned(LPCommConfig) then FreeMem(LPCommConfig); end; end;

بمناسبة حلول عيد الأضحى المبارك،(اليوم عيدنا ببلاد المغرب) أتقدم بأحر التهاني الشخصية إلى كل الإخوة بمنتدى Arabteam200 و إلى كافة الأمة الإسلامية، و أضمنها بأطيب المتمنيات و بموصول الصحة والعافية و البركةفي العمر ،وأتمنى للمنتدى اطراد التقدم والازدهار.
**********************************************************************
هذا لنك لكيفية استعمال منفذ RS232 باستعمال دوال WinApi في الديلفي
و إذا كنت تستعمل serial port باستمرار فعليك تثبيت هذا الكوبننت المتميز و القوي .فهو يحتوي بالإضافة إلى المركب علىأمثلة و ملف المساعدة HelpFile الكامل (شكرا لماهر احمد):
تم تعديل هذه المشاركة بواسطة ikossan في 21 يناير 2005 في 17:34
سأتغيب عن المنتدى وستكون لي زيارات خفيفة بين الحين و الحين
يا صاحب الهم إن الهم منفرج.....................أبشر بخير فإن الفارج الله.
اليأس يقطع أحيانا بصاحبه..........................لا تيأس فإن الكافي الله.
الله يحدث بعد العسر ميسرة.........................لا تفزعن فإن الصانع الله.
إذا بليت فثق بالله وارض به...................فإن الذي يكشف البلوى هو الله.
و الله ما لك غير الله من أحد.......................فحسبك الله في كل لك الله
أخوكم مراد
شكرا لك
وإن شاء الله ينعاد عليك بالصحه والسلامه
هذا الموضوع مغلق.