Funções do Windows para o Linux! Code Blocks

1. Funções do Windows para o Linux! Code Blocks

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 14/07/2016 - 23:10h

Eaí, pessoal

Tenho esse código que funciona perfeitamente executado no windows, mas não achei nenhuma função equivalente as que são interpretadas pelo windows. Preciso de ajuda.

Segue parte do código:

#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main(){
FreeConsole();

string teclas; /// Variables.

while(1==1) { /// or, while(true) {

if(GetAsyncKeyState(0x41)) { /// Captura as teclas ///

cout << "a";

teclas+= "a"; /// Loop até o fim do código.

Sleep(200); /

};
if(GetAsyncKeyState(0x42)){
cout << "b";
teclas+= "b";
Sleep(200);
};
................

No caso, o FreenConsole() não funciona no Ubuntu, muito menos GetAsyncKeyState.

Por favor me digam que existem funções similares no Unyx!
Estou escrevendo códigos só no linux, pela agilidade que proporciona, principalmente em Python. Voltar programar em c/c++ no windows não é uma opção.

Estou aberto a opniões!

Atenciosamente,


mrx6s0





  


2. Re: Funções do Windows para o Linux! Code Blocks

Paulo
paulo1205

(usa Ubuntu)

Enviado em 15/07/2016 - 14:02h

Me admira que você consiga usar essas funções nativas do Windows sem fazer referência a elas nos cabeçalhos.

A solução a usar depende muito do que você quer fazer. Se você quiser ver estado das teclas modificadoras (Shift, Control, Alt), a solução será diferente das teclas que produzem um (ou às vezes mais de um) caráter de cada vez. Se quiser que funcione em qualquer terminal (console, emulador no ambiente gráfico, conexão por rede), pode usar uma solução; se quiser um ambiente específico (só console físico ou só ambiente gráfico, independente do console físico ou uso via rede), pode usar outras.

Dê detalhes. Caso contrário, será difícil ajudá-lo.


3. Re: Funções do Windows para o Linux! Code Blocks

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 21/07/2016 - 02:10h

paulo1205 escreveu:

Me admira que você consiga usar essas funções nativas do Windows sem fazer referência a elas nos cabeçalhos.

A solução a usar depende muito do que você quer fazer. Se você quiser ver estado das teclas modificadoras (Shift, Control, Alt), a solução será diferente das teclas que produzem um (ou mais!) caracteres de uma vez. Se quiser que funcione em qualquer terminal (console, emulador no ambiente gráfico, conexão por rede), pode usar uma solução; se quiser um ambiente específico (só console físico ou só ambiente gráfico, independente do console físico ou uso via rede), pode usar outras.

Dê detalhes. Caso contrário, será difícil ajudá-lo.



Olá,

Eu pretendo usar apenas no terminal, em modo console, as teclas modificadoras não entram nesse meu trabalho mas gostaria de conhecer sim, estou sempre em busca de conhecimento. Nos próximos quem saiba eu tenha que utilizar, é bom conhecer antes.

Caso necessite, posto o restante do código.

Preciso capturar as teclas "comuns" e armazená-las para serem adaptadas ao código de um jogo, que estou criando com um amigo. / o jogo será interativo, podendo escrever um tipo de "anotação", que será apresentada na próxima matriz, para ter como demarcar o caminho. / / Lembra um jogo de Labirinto. /

Enfim, se puder ajudar, ficarei grato

Obrigado pelo seu tempo

Att,


mrx6s0




4. Re: Funções do Windows para o Linux! Code Blocks

Paulo
paulo1205

(usa Ubuntu)

Enviado em 21/07/2016 - 08:48h

Sua aplicação vai desenhar na tela, também? Se sim, recomendo-lhe estudar a biblioteca Curses, que cuida de entrada e saída de dados em terminais de texto. Como existem versões de curses também para Windows (por exemplo, a PDCurses), adotar essa biblioteca poderia até facilitar uma eventual unificação de código para múltiplas plataformas.

Se não, e se você quiser apenas tratar eventos possivelmente assíncronos no teclado, você pode se contentar com uma abordagem mais direta e mais amarrada ao sistema operacional. Veja a definição da função my_getch() na postagem nº 6 do seguinte tópico: https://www.vivaolinux.com.br/topico/C-C++/reconhecer-apenas-letras-e-numeros, com especial atenção às limitações da função.

Minha sugestão, no fim das contas, é que você use mesmo a Curses.


5. Re: Funções do Windows para o Linux! Code Blocks

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 24/07/2016 - 18:06h

paulo1205 escreveu:

Sua aplicação vai desenhar na tela, também? Se sim, recomendo-lhe estudar a biblioteca Curses, que cuida de entrada e saída de dados em terminais de texto. Como existem versões de curses também para Windows (por exemplo, a PDCurses), adotar essa biblioteca poderia até facilitar uma eventual unificação de código para múltiplas plataformas.

Se não, e se você quiser apenas tratar eventos possivelmente assíncronos no teclado, você pode se contentar com uma abordagem mais direta e mais amarrada ao sistema operacional. Veja a definição da função my_getch() na postagem nº 6 do seguinte tópico: https://www.vivaolinux.com.br/topico/C-C++/reconhecer-apenas-letras-e-numeros, com especial atenção às limitações da função.

Minha sugestão, no fim das contas, é que você use mesmo a Curses.


Obrigado amigo.
A aplicação desenhará na tela sim, por isso as letras tem que serem alocadas, pois vai se desenhar na tela e vai "sumir" também.
Bom, essa parte do código que eu postei, como seria a "transcrição" pro linux? O código é todo assim, vai de a à z, e de 0 à 9. Sei que isso é quase que pedir demais, mas preciso de uma luz aqui. No windows já conseguimos fazer rodar, e no linux que é o que eu uso de verdade não. Chega ser irônico.

Ficarei grato se puder retornar.

Obrigado pelo seu tempo


Att,


mrx6s0






6. Re: Funções do Windows para o Linux! Code Blocks

Roberto
mrx6s0

(usa Ubuntu)

Enviado em 26/07/2016 - 17:45h

eai?????


7. Re: Funções do Windows para o Linux! Code Blocks

Paulo
paulo1205

(usa Ubuntu)

Enviado em 26/07/2016 - 18:54h

Eu é que lhe pergunto.

Depois de tantas dicas que recebeu, o mínimo que você deveria fazer é um pouquinho de pesquisa por conta própria.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts