Pascal/Turbo Pascal - Como cargo una unit.

 
Vista:

Como cargo una unit.

Publicado por NeoStereo (5 intervenciones) el 15/10/2004 15:20:29
Como hago para cargar una unidad en pascal. Una unidad que yo haya creado con anterioridad. por que por ejemplo no quiero andar haciendo procedimientos para cargar un arreglo en cada ejercicio y otro para imprimirlo, me gustaria tenerlo cargado como una unit y pone USES <Nombre de mi unit> y que yo pueda llamar al procedimiento ImprimirArreglo(variable); sin tener que haberla declarado en el programa.
Bueno espero que hayan entendido mi duda. Desde ya muchas gracias.

Saludos =]
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:Como cargo una unit.

Publicado por pcx56 (38 intervenciones) el 15/10/2004 15:39:01
Tu lo has escrito:

program NombrePrograma;
uses Crt, DOS, UnitPropia;
etc,...

Suerte.
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:Como cargo una unit.

Publicado por NeoStereo (5 intervenciones) el 15/10/2004 15:50:43
uhmm.. pero eso ya lo sabia. la cosa es donde ubico esa unit? en la carpeta units? y como la hago? como un programa con esos dos procedimientos y nada mas? o solamente los procedimientos?
y la extension de la unit es .pas o .que?
mas ayuda pls :)

saludos y gracaias pcx56
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:Como cargo una unit.

Publicado por M@rceloL (152 intervenciones) el 15/10/2004 22:30:50
La extensión de una unidad es .pas... siempre.

El archivo lo podés ubicar o 1) en el directorio del programa que estés escribiendo o 2) en el directorio que hayas establecido para tal fin, generalmente se llama \Units pero en Options\Directories podés cambiarlo.

Por si no lo sabés, la estructura de las units es:

unit Nombre; -->Que tiene que coincidir con el nombre del archivo en sí.

interface
uses bla, bla; -->no es necesario, pero si lo necesitás...

Procedure HacerAlgo(bla bla);

implementation

uses bla, bla; -->no es necesario, pero si lo necesitás...

procedure HacerAlgo(bla bla);
begin
...
end;

En la parte de interfaz, ponés todo lo que va a ser accesible desde el progama que usa la unit (los procedimientos y funciones NO llevan el código escrito ahí). Y en la de implementación, todo lo que la unit realmente usa, incluyendo el código de los procedimientos o funciones que declaraste en la parte de interfaz. Puden ser procedimientos, constantes, variables, tipos, lo que sea.

Espero te sirva. Cualquier cosa, preguntá. Saludos y felices compiladas.
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:Como cargo una unit.

Publicado por NeoStereo (5 intervenciones) el 15/10/2004 22:40:03
ahh, muchas gracias eso me aclaro muchas cosas, pero o sea que para cargar una unit debo crear antes DOS archivos uno de interfaz y otro de implementacion o como fue eso?
Perdon pero no entendi del todo bien creo.. =\

Gracias por la paciencia..
Saludos =]
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:Como cargo una unit.

Publicado por ivan (37 intervenciones) el 16/10/2004 02:18:19
Hola neo, weno te explico, no tenes que crear dos archivos. Vas al menu File y luego New del compilador y ahi escribis el codigo de la unit. La extension por defecto de la unit es .pas . Y la sintaxis es la que explico M@rcelol. O sea creas un archivo miunit.pas y luego el codigo fuente se veria de esta manera, por ejemplo:
UNIT miunit;
INTERFACE
uses crt; { aca pones las unidades que necesite miunit }
procedure miproc;
fucntion mifunc: byte;
IMPLEMENTATION
procedure miproc;
begin
end;
function mifunc: byte;
begin
end;
BEGIN
END.
Te comento; las palabras mayusculas son palabras reservadas, que tenes que usar para definir la estructura de la unit. Entre INTERFACE e IMPLEMENTATION, declaras todas las cosas que queres que "vea" un programa cuando utilize tu unidad, de IMPLEMENTATION para abajo implementas las cosas definidas anteriormente y podes declarar mas cosas. Por ejemplo si delcaras una variable en esta parte, el programa que utilize la unidad no va a poder acceder a dicha variable. Nada mas para contarte, solo espero que te sirva, suerte y dale duro al estudio. Saludos de Bahia, Universidad Nacional del Sur :D.
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:Como cargo una unit.

Publicado por ivan (37 intervenciones) el 16/10/2004 02:20:53
Hola neo, weno te explico, no tenes que crear dos archivos. Vas al menu File y luego New del compilador y ahi escribis el codigo de la unit. La extension por defecto de la unit es .pas . Y la sintaxis es la que explico M@rcelol. O sea creas un archivo miunit.pas y luego el codigo fuente se veria de esta manera, por ejemplo:
UNIT miunit;
INTERFACE
uses crt; { aca pones las unidades que necesite miunit }
procedure miproc;
fucntion mifunc: byte;
IMPLEMENTATION
procedure miproc;
begin
end;
function mifunc: byte;
begin
end;
BEGIN
END.
Te comento; las palabras mayusculas son palabras reservadas, que tenes que usar para definir la estructura de la unit. Entre INTERFACE e IMPLEMENTATION, declaras todas las cosas que queres que "vea" un programa cuando utilize tu unidad, de IMPLEMENTATION para abajo implementas las cosas definidas anteriormente y podes declarar mas cosas. Por ejemplo si delcaras una variable en esta parte, el programa que utilize la unidad no va a poder acceder a dicha variable. Nada mas para contarte, solo espero que te sirva, suerte y dale duro al estudio. Saludos de Bahia, Universidad Nacional del Sur :D.
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:Como cargo una unit.

Publicado por Diego Romero (786 intervenciones) el 16/10/2004 02:24:54
No. Es todo el mismo archivo que está estructurado en dos partes, luego de la declaración interface escribe todo lo que quieras que sea visible desde "afuera" de la unit, variables, constantes, tipos definidos y solamente las cabeceras de las funciones o procedimientos.
Luego después de la declaración implementation escribe el desarrollo de las funciones y procedimientos que declaraste en la interface, las cabeceras de estas deben cohincidir.
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:Como cargo una unit.

Publicado por NeoStereo (1 intervención) el 16/10/2004 03:37:42
Muchas gracias Ivan y Diego Romero, entendi todo perfecto con la explicacion clara de Ivan. Despues las aclaraciones de Diego tambien me ayudaron, muchas gracias gente
Saludos =]
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:Como cargo una unit.

Publicado por pcx56 (38 intervenciones) el 18/10/2004 20:17:15
Hola NeoStereo, otra aclación:
Tenés que crear el archivos fuente de la unit que por supuesto es extensión .PAS.
Este archivos es el que tenés que compilar para que se cree la Unit, que será un archivo con extensión .TPU y tendrá el mismo nombre que le habías puesto al archivo fuente de la Unit y en la sección
unit MiUnit; del mismo archivo fuente.
El archivo se crea por defecto en el directorio \UNITS.
Luego cuando necesites utilizar la Unit en cualquier archivo fuente que crees, lo cargas como ya sabes.
Disculpa mi primer respuesta, "no" quise ser sarcástico.
Suerte.
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