Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #41  
Antiguo 13-03-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
He ido a comprar el libro y no había ninguno que explicara Delphi... (que mal...). Bueno fui a la biblioteca y me van a pedir uno... "No se el título" pero me han dicho que tiene mas de 1000 páginas así que si tenéis idea de cual puede ser... xD

Que libro mas largo, el más largo que leí fue el de Teo va al Zoo xDDDDDDDDD

Bueno, el programa ya funciona muy bien de binario a decimal ahora toca... de decimal a binario perooooooooooooooooooooooooooo tranquilos! Voy a ponerme yo mismo a hacerlo (a intentarlo... no lo conseguire pero... bueno...) xD.
Responder Con Cita
  #42  
Antiguo 13-03-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Ya os dije que volvería...

He estado viendo estó de pasar de decimal > binario y lo que llevo de código es:

Código Delphi [-]
  Binario:=strtofloat(edit1.text);
  IF Binario > 1 then
                    begin
                    Division:= Binario div 2;
                    Resto:= Binario mod 2;

Bueno... a lo que voy, necesito una funcion que me repita el proceso hasta que el numero sea mayor que 1. (Para pasar de bin > dec había que dividir entre 2 y quedarse el resto).

Bueno, ese comando es while (esto lo aprendi por mi cuenta). Pero el problema:
Mi lindo profesor no me a hablado de while...

¿Cómo lo uso? ¿Me enseñais?

Gracias
Responder Con Cita
  #43  
Antiguo 13-03-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
While condición do acción

Donde condición puede ser cualquier cosa (true, false, x>5, caption='hola'...)
y acción el código que quieres poner (si es más de una instrucción, debes encerrarlo entre begin-end; )

Tu código sería así:

Código Delphi [-]
Function DecimalToBinario(Decimal: Integer): String;
var
  Resultado: String;
begin
Resultado:='';
While Decimal > 1 do
  begin
    Resultado:=Chr((Decimal mod 2)+48)+Resultado; //Añade delante el último dígito del resto obtenido
    Decimal:= Decimal div 2; //Lo dividimos entre dos para el siguiente paso del bucle
  end;
Resultado:=Chr(Decimal+48)+Resultado; //El último que nos queda
Result:=Resultado;



Creo que funciona. De todas formas, en los enlaces que te pasé ya viene alguno más eficiente


Salu2.


Edito: el método es para números enteros, he tenido una pequeña confusión. Para números decimales la cosa se complica. Estoy investigando.

Última edición por ixMike fecha: 13-03-2008 a las 22:48:04.
Responder Con Cita
  #44  
Antiguo 13-03-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Hola, puse el código y segun él... el binario de 14 sería 100101010011111011001000 y en realidad es 1110.

¿Por qué? xD

Otra cosa, muchas gracias compae xD... y me podrías explicar eso de

Resultado:=Chr((Decimal mod 2)+48)+Resultado; //Añade delante el último dígito del resto obtenido

Resultado:=Chr(Decimal+48)+Resultado; //El último que nos queda

"Las palabras en negrita". ¿Por qué sumas 48? ¿Qué es Chr? Ya había mirado la ayuda delphi, pero no tengo ni idea, parece que vuelve a un valor ASCIII o algo así :S
Responder Con Cita
  #45  
Antiguo 13-03-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
¿Al codigo le falta decirle que decimal es edit1.text? O me lo parece a mi jajajaja
Responder Con Cita
  #46  
Antiguo 13-03-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Question

Aquí está el código con algunos detalles que faltaba sin importancia:
Código Delphi [-]
var
  Resultado: String;
  decimal: integer;
begin
Resultado:='';
decimal:=strtoint(edit1.text);
While Decimal > 1 do
  begin
    Resultado:=Chr((Decimal mod 2)+48)+Resultado; //Añade delante el último dígito del resto obtenido
    Decimal:= Decimal div 2; //Lo dividimos entre dos para el siguiente paso del bucle
  end;
