Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda para un trabajo (https://www.clubdelphi.com/foros/showthread.php?t=38975)

skunky 06-01-2007 18:10:54

ayuda para un trabajo
 
Hola!!
Estoy estudiando i me gustaria saber como se hace para cuando por ejemplo te dan una palabra i le tienes ke invertir: casa -> asac
I tambien me gustaria saber como se hace para si te dan un numero , pues automaticamente se te convierta el numero escrito: 5 -> cinco
Espero respuesta gracias.

Onti 06-01-2007 18:40:39

Bueno vamos por partes, veamos el caso de invertir una palabra, para ello utilizaremos los siguientes ingredientes:
1 variable para almacenar la palabra
1 variable para almacenar el resultado
1 instruccion "for" para recorrer cada letra de la palabra
1 " length para obtener el nro de letra de la palabra


Preparacion
tome la variable resultado inicializandola, luege obtenga con la instruccion length el nro de letras de la palabra, aplique un recorrido inverso de la palabra utilizando vigorosamente la instruccion "for" almacenando el resultado en la variable resultado, espere paciantemente 0.0000005 segundo y estra lista su variable con el resultado

aqui va el codigo

Código Delphi [-]
 Var 
    CadOrigen, CadFinal :String;
    La                        :Integer; 
 Begin
   // Inicializar
     CadOrigen :='casa';
     CadFinal   :='';

  // Recorrido
    For length(CadFinal) dowto 1 do
      CadFinal :=CadFinal+CadOrigen[La];
 End;

Nota : puede haber algun error lo hice de memoria aqui no tengo delphi

dec 06-01-2007 19:05:18

Hola,

En la unidad "StrUtils" (al menos en Delphi 7) se encuentra una función de nombre "ReverseString" y que tiene este aspecto, por si a alguien le interesa:

Código Delphi [-]
function ReverseString(const AText: string): string;
var
  I: Integer;
  P: PChar;
begin
  SetLength(Result, Length(AText));
  P := PChar(Result);
  for I := Length(AText) downto 1 do
  begin
    P^ := AText[i];
    Inc(P);
  end;
end;

Por cierto que existe una función en la misma unidad de nombre "AnsiReverseString", por si vuelve a interesar a alguien. :)

Respecto de convertir un número a texto... prueba a echar un vistazo al componente ATexto.


La franja horaria es GMT +2. Ahora son las 00:02:26.

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