FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
trackbar con numeros reales
Hola a todos, quisiera pediros un gran favor, necesito arreglar un problema que tengo con una trackbar. Quiero conseguir una trackbar con números reales y que al mover ésta, me ponga su valor en un edit, y viceversa. Tengo hecho algo, pero no me funciona bien del todo, puesto que los valores 1 y 2 no puedo seleccionarlos. Por favor necesito tener esto listo para mañana porque el lunes tengo que presentar el trabajo y hacer una demostración. Os pongo el código que tengo.
Gracias por adelantado. Un saludo a todos. procedure TForm1.LMDTrackBar1Change(Sender: TObject); begin edit3.text:=floattostr((LMDTrackbar1.position)/10); ganancia:=LMDtrackbar1.Position; end; procedure TForm1.Edit3Change(Sender: TObject); begin LMDTrackBar1.Position:=StrToIntDef(edit3.text, LMDTrackBar1.Position); ganancia := LMDTrackBar1.Position; end; |
#2
|
||||
|
||||
A que te referis con que no podes seleccionar el 1 y el 2?
Además, el edit3.change te dejará el trackbar a solamente un decimo de la posición que buscas, no ?? porque el valor debieras multiplicarlo por 10, no te parece?? Tratá de explicar mejor tu problema (y lee la guia de estilo), a ver si se te puede ayudar. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
|||
|
|||
Con que no puedo seleccionar el 1 o el 2 me refiero a que cuando muevo la trackbar a esas posiciones, el cursor se desplaza bien a 0.9 o a 1.1, nunca puedo seleccionar el 1 moviendo el cursor de la tranckbar. Con el 2 me pasa exactamente igual, se me pone en 1,9.
Ayudame por favor, no sabes cuanto me hace falta arreglar esto, gracias. |
#4
|
||||
|
||||
El fallo está en el edit.Change.
Lo he arreglado, se puede optimizar el código pero aquí te pongo el resultado, te dejo para ti perfeccionarlo, nos cuentas como te queda: Código:
procedure TForm1.Edit1Change(Sender: TObject); var numero:Double; sNumero:String; nFinal:Integer; begin Numero:=StrToFloat(Edit1.Text); Numero:= Numero * 10; sNumero:=FormatFloat('0',Numero); nFinal:=StrToInt(sNumero); LMDTrackBar1.Position:=nFinal; ganancia := LMDTrackBar1.Position; end;
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
Gracias por contestarme Marcos, te lo agradezco un montón, no sabes el favor que me acabas de hacer , en principio funciona bien, voy hacer unas pruebas a ver que tal.
Te debo una. |
|
|
|