PHP-GTK: Criando Aplicações Gráficas com PHP Adianti Framework para PHP PHP Programando com Orientação a Objetos Criando Relatórios com PHP

Re: [PHP-GTK] Qual a melhor opção

João Borges jb_designer2003 em yahoo.com.br
Quinta Dezembro 13 15:02:29 BRST 2007


Pessoal consegui !!!!!!
Cara, quando eu ouvi o som o som do modem discando deu um grito aqui ! 
(rsrs)
To vendo que as possibilidades do phpGTK são infinitas ! show de bola !

Só para constar, o que estava errado era que no final da string "ATDT" o 
programa não estava enviando o ENTER.
Então coloquei chr(10) e chr(13). ficou assim: $string= "ATDT99999999" . 
chr(10) . chr(13);

Vou postar o codigo como esta para quem quiser, acho que é bem util...
Por enquando ta bem crú, mas a partir de agora vou criar um programa mas 
implementado e posto no site php-gtk.

Quero ver se consigo fazer um esquema para o php pegar o status tipo 
"chamando", "ocupado", etc...
<?php
dl('php_gtk.'. PHP_SHLIB_SUFFIX);
$window =new GtkWindow();
$window->show_all();
$window->connect_object('destroy','sair');

$hbox=new GtkVBox();

$bot_on=new GtkButton('Dicar');
$bot_off=new GtkButton('Desligar');

$bot_on->connect_object('clicked','discar');
$bot_off->connect_object('clicked','desligar');

$hbox->add($bot_on);
$hbox->add($bot_off);

$window->add($hbox);

$window->show_all();

function abre_con(){
global $fp;
$fp = fopen("COM3:", "w"); #line 3
if (!$fp) {
echo "ERROR OPENING COM3 FOR READING AND WRITE.";
}else{
echo "conexao aberta\r\n";
}
}

function discar(){
global $fp;
$e = chr(10);
$ee = chr(13);
$string  = "ATDT99999999" . $e . $ee;
echo $string;
fputs ($fp, $string);
}

function desligar(){
global $fp;
$e = chr(10);
$ee = chr(13);
$conteudo2 = "ATH" . $e . $ee;;
if (fwrite($fp, $conteudo2) === FALSE) {
echo "Não foi possível escrever no arquivo ($filename)";
exit;
}else{
echo "desligou\r\n";
}
}

function fecha_con(){
global $fp;
fclose($fp);
echo "conexao fechada\r\n";
}

function sair(){
fecha_con();
Gtk::main_quit();
}

abre_con();
Gtk::main();
?>

----- Original Message ----- 
From: "João Borges" <jb_designer2003 em yahoo.com.br>
To: "Comunidade Brasileira de PHP-GTK" <lista em php-gtk.com.br>
Sent: Thursday, July 12, 2001 3:55 AM
Subject: Re: [PHP-GTK] Qual a melhor opção


