diff --git a/Algoritmos de Exemplo/stdin/stdin.exe b/Algoritmos de Exemplo/stdin/stdin.exe index fe8fa2a..74b2a38 100644 Binary files a/Algoritmos de Exemplo/stdin/stdin.exe and b/Algoritmos de Exemplo/stdin/stdin.exe differ diff --git a/Algoritmos de Exemplo/stdin/stdin.pop b/Algoritmos de Exemplo/stdin/stdin.pop index 68550d7..881605f 100644 --- a/Algoritmos de Exemplo/stdin/stdin.pop +++ b/Algoritmos de Exemplo/stdin/stdin.pop @@ -10,9 +10,10 @@ Rotina para que se execute o programa: Escreva "Digite alguma coisa: " para Stdout. Leia um trecho desde a STDIN. Remova o último caractere desde o trecho. - \Escreva "String digitada: " junto com o trecho junto com o texto CRLF para StdOut. - Desenfileire um evento. - Delegue o controle. + Escreva "String digitada: " junto com o trecho junto com o texto CRLF para StdOut. + \Aguarde 1 segundo. + \Desenfileire um evento. + \Delegue o controle. Feche o programa. Rotina para que se obtenha o Número Identificador do Fluxo de Entrada Padrão: @@ -41,15 +42,22 @@ Rotina para que se obtenha o modo do console: Escreva "Modo do console: " junto com o modo do console junto com o texto CRLF para STDOUT. Rotina para que se leia um trecho desde a STDIN: + Atribua 0 para um número denominado lpNumberOfBytesRead. + Atribua 0 para um número denominado quantidade de caracteres NULL restantes. Atribua "" para o trecho. - Preencha o trecho com o caractere NULL usando 255. - Anexe o caractere NULL após o trecho. + Preencha o trecho com o caractere NULL usando 256. + \Anexe o caractere NULL após o trecho. Processe "kernel32.dll" "ReadFile" com O número identificador do fluxo de entrada padrão [hFile] e O caractere inicial deste trecho [lpBuffer] e 256 [nNumberOfBytesToRead] e - Um número [lpNumberOfBytesRead] \ O número de bytes lidos ao usar o parâmetro hFile síncrono. - e 0 [NULL] + O endereçamento deste lpNumberOfBytesRead [lpNumberOfBytesRead] \ O número de bytes lidos ao usar o parâmetro hFile síncrono. + e 0 [lpOverlapped = NULL] Retornando um status de erro. Se o status de erro for 0 [NULL], - Escreva "Erro ao ler do Console." junto com o texto CRLF para STDOUT. \ No newline at end of file + Escreva "Erro ao ler do Console." junto com o texto CRLF para STDOUT. + Converta o lpNumberOfBytesRead para uma string. + Escreva "Bytes lidos: " junto com a string junto com o texto CRLF para Stdout. + Se o lpNumberOfBytesRead for menor do que 256, + Atribua 256 menos o lpNumberOfBytesRead para a quantidade de caracteres NULL restantes. + Remova os caracteres finais desde o trecho usando a quantidade de caracteres NULL restantes. \ No newline at end of file diff --git "a/C\303\263digo-Fonte/Biblioteca padr\303\243o.pop" "b/C\303\263digo-Fonte/Biblioteca padr\303\243o.pop" index 7f1e1c7..8a2aad8 100644 --- "a/C\303\263digo-Fonte/Biblioteca padr\303\243o.pop" +++ "b/C\303\263digo-Fonte/Biblioteca padr\303\243o.pop" @@ -9592,7 +9592,7 @@ Rotina para que se inicialize a janela do programa: A janela principal do programa [hWnd] e 1. [nCmdShow = SW_SHOWNORMAL] -Rotina para que se inicialize winsock: +Rotina para que se inicialize a infraestrutura WinSock: Processe "ws2_32.dll" "WSAStartup" com \ Inicia o uso da DLL Winsock por um processo. \ Documentação: -> https://learn.microsoft.com/pt-br/windows/win32/api/winsock/nf-winsock-wsastartup 2 [wVersionRequired] @@ -12626,7 +12626,7 @@ Rotina para que se carregue as bibliotecas padr Rotina para que se inicialize tudo; Rotina para que se inicialize os componentes: Inicialize o Component Object Model. - Inicialize winsock. + Inicialize a infraestrutura WinSock. Inicialize gdi+. Inicialize o talker. Inicialize o módulo. @@ -12642,7 +12642,7 @@ Rotina para que se inicialize os componentes: Crie o console. Rotina para que se comece para cima o cgi: - Inicialize winsock. + Inicialize a infraestrutura WinSock. Inicialize o módulo. Inicialize o cgi.