[VB6] MSCOMM - Visual Basic Clássico - Portugal-a-Programar
[VB6] MSCOMM
Por ThatsMe, 19 de Novembro de 2007 em Visual Basic Clássico
Boas. Para o Projecto de Aptidão Tecnológico, em trabalho de par, eu e um colega temos que elaborar um projecto que consiste em ligar um computador a um telefone (Porta Serie) com o objectivo de registar as ligações e todos os dados transmitidos pelo telefone (este registo está actualmente a ser feito por uma impressora), através do Visual Basic criando posteriormente uma base de dados. Alguem tem conhecimentos de como fazer isto? Ou até mesmo um tutorial que possam fornecer.
Epa, se estas a fazer isso utilizando RS232 convinha conhecer +/- o funcionamento dela, não sei se o conheces, eu não estou muito bem dentro do assunto mas podes fazer o seguinte:
Ligas o telefone ao pc depois com esse componente MSComm lês o buffer e vês se a informação que recebes (se receberes alguma) dserve para o que queres, se servir é só filtrar e mostrala nas textbox,s etc...
Sabes alguma maneira de receber os dados do telefone pela porta de serie e copiar a informaçao para uma textbox?
Tas a usar o MSCOMM ou uma cena que tem no VB 2005 Express que se chama Serial Port?
É que tens lá uns métodos tipo: SerialPort1.Read(....)
Consoante quiseres ler byte a byte ou um conjunto de bytes, é criares um vector e copiares para la a leitura da porta COM. Se quiseres testar sem ligar lá nada, há uma forma simples.
Deves ter 2 portas COM. ligas um cabo a uma e à outra. O cabo tem que ter um cross-over no meio(TX troca com o RX) e usas o hyperterminal para comunicar da porta 2 para a porta 1 simulando o envio de dados do telefone...
Eu estou a usar o MSCOMM que está disponivel no VB6. Aconselhas-me a usar o Serial Port no VB 2005 Express?
Para já, o prof responsável pela disciplina de Projecto aconselhou-nos a pesquisar sobre uma maneira de copiar os dados recebidos pela porta de série para uma textbox, e só depois nos preocuparmos com o tratamento e selecção dos dados. Sabes como fazer isso, ou no VB6 MSCOMM ou no VB 2005 Express Serial Port?
Tanto podes usar um ou outro... eu trabalhei com os 2 mas com o MSCOMM ja nao ta nada fresco...Axo que encontras tutoriais fixes sobre o MSCOMM e como configurar a comunicaçao(taxa, stop bit, controlo de fluxo,etc) e como escrever/receber para a porta série.
Em VB2005, para ler, criava um evento que se activava quando a porta COM recebia dados. Dp usava o método SerialPort1.Read(.....) e lia a quantidade de bytes que queria... A trama que recebes tem um tamanho sempre constante? ou tem bytes que só servem para mostrar o seu ínicio e o seu fim de forma a poderes conhecer o ínicio e o fim da trama independentemente do seu tamanho?
Caso optes por VB.NET, vê esta thread
Vou pesquisar os tutoriais de que falaste.
Sobre o tamanho da trama e dados do género eu ainda nao sei nada, porque ainda estou à espera que me disponibilizem um portátil com porta de série para eu poder ir recolher dados. Para já ainda só posso criar o interface em VB para receber os dados e se demorarem a disponibilizar o portátil talvez crie a base de dados para fazer as relaçoes todas, de maneira a quando recolher os dados seja só po-los no sitio. Entretanto eu vou-me informar acerca dos tutoriais do MSCOMM.
Estive a ver o link que mandaste e parece-me muito interessante. Tem lá material para eu me poder basear e começar a fazer o interface enquanto nao tenho o portátil com porta de série para recolher os dados. Obrigado.