![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
programa en lazarus
hola estoi aprendiendo este lenguaje y necesito hacer un programa que convierta de decimal a binario este es mi codigo empezado solo que no c declarar un arreglo y como recorrerlo
a := decimal.Text; if(a > 255)then a := b; else Application.MessageBox(introduce un numero menor a 255); |
#2
|
||||
|
||||
Hola,
suponiendo que la variable a sea un entero debes usar esta función para convertir el número a entero:
A continuación usa esta para pasar de entero a binario:
Esta función está sacada de aquí
__________________
"No guardes nunca en la cabeza aquello que te quepa en un bolsillo." Albert Einstein Última edición por arturom fecha: 04-03-2010 a las 08:52:07. |
#3
|
||||
|
||||
Hola cuteprincess. Además de lo comentado por arturom, te voy a explicar cómo crear y recorrer una lista (array). El siguiente código crea una lista con 10 elementos, les asigna un número a cada uno y después los escribe en pantalla. Para probarlo, debes decirle a Delphi que es un programa de consola ("console project"):
Y ya sabes, si tienes alguna duda, busca o pregunta. ![]() Última edición por Ñuño Martínez fecha: 04-03-2010 a las 09:15:38. |
#4
|
|||
|
|||
conversion de decimal a binario
hola antes k nada muxas grax x ayudarm y tomar su tiempo, m surgio otra duda este es mi programa pero m marca un error en en la division x k m dice k son incompatibles los tipos, tambien no c si este bien en como concatene el vector, ojala puedan ayudarm grax
procedure TForm2.Button1Click(Sender: TObject); var a:integer; b:integer; x:integer; d:integer; r :array [1..8] of Integer; begin a:= StrToInt( decimal.Text); if(a < 255)then for x:= 1 TO 8 DO begin b := a; d := a / 2; r[x]:= b % 2; a:= d; end ShowMessage('EL NUMERO BINARIO ES: '&r[8]&r[7]&r[6]&r[5]&r[4]&r[3]&r[2]&r[1]); else ShowMessage('EL NUMERO ES MAYOR A 254'); end; |
#5
|
||||
|
||||
Eso es porque el resultado de una división siempre es un número fraccionario, y no puedes asignar un número fraccionario a una variable entera ya que se pierde precisión (exactitud en el resultado). Por esto se dice que Pascal es "estricto".
Hay dos posibles soluciones:
Utilizar una u otra depende de qué tipo de resultado necesitas. El operador DIV es mucho más rápido pero menos preciso que dividir con el operador "normal" (/) y luego redondear. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ejecutar programa externo con Lazarus | abelaquino | Lazarus, FreePascal, Kylix, etc. | 1 | 12-05-2008 09:37:35 |
Ejecutar mi programa hecho en Lazarus sobre Linux | mr_pascale | Lazarus, FreePascal, Kylix, etc. | 9 | 11-08-2007 18:54:25 |
Nuevo programa "made in Lazarus" | jam | Lazarus, FreePascal, Kylix, etc. | 3 | 26-04-2007 22:46:53 |
programa para ver en que direccion del registro de windows escribe un programa? | JuanErasmo | Varios | 1 | 09-11-2006 20:42:05 |
[Lazarus] GTK+-devel en SUSE. problema instalar lazarus de esa libreria. | sakuragi | Lazarus, FreePascal, Kylix, etc. | 3 | 28-09-2006 03:31:09 |
![]() |
|