> Pow, to ficando meio desesperado já, porque direto pelo SHEL (MS_DOS) eu
> consigo fazer discar perfeitamente, só falta eu fazer o php...
> To quase lá, isso é que ta me agoniando.. rsrs
>
> No código abaixo ele abre a porta COM3, porém quando clico no botao DISCAR
> ele não da erro, mas tambem não disca... não tem como eu saber se ele esta
> mesmo enviando !
>
> Se alguem puder me ajudar eu agradeço
> Segue abaixo o codigo:
>
> <?php
> dl('php_gtk.'. PHP_SHLIB_SUFFIX);
> $window =new GtkWindow();
> $window->show_all();
> $window->connect_object('destroy','sair');
>
> $hbox=new GtkVBox();
>
> $bot_on=new GtkButton('Discar');
> $bot_off=new GtkButton('Desligar');
>
> $bot_on->connect_object('clicked','discar');
> $bot_off->connect_object('clicked','desligar');
>
> $hbox->add($bot_on);
> $hbox->add($bot_off);
>
> $window->add($hbox);
>
> $window->show_all();
>
> function abre_con(){
> global $fp;
>
> $fp = fopen("COM3:", "w+");
> if (!$fp) {
>  echo "ERROR OPENING COM3 FOR READING AND WRITE.";
> }else{
>  echo "conexao aberta\r\n";
> }
> }
>
> function discar(){
> global $fp;
> $conteudo = "ATDT99883954"; # ATDT + numero = comando do modem para 
> iniciar
> e discar
> if (fwrite($fp, $conteudo) === FALSE) {
>  echo "Não foi possível escrever no arquivo ($fp)";
> }else{
>  echo "discou\r\n";
> }
> }
>
> function desligar(){
> global $fp;
> $conteudo2 = "ATH"; # ATH = como do modem para desligar
> if (fwrite($fp, $conteudo2) === FALSE) {
>  echo "Não foi possível escrever no arquivo ($filename)";
>  exit;
> }else{
>  echo "desligou\r\n";
> }
> }
>
> function fecha_con(){
> global $fp;
> fclose($fp);
> echo "conexao fechada\r\n";
> }
>
> function sair(){
> fecha_con();
> Gtk::main_quit();
> }
>
> abre_con();
> Gtk::main();
> ?>
> ----- Original Message ----- 
> From: "Pablo Dall'Oglio" <pablo em dalloglio.net>
> To: "Comunidade Brasileira de PHP-GTK" <lista em php-gtk.com.br>
> Sent: Wednesday, December 12, 2007 4:14 PM
> Subject: Re: [PHP-GTK] Qual a melhor opção
>
>
>> Olá!
>>
>> Aqui já conectei com um dispositivo serial (teclado numérico), antes de
>> dar fopen, tinha que setar uma série de variáveis de ambiente com o
>> comando "stty" E outra, no linux funcionou, no windows não...
>>
>> esse foi o código que eu usei para ler conteúdo digitado de um teclado
>> numérico serial... ele utiliza funções de stream www.php.net/stream
>>
>> contrinua no final... com outra solução...
>>
>> <?php
>>        $device = '/dev/ttyS0';
>>        $baud = 2400;
>>
>>        //init the serial port
>>        system("stty -F $device cs8 $baud \
>>                     ignbrk \
>>                     -brkint \
>>                     -icrnl \
>>                     -imaxbel \
>>                     -opost \
>>                     -onlcr \
>>                     -isig \
>>                     -icanon \
>>                     -iexten \
>>                     -echo \
>>                     -echoe \
>>                     -echok \
>>                     -echoctl \
>>                     -echoke \
>>                     noflsh \
>>                     ixon \
>>                     -crtscts");
>>
>>        $in = fopen ($device,"r");
>>        socket_set_blocking($in,0);
>>
>>        if (!$in) exit ("Could not open device [$device]. Running as
>> root?");
>>
>>        $read[] = $in;
>>        $write = array();
>>        $except = array();
>>
>>        //time out every 5 seconds in case the program wants to do some
>> action.
>>        $tv_sec = 5;
>>        while($char!=='#')
>>        {
>>            $nc = stream_select($read,$write,$except,$tv_sec);
>>            foreach ($read as $handle)
>>            {
>>               $char = stream_get_contents($handle);
>>               $aline.=$char;
>>               echo $aline;
>>            }
>>        }
>> ?>
>>
>> se esse código não ajudar, encontrei esse site, que tem coisa mais
>> específica de windows:
>> http://www.phparch.com/discuss/index.php/m/2980/0/
>>
>> vc pode usar o comando MODE para definir atributos da conexão...
>>
>> <?php
>> $set_mode = "MODE COM1: BAUD=9600 PARITY=N DATA=8 STOP=1 TO=ON XON=OFF
>> ODSR=ON OCTS=ON DTR=ON RTS=ON IDSR=ON";
>> $output = array();
>> exec($set_mode, $output, $result);
>> ?>
>>
>> Em Qua, 2007-12-12 às 16:16 -0200, João Borges escreveu:
>>> Para escrever algo na porta LPT1 da impressora eu uso:
>>>
>>> $fp = fopen("lpt1", "w");
>>> fputs($fp, 'teste de impressão');
>>>
>>> Então tentei assim para abrir e enviar o comando para a porta COM3:
>>>
>>> $fp = fopen("COM3", "w");
>>> fputs($fp, 'ATDT22217783\r\n');
>>>
>>> Ele não da nenhum erro, mas tambem nao retorna nada... O pode estar
>>> errado ?
>>>
>>> ----- Original Message ----- 
>>>         From: Guilherme Drago
>>>         To: Comunidade Brasileira de PHP-GTK
>>>         Sent: Wednesday, December 12, 2007 2:34 PM
>>>         Subject: Re: [PHP-GTK] Qual a melhor opção
>>>
>>>
>>>         tenta usar o fopen nar porta COM3...
>>>
>>>         on linux funciona no win num sei...
>>>         -- 
>>>         www.dragoti.com.br
>>>         Guilherme Drago
>>>         Linux User : #455174
>>>         Slackware 12 Kernel 2.6.23.9
>>>         Apache 2.2.6
>>>         PHP 5.2.5
>>>         PostgreSql 8.2.5
>>>
>>>
>>>         ______________________________________________________________
>>>
>>>         _______________________________________________
>>>         Lista mailing list
>>>         Lista em php-gtk.com.br
>>>         http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
>>> _______________________________________________
>>> Lista mailing list
>>> Lista em php-gtk.com.br
>>> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
>> -- 
>> um abraço!
>> Pablo Dall'Oglio
>>
>>
>
>
> --------------------------------------------------------------------------------
>
>
> _______________________________________________
> Lista mailing list
> Lista em php-gtk.com.br
> http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista
>
>


--------------------------------------------------------------------------------


_______________________________________________
Lista mailing list
Lista em php-gtk.com.br
http://lists.php-gtk.com.br/cgi-bin/mailman/listinfo/lista



More information about the Lista mailing list