Ver la Versión Completa : Novato en delphi
papu24ar
23-06-2006, 11:01:07
hola me llamo emmanuel y soy muy muy novato en esto de delphi xD asi que espero me comprendan..
mi problema es que quiero colocarle un progres bar a un programa y me tira un error la cosa es asi .. es un edit(edit1) tonces kiero ponerle al progresbar el numero q yo escriba en el edit q sea el progressmax y de ahi tengo otro edit(edit2) que es una cuenta regresiva del otro edit(edit1) tonces kiero hacer un progressbar y q muestre .. EJ: si en el edit1 puse 1000 y en el edit2 la cuenta va en 900 q me marque seria el 10%.. y bueno q eso lo represente en el progressbar no se si me explico puse este codigo pero no va .. esta mal XD y como soy nuevo keria ver q solucion me dan :(
ProgressBar1.Position := edit2.text ;
ProgressBar1.Max := edit1.text ;
y me tira este error keria ver como solucionarlo .. seguro se puede pero yo no tengo ni idea :(
[Error] Unit1.pas(467): Incompatible types: 'Integer' and 'TCaption'
:( :( :(
Casimiro Notevi
23-06-2006, 11:08:34
hola, bienvenido y te recomendamos que leas la guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php) para poder ayudarte mejor.
En tu pregunta, el error es que el edit.text es... eso, texto, y el valor que espera el progresbar es un número, puedes convertirlo mediante StrToInt(edit1.text).
Por cierto, cambia el orden, pon primero el valor máximo que tendrá el progresbar y luego lo "posicionas" donde quieras, o sea:
ProgressBar1.Max := StrToInt(edit1.text);
ProgressBar1.Position := StrToInt(edit2.text);
Neftali [Germán.Estévez]
23-06-2006, 11:15:23
Hola, ante todo, bienvenido al ClubDelphi.
Te aconsejo que revises la guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php) de los foros y este mensaje (http://www.clubdelphi.com/foros/showthread.php?t=26446) en concreto.
En cuanto al error que comentas, es debido a los diferentes tipos de los "cosas" que estás asignando. Cuando utilices el operador := debes tener en centa que ambas cosas deben ser iguales (o compatibles como mínimo), sino deberás convertirlas para evitar el error.
En éste caso la propiedad .Position y la propiedad .Max son enteros(integer) -miralo en la ayuda de Delphi- y la propiedad .Text es de tipo cadena (string).
Para asignarlo sin problemas debes usar funciones de conversión (en este caso para convertir la cadena a entero -> StrToInt o IntToStr que es la contraria).
ProgressBar1.Position := edit2.text ;
ProgressBar1.Max := edit1.text ;
[Error] Unit1.pas(467): Incompatible types: 'Integer' and 'TCaption'
prueba con conversiones:
ProgressBar1.Position := StrToInt(edit2.text);
ProgressBar1.Max := StrToInt(edit1.text);
EDITO: Casimiro se me adelanto...:(
Casimiro Notevi
23-06-2006, 12:14:33
Hola, ante todo, bienvenido al ClubDelphi.
Te aconsejo que revises la guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php) de los foros y este mensaje (http://www.clubdelphi.com/foros/showthread.php?t=26446) en concreto.
En cuanto al error que comentas, es debido a los diferentes tipos de los "cosas" que estás asignando. Cuando utilices el operador := debes tener en centa que ambas cosas deben ser iguales (o compatibles como mínimo), sino deberás convertirlas para evitar el error.
En éste caso la propiedad .Position y la propiedad .Max son enteros(integer) -miralo en la ayuda de Delphi- y la propiedad .Text es de tipo cadena (string).
Para asignarlo sin problemas debes usar funciones de conversión (en este caso para convertir la cadena a entero -> StrToInt o IntToStr que es la contraria).
prueba con conversiones:
Código Delphi [-] (http://www.clubdelphi.com/foros/#)ProgressBar1.Position := StrToInt(edit2.text); ProgressBar1.Max := StrToInt(edit1.text);
EDITO: Casimiro se me adelanto...:(
Pero como las respuestas son similares, entonces quiere decir que no le hemos aconsejado mal :D
Que le hemos puesto ambos hasta lo de la guía de estilo y todo... :D
papu24ar
23-06-2006, 22:32:03
Me funciono de 10 mil gracias :D
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.