Pascal/Turbo Pascal - marcos en pascal!!??

 
Vista:

marcos en pascal!!??

Publicado por jorge (7 intervenciones) el 11/02/2008 23:21:36
necesito ayuda con un marco de pascal

soy nuevo en esto y me dejaron un proyecto de una factura pero tengo un problema con el marco del lado derecho no puedo hacer que se repitan
la programacion que uso es:

1
2
3
gotoxy(79,2);
for z:= 1 to 10 do
writeln('||')

pero no repite el ciclo

alguien me puede decir que esta mal??

es urgente porfavor

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:marcos en pascal!!??

Publicado por Roberto Garcia (56 intervenciones) el 12/02/2008 05:29:48
Claro que si repite lo que pasa es que me imagino que tienes una parte parecida a :

1
2
3
gotoxy(1,2);
for z:= 1 to 10 do
writeln('||')

entonces lo que pasa es que el writeln pasa al siguiente renglon pero no conserva la columna del gotoxy por lo que deberas incluir el gotoxy dentro del ciclo para que quede algo parecido a:

1
2
3
4
for z:= 1 to 10 do begin
    gotoxy(79,z+1);
    writeln('||');
end;

para que empieze desde el renglon 2 y termine en el 11 o en el primer for colocar los dos marcos

1
2
3
gotoxy(1,2);
for z:= 1 to 10 do
writeln('||                                                                        ||')

aqui depende de cada quien
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:marcos en pascal!!??

Publicado por m0e (1 intervención) el 03/10/2008 10:07:43
mira lo que en realidad sucede es ke tu ciclo si corre pero siempre te va a estar poniendo ║ el simbolo en el mismo lugar porke no le estas dando coordenadas lo que puedes hacer es darle una variable para el renglon en el gotoxy por ejemplo podrias ponerle una variable no se REN (renglon) te quedaria asi:

1
2
3
4
5
6
REN:=2;
for z:= 1 to 10 do
begin
    gotoxy(79,REN);write('||') ;
        REN:=REN+1;
end;

algo asi quedaria tu ciclo para el marco de la derecha!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:marcos en pascal!!??

Publicado por LINO SALAZAR (4 intervenciones) el 16/01/2009 23:17:38
ESTO ES LO QUE TIENES QUE COLOCAR MAN Y LISTO,...

1
2
3
4
5
for z:=3 to 45 do
begin
  GotoXY(2,z);
  Write('||');
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:marcos en pascal!!??

Publicado por LINO SALAZAR (4 intervenciones) el 16/01/2009 23:35:00
AMIGO COPIA ESO Y LISTO, YO TAMBIEN ESTOY ESTUDIANDO PASCAL Y ME MANDARON A HACER UN PROGRAMA CON MENU QUE CALCULE CESTA TICKET EN UNA NOMINA...

1
2
3
4
5
6
7
textcolor(14);
 
for Z:=3 to 45 do
begin
  GotoXY(2,Z);
  Write('||');
end;

SI HACEMOS CONTACTO NOS PODEMOS AYUDAR EN ESTO...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:marcos en pascal!!??

Publicado por ale (1 intervención) el 05/06/2009 00:15:10
necesito qe me parezca un marco en la pantalla de pascal xfa contestame sip??. como le hago
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:marcos en pascal!!??

Publicado por alfredo (1 intervención) el 19/08/2009 19:50:35
hola yo me llamo alfredo y soy nuevo en pascal y quisiera que me alludaras como se hacen los marcos desde cero.
y quisiera saber si no hay unos buenos tutoriales en intertet.
para que me digas cuales son bueno eso es todo bye.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejercicio

Publicado por ramon (2158 intervenciones) el 04/05/2012 21:59:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{A caso es algo de esto}
 
 program infracci;
 uses
    crt;
    const
       velocidad : array[1..3] of integer = (80,90,100);
  var
    placa, zonainf, velomax, veloalc : word;
    mulzon1, mulzon2, mulzon3 : integer;
    acuzon1, acuzon2, acuzon3 : real;
    fin : boolean;
    tecla : char;
 
 
  begin
      clrscr;
      fin := true;
      mulzon1 := 0;
      mulzon2 := 0;
      mulzon3 := 0;
      acuzon1 := 0.0;
      acuzon2 := 0.0;
      acuzon3 := 0.0;
      while fin do
      begin
         write('Entre Placa               : ');
         readln(placa);
         write('Entre Zona                : ');
         readln(zonainf);
         velomax := velocidad[zonainf];
         write('Velocidad Max             : ',velomax);
         writeln;
         write('Entre Velocidad Detectada : ');
         readln(veloalc);
         if zonainf = 1 then
         begin
           mulzon1 := mulzon1 + 1;
           acuzon1 := acuzon1 + (100 + ((veloalc - 80) * 50));
         end;
         if zonainf = 2 then
         begin
            mulzon2 := mulzon2 + 1;
            acuzon2 := acuzon2 + (100 + ((veloalc - 90) * 50));
         end;
         if zonainf = 3 then
         begin
            mulzon3 := mulzon3 + 1;
            acuzon3 := acuzon3 + (100 + ((veloalc - 100) * 50));
         end;
         clrscr;
            writeln('Placa         : ',placa);
         case zonainf of
        1 : writeln('Multa         : ',100 + ((veloalc - 80) * 50));
        2 : writeln('Multa         : ',100 + ((veloalc - 90) * 50));
        3 : writeln('Multa         : ',100 + ((veloalc - 100) * 50));
          end;
         writeln('Desea Entrar Mas Infracciones [S/N]');
         tecla := readkey;
         if tecla in['s','S'] then
         clrscr;
         if tecla in['n','N'] then
         fin := false;
      end;
        clrscr;
  if mulzon1 > 0 then
  writeln('  Zona  N§ 1 : ',mulzon1,' Infracciones / Promedio Multa : ',
                   acuzon1 / mulzon1:8:2);
  if mulzon2 > 0 then
  writeln('  Zona  N§ 2 : ',mulzon2,' Infracciones / Promedio Multa : ',
                   acuzon2 / mulzon2:8:2);
  if mulzon3 > 0 then
  writeln('  Zona  N§ 3 : ',mulzon3,' Infracciones / Promedio Multa : ',
                   acuzon3 / mulzon3:8:2);
       writeln;
       writeln('   Pulse [Enter]');
       readln;
 end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ejercicio

Publicado por Carlos Barrios (6 intervenciones) el 03/05/2014 00:44:18
Mi pana tengo el mismo problema, necesito diseñar un programa de facturación y es primera vez que utilizo Free pascal, he tratado de hacer el cuadro por muchos medios y nada que me corre, si me pudieran ayudar se los agradecería muchísimo de antemano.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ejercicio

Publicado por ramon (2158 intervenciones) el 03/05/2014 12:24:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
{Mira estos marcos acoplarlos a tu medidas}
 
program marcos;
 uses
    crt;
  const
      marcosim : array[1..6] of char = (
      'Ú','Ä','¿','³','À','Ù');
      marcodob : array[1..6] of char = (
      'É','Í','»','º','È','¼');
 var
   x, y, i, u : integer;
 
  procedure ponmarcosim(x1, y1, x2, y2 : integer);
  begin
     gotoxy(x1,y1);write(marcosim[1]);
     gotoxy(x1,y2);write(marcosim[5]);
     for x := x1 + 1 to x2 - 1 do
     begin
         gotoxy(x,y1);write(marcosim[2]);
         gotoxy(x,y2);write(marcosim[2]);
     end;
     gotoxy(x2,y1);write(marcosim[3]);
     gotoxy(x2,y2);write(marcosim[6]);
     for y := y1 + 1 to y2 - 1 do
     begin
        gotoxy(x1,y);write(marcosim[4]);
        gotoxy(x2,y);write(marcosim[4]);
     end;
  end;
 
  procedure ponmarcodob(x1, y1, x2, y2 : integer);
  begin
     gotoxy(x1,y1);write(marcodob[1]);
     gotoxy(x1,y2);write(marcodob[5]);
     for x := x1 + 1 to x2 - 1 do
     begin
         gotoxy(x,y1);write(marcodob[2]);
         gotoxy(x,y2);write(marcodob[2]);
     end;
     gotoxy(x2,y1);write(marcodob[3]);
     gotoxy(x2,y2);write(marcodob[6]);
     for y := y1 + 1 to y2 - 1 do
     begin
        gotoxy(x1,y);write(marcodob[4]);
        gotoxy(x2,y);write(marcodob[4]);
     end;
  end;
 
  begin
      clrscr;
      ponmarcosim(1,1,79,22);
      ponmarcodob(4,4,75,18);
      readkey;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar