PDA

Ver la Versión Completa : Problemas con funciones de manejo de string


destrukthor
11-07-2006, 13:27:25
Hola a todos

Nuevamente los molesto, como todo principiante, mi problema ahora radica en:

Tengo un unit donde tengo funcines globales para mi proyecto, las q hice solo hacen calculos, por lo tanto no causa problemas, pero tengo una funcion q se encarga de validar el ingreso de un dato (C.I.) y el algoritmo requiere q ocupe las funciones de trabo de String como por ejemplo TRIM, COPY, StrToInt.... etc, pero al correrla me dice q esas funciones no estan definidas.
Bien coloco el Uses para integrar el SysUtil para ver si las reconoce, pero me dice q no se define Uses.
Gracias de antemano para quienes respondan y puedan ayudarme.

kuan-yiu
11-07-2006, 13:42:44
¿Cómo lo has puesto exactamente?
¿Así?
unit miUnit;

interface

uses
SysUtils;

// Lo que sea

destrukthor
11-07-2006, 13:45:14
No lo puse asi


unit miUnit;uses SysUtils;interface// Lo que sea

destrukthor
11-07-2006, 13:47:04
Asi...

unit miUnit;uses SysUtils;interface// Lo que sea

Neftali [Germán.Estévez]
11-07-2006, 13:52:36
Utiliza TAGs (http://neftali.clubdelphi.com/images/ResaltarSintaxisDelphi.png) cuando añadas código delphi.
¿Puedes poner la descripción exacta del error?

destrukthor
11-07-2006, 13:59:22
Este es el error.

ProcGlob.pas(3): 'INTERFACE' expected but 'USES' found

aqui esta el codigo...


unit ProcGlob;
Uses
SysUtils;
InterFace
FUNCTION f_VerMsg(f_Num :Integer): Boolean;
FUNCTION v_Rut(Var_Rut: String): Boolean;
implementation
FUNCTION f_VerMsg(f_Num :Integer): Boolean;
BEGIN
IF f_Num=0 THEN
Result:=True
ELSE
Result:=False;
END;
FUNCTION V_Rut(Var_Rut: STRING): Boolean;
VAR n_Dv,Cal_R,f,i,h,LargoRut: Integer;
Var_Dv,DvRut,Rut_1,NroRut: String;
BEGIN
var_rut:=TRIM(var_rut);
var_rut:=UPPERCASE(var_rut);
largorut=LENGTH(var_rut);
Rut_1:=COPY(Var_Rut,1,1);
IF LargoRut=0 THEN
Result:=False;
IF LargoRut<3 OR POS('-',Var_Rut)=0 OR Rut_1='0' THEN
Result:=False;
DvRut:=COPY(Var_Rut,LargoRut-1,1);
NroRut:=COPY(Var_Rut,1,POS('-',Var_rut)-1);
h:=2;
Cal_R:=0;
FOR i:=LENGTH(NroRut) DOWNTO 1 DO
BEGIN
f:=StrToInt(COPY(NroRut,i,1));
IF h=8 THEN
h:=2;
Cal_R=Cal_R+(f*h);
h:=h+1;
END;
n_Dv:=11-INT(Cal_R-(INT(Cal_R/11)*11));
CASE n_Dv OF
10: Var_Dv='K';
11: Var_Dv:='0';
ELSE
Var_Dv:=IntToStr(n_Dv);
END;
IF DvRut<>Var_Dv THEN
Result:=False;
Result:=True;
END;

kuan-yiu
11-07-2006, 14:02:39
unit ProcGlob;
Uses
SysUtils;
InterFace { <--- Esto. }
// Lo que sea
Pues creo que el problema es tan tonto como eso: la cláusula "uses" debe ir dentro de la sección "interface". Pon la declaración "interface" inmediatente después de "unit".

destrukthor
11-07-2006, 16:39:29
Miles de gracias por ayudarme y solucionarme el problema.
Ya quedo listo y te recuerdo q soy novato en esto y mi programacion viene de clipper donde las declaraciones no son estrictamente escructuradas.

Muchas gracias por la ayuda y seguire molestando con mis problemas mas adelate cuando se me presente.

Recuerden mis problemas no son de programacion sino de conocimientos de las herramienta para usar este lengueje q entre parentecis esta muy bueno y bonito es mas rapido y amigable q Visual FoxPro....