GARANTIR DESCONTO

Fórum Verificar se uma string possui apenas letras #358053

06/05/2008

0

Olá pessoal!
Sou nova aqui e na programação!
To precisando de uma ajudinha.
Estou varrendo o text de um edit e tenho que verificar se em certa parte o usuário digitou apenas letras.
Ex:
123-akp
Preciso verificar se as 3 ultimas letras são apenas letras.
Pretendo colocar em um if da seguinte forma:

Nome := RigthStr(Edit1.text,3);
if not (Nome.AsString) then
...


Só que esse .AsString não existe, pelo menos aqui pra mim dá o seguinte erro:
´Record, object or class type required´

Já tentei da seguinte forma:

if not (AsString(Nome)) then
...


Ai dá o erro:
´Undeclared identifier :AsString´

Se alguém conhecer uma função que exista para esse fim em delphi..
Em outras linguagens eu achei várias opções mas nada em delphi... :(

I need help!



Tamiriss

Tamiriss

Responder

Posts

06/05/2008

Joaoshi

Colega, você poderia criar uma função para resolver o problema.

Um exemplo (não testei):

Function  SoLetra(Texto: String):Boolean;
var Resultado:Boolean;
    nContador:Integer;
begin

  Resultado := true;

  For nContador:=1 to Length(Texto) do
    begin
      {Verifica sé é uma letra}  
      if Texto[nContador] in [´a´..´z´,´A´..´Z´] then
      else
         Resultado := false;   
    end;

    Result:=Resultado;
end;


Espero ter ajudado.


Responder

Gostei + 0

06/05/2008

Tamiriss

Ajudou sim!
Fiz dessa forma mesmo!
Tá funcionando direitinho!
Nunca tinha visto esse [´a´..´z´] não
E ele só aceita char né, como minha variavel não é char usei Str[1], deu certinho!

Brigadão


Responder

Gostei + 0

08/05/2008

Mazzi

Soh pra constar , pra quem necessitar:

-------SOMENTE NUMEROS-----------------

function RemoveChar(Const Texto:String):String;
//
// Remove caracteres de uma string deixando apenas numeros
//
var
I: integer;
S: string;
begin
S := ´´;
for I := 1 To Length(Texto) Do
begin
if (Texto[I] in [´0´..´9´]) then
begin
S := S + Copy(Texto, I, 1);
end;
end;
result := S;
end;

-------SOMENTE LETRAS-----------------


function RemoveNumeros(Const Texto:String):String;
//
// Remove numeros de uma string deixando apenas letras
//
var
I: integer;
S: string;
begin
S := ´´;
for I := 1 To Length(Texto) Do
begin
if (Texto[I] in [´A´..´Z´])or (Texto[I] =´ ´) or (Texto[I] =´.´) then
begin
S := S + Copy(Texto, I, 1);
end;
end;
result := S;
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar