ЯЕ
Яна Ермолович

Ребята мне очень нужна ваша помощь!

Надо комментировать текст программу, если кто то что то знаеть пишите пожалуйста!! !
Спасибо всем заранее!! !

var
Form1: TForm1;

implementation

{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
f : TextFile;
FileName : String;
Dcb : TDcb;
dwWrite, dwRead : DWord;
OverWrite, OverRead : TOVerlapped;
i: byte;
tstart,tfinish,freq:int64;
tread:extended;
time:Cardinal;
Buf : char;

begin
if(ComPort.Text='') then
begin
Memo1.Lines.Add('Не выбран Com порт! ');
end
else
begin
{Opening file}
FileName:='log.txt';
AssignFile(f, FileName);
if not FileExists(FileName) then
begin
Rewrite(f);
CloseFile(f);
end;
Append(f);
{Opening the port}
hPort:= CreateFile(PChar(ComPort.Text), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
if hPort = INVALID_HANDLE_VALUE then
raise Exception.Create('Ошибка при открытии порта');
{Setting parameters}
if not GetCommState(hPort, Dcb) then
raise Exception.Create('Ошибка при получении состояния порта');
Dcb.BaudRate:=StrToInt(Speed.Text);
if (Cparity.Text)='Чётность' then
Dcb.Parity:= EVENPARITY;
if (Cparity.Text)='Нечётность' then
Dcb.Parity:= ODDPARITY;
if (Cparity.Text)='Без контроля' then
Dcb.Parity:= NOPARITY;
Dcb.ByteSize:= 8;
if(StopB.Text='1') then
Dcb.StopBits:=ONESTOPBIT;
if(StopB.Text='1.5') then
Dcb.StopBits:=ONE5STOPBITS;
if(StopB.Text='2') then
Dcb.StopBits:=TWOSTOPBITS;
if not SetCommState(hPort, Dcb) then
raise Exception.Create('Ошибка при установке параметров порта');
{Purging the port}
if not PurgeComm(hPort, PURGE_TXCLEAR or PURGE_RXCLEAR) then
raise Exception.Create('Ошибка при сбросе порта');
if not SetCommMask(hPort, EV_RXCHAR) then
raise Exception.Create('Ошибка при установке маски');
if Frac(12.0/StrToInt(Speed.Text)*1000)<>0.0 then
time:=Trunc(12.0/StrToInt(Speed.Text)*1000)+1 else
time:=Trunc(12.0/StrToInt(Speed.Text)*1000);
{Transfering data}
for i:= StrToInt(Edit1.Text) to StrToInt(Edit2.Text) do
begin
OverWrite.hEvent := CreateEvent(nil, True, False, nil);
if Overwrite.hEvent = Null then
raise Exception.Create('Ошибка при подготовке к записи');

{Sending byte, Read byte and time checking}
QueryPerformanceCounter(tstart);
WriteFile(hPort, i, SizeOf(i), dwWrite, @OverWrite);
Sleep(time);
ReadFile (hPort, Buf, dwRead, dwRead, @OverRead);
QueryPerformanceCounter(tfinish);
QueryPerformanceFrequency(freq);
tread:=(tfinish-tstart)/(freq);

Memo1.Lines.Add(chr(i) + ' отправлено');
Writeln(f,chr(i)+ ' отправлено');
Memo1.Lines.Add(Buf +' получено, время передачи: '+FloatToStr(tread)+' с');
Writeln(f, Buf + ' получено, время передачи: '+FloatToStr(tread)+' с');
if(Buf=Chr(i)) then
begin
Memo1.Lines.Add('OK');
Writeln(f,'OK');
end
else
begin
Memo1.Lines.Add('Error');
Writeln(f,'Error');
end;
end;
{Closing the port}
CloseHandle(hPort);
CloseFile(f);
Memo1.Lines.Add('Тест окончен');
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
i: integer;
begin {опрос существующих портов}
for i := 0 to 31 do {цикл опроса}
begin {пробуем получить дескриптор порта}
FHandl := CreateFile(PChar('COM' + IntToStr(i + 1)),
GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0);
if FHandl <> INVALID_HANDLE_VALUE then {если порт есть то добавить в список}
ComPort.Items.Add('COM' + IntToStr(i + 1));
CloseHandle(FHandl); {закрыть дескриптор}
end;
StopB.Items.Add('1');
StopB.Items.Add('1.5');
StopB.Items.Add('2');
Cparity.Items.Add('Чётность');
Cparity.Items.Add('Нечётность');
Cparity.Items.Add('Без контроля');
end;
end.

Ал
Александр

Чтобы компилятор отличил команды от комментариев, комментарии нужно брать в фигурные скобки, например {Это команда нахождения частного}. Если текст комментария короткий и занимает не
больше одной строки, то можно вместо скобок поставить перед ним две косые черточки, например // Это команда нахождения частного. Иногда комментарии вместо фигурных скобок заключают в круглые скобки со звездочками, например (*Это команда нахождения частного*).

Юлия Ворона
Юлия Ворона

{Opening file} и тому подобные типа {Closing the port} - вот это и есть комментарии. в такие скобки { } можете писать что угодно. еще в дельфи комментарии можно писать так
// это мой коммент, на этой строке писать код уже бесполезно
просто переведите комменты на русский язык, например, через гугл-транслейт {Opening file} - {Открытие файла} и так далее, удачи!
кстати, а что делает эта программа? что она пишет в ком-порты? не перепрошиватор, случайно, какой-нибудь?

Похожие вопросы
Ребята, нужна ваша помощь!
ребята нужна ваша помощь
Ваша помощь очень нужна....
ОЧЕНЬ НУЖНА ВАША ПОМОЩЬ !!!благодорить !!!
нужна ваша помощь ребята
Ребята!! Выручайте, очень нужна помощь ваша..
ребята, нужна ваша помощь)
Здравствуйте, ребята! Очень срочно нужна Ваша помощь! Заранее очень благодарен.
Помогите! очень нужна ваша помощь ребята!!!
Ребята, очень нужна ваша помощь. С тригонометрией как то не очень дружу...