• Jueves 20 de Febrero de 2025, 20:08

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - gui2485

Páginas: [1]
1
Pascal / Porque No Funciona Esto? Deberia...
« en: Sábado 24 de Febrero de 2007, 21:33 »
HOla a todos...

tengo un problema... empece a trabajar con modo grafico... y las funciones antiguas no funcionan....

quiero utilizar readkey antes del close graph.... abre todo normal y dps cuando viene el readkey queda estatico, aprieta teclas y nada, el code es este:

Citar

Program InterGraf01;

Uses CRT,SysUtils,Graph;

Const
       //Colores
       Black=0;Blue=1;Green=2;Cyan=3;Red=4;Magenta=5;Brown=6;LightGray=7;
       DarkGray=8;LightBlue=9;LightGreen=10;LightCyan=11;LightRed= 12;
       LightMagenta=13;Yellow=14;White=15;

       //Ventanas
       LongVentana = 475;
       AnchoVentanaDerecha = 630;

       //Rangos;
      Ancho = 7; Alto = 8;

      //Otros
      RadioFichasX= 17;
      RadioFichasY= 17;


Type   TFicha=Char;

       TJugador = Record
         Nick:String;
         Jugadas:Integer;
         End;

      //Matriz de juego;
      TTablero = Array[1..Alto,1..Ancho] Of TFicha;


//Variables Globales;
Var
   gd,gm:SmallInt; //Manejador Grafico y Manejador de color respectivamente;
   Tablero:TTablero;
   Win:Boolean;
   Player01,Player02:TJugador;
   Entrada:CHar;
//------------------------------------------------------------------------------
Procedure InicializarModoGrafico;

Begin
gm:=vgahi;  //tmb podemos usar gm:=Detect;
gd:=vga;  // //tmb podemos usar gm:=Detect;

InitGraph(gd,gm,'');
  if GraphResult <> grOk then
    begin
      Writeln('Driver ',gd,' Modo Grafico ',gm,' No Soportado');
      Halt(1);
    end;

End;

//------------------------------------------------------------------------------

Procedure InicializarTablero(Var Tablero:TTablero);

Var i,j:Integer;

Begin

For i:=1 To Ancho Do
    For j:=1 To Alto Do Tablero[i,j]:= '0';

End;

//------------------------------------------------------------------------------
Procedure Ambiente;

Var Vent01Activa,Vent02Activa:Boolean;

Begin

//Dibujamos Ventana de la izquierda;
Setviewport(5,5,220,LongVentana,Vent01Activa);
SetFillStyle(1,Brown);
Bar(5,5,220,LongVentana);
SetFillStyle(1,Black);
Bar(15,15,205,LongVentana-10);

//Coloco titulos en ventana izquierda;
SetTextStyle(2,0,2);



//Dibujo VEntana Derecha;
Setviewport(230,5,AnchoVentanaDerecha,LongVentana,Vent02Activa);
//Dibujamos Ventana de la izquierda;
SetFillStyle(1,Brown);
Bar(0,5,400,LongVentana);
SetFillStyle(1,Black);
Bar(10,15,390,LongVentana-10);


ENd;

//------------------------------------------------------------------------------
Procedure DibujarTablero(Tablero:TTablero);

Var i,j,XActual,YActual:Integer;

Begin

//Creo El Rectangulo Azul:
SetColor(White);
SetFillStyle(1,Blue);
Bar(30,380,370,20);

//Rotulo del fichero;
SetFillStyle(0,Black);
Bar(40,50,360,30);
SetTextStyle(2,0,1);
OutTextXY(45,35,'1     2     3     4    5    6    7    8');

//INicializo Variables;
XActual:=60; YActual:=80;

Tablero[1,2]:='1';
Tablero[6,4]:='2';
Tablero[1,7]:='1';
Tablero[2,2]:='2';

For i:=1 To Ancho Do

    Begin
      For j:=1 To Alto Do
        Begin

        Case (Tablero[i,j]) Of
        '0':Begin
            SetColor(White);
            SetFillStyle(0,Black);
            FillEllipse(XActual,YActual,RadioFichasX,RadioFichasY);
            End;
        '1': Begin
             SetColor(White);
             SetFillStyle(1,Red);
             FillEllipse(XActual,YActual,RadioFichasX,RadioFichasY);
             End;
        '2':Begin
             SetColor(White);
             SetFillStyle(1,Yellow);
             FillEllipse(XActual,YActual,RadioFichasX,RadioFichasY);
             End;
         End;

        XActual:=XActual + 40;

        End;

     XActual:=60;
     YActual:=YActual + 40;

     End;

End;


//---------------------------------------------------------------------------
//PRINCIPAL
//------------------------------------------------------------------------
Begin

//Inicializacion de Variables;
Win:=False;
InicializarTablero(Tablero);
InicializarModoGrafico;
Ambiente;
DibujarTablero(Tablero);

Readkey;


Closegraph; //Mata al modo grafico;


End.


2
Windows / Referancias Api De Windows...
« en: Lunes 6 de Noviembre de 2006, 04:25 »
Hola... Alguien sabe de donde se puede sacar algun lugar donde te diga para que sirve cada funcion de la api de windows y los parametros q le tenes  q pasar y para q sirve cada uno?...

3
Pascal / Arrays De Tamaño Indefinido En Pascal...
« en: Domingo 1 de Octubre de 2006, 15:23 »
Hola.... tengo que hacer algunos ejercicios y lamentablente tienen que ser en pascal...

 No digo que me lo hagan... pero para mi que se necesita declarar un array de la dimension que el usuario quiera... en C++ yo hago una funcion asi

Citar
int pepe(int n:int)
int[n]
{}

 y va de 10 pero en pascal no se puede

Citar
procedure guillermo(n:integer);

var arreglo:array[1.. n]of integer;
    i:integer;


si yo en vez de [1.. n] pongo [1..100] entra re bien...

11 / 24 p4ej02.pas
 Error: Can't evaluate constant expression
23 / 19 p4ej02.pas
 Error: Type mismatch


 Bue lo que necesitaria es que alguien me diga como puedo hacer eso que necesito, o sea declarar arrays de dimension n, o sea una dimension q inserte el usuario... :ph34r:

Páginas: [1]