Resultado:=Chr(Decimal+48)+Resultado; //El último que nos queda
edit2.text:=(resultado);
end;

"Muchas gracias .... de verdad.... una cosita ¿dónde puedo mirar las medias para entrar a la universidad... las notas de corte ?(me interesan las de informática).
Responder Con Cita
  #47  
Antiguo 13-03-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Veamos.

El fallo no sé a qué se debe, ahora lo compruebo.

En cuanto a Chr, deberías mirar la ayuda Delphi más detenidamente, está bastante clara .

Chr devuelve el carácter del código ASCII que le indiques. El del cero es 48, y el del 1 es 49, ¿entiendes ahora porqué hago la suma?. Recuerda que resultado es un string.

Al código no le faltaba nada, era una función a la que le pasabas un integer y te devolvía el valor binario en un string. Lo que tú has hecho ha sido adaptar a algún evento (un clic supongo) de un botón de tu programa

Aquí tienes cómo se hace para pasar números con coma flotante a binario (e inversa), pero a mano: http://es.geocities.com/jeeesusmeeer...o/binario.html

Para las notas, sólo entra en la página de la universidad a la que quieras acceder, y busca un poco.

Salu2.
Responder Con Cita
  #48  
Antiguo 13-03-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Lo del Chr sigo sin entenderlo ... no sé porque se usa... y pasarlo a mano los numeros claro que se
Responder Con Cita
  #49  
Antiguo 13-03-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Thumbs down

¿Cómo puedo poner button con iconitos dentro? Es que estoy leyendo un manual y habla algo de esto:
  • mtIformation
  • mtWarning
  • mtError
  • mtConfirmation
  • mtCustom
Pero vamos... ni idea de como ponerlo y como que quedaría muy mono.

PD: Sigo sin tener idea de porque hay que usar el Chr y porque sumarle 48 ^^


Responder Con Cita
  #50  
Antiguo 14-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.572
Poder: 27
egostar Va camino a la fama
Cita:
Empezado por kbaby Ver Mensaje
¿Cómo puedo poner button con iconitos dentro? Es que estoy leyendo un manual y habla algo de esto:
  • mtIformation
  • mtWarning
  • mtError
  • mtConfirmation
  • mtCustom
Pero vamos... ni idea de como ponerlo y como que quedaría muy mono.
No puedes colocar esos iconos en los botones porque esos son imagenes para las ventanas de mensajes, por ejemplo cuando usas MessageDlg().

Para colocar botones con iconos debes usar el TBitBtn que está en la paleta Additional en lugar del TButton que imagino estas usando.

Cita:
Empezado por kbaby Ver Mensaje
PD: Sigo sin tener idea de porque hay que usar el Chr y porque sumarle 48
Es que si analizas lo que esta haciendo ixMike es que obtiene el residuo de la division Decimal mod 2 y le suma 48 para representar el cero (48) y el uno (49) de la tabla ASCII con la función CHR.

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #51  
Antiguo 14-03-2008
Avatar de kbaby
kbaby kbaby is offline
Miembro
 
Registrado: oct 2007
Ubicación: Granada
Posts: 178
Poder: 19
kbaby Va por buen camino
Hasta ahí lo entendía... pero yo digo, eso, aplicado a la "realidad" al papel y lápiz... cómo se hace...?

Gracias a los 2
Responder Con Cita
Respuesta



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 Real osea IntToReal Kmef Varios 2 24-10-2007 19:40:34
Convertir a binario cadena de caracteres wgfs Varios 0 28-10-2006 00:58:28
Convertir una cifra de tipo real a su cantidad en letras reina Varios 7 11-08-2005 18:16:31
Como edito un variable de tipo real??? Rafe Varios 2 07-07-2005 01:15:45
Convertir Archivos DFM de binario a Texto (Text DFM) DiDi Varios 4 21-04-2005 19:39:43


La franja horaria es GMT +2. Ahora son las 00:51:45.


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