elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Mensajes
Páginas: 1 ... 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 [144] 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 ... 436
1431  Programación / .NET (C#, VB.NET, ASP) / Re: Calculo niveles en: 6 Septiembre 2020, 15:42 pm
Cita de: Meta link=topic=506174.msg2227773#msg2227773
date=1599349572
Me da error:
{"Intento de dividir por cero."}

No lees... o tienes memoria de pez. Mi mensaje previo empieza con (lo primero que vi al leer tu código):
Citar
int razon2 = ((95 - 19 + 1) / 101);
Si haces las cuentas, el resultado arroja el valor:  0'7623...
Ahora, si tu declaras la variable de tipo entero, pués lógicamente se redondea a 0... una división por 0, dará error... y aunque no diera error (caso de un valor mayor), se perdería precisión en los cálculos al redondear...
Son simples matemáticas, pero aplicado con programación hay que considerar decimales y hacer las conversiones oportunas de un valor con decimales a un valor entero allí donde se precisen, etc...
Solución:
Citar
Single razon2 = (77f / 101f);  // toda vez que (95-19)+1= 77


Luego, tampoco te has ajustado a lo que digo y muestro en las imágenes, y eso que he puesto flechitas y realizado la captura para que se vea esa parte...
Si un control solo tiene el rango 19-95, para que ponerle un rango fuera de rango como lo es: 0-100
Es más, justo al final he comentado, precisamente eso... que gracias a tal restricción (que es lo más crrecto), en el evento podemos ahorrarnos código (porque ya lo realiza el propio control por nosotros)...

Cita de: Meta link=topic=506174.msg2227773#msg2227773
date=1599349572

        private void Form1_Load(object sender, EventArgs e)
        {
            // Valores del trackBar.
            trackBar1.Maximum = 100; <----- el límite máximo no es 95 ?????
            trackBar1.Minimum = 0;   <--------- el límite mínimo, no es 19 ????
            trackBar1.SmallChange = 5;  <------------ porqué saltos 'pequeños' de 5, en un rango tan escueto ????
            trackBar1.Value = 19;  <----- innecesario si minimo = 19

            // Valores barra de progreso.
            progressBar1.Maximum = 100;
            progressBar1.Minimum = 0;
            progressBar1.Step = 5;       <------ para qué, esto solo sirve cuando se usa .performeStep ????
            progressBar1.Value = 19;    <---------- si va de 0 a 100, porque inicialmente debe valer 19???? valdrá o

En las imágenes puede leerse más simple y correcto:
Código
  1.        private void Form1_Load(object sender, EventArgs e)
  2.        {
  3.            // Valores del trackBar: 19 al 95
  4.            trackBar1.Maximum = 95;         //100;
  5.            trackBar1.Minimum = 19;           // 0;
  6.            trackBar1.SmallChange = 1;        // 5;
  7.            //trackBar1.Value = 19;
  8.  
  9.            // Valores barra de progreso: 0 al 100
  10.            progressBar1.Maximum = 100;
  11.            progressBar1.Minimum = 0;
  12.            //progressBar1.Step = 5;
  13.            //progressBar1.Value = 19;
  14.  

Por favor, tómate el tiempo de leer las veces que necesites los mensajes, las respuestas han sido dadas una y otra vez.


p.d.: en realidad es muy sencillo de entender....

Imagina que tienes 77 libras esterlinas y que en euros son 101 euros... la razón sería el factor de conversión, el valor de cambio entre las monedas, como se da en 'libras' y quiere pasarse a euros, el valor de cambio será:  cambio = (libras/euros) = (77/101) = 0'7623 así 1 libra = 0'7623 euros...

Luego imagina que el banquero se queda con una tasa fija 19 libras por hacerte el cambio, así cuando vayas al banco, la 'cuenta del rankataplán' que te harán será:
euros a cobrar = ((libras a cambiar - tasa fija) / valor de cambio)
Como los euros los cobras enteros (el banco no tiene monedas sueltas), pierdes los céntimos, solo cobras euros enteros (se redondea).

95, podría entenderse como el máximo de libras (al que le restará su tasa) que el banco acepta cambiar en una operación... (algo absurdo, pero para terminar de ejemplificarlo, vale)...
1432  Programación / .NET (C#, VB.NET, ASP) / Re: Calculo niveles en: 6 Septiembre 2020, 00:10 am
Citar
int razon2 = ((95 - 19 + 1) / 101);
Si haces las cuentas, el resultado arroja el valor:  0'7623...
Ahora, si tu declaras la variable de tipo entero, pués lógicamente se redondea a 0... una división por 0, dará error... y aunque no diera error (caso de un valor mayor), se perdería precisión en los cálculos al redondear...
Citar
Single razon2 = (77f / 101f);  // toda vez que (95-19)+1= 77

Son simples matemáticas, pero aplicado con programación hay que considerar decimales y hacer las conversiones oportunas de un valor con decimales a un valor entero allí donde se precisen, etc...

Por otro lado el código dentro del evento Scroll del trackbar, no está bien... haces una asignación inicial y luego la cambias... sujeto al valor acabado de asignar... ¿¿¿...???

Algo como esto sería lo acorde...
Código
  1. private void trackBar1_Scroll(object sender, EventArgs e) {      
  2.            if (trackBar1.Value < 19)            {
  3.                progressBar1.Value = 0;   }
  4.            else if (trackBar1.Value > 95)            {
  5.                progressBar1.Value = 100;     }
  6.            else             {
  7.                progressBar1.Value = Convert.ToInt32((trackBar1.Value - trackBar1.Minimum) / razon2);
  8.            }
  9.            label2.Text = Convert.ToString(trackBar1.Value);
  10.            label1.Text = Convert.ToString(progressBar1.Value);
  11.        }
  12.  

Para terminar... (ya desde entonces), no me queda claro quien debe recorrer de 0 a 100 y quien de 19 a 95, que dicho sea de paso, para explicar no importa, pero al aplicar si... como eres tú el interesado y eres tú el que sabe cual debe recorrer hasta donde, (pienso yo y espero que no en balde), que si está al revés, sabrás solucionarlo, pués se trarta en todo caso de matemáticas...


p.d.: Voy a ver si termino de aclararme, porque en algunas partes parece que es un control el que varía en un rango y en otras partes en el otro.

Citar
Dentro de Windows Form incluyo la barra progressBar y el trackBar para regular una variable.

Internamente del programa, hay dos variables, una que pone 19 y otra variabe que pone 95. Esas con constantes.

Internamente una variable ... del 19 al 95. En otra ... 0 al 100 %.

Por ejemplo, si con el trackBar lo pongo al valor 95, en un label tiene que indicar que estoy al 100.

Internamente funciona del 19 al 95 y cara del usuario lo ve como si fuera del 0 al 100 %.
Voy a suponer que es el trackbar el que discurre de 19 a 95, para que en el progressbar se vea del 0 al 100...

Entonces lo primero es fijar dichos valores en el control.
Y como una imagen vale más que 1000 palabras... adjunto una:


Nótese, que como hemos prefijado los límites del trackbar al rango 19-95, los valores  fuera de dicho rango ya no se van a dar (la lógica interna del control se encarga de ello), luego el código queda aún más simple, observa el cambio (del código) en la siguiente imagen:


Código
  1. private void trackBar1_Scroll(object sender, EventArgs e) {      
  2.    progressBar1.Value = Convert.ToInt32((trackBar1.Value - trackBar1.Minimum) / razon2);
  3.    label2.Text = Convert.ToString(trackBar1.Value);
  4.    label1.Text = Convert.ToString(progressBar1.Value);
  5. }
  6.  
1433  Foros Generales / Foro Libre / Re: Aprender Inglés Rápido en: 4 Septiembre 2020, 17:23 pm
La forma más efectiva es dedicarle las 24 horas del día... lo que supone vivir en un país angloparlante. En general en un tiempo entre 1-2 años se puede afirmar que se aprende el idioma.

Dada tu edad, no te recomendaría el traslado (al menos sola), si acaso usar las vacaciones (1-3 meses), para irte por ejemplo a Inglaterra y buscar un trabajo que sufragie los gastos. Ahora bien, encontrar un trabajo cuando no dominas el idioma te limita a un trabajo en el que no exista una necesidad explícita de interacción (vamos trabajos típicos de limpieza, por ejemplo)... cuando lo que se precisa es interactuar contínuamente.

En definitiva, si yo fuera tú, aprendería vía tv-internet lo que pueda mientras completas los estudios.... y ya para entonces con una base mínima de inglés y un título, tendrás más opciones de lograr un trabajo medianamente digno (al menos al principio), en otro país, si las cosas no han mejorado para entonces en Argentina.
...Y si tienes posibilidad de ir de vacaciones a algún país extranjero de habla inglesa (caso de que tengas familia o amigos que te ofrezcan alojamiento y comida ese mes de vacaciones), y lo dedicas a callejear y 'charlar', pués mejor... así pones a prueba lo aprendido...

Si aprendes por tu cuenta, te recomiendo que empieces estudiando la gramática del inglés, comparándola con la del español, comprendiendo las igualdades y diferencias entre ambos,  te adelanta mucho...
1434  Sistemas Operativos / Windows / Re: Extraer tema de apariencia Windows XP en: 24 Agosto 2020, 17:07 pm
Mi consulta es como dice el título, actualmente me encuentro reparando una minilapto Dell Inpirion mini 1010 Nickelodeon Edition con Windows XP, el problema que tiene es que está muy lenta (demasiado), ya intenté examinando el DD mediante Hiren´s boot, pasé antivirus, restauré el sistema, y nada, lo que me resta es formatearla

Otra forma que veo, es hacer una imagen de sistema del Windows XP instalado. Y tenerla allí guardada para probarla en otra pc más rápida. Solo es una idea, no la llevé a cabo porque tarda 12 horas en hacer la imagen 
Creo que es la mejor opción, crear una imagen del sistema. Así la tienes disponible cada vez que falle... es más rápido meter una imagen guardada que formatear, instalar, configurar (el S.O. y cada programa extra)...


Ahora bien, que tarde tanto, puede ser una señala clara de que tiene algún problema de software o hardware...
- Si es de software, (como siempre), la posibilidad de un virus está ahí (aunque señalas que ya has pasado antivirus), pero también algún programa legítimo que hace un uso incorrecto del sistema.
Revisa los programas y servicios en marcha y sobretodo, los que se inician por defecto con el sistema (y no son necesarios).
Si dices que el sistema va lento, imagino que el antivirus tampoco lo has aplicado de forma exhaustiva a todo el disco y con todas las opciones 'severas' (tardaría horas)...
- Si es de hardware, yo apuntaría a una de dos cosas:
O bien pudiera haber fallado un módulo y disponer de menos memoria de la que se cree inicialmente y esté tirando de memoria de intercambio con el disco duro. Revisa la memoria.
O bien, el propio disco podría tener algún sector dañado. Haz un chequeo 'profundo' del disco duro (chkdsk c: /f/v/r).

Yo probaría primero las opciones de hardware e indistintamente del resultado (supongamos que se arregló el problema9, haría también las pruebas de software. Y para terminar antes de crear la imagen del sistema, haría una búsqueda exahustiva para eliminar programas o ficheros grandes innecesarios...
1435  Programación / Java / Re: Ideas para un juego! en: 23 Agosto 2020, 19:12 pm
La palabra 'ingeniero' viene de 'ingenio', quien carece del mismo, debe dedicarse a otra cosa.
Si ya al empezar a uno le falta ingenio, no quiero pensar que sucederá después de 20 años cuando uno ya haya 'exprimido' parte de su ingenio, 'pariendo' infinidad de ideas...
1436  Programación / Programación C/C++ / Re: Donde puedo empezar a aprender la programación de C++? en: 21 Agosto 2020, 21:26 pm
Incluso mas eficiente que los libros, es que programes. Aprendes mejor programando que aprendiendo.
Error numero: 0.

Aprender a base de prácticar, es la única forma cuando algo es totalmente nuevo y nadie sabe nada. Cuando hay una base de fondo y conocimientos sólidos adquiridos, es estúpido pretender aprender a base de prácticar desdeñando el conocimiento existente.
Lee libros para adquirir conocimientos y tener una base mínima de forma rápida, después practica para dar solidez a ese conocimiento.

Muchos de los vídeos de youtube, pecan de 'youtubismo', esto es inflan el tiempo para cumplir ciertos requisitos que exige Google. Lo que significa que para explicarte como sumar 2+3 tendrás que tragarte un vídeo de 10 minutos... y ya sin mencionar la calidad del narrador (en la que no entro a valorar).
Los libros (por lo menos los de informática), en su mayoría están escritos por gente con unos conocimientos más o menos profundos, y en general saben bien de lo que hablan... quizás la narrativa no sea óptima o más probablemente no aborden ciertos temas en la profundidad que uno desea, pero eso es cuestión de buscar, hay chorrocientos libros de prácticamente cualquier temática, es imposible que un solo libro sea un compendio total, siempre se requiere leer varios, lo que uno pasa por alto se profundiza en otro y viceversa...
1437  Foros Generales / Foro Libre / Re: Os sentís valorados y queridos por los amigos? (Sed sinceros) en: 21 Agosto 2020, 21:10 pm
Esta es la sección de foro 'libre', pero incluso así, yo no veo razonable hablar de cosas personales, salvo algo puntual y de soslayo, pero nunca el tema central del hilo. Y parece que tú no sabes hacer otra cosa que hablar de tu vida personal.

No creo que este sea 'tu foro', creo que deberías buscarte un foro cuya temática sean los temas personales, lo cual básicamente se concentra en las 'redes sociales'. Allí es precisamente lo más acertado.... contar chismes (tuyos o ajenos), allí son más que bienvenidos, aquí en cambio con todos los respetos, raya la náusea.
1438  Programación / .NET (C#, VB.NET, ASP) / Re: Mostrar elemento seleccionado en listbox en: 8 Agosto 2020, 17:57 pm
en C# al igual que en VB, existe la propiedad de lectura y escritura 'Topindex', para el listbox, que señala el índice del elemento que aparece en primera línea del listbox.
Naturalmente ese índice solo puede ser mantenido (se trunca en caso contrario) si hay suficientes elementos para rellenar por completo la vista del listbox... es decir si solo hay 5 elementos y en la vista caben 15, topindex solo puede ser 0, igualmente si hay 40 elementos y la vista aloja 15, el topindex, solo puede elegirse en el rango 0-(39-15) = 0-24

Código
  1. listBox1.TopIndex = 24;
  2. listBox1.TopIndex = listBox1.SelectedIndex;
1439  Foros Generales / Foro Libre / Re: Elon Musk afirma que las pirámides fueron construidas por los alienígenas en: 7 Agosto 2020, 20:14 pm
@NEBIRE, ignoras todo el concepto de herramientas y su uso por parte del ser humano
Claro... basado en tu opinión, hasta resulta 'bondadoso'.

Como seguro que tú has sido cantero y has 'fabricado' miles de piedras de granito, usando huesos, maderas y otras piedras, o incluso bronce... sabes muy bien de lo que hablas y los demás, son ignorantes.

A lo largo de todo este tiempo hemos mejorado nuestro conocimiento en la construcción y ahora tenemos herramientas y técnicas 1000 veces más eficaces.
Desde luego...
Habla con cualquier arquitecto (que no sea amigo de Hason  :laugh: :laugh:), y pregúntale cómo haría él una de tales pirámides sin la teconología actual... a ver si (alguno) te da una respuesta afirmativa.
 
Incluso con la tecnología actual, sería enormemente complicado, no ya construir la propia pirámide, simplemente extraer las rocas de la cantera y llevarlas a pie de obra de una pieza entera.... (demos por hecho que tuviéramos una cantera con todo el material requerido, es decir no planteo la existencia de la propia cantera con más obstáculo que la distancia que separa la planicie de Giza, respecto de la cordillera más cercana).

Yo no defiendo la teoría alienígena (salvo que con alienígenes pretenda referirse a 'dioses' y no a navegantes galácticos), me parece igual de descabellada que 'la teoría de los esclavos egipcios' (aunque ya en los últimos tiempos algunos 'sectores' parecen aceptar, que no necesariamente debían ser esclavos).
1440  Foros Generales / Foro Libre / Re: Abascal propone «sacar a los 'okupas' de una patada en el culo» el primer día en: 7 Agosto 2020, 19:37 pm
Las viviendas que más se ocupan son precisamente viviendas que pertenecen al banco. Son las más fáciles de ocupar y son las que menos pegas tienen puesto que el banco puede tardar meses en enterarse y ni siquiera iniciaría un juicio por desalojo. Total, no la van a vender en los próximos 5-10 años.
Bien, sin entrar a valorar si es cierto o no... es muy distinto de lo que dijiste en el mensaje anterior...

Desde luego, nada que objetar a una exposición así comparada con la previa, donde decías:
Cita de: #!drvy
...ocupan casas que previamente eran propiedad de los mismos okupas y que el banco les ha quitado

Páginas: 1 ... 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 [144] 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 ... 436
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines