[ Foro de Pascal ]
acabo de crear mi primer unidad... quisiera saber si esta bien y donde la debo colocar para que funcione con cualquier programa que haga....
unit efectos;
interface
procedure barra_de_progreso();
procedure Maquina_de_escribir(palabra:string;color,fila,columna:integer);
procedure Muevepalabra(palabra:string;fila,columna:integer);
procedure parpadeo(palabra:string;fila,columna:integer);
implementation
uses crt;
procedure Maquina_de_escribir(palabra:string;color,fila,columna:integer);
var
z,i:integer;
begin
z:=length(palabra);
for i:=1 to z do
begin
textcolor(color);
gotoxy(fila+i,columna); writeln(palabra[i]);
delay(100);
end;
end;
procedure barra_de_progreso();
var
i,a:integer;
begin
clrscr;
gotoxy(24,10); writeln('<');
gotoxy(36,10); writeln('>');
a:=0;
for i:=1 to 10 do
begin
textcolor(white);
gotoxy(25+i,10); writeln('¦');
a:=a+10;
gotoxy(25,12); writeln('cargando...',a,'%');
delay(150);
end;
end;
procedure Muevepalabra(palabra:string;fila,columna:integer);
var
cant,i:integer;
begin
cant:=length(palabra);
for i:=0 to cant do
begin
clrscr;
gotoxy(fila+i,columna); writeln(palabra);
delay(100);
end;
end;
procedure parpadeo(palabra:string;fila,columna:integer);
var
i:integer;
begin
for i:=0 to 2 do
begin
textcolor(yellow);
gotoxy(fila,columna); writeln(palabra);
delay(100);
textcolor(red);
gotoxy(fila,columna); writeln(palabra);
delay(100);
textcolor(yellow);
gotoxy(fila,columna); writeln(palabra);
delay(100);
textcolor(red);
gotoxy(fila,columna); writeln(palabra);
delay(100);
end;
end;
end.
depaso la comparto para que el que le sirva la use
Parece estar bien. Para usarla desde cualquier programa, bastaría con colocar este fichero en la misma carpeta, e incluir en tu programa la línea
uses efectos;
Por comentar alguna cosa más:
El paréntesis vacío que incluyes junto a "barra_de_progreso" no sería necesario en Pascal estándar, es algo heredado de C y que sólo permitirán compiladores muy modernos, como Free Pascal.
Hay alguna cosa mejorable, como que la barra de progreso podría recibir como parámetros unas coordenadas y un porcentaje, de modo que se pudiera usar realmente para indicar el avance de algún proceso lento, porque ahora mismo es simplemente un efecto vistoso, pero podría ser aún más útil.
A nivel estilístico, para que resulte más legible, yo tabularía una posición menos (que los nombres de los "procedures" estuvieran pegados al margen izquierdo) y no usaría el carácter de tabulación sino 4 espacios (casi cualquier editor moderno te permite reemplazar tabulaciones por una cierta cantidad de espacios que tú elijas).
En cuanto a los nombres de los procedimientos, debes escoger un estilo: en unos separas con "subrayados" y en otros enlazas las palabras sin separadores. El primero es un estilo C un tanto desfasado. El estilo preferido en Pascal suele ser el de juntar las palabras y usar mayúsculas al comienzo de cada nueva palabra para ayudar a que sea más legible: MuevePalabra, BarraDeProgreso.
Pero ves que son sólo sugerencias de poca importancia, en general está bien así.
puse la unidad en la misma carpeta del programa en el que la quiero utilizar pero no funciona.... tambien agregue la linea de uses efectos;
ya lo arregle :D
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)