Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Declaracion de nuevos tipos (https://www.clubdelphi.com/foros/showthread.php?t=43416)

FGarcia 10-05-2007 19:29:34

Declaracion de nuevos tipos
 
Hola! Nuevamente solicitando ayuda (¡que raro!)

en este hilo 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:

Código Delphi [-]
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:

Código Delphi [-]
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:

Código Delphi [-]
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!!


La franja horaria es GMT +2. Ahora son las 12:19:55.

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