elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 02:05  


Tema destacado: Personaliza-Escoge el diseño del foro que más te guste.

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  problemas con el strtoint en pascal
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problemas con el strtoint en pascal  (Leído 1,281 veces)
¡Micronet!

Desconectado Desconectado

Mensajes: 159



Ver Perfil
problemas con el strtoint en pascal
« en: 2 Febrero 2011, 03:53 »

Código
procedure EstadoT2;
var
 c : char;
begin
{$ifdef DEBUG}
 writeln(stderr,'Estado T2');
{$endif}
 Avanzar;
 c := Leer;
 while c in ['a'..'z'] do
 begin
   S := S + c;
   Avanzar;
   c := Leer;
 end;
 strtoint (const S: string): LongInt;  //Problema aqui 57 / 19
 writeln('Token ID reconocido: ', S);
end;
 


Disculpen esque en devpascal no me reconoce esa funcion me dice

57 / 19 automa~1.pas
 Fatal: Syntax error, ) expected but identifier S found

y

tambien este error

57 / 20 automa~1.pas
 Error: Illegal expression


y segun yo esta bien como lo quiero transformar... o esta mal :/ ¿?
ya que lo que quiero es imprimir la constante en entero.


« Última modificación: 2 Febrero 2011, 04:05 por ¡Micronet! » En línea


"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"
Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
Re: problemas con el strtoint en pascal
« Respuesta #1 en: 2 Febrero 2011, 15:39 »

Estas usando mal la función. Sería algo así:

Código
var
Numero: integer;
Cadena: string;
begin
 
Cadena:= '14';
Numero:= StrToInt(Cadena);
end;

En FreePascal y en Delphi la función StrToInt está declarada en la unidad SysUtils. Debes tener en cuenta, que si intentas convertir una cadena de texto a integer vas a producir un error. Para ese caso puedes usar la función TryStrToInt().

Saludos.


En línea

¡Micronet!

Desconectado Desconectado

Mensajes: 159



Ver Perfil
Re: problemas con el strtoint en pascal
« Respuesta #2 en: 2 Febrero 2011, 17:39 »

Estas usando mal la función. Sería algo así:

Gracias khronos14 oye disculpa otras 2 preguntas.

Código
procedure EstadoT3;
var
 c : char;
 Numero : integer;
begin
{$ifdef DEBUG}
 writeln(stderr,'Estado T3');
{$endif}
 Avanzar;
 while c in ['0'..'7'] do
 begin
   S := S + c;
   Avanzar;
   c := Leer;
 end;
 case c of
 'x': EstadoT4;
 else
 end;
 
 Numero:= OctToInt(S);     {error aqui 175/12}
 writeln('Token OP reconocido: ', Numero);
end;

Disculpa este error me sale para pasar de octal a entero.
175 / 12 avanze~1.pas  Error: Identifier not found OCTTOINT

lo que veo esque no estoy ingresando un numero octal si no una cadena, entonces estoy intentando pasar de una cadena a octal pero no me funciona entonces como seria pasar eso ¿? si se puede saber

entonces tambien intetne usar el octtoint(08) intentando usar un numero y tampoco me funciono me salio el error de el identificador no encontrado.
En línea


"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"
Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
Re: problemas con el strtoint en pascal
« Respuesta #3 en: 2 Febrero 2011, 19:28 »

Hola ¡Micronet!, la función OctToInt no existe o al menos no está definida en el estándar de Pascal. Si buscas por google encontrarás algo como esto:

Código
function OctToInt(Value: string): Longint; 
var
 i: Integer;
 int: Integer;
begin
 int := 0;
 for i := 1 to Length(Value) do
 begin
   int := int * 8 + StrToInt(Copy(Value, i, 1));
 end;
 Result := int;
end;
 

Esta función te convertiría un número octal, almacenado como cadena, a integer.

Saludos.
En línea

¡Micronet!

Desconectado Desconectado

Mensajes: 159



Ver Perfil
Re: problemas con el strtoint en pascal
« Respuesta #4 en: 2 Febrero 2011, 19:55 »

Hola ¡Micronet!, la función OctToInt no existe o al menos no está definida en el

Gracias... am am y ya para dejarte de molestar crees que me puedas ayudar con los hexadecimales. ¿?

tambien los tengo en una cadena.  :-[

porque tambien me dijieron que tengo que usar el HextoInt.

59 / 12 avanze~1.pas  Error: Identifier not found HEXTOINT

e igual me sale error :/ el mismo.
En línea


"La Tarea No Se Hace, Pero No Indica Que No Se Ayude Al Estudiante"
Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
Re: problemas con el strtoint en pascal
« Respuesta #5 en: 3 Febrero 2011, 00:16 »

HexToInt tampoco forma parte del estándar de Pascal. En programación, más que en cualquier otro tema, google es un gran amigo  ;D

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pascal 7
Windows
bug_over 3 468 Último mensaje 5 Abril 2005, 21:42
por redHat
¿Por que C y no Pascal? « 1 2 3 4 »
Programación General
LastDragon 46 3,654 Último mensaje 21 Abril 2006, 04:44
por JuszR
pascal
Programación General
JesseJames 2 853 Último mensaje 7 Septiembre 2008, 00:45
por juancho77
[ANSI C] IntToStr - StrToInt
Programación C/C++
The Swash 3 1,884 Último mensaje 7 Enero 2011, 22:37
por Oblivi0n
¿Problemas con Pascal?
Programación General
¡Micronet! 2 1,134 Último mensaje 17 Febrero 2011, 15:47
por ¡Micronet!
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines