Ir ao conteúdo
  • Cadastre-se

Como usar a função clreol em c?


Anderson16

Posts recomendados

Aparentemente, por uma rápida pesquisa no google, deve-se utilizar

gotoxy(linha x, linha y);
clreol();

de qualquer modo cara, procure um jeito de limpar linhas de modo mais "portável", não use funções de bibliotecas que não façam parte do ANSI C, me parece que isso cria maus hábitos (qualquer correção a essa observação, é bem vinda XD), tipo você ficar só escrevendo em "internetês" saca? (não falei que você escreve, só pra deixar claro, mas imagine em uma entrevista de emprego um cara com um bom curriculum e que no final, em uma redação, só usa internetês? iria contratar?) até porquê, provavelmente deve ter uma solução que faz parte do ANSI C e que você possa usar :)

Link para o comentário
Compartilhar em outros sites

Bom, o problema é esse não da pra eu testar porque to com o Visual C++ (que funciona muito bem, obrigado! XD, pra mim) e tentei procurar aqui, só acho conio2.h pra Dev C++ e não sei onde poderia acha o .cpp da biblioteca pra poder colocar aqui, entende?

Mas pelo que vi um cara usando no youtube é isso, você bota a linha inicial na linha x e a linha final na linha y, todas entre estas ficam em branco '-'... como você ta implementando?

Link para o comentário
Compartilhar em outros sites

Bom, o problema é esse não da pra eu testar porque to com o Visual C++ (que funciona muito bem, obrigado! XD, pra mim) e tentei procurar aqui, só acho conio2.h pra Dev C++ e não sei onde poderia acha o .cpp da biblioteca pra poder colocar aqui, entende?

Mas pelo que vi um cara usando no youtube é isso, você bota a linha inicial na linha x e a linha final na linha y, todas entre estas ficam em branco '-'... como você ta implementando?

Desculpem minha intrusão, más tô entrando.hehe. Olha eu uso o Visual studio 2010, e nele eu configurei a biblioteca conio2.h que tem estas funções que foram citadas acima, e funciona perfeitamente.

Link para o comentário
Compartilhar em outros sites

Desculpem minha intrusão, más tô entrando.hehe. Olha eu uso o Visual studio 2010, e nele eu configurei a biblioteca conio2.h que tem estas funções que foram citadas acima, e funciona perfeitamente.

Como? :blink: só achei em DEVPAKK (ou algo assim) e não consegui colocar pra funcionar no Visual C++ 2010... alguma jeito de exportar novos headers.. se eu tivesse visto um jeito teria ajudado (ou tentado mais um pouco... =/)

Link para o comentário
Compartilhar em outros sites

Configurei a conio2.h no visual studio 2010 sim, e também nos eclipses que uso por aqui, a saber: O indigo, o ganimede o europa e o galileo. E tmb no netebeans, e no codeblocks, e tmb no quase desconhecido codelite, aliás este codelite é muito bom e está em constantes atualizações. Quem quiser posso passar algumas orientações, Talvez um simples tutorial.

Link para o comentário
Compartilhar em outros sites

Bom, por mim tudo bem, ajuda ele com a questão do uso da função, e me ajuda em como configurar o Visual Studio..

bom.. mas se puder ajudar o Anderson16.. como usa a função clreol? :D

quanto a mim, qualquer coisa, se puder, manda por mp instruções relacionadas a instalação do header :)

Link para o comentário
Compartilhar em outros sites

A conio2.h Primeiro. Para facilitar Eu lhe pergunto: você já configurou esta biblioteca em um outro programa tipo o codeblock? porque se sim você sabe que além da biblioteca você vai precisar de uma lib, geralmente vem juntos quando agente faz o Download. Bom para adiantar por aqui eu fiz assim no visual studio 2010: Nesta pasta que é o meu caso:

C:\Program Files\Microsoft Visual Studio 10.0\você\include eu colei a biblioteca conio2.h.

e nesta outra pasta abaixo, no meu caso é claro eu colei a lib, libconio.a

C:\Program Files\Microsoft Visual Studio 10.0\você\lib

Depois, eu fui no nó do projeto no visual studio 2010 e cliquei em propriedades. Bom na guia que abriu eu fui em Linker, e lá embaixo numa parte branca eu adicionei: libconio.a.

E cliquei ok. Agora é só adicionar a header #include <conio2.h> que funciona perfeitamente. Ah tmb consegui do mesmo jeito adicionar a curses.h. Espero te-lo ajudado.

Link para o comentário
Compartilhar em outros sites

bom, procurei pelo lib, para instalar como o Main.cpp disse, mas não achei (porque será que não estou surpreso... :()

mas achei a implementação, acho que só isso já da uma GRANDE ajuda.. segue a implementação do clreol e do gotoxy (parecem ter realmente uma relação..)

crleol


void
clreol (void)
{
COORD coord;
DWORD written;

__fill_text_info();
coord.X = __CONIO_LEFT + __text_info.curx - 1;
coord.Y = __CONIO_TOP + __text_info.cury - 1;

FillConsoleOutputCharacter (GetStdHandle (STD_OUTPUT_HANDLE),
' ', __text_info.screenwidth - __text_info.curx + 1, coord, &written);
gotoxy (__text_info.curx, __text_info.cury);
}

gotoxy


void
gotoxy(int x, int y)
{
COORD c;

c.X = __CONIO_LEFT + x - 1;
c.Y = __CONIO_TOP + y - 1;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}

fonte: http://conio.cvs.sourceforge.net/viewvc/conio/conio2/conio.c?revision=1.1&content-type=text%2Fplain

(do povo que fez.. XD)

dica: caso o devC++ seja como o visual C++, vá ver o documento, normalmente ajuda MUITO, algumas vezes fazendo apenas isso consegui resolver alguns problemas de implementação do código..

e aqui a video-aula que te falei: Apagar linhas - Comando "clreol" - (C++) - YouTube

de resto, tentei e procurei no google como te ajudar Anderson16, mas infelizmente não consegui nem, sequer, implementar para poder ter uma noção profunda do problema.. te desejo sorte, que isso que te enviei te ajude e que consiga solucionar o problema logo, beleza? :D

ps: em um forum, recomendaram à um carinha que usasse, ao invés de conio2.h utilizasse windows.h (no windows, pela windows 32 API).. não falaram nada sobre o linux, mas tenho certeza que tem uma biblioteca do gênero, talvez usando algo relacionado a gnome ou KDE resolva (caso use linux.. XD)

Link para o comentário
Compartilhar em outros sites

Baixe a conio2.h neste link: http://sourceforge.net/projects/conio/files/devpak/CONIO%202.0/conio-2.0-1mol.DevPak/download?use_mirror=ufpr

E instale no Dev-C++. Depois de instalado e comprovado o funcionamento, entre na Pasta lib do Dev-C++, Aqui ficou assim:

C:\Dev-Cpp\lib, e copie a lib de nome: libconio.a

entre na Pasta C:\Dev-Cpp\include(no meu caso), e copie a conio2.h.

Agora siga o exemplo abaixo:

C:\Program Files\Microsoft Visual Studio 10.0\você\include e cole a biblioteca conio2.h.

e nesta outra pasta abaixo cole a lib, libconio.a

C:\Program Files\Microsoft Visual Studio 10.0\você\lib

Depois, clique no nó do projeto no visual studio 2010 e cliquei em propriedades. Bom na guia que abriu vá em Linker, e lá embaixo numa parte branca adicione: libconio.a

E cliquei ok. Agora é só adicionar a header #include <conio2.h> que funciona perfeitamente. Ah tmb consegui do mesmo jeito adicionar a curses.h. Espero te-lo ajudado.

Link para o comentário
Compartilhar em outros sites

consegui, após as ultimas dicas do Main.cpp instalar o conio2.h

após implementar o conio2.h no você++, fiz o código assim:


#include <stdio.h>
#include <conio.h>
#include <conio2.h>
#define N_STRINGS 3

main()
{
int i;
for(i=0; i<10; i++)
printf("Demorei meio seculo pra linkar isso, valeu Main.cpp \n");
for(i=3; i<5; i++)
{
gotoxy(1, i);
clreol();
}
getchar();
}

o clreol depende do gotoxy, pelo que entendi.. e, neste caso, vai apagar apenas do elemento numero x (neste caso 1) de cada linha (neste caso, a linha i) até o ultimo elemento de cada linha..

segue "dicas" de cada um dos códigos

void gotoxy(int x, int y);

/**
* Puts string at the specified position.
* @param x horizontal position
* @param y vertical position
* @param str string
*/

void clreol (void);

/**
* Clears whole screen.
*/

espero que lhe ajude Anderson16 :)

Link para o comentário
Compartilhar em outros sites

consegui, após as ultimas dicas do Main.cpp instalar o conio2.h

após implementar o conio2.h no você++, fiz o código assim:


#include <stdio.h>
#include <conio.h>
#include <conio2.h>
#define N_STRINGS 3

main()
{
int i;
for(i=0; i<10; i++)
printf("Demorei meio seculo pra linkar isso, valeu Main.cpp \n");
for(i=3; i<5; i++)
{
gotoxy(1, i);
clreol();
}
getchar();
}

o clreol depende do gotoxy, pelo que entendi.. e, neste caso, vai apagar apenas do elemento numero x (neste caso 1) de cada linha (neste caso, a linha i) até o ultimo elemento de cada linha..

segue "dicas" de cada um dos códigos

void gotoxy(int x, int y);

/**
* Puts string at the specified position.
* @param x horizontal position
* @param y vertical position
* @param str string
*/

void clreol (void);

/**
* Clears whole screen.
*/

espero que lhe ajude Anderson16 :)

to no cel. Agora e tá osso. Fico feliz que tenha conseguido.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...