• Jueves 25 de Abril de 2024, 00:32

Autor Tema:  Ayuda Con Visual C++  (Leído 4703 veces)

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Ayuda Con Visual C++
« en: Miércoles 8 de Junio de 2005, 16:51 »
0
Que tal a todos, estoy trabajando en visual c++ y tengo que hacer que en mi programa haya una pausa asi como se usa en c++ el Sleep ( ); pero aqui en visual no me deja en que libreria esta o cual es el comando que hace que el programa tenga una pausa, y tambien no puedo centrar mis textos ya que no me permite poner el gotoxy (  ,  ) , cual sera el comando para poder centrar o en que librerias estara, sera que me pueden ayudar en ese problemita se los estare agradeciendo muchisisisimo.

Gracias.... :smartass:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Ayuda Con Visual C++
« Respuesta #1 en: Miércoles 8 de Junio de 2005, 17:16 »
0
Revisa este post:
http://foros.solocodigo.com/index.php?show...=13178&hl=pausa

Citar
Output to a console is essentially controlled by the console screen buffer's current settings, and each position in the buffer is addressable with a COORD structure. This code uses SetConsoleCursorPosition() to move the current output location to row 11, column 32:

#include <windows.h>
#include <stdio.h>
 
int main ( int argc, char** argv )
{
HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE );

    if ( INVALID_HANDLE_VALUE != hConsole )
        {
        COORD pos = {32, 11};
        SetConsoleCursorPosition ( hConsole, pos );
        printf ( "Hello World!\n" );
        }
 
    return 0;
}
Also, code that outputs to cout will respect the buffer settings as well.
[CODE]

Fuente:
The Code Project Visual C++ Forum FAQ
By Michael Dunn
http://www.codeproject.com/cpp/cppforumfaq.asp#cons_gotoxy

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Ayuda Con Visual C++
« Respuesta #2 en: Miércoles 8 de Junio de 2005, 17:46 »
0
Oye brother que significa ese codigo que me enviastes porque no hace nada , y sera que te molesto esque casi no muchol e entiendo al ingles...

Gracias por tu ayuda

 :hola:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



pitukilloloco

  • Miembro MUY activo
  • ***
  • Mensajes: 104
    • Ver Perfil
Re: Ayuda Con Visual C++
« Respuesta #3 en: Miércoles 8 de Junio de 2005, 17:54 »
0
En esta liga puse un sencillo ejemplo de como manejar el ratón en modo consola. Ahí está el uso de la función sleep y de cómo poner un letrero en alguna parte de la consola. Espero te sirva
http://foro.elhacker.net/index.php/topic,68516.0.html

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Ayuda Con Visual C++
« Respuesta #4 en: Miércoles 8 de Junio de 2005, 18:43 »
0
Oye gracias por tu ayuda, pero ahora mi pregunta es: que para cada linea que yo quiera centrar tengo que poner todo esto :

HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE );

