Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-03-2007
bluegene bluegene is offline
Registrado
 
Registrado: mar 2007
Posts: 5
Poder: 0
bluegene Va por buen camino
¿Cómo convertir de word a integer?

Hola a todos, este es mi primer mensaje y espero que no sea el último, algo ando desesperado buscando una manera de convertir word en integer en Pascal, si alguien fuera tan amable de ayudarme, le estaría muy agradecido
Responder Con Cita
  #2  
Antiguo 17-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No entiendo tu problema. Un Word es un entero sin signo de 16 bits con rango de 0 a 65535, mientras que un Integer es un entero con signo de 32 bits con rango de -2147483648 a 2147483647, así que no hay ningún problema en asignar el Word al Integer.

// Saludos
Responder Con Cita
  #3  
Antiguo 17-03-2007
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Simplemente asigna el valor en variable integer

Código Delphi [-]
Var
  Lword    :Word;
  LInteger :Integer;
begin
  LWord    :=561;
  LInteger :=LWord;
Responder Con Cita
  #4  
Antiguo 17-03-2007
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Y bienvenido a Club
Responder Con Cita
  #5  
Antiguo 17-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

En principio el tipo word es un subconjunto del tipo integer, es decir, puedes asignar el valor de una variable del tipo word a otra del tipo integer:

Código Delphi [-]
var
  d: word;
  i: integer;
begin
  d := 5;
  i := d;
  {...}
end;

Algo como lo anterior es posible, como digo. También podrías "hacer un cast" de la variable de tipo word para asignar su valor a otra de tipo integer:

Código Delphi [-]
var
  d: word;
  i: integer;
begin
  d := 5;
  i := integer(d);
  {...}
end;

Si esto no te soluciona "el problema" acaso tengas que dar más información; si obtienes un error del compilador o cualquier otro tipo de error refiere aquí el mensaje de error en cuestión.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 17-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno. A ver si nos ponemos de acuerdo. Cuando yo esté contestando que no conteste nadie más, ¿vale?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 17-03-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No sé los demás, pero cuando tú estabas contestando, yo no lo estaba haciendo, yo ya lo había hecho.

// Saludos
Responder Con Cita
  #8  
Antiguo 17-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Grrrrrrrr...

__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #9  
Antiguo 17-03-2007
Avatar de Onti
Onti Onti is offline
Miembro
 
Registrado: jul 2003
Ubicación: La Paz - Bolivia
Posts: 500
Poder: 21
Onti Va por buen camino
Yo levante mi cabeza por encima de mi PC y no vi nadie respondiendo.
Responder Con Cita
  #10  
Antiguo 17-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Sois unos AGONIOSOS
Responder Con Cita
  #11  
Antiguo 17-03-2007
bluegene bluegene is offline
Registrado
 
Registrado: mar 2007
Posts: 5
Poder: 0
bluegene Va por buen camino
Muchas gracias a todos por vuestras respuestas, estoy un poco lelo, me debería haber dado cuenta de un detalle así... :P
Responder Con Cita
  #12  
Antiguo 17-03-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por bluegene
estoy un poco lelo, me debería haber dado cuenta de un detalle así... :P
Eso nos pasa a muchos, a mi me ha pasado cuando recien me enganchaba con el lenguaje. Y no tienes que sentirte lelo... a más de uno nos debe haber pasado y por ello no podemos decirnos que somos unos lerdos, o tontos.
Ante una duda como esa, yo le mando el F1 y me fijo:

Código:
Type       Range                                Format
Integer    –2147483648..2147483647    signed 32-bit
Cardinal    0..4294967295                   unsigned 32-bit
Código:
Type         Range                     Format
Shortint     –128..127                          signed 8-bit
Smallint     –32768..32767                    signed 16-bit
Longint      –2147483648..2147483647    signed 32-bit
Int64         –2^63..2^63–1                  signed 64-bit
Byte          0..255                               unsigned 8-bit
Word         0..65535                            unsigned 16-bit
Longword   0..4294967295                    unsigned 32-bit
Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #13  
Antiguo 18-03-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
y para DWord pasarlo a integer

¿como se hace?
Responder Con Cita
  #14  
Antiguo 18-03-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
JXJ, acabo de hacer una prueba, pues nunca hice este paso. Y en lo posible lo evito:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
const ALGO: dword = $0010;
var un_algo: integer;
begin
  //un_algo := Integer(ALGO);
  ShowMessage(IntToStr(ALGO));
end;

El resultado es 16.

Y también probé con esta variante:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
const ALGO: dword = $0010;
var un_algo: integer;
begin
  un_algo := Integer(ALGO);
  ShowMessage(IntToStr(un_algo));
end;

El resultado es el mismo.
¿Tal parece que el Cast o no usarlo es lo mismo?

Si respondo a tu pregunta.... avisame. La verdad es que evito en lo posible realizar Cast.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 18-03-2007 a las 22:45:20. Razón: Me olvidé de las etiquetas DELPHI
Responder Con Cita
  #15  
Antiguo 19-03-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
Hola

Delphius

gracias por responder.

Estoy tratando de portar un juego, de delphi 3 a Delphi win32 2006
mas o menos ahi va.

pero usa directx y para el video, tiene un archivo pas, para directx 7
y no compila, da errores,
en la parte del audio, tambien archivo pas para directx 7
usa DWORD, como variable para ajustar el audio, si más o menos audio

encontre una copia mas reciente para directx 9. de esos archivos pas
de los paquetes dspack
y en la funcion me pide un numero integer para cambiar el volumen
del audio, y ahi, el codigo, hace un llamado a una variable DWORD.

ya desesperado, por que no compilaba, solo cambie la llamada
de la funcion que pedia un dato integer, por uno dword,
y ya compilo, pero no he logrado hacer que funcione.

voy a probar, que tal anda, con tu codigo Delphius ...
Responder Con Cita
  #16  
Antiguo 19-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Solo un apunte, el equivalente a DWORD en delphi es Cardinal.
Responder Con Cita
  #17  
Antiguo 19-03-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 21
JXJ Va por buen camino
tambien da problemas, por que me dice, el error

incompatible tipes cardinal and integer

lo revisare denuevo con calma.

gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
convertir un integer en hh:mm:ss jmlifi SQL 1 02-11-2005 19:00:44
Convertir un String a Integer Rafe Varios 2 12-08-2005 18:43:38
Como Convertir un dato Integer ó Float a String en FireBird???? AGAG4 Firebird e Interbase 8 04-12-2004 03:59:47
convertir a integer acrophet Varios 1 03-11-2003 13:01:43
Convertir una Variable de String a Integer y Viceversa. aleidania Varios 1 13-07-2003 17:35:37


La franja horaria es GMT +2. Ahora son las 23:17:31.


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
Copyright 1996-2007 Club Delphi