PDA

Ver la Versión Completa : Declaracion de nuevos tipos


FGarcia
10-05-2007, 19:29:34
Hola! Nuevamente solicitando ayuda (¡que raro!)

en este hilo (http://www.clubdelphi.com/foros/showthread.php?t=43124) Jhonny propuso una funcion para llenar una cadena con determinados caracteres por la izquierda o derecha, sin embargo al tratar de implementarla me da error:

[Error] UVarios.pas(18): Unsatisfied forward or external declaration: 'TDM_Varios.PadString'

el codigo:


unit UVarios;

interface

uses
SysUtils, Classes, ActnList;

type
TOrientacion = (toLeft, toRight);

type
TDM_Varios = class(TDataModule)
ActionList1: TActionList;
private
{ Private declarations }
public
{ Public declarations }
Function PadString(cVar: String; Caracter: Char; nLen: Integer; Orientacion: TOrientacion): String;
end;

var
DM_Varios: TDM_Varios;

implementation

{$R *.dfm}

//Llena una cadena con el numero de caracteres solicitados
Function PadString(cVar :String; Caracter :Char; nLen:Integer; Orientacion :TOrientacion):String;
begin
if Orientacion = toLeft then
Result:=StringOfChar(Caracter, nLen - Length(cVar))+cVar
else
Result:=cVar+StringOfChar(Caracter, nLen - Length(cVar));
end;
end.

las preguntas son:
¿esta bien la declaracion de tipos? (nunca habia tenido necesidad)
¿Cual es la causa del mensaje de error?

dec
10-05-2007, 19:36:27
Hola,

Declaras el método "PadString" en la clase "TDM_Varios", pero, luego no lo implementas: por eso te dice que no se satisface la declaración.

En lugar de implementar la función:


Function PadString(cVar :String; Caracter :Char; nLen:Integer; Orientacion :TOrientacion):String;


Tienes que implementar un método, es decir, la función, en este caso, pero, perteneciente a la clase de marras:


Function TDM_Varios.PadString(cVar :String; Caracter :Char; nLen:Integer; Orientacion :TOrientacion):String;

FGarcia
10-05-2007, 20:46:21
AGHHHHH!!!!!!

QUE BRUTO DE MI!!!!!
Varias veces me ha pasado eso y no aprendo!!!

Gracias Dec!!