Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Cómo se escribe una clase Vector en un program? (https://www.clubdelphi.com/foros/showthread.php?t=91899)

Natyg 30-05-2017 02:01:43

Cómo se escribe una clase Vector en un program?
 
Buenas a todos!
Recién estoy aprendiendo a programar y he tenido problemas con la escritura.
Estoy intentando crear una clase con funciones y procedimientos en un unit y llamarlos en un program, sin embargo no logro escribir correctamente el program, he adaptado lo que tengo a partir de un código base que me pasaron, y no me compila.
Alguien puede ayudarme a corregir el/los errores?

Este es el Unit: (Ya me compila)

Código PHP:

unit Vector;

interface

uses SysUtils ;

const
MaxE 1024;

type
ConjuntoElementos 
= array[1..MaxEof Integer;
CEMVector = class(Exception);
CVector = class Valor:integer;

private
N:Integer;
Elementos:ConjuntoElementos;

public
constructor Crear;
procedure Dimensionar(Dim:Word);
procedure Poner(Posi:Word;Elem:Integer);
function 
Dimension Word;
function 
ComoString String;
end;

implementation

constructor CVector
.Crear;
begin
N
:=0;
end;

procedure CVector.Dimensionar(Dim:Word);
begin
if Dim<MaxE then
N
:=Dim
else
Writeln('ERROR fuera de rango; digite un numero mas pequeño');
end;

procedure CVector.Poner(Posi:Word;Elem:Integer);
begin
if (Posi 0) and (Posi <= Nthen
Elementos
[Posi]:= Elem
else
// llamar a error “ indice fuera de rango “
end;

function 
CVector.Dimension:Word;
begin
Dimension
:=N;
end;

function 
CVector.ComoString:String;
Var 
S:stringI:integer;
begin
S
:='';
for 
I:=1 to N do

S:=S+inttostr(Elementos[i])+'';
end;


end


Este es el Program: (Seguro que tiene muchos errores :( me disculpo por eso, una vez logre que compile pasaré el código bien escrito)
El error que me impide seguir corrigiendo es que no encuentra el CVector que escribí en el uses

Código PHP:

program Vector;

{
$APPTYPE CONSOLE}

uses
  SysUtils
CVectorVector in 'Vector.pas';

type
Aplicacion 
= class Valor:integer;
Var
Vec:CVector;


constructor aplicacion.crear;
begin
Vec
:=cvector.crear;
end;

procedure aplicacion.dimesionar;
var 
kinteger;
begin
Writeln
('Digite cantidad de casillas:');
Readln(Dim);
Vec.dimensionar(Dim);
end;

procedure aplicacion.poner;
var
I,k:integer;
begin
for i:= 1 to vec.dimension do
begin
readln
(k);
vec.poner(I,k);
end;
end;
………….
/// completar codigo
begin
End


Les agradezco mucho su ayuda!

roman 30-05-2017 03:05:22

En uses listas únicamente las unidades (units) que quieres incluir. CVector no es una unidad sino un tipo de datos que definiste en la unidad Vector. Por tanto, basta que pongas esa unidad en el uses para poder usar CVector en el program.

LineComment Saludos


La franja horaria es GMT +2. Ahora son las 06:36:35.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi