Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Revertir numeros (https://www.clubdelphi.com/foros/showthread.php?t=64718)

Jose Meneses 15-04-2009 23:45:15

Revertir numeros
 
Hola amigos, otra vez le doy gracias al foro por permitirme a preguntar cosas que yo no sé. El día de hoy me dejaron una tarea acerca de vectores y stringgrids de ingresar un numero en una columna ej: 1498234 y en la columna de abajo de el stringgrid tiene que desplegar el numero reverso ej: 4328914, OJO : no se pueden usar DOWNTO y hay que ponerle el limite de columnas que el usuario quiere, también tiene que ser en windows application,, muchas gracias por su atención y por la intención de ayudarmme...:):):):)

Caro 16-04-2009 02:41:33

Hola Jose, no entiendo muy bien donde exactamente esta tu duda, sería bueno que intentaras hacerlo y nos dijeras donde te estas trancando, te pongo el ejemplo para invertir el numero.

Código Delphi [-]
var
 Num, Aux, Dig : Integer;
begin
 Num := StrToInt(StringGrid.Cells[TuColumna, TuFila]);
 Aux := 0;
 While Num>0 Do
  begin
   Dig := Num Mod 10;
   Aux := Aux*10 + Dig;
   Num := Num Div 10;
  end;
 StringGrid.Cells[TuNuevaColumna, TuFila] := IntToStr(Aux);

Saluditos

DarkMan 17-04-2009 00:01:26

Dándote el valor en formato string es incluso más fácil que pasándolo a integer:
Código Delphi [-]
...
var
 Temp: String;
 Buffer : Integer;
 Resultado: String;
begin
 Resultado:=''; 
 Temp := StringGrid.Cells[TuColumna, TuFila];
 
 For Buffer:=0 to Length(Temp)-1 do
   Resultado:= Resultado + Temp[ Length(Temp)- Buffer ];

 StringGrid.Cells[TuNuevaColumna, TuFila] := Resultado;
...

Cita:

Empezado por Jose Meneses
OJO : no se pueden usar DOWNTO

Pues no entiendo por qué, quedaría más fácil aún:
Código Delphi [-]
...
var
 Temp: String;
 Buffer : Integer;
 Resultado: String;
begin
 Resultado:=''; 
 Temp := StringGrid.Cells[TuColumna, TuFila];
 
 For Buffer:=Length(Temp) downto 1 do
   Resultado:= Resultado + Temp[ Buffer ];

 StringGrid.Cells[TuNuevaColumna, TuFila] := Resultado;
...

Caro 17-04-2009 05:07:44

Hola, también se tiene la función ReverseString.

Código Delphi [-]
  StringGrid.Cells[TuNuevaColumna, TuFila] := ReverseString(StringGrid.Cells[TuColumna, TuFila])

Saluditos

Jose Meneses 23-04-2009 00:01:25

Caro mil gracias, ademas no sabia lo del reverse string, me has ayudado!! mil mil gracias:):):):):):):)


La franja horaria es GMT +2. Ahora son las 08:57:33.

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