Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2015
skara skara is offline
Miembro
NULL
 
Registrado: dic 2014
Posts: 24
Poder: 0
skara Va por buen camino
Tipo de datos

Buenas compañeros, actualmente estoy desarrollando una aplicación, y requiero convertir de un tipo de dato a otro. tengo una BD en la cual almaceno los datos para luego cargarlos a un ProgressBar en el valor máximo y mínimo.
lo que necesito hacer es que al establecer un tipo de dato para el valor mínimo del Progressbar este numero es 0,0005, y estoy usando la función StrToInt() pero no me sirve.
y el otro tipo de dato es para el máximo, el numero que manejo es de 10 dígitos 7333678456, también uso la función StrToInt pero me sale un error que dice que este no es un valor valido para un integer.
agradezco si me pueden colaborar para mirar que función debo usar.
muchísimas gracias
Responder Con Cita
  #2  
Antiguo 16-03-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
No se que version de Delphi usas, en la 2010, la TProgressBar en sus propiedades Min y Max almacena un Integer, por lo tanto no podes representar los dos numeros que queres ahi

Informacion sobre el tipo Integer en Delphi

Esta pagina nos dice que los valores maximos y minimos soportados por el tipo Integer son:

Cita:
Min integer value = -2147483648
Max integer value = 2147483647
Y obviamente numeros sin coma, por eso no podes representar ni el 0,0005 ni el 7333678456

Ahora pregunta, porque es necesario que la barra tenga estos valores?
Responder Con Cita
  #3  
Antiguo 16-03-2015
skara skara is offline
Miembro
NULL
 
Registrado: dic 2014
Posts: 24
Poder: 0
skara Va por buen camino
Es que estos valores los quiero imprimir en un label, no se si el error q me sale es en el progressbar o a la hora de imprimirlo en el Labels, si es así que función podria utilizar para que me dejara visualizar ese dato?
Responder Con Cita
  #4  
Antiguo 16-03-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
En un caption de un label tenes que poner un tipo string, entonces tenes que usar la funcion alreves de como lo estas haciendo:

Código Delphi [-]
Label1.Caption := IntToStr(ProgressBar1.Min);
Label2.Caption := IntToStr(ProgressBar1.Max);
Responder Con Cita
  #5  
Antiguo 16-03-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola skara.

Si deseas almacenar el valor 7333678456 tendrías que usar el tipo Int64 que sí es capaz de contenerlo.

Pero si además mencionas que tendría que poder soportar el valor 0.0005 podrías usar el tipo Single, Double o Extended. La funcion de conversión a string para estos tipos es FloatToStr.

El detalle, como bién te ha comentado AgustinOrtu es que no podrás usar estos tipos en las propiedades Min, Max, Step y Position del componente TProgressBar (ni en el método StepBy) ya que solo aceptan tipos enteros.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 16-03-2015
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Yo haría una simple regla de tres para controlar el TProgressBar, eligiendo un valor Max sencillo:
Código Delphi [-]
var
 VMAX, Val: Variant;  //Siendo VMAX el valor Maximo y Val los intermedios
begin
 VMAX:= StrToCurr('7333678456');
 ProgressBar1.Max:= 100;
 ProgressBar1.Min:= 0;
 ProgressBar1.Position:= Val*100/VMAX;

Saludos.
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
que tipo de datos utilizar para guardar cualquier tipo de archivo jeremiselxi MS SQL Server 2 08-12-2014 19:30:00
Tipo de datos TByteDynArray JM1985 C++ Builder 7 12-04-2014 15:45:23
Tipo de base de datos darkborrego Conexión con bases de datos 15 28-06-2010 22:16:59
Tipo de datos no coincide Genner SQL 5 08-05-2006 17:14:40
Tipo de datos Letty Conexión con bases de datos 4 13-01-2004 21:19:48


La franja horaria es GMT +2. Ahora son las 14:22:56.


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