Тема: Lib_bt
Показать сообщение отдельно
Старый 05.10.2007, 22:24   #21
Eddy
Нуждающийся
 
Регистрация: 24.05.2006
Сообщений: 64
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Lib_bt

решил слегка изменить код, теперь не работает. что не так?
program BtProject;
uses bt;
var
cmdOK, clicked : command;
wait, search,exit,service : integer;
bt_servers:array[1..2] of String; {массив под сервера, размер будет переопределен автоматически}
start:boolean;
{вызывается после завершения поиска серверов. содержит список серверов разделенный ||.
временно возвращает только первый найденный}
procedure no_servers_found;
begin
delay(1000);
end;
procedure servers_list(list: integer);
begin
//wait := MenuAppendString(bt_servers[1]); {количество обнаруженных серверов}
drawtext('servers:'+list,50,50);
repaint;
Debug('servers:'+list);
bt.start(bt_servers[1]);{старт соединения с сервером}
end;
{вызывается после успешного установления соединения}
procedure accept_connection;
begin
start:=true;
end;
{вызывается при возникновении ошибок в соединении, пропадании соединения.
автоматически вызывается bt.stop;}
procedure connection_error;
var
cm: command;
begin
showAlert('Bluetooth',
'Ошибка Bluetooth соединения.',
loadImage('/icon.png'),
ALERT_ERROR);
playAlertSound;
cm := createCommand('OK', CM_OK, 1);
addCommand(cm);
repeat
delay(100);
until getClickedCommand <> emptyCommand;
end;
{вызывается при получении сообщения от оппонента}
procedure message_received(msg:String);
begin
if bt.is_client=1 then
drawtext('Na cliente najata'+' ' + (msg),0,0);
else drawtext('Na servere najata'+' ' + (msg),0,0);
Debug(msg);
end;
begin
bt.init;
service:=1;
while getkeypressed= ke_none do begin
drawtext('nazmite 1 chtob stat serverom',0,0);
repaint;
if getkeypressed=ke_key1 then
service:=1;
if getkeypressed=ke_key2 then
service:=2
end;
if service=1 then
bt.wait_connection('ME');
if service=2 then
bt.search_connection;
if start then begin
if bt.is_client=1 then drawtext('true client',0,0);
if bt.is_client<>1 then drawtext('true server',0,0);
end;
while getkeypressed<>ke_key0 do begin
setcolor(255,255,255);
fillrect(0,0,240,320);
setcolor(0,0,0);
bt.send_message('1');
repaint;
end;
bt.stop; {отключаем соединение}
end.
(Offline)
 
Ответить с цитированием