elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  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 5,974 veces)
¡Micronet!

Desconectado Desconectado

Mensajes: 159



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

Código
  1. procedure EstadoT2;
  2. var
  3.  c : char;
  4. begin
  5. {$ifdef DEBUG}
  6.  writeln(stderr,'Estado T2');
  7. {$endif}
  8.  Avanzar;
  9.  c := Leer;
  10.  while c in ['a'..'z'] do
  11.  begin
  12.    S := S + c;
  13.    Avanzar;
  14.    c := Leer;
  15.  end;
  16.  strtoint (const S: string): LongInt;  //Problema aqui 57 / 19
  17.  writeln('Token ID reconocido: ', S);
  18. end;
  19.  


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 am por ¡Micronet! » En línea


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


Desconectado Desconectado

Mensajes: 443


A lie is a lie


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

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

Código
  1. var
  2. Numero: integer;
  3. Cadena: string;
  4. begin
  5.  
  6. Cadena:= '14';
  7. Numero:= StrToInt(Cadena);
  8. 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 pm »

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

Gracias khronos14 oye disculpa otras 2 preguntas.

Código
  1. procedure EstadoT3;
  2. var
  3.  c : char;
  4.  Numero : integer;
  5. begin
  6. {$ifdef DEBUG}
  7.  writeln(stderr,'Estado T3');
  8. {$endif}
  9.  Avanzar;
  10.  while c in ['0'..'7'] do
  11.  begin
  12.    S := S + c;
  13.    Avanzar;
  14.    c := Leer;
  15.  end;
  16.  case c of
  17.  'x': EstadoT4;
  18.  else
  19.  end;
  20.  
  21.  Numero:= OctToInt(S);     {error aqui 175/12}
  22.  writeln('Token OP reconocido: ', Numero);
  23. 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: 443


A lie is a lie


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

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
  1. function OctToInt(Value: string): Longint;
  2. var
  3.  i: Integer;
  4.  int: Integer;
  5. begin
  6.  int := 0;
  7.  for i := 1 to Length(Value) do
  8.  begin
  9.    int := int * 8 + StrToInt(Copy(Value, i, 1));
  10.  end;
  11.  Result := int;
  12. end;
  13.  

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 pm »

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: 443


A lie is a lie


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

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, MZ y un proyecto
Ingeniería Inversa
Leithold 0 3,763 Último mensaje 7 Julio 2003, 07:16 am
por Leithold
Pascal o C « 1 2 3 »
Programación General
SpuTniK. 29 17,103 Último mensaje 25 Julio 2010, 20:50 pm
por IDarknightI
[ANSI C] IntToStr - StrToInt
Programación C/C++
The Swash 3 5,897 Último mensaje 7 Enero 2011, 22:37 pm
por Oblivi0n
¿Problemas con Pascal?
Programación General
¡Micronet! 2 3,441 Último mensaje 17 Febrero 2011, 15:47 pm
por ¡Micronet!
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines