Saltar para o conteúdo principal
Versão: 20 R7 BETA

SET CHANNEL

SET CHANNEL ( porta ; configuraçao
SET CHANNEL ( operaçao ; documento )

ParâmetroTipoDescrição
portaIntegerNúmero da porta serial
configuraçaoIntegerConfiguração da porta serial
SET CHANNEL ( operaçao ; documento )
ParâmetroTipoDescrição
operaçaoIntegerOperação de documento a ser realizada
documentoTextNome do documento

Descrição

O comando SET CHANNEL abre uma porta serial ou um documento. Você pode abrir apenas uma porta serial ou um documento de uma vez com este comando. Para fechar uma porta serial aberta, passe SET CHANNEL (11).

Nota histórica: Este comando era originalmente o primeiro comando 4D utilizado para trabalhar com portas seriais e documentos em disquetes. Desde aquela época, novos comandos foram adicionados. Hoje, você normalmente irá trabalhar com documentos no disco usando os comandos Open document, Create document e Append document. Com esses comandos, você pode ler e escrever caracteres para e de documentos usando SEND PACKET ou RECEIVE PACKET (estes comandos funcionam com SET CHANNEL, também). No entanto, se você quiser usar os comandos SEND VARIABLE, RECEIVE VARIABLE, SEND RECORD e RECEIVE RECORD, você deve usar SET CHANNEL para acessar o documento no disco.

A descrição de SET CHANNEL é composta de duas seções:

  • Trabalhando com portas seriais
  • Trabalhando com documentos

Trabalho com portas seriais: SET CHANNEL (porta, configurações)

A primeira forma do comando SET CHANNEL abre uma porta serial, atribui o protocolo de criação e informação de outra porta. Os dados podem ser enviados com SEND PACKET, SEND RECORD ou SEND VARIABLE e recebido com RECEIVE BUFFER, RECEIVE PACKET, RECEIVE RECORD ou RECEIVE VARIABLE.

  • O primeiro parâmetro, porta, seleciona a porta e o protocolo. Você pode dirigir até 99 portas seriais (uma de cada vez):
Valores portaDescrição
0Porta impressora (Macintosh) ou COM2 (PC) sem protocolo
1Porta modem (Macintosh) ou COM1 (PC) sem protocolo
20Porta impressora (Macintosh) ou COM2 (PC) com protocolo de sofware talcomo XON/XOFF
21Porta modem (Macintosh) ou COM1 (PC) com protocolo de sofware tal como XON/XOFF
30Porta impressora (Macintosh) ou COM2 (PC) com protocolo de hardware tal como RTS/CTS
31Porta modem (Macintosh) ou COM1 (PC) com protocolo de hardware tal como RTS/CTS
101 a 199Comunicação serial sem protocolo
201 a 299Comunicação serial com protocolo de software tal como XON/XOFF
301 a 399Comunicação serial com protocolo de hardware tal como RTS/CTS

Importante: O valor que você passa na porta deve se referir a uma porta serial COM já existente e reconhecida pelo sistema operacional. Por exemplo, a fim de ser capaz de usar os valores de 101, 103 e 125, as portas seriais COM1, COM3 e COM25 deve ter sido configuradas corretamente.

Nota sobre as portas seriais

Uma configuração padrão do Mac OS e Windows suportam duas portas seriais: no Mac OS, a porta do modem e a porta de impressora, no Windows, as portas COM1 e COM2. No entanto, portas seriais adicionais podem ser adicionados através da utilização de placas de extensão. Originalmente, 4D só asignava duas portas seriais padrão e foi só depois que o apoio de portas adicionais foi implementado. Por razões de compatibilidade, os dois sistemas de endereçamento foram mantidos.
- Se você quiser um endereço de porta serial padrão (printer/COM2 ou modem/COM1), você pode passar no parâmetro porta os seguintes valores 0, 1, 20, 21, 30 e 31 (que correspondem a velho método de endereçamento), ou um valor maior que 100 (leia a explicação a seguir).
- Se você quer abordar portas seriais adicionais, você precisará passar o valor de N+100 (onde N é o valor da porta com o endereço). Você também pode considerar a adição de 100 ou 200 ao valor acima mencionado (N+100), se você quer selecionar, respectivamente, um software ou um protocolo de hardware.

Exemplo 1

Se você quiser usar a porta printer/COM2 sem protocolo, você pode usar uma das seguintes sintaxes:

 SET CHANNEL(0;param)

ou

 SET CHANNEL(102;param)
Exemplo 2

Se você quiser usar a porta modem/COM1 com o protocolo XON / XOFF, você pode usar uma das seguintes sintaxes:

 SET CHANNEL(21;param)

ou

 SET CHANNEL(201;param)
Exemplo 3

Se você quiser usar a porta COM 25 com o protocolo RTS / CTS, você precisa usar a seguinte sintaxe:

 SET CHANNEL(325;param)

• As configurações de parâmetros definem a velocidade, o número de bits de dados, número de stop bits e a paridade. Você determina o valor das configurações adicionando a velocidade, bits de dados, bits de parada, e os valores de paridade, conforme listado na tabela a seguir. Por exemplo, para definir 1200 baud, 8 bits de dados, 1 bit de parada e sem paridade, você poderia adicionar 94 + 3072 + 16384 + 0 = 19550. Você usaria então 19.550 como o valor do parâmetro de configuraçao.

Valor a acumular em paramDescrição
Velocidade380300
(em baud)189600
941200
621800
462400
303600
224800
147200
109600
419200
228800
138400
057600
1022115200
1021230400
Bits de dados05
20486
10247
30728
Bits de stop163841
–327681.5
–163842
Paridade0Nenhuma
4096Ímpar
12288Par

Truque: Os diferentes valores numéricos para serem acumulados e passados na porta e configuraçao (mas não incluindo os valores para COM1 ... COM99) estão disponíveis como constantes predefinidas no tema das Comunicações dentro do ambiente de desenho. Para COM1 ...COM99 , usar literais numéricos.

Trabalhando com documentos em disco: SET CHANNEL (operação; documento)

A segunda forma do comando SET CHANNEL permite criar, abrir e fechar um documento. Ao contrário dos comandos de documentos do sistema, ele pode abrir apenas um documento de cada vez. O documento pode ser lido ou escrito. Consulte a seção Documentos de Sistema para maiores informações a respeito.

O parâmetro de operaçao especifica a operação a ser realizada sobre o documento especificado por documento. A tabela a seguir lista os valores de funcionamento e à operaçao resultante, com valores diferentes para o documento. A primeira coluna apresenta os valores permitidos para a operaçao. A segunda coluna relaciona os valores permitidos para o documento. A terceira coluna lista o resultado da operação.

Por exemplo, para exibir uma caixa de diálogo Abrir arquivo para abrir um arquivo de texto, você usaria a seguinte linha:

 SET CHANNEL(13;"")
OperaçãoDocumentoResultado
10CadeiaAbre o documento especificado pela String.
Se o documento não existir, o documento é aberto e criado.
10"" (cadena vacía)Exibe a caixa diálogo Abrir Arquivo para abrir um arquivo.
Todos os tipos de arquivos são exibidos.
11nenhumFecha um arquivo aberto.
12"" (cadeia vazia)Exibe a caixa de diálogo Salvar arquivo para criar um novo arquivo.
13"" (cadeia vazia)Exibe a caixa diálogo Abrir Arquivo para abrir um arquivo. Apenas os tipos de arquivo de texto são exibidos.

Todas as operações nesta tabela atribui a variável de sistema de documentos, se necessário. Eles também definem a variável de sistema OK para 1 se a operação foi bem sucedida. Caso contrário, a variável de sistema OK é definido como 0.

Exemplo 4

Veja os exemplos para os comandos RECEIVE BUFFER, SET TIMEOUT e RECEIVE RECORD.

Ver também

Append document
Comunicações
Create document
GET SERIAL PORT MAPPING
Open document
RECEIVE BUFFER
RECEIVE PACKET
RECEIVE RECORD
RECEIVE VARIABLE
SEND PACKET
SEND RECORD
SEND VARIABLE
SET TIMEOUT

Propriedades

Número do comando77
Thread-seguro
Modificar variáveisOK, Document