if ( INVALID_HANDLE_VALUE != hConsole )
{
COORD pos = {32, 11};
SetConsoleCursorPosition ( hConsole, pos );
cout<< "Solo una LInea \n";



oviamente que las variables van a hacer diferentes ? o estoy mal, sera que me pueden ayudar , porque como veran soy un novato en esto del visual c++,

La cuestion es que yo quiero centrar varias lineas de texto con diferentes coordenadas.

Gracias por su Ayuda

 :D
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



carmamezo

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
Re: Ayuda Con Visual C++
« Respuesta #5 en: Miércoles 8 de Junio de 2005, 19:35 »
0
Hola,
 el Handle hconsole sólo lo tienes que sacar la primera vez, luego lo puedes usar todas las veces que quieras, por tanto esa parte sólo debe ejecutarse al principio:
Código: Text
  1.  
  2. HANDLE hConsole = GetStdHandle ( STD_OUTPUT_HANDLE );
  3. if ( INVALID_HANDLE_VALUE == hConsole )
  4. {
  5. cout&#60;&#60;&#34;ERROR!!&#092;nPulsa &#60;enter&#62; para continuar&#34;;
  6. getchar();
  7. return(-1);
  8. }
  9. ....//ahora ya tienes hConsole, no hace falta hacer todo lo anterior
  10.  
  11.  
Lo que si tendrás que reescribir es
Código: Text
  1.  
  2. COORD pos = {32, 11};
  3. SetConsoleCursorPosition ( hConsole, pos );
  4. cout&#60;&#60;&#34;solo una linea&#34;;
  5.  
  6.  
Tantas veces como necesites...
Un saludo.  :lightsabre:
No hay tonto más molesto que el ingenioso.

shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Ayuda Con Visual C++
« Respuesta #6 en: Miércoles 8 de Junio de 2005, 20:16 »
0
//O te haces una funcion para eso

#include <windows.h>
#include <iostream.h>

HANDLE hHandle=GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord;

void Gotoxy(int x,int y);

main()
{
  Gotoxy(10,10); cout<<"Solo una LInea\n";
 
return 0;
}

void Gotoxy(int x,int y)
{
 coord.X=x;
 coord.Y=y;
 SetConsoleCursorPosition (hHandle,coord);
}

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Ayuda Con Visual C++
« Respuesta #7 en: Miércoles 8 de Junio de 2005, 20:19 »
0
Gracias amigo, solo quiciera hacer otra preguntita como limpio pantalla en visual c ++ ?

Un saludo a todos,,, y gracias por ayudarme..... :hola:

 :smartass:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



shakka

  • Miembro HIPER activo
  • ****
  • Mensajes: 679
  • Nacionalidad: cr
    • Ver Perfil
    • http://mbrenes.com
Re: Ayuda Con Visual C++
« Respuesta #8 en: Miércoles 8 de Junio de 2005, 20:35 »
0
usa:
system("cls");

y en la cuanto a la funcion para posicionar el cursor mejor usa estas variables locales a la funcion y no globales;

Citar
HANDLE hHandle=GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord;

Código: Text
  1.  
  2. void Gotoxy(int x,int y)
  3. {
  4. HANDLE hHandle=GetStdHandle(STD_OUTPUT_HANDLE);
  5. COORD coord;
  6.  
  7. coord.X=x;
  8. coord.Y=y;
  9. SetConsoleCursorPosition (hHandle,coord);
  10. }
  11.  

ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Ayuda Con Visual C++
« Respuesta #9 en: Miércoles 8 de Junio de 2005, 21:52 »
0
Gracias Brother , me haz ayudado en todo te lo agradezco mucho........

 :comp:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



ElNapster

  • Moderador
  • ******
  • Mensajes: 727
    • Ver Perfil
Re: Ayuda Con Visual C++
« Respuesta #10 en: Miércoles 8 de Junio de 2005, 23:56 »
0
Oye tengo problemas con esto de lo del centrar textos ya que lo he hecho tal como me lo han dicho ustedes pero no me funciona , sera que me puedes ayudar poniendo el codigo tal como va para poder centrar por lo minimo 2 lineas asi talvez me guio un poquito mas , porque por el momento sigo igual solo puedo centrar una linea ,, se los agradeceria un monton,,,,

Gracias,,,

El que percevera alganza :smartass:

 :comp:
"Somos lo que imaginamos ser"
-- --------------------------------------------------------------
-ElNapster
-Designer / Developer Software
-GuaTemALa



KrǾNoS

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Ayuda Con Visual C++
« Respuesta #11 en: Lunes 27 de Junio de 2005, 07:57 »
0
Ok, intenta con este programa de ejemplo:


#include <iostream.h>
#include <windows.h>

//Funcion para dar color al Texto
void Color(WORD wColor)
{
HANDLE hHandle=GetStdHandle(STD_OUTPUT_HANDLE);
 SetConsoleTextAttribute(hHandle,wColor);
}

//Funciòn que mueve un texto a una posiciòn x,y de la pantalla
void Gotoxy(int x,int y)
{
HANDLE hHandle=GetStdHandle(STD_OUTPUT_HANDLE);
COORD coord;

coord.X=x;
coord.Y=y;
SetConsoleCursorPosition(hHandle,coord);
}

//Programa principal
void main()
{  

  Color(2);  
  Gotoxy(10,5);
  cout<<"Titulo de prueba"<<endl;
   
  Color(5);
  Gotoxy(15,10);
  cout<<"Otra linea con el gotoxy"<<endl;

}
//--------------------------------------------------------------

Para que te funcione la funciòn Gotoxy(x,y) utilizando la instrucciòn cout deberàs agregar al final de cada lìnea la instrucciòn endl, como se describe en el programa de arriba, es decir de esta forma... cout<<"Otra linea con el gotoxy"<<endl;

Espero te haya sido de utilidad.

"Encuentra una verdad que sea verdadera para tí… la idea por la que estes dispuesto a vivir o morir, y encontraras el significado de tu existencia"....Kierkegaard