Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.02.2009, 19:47
Эдик1989 Эдик1989 вне форума
Прохожий
 
Регистрация: 23.02.2009
Сообщения: 1
Репутация: 10
По умолчанию работа в delphi с СОМ-портом

Здравствуйте,пишу программу на пипломник, суть программы: через COM-порт отправляет и принимает определенные команды (программа для работы с оборудованием мобильных операторов). Проблема: в процедуре formcreate когда доходит до подключения к порту и его настройки,процедура не выполняется,без ошибок и без вылетов все компилируется но к порту не подключается и не настраивает. КАК узнал: перед подключением и перед настройкой поставил вывод в label цифры,показало что перед подключением порта все встает и процедура дальше не выполняется. Подскажите есть ли какое нибуть решение,либо кто нибуть уже писал подобное,подскажите пожалуйста,вся работа встает из за этого.

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
код процедуры:
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, ComCtrls, Menus, ExtCtrls, Buttons, Unit2;
 
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Button1: TButton;
Label4: TLabel;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Label3: TLabel;
Label5: TLabel;
Label7: TLabel;
UpDown1: TUpDown;
Edit1: TEdit;
UpDown2: TUpDown;
Edit2: TEdit;
Label8: TLabel;
Label6: TLabel;
MainMenu1: TMainMenu;
menu1: TMenuItem;
N1: TMenuItem;
N2: TMenuItem;
FAQCU1: TMenuItem;
CU1: TMenuItem;
SaveDialog1: TSaveDialog;
Panel2: TPanel;
Memo1: TMemo;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
RadioButton9: TRadioButton;
RadioButton10: TRadioButton;
RadioButton11: TRadioButton;
RadioButton12: TRadioButton;
Panel3: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
StatusBar1: TStatusBar;
Panel1: TPanel;
Timer1: TTimer;
PWRout: TLabel;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure CU1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure clear1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
{ procedure Memo1Change(Sender: TObject);}
private
{ Private declarations }
public
{ Public declarations }
end;
 
var
Form1: TForm1;
hCom,Errors,Bytes:Cardinal;
DCB:TDCB;
TheStruct:TCOMSTAT;
buffer:string;
s,p,f,w,e:string;
 
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 
Memo1.Lines.Clear;
Memo1.Lines.Add('БС № '+(
InputBox('Начало работы','Введите БС №:','')+
' '+DateToStr(Now)+' '+TimeToStr(Now)));
{:: открытие порта ::}
hCom:=CreateFile('COM1',GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_N ORMAL,0);
if hCom=INVALID_HANDLE_VALUE then begin
//не удалось открыть
exit;
end;
SetupComm(hCom,1600,1600);
GetCommState(hCom,DCB);
//настроить нужным образом
Dcb.BaudRate := CBR_9600;
Dcb.Parity := NOPARITY;
Dcb.ByteSize := 8;
Dcb.StopBits := ONESTOPBIT;
if not SetCommState(hCom,DCB) then ShowMessage('ошибка')
else form1.StatusBar1.Panels.Items[0].Text:='соединение установлено';
 
Form1.ActiveControl:=Button2;
 
end;

Последний раз редактировалось Admin, 24.02.2009 в 10:25.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:35.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025