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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 102
131  Programación / .NET (C#, VB.NET, ASP) / Re: Codigo en Visusal Basic.net en: 19 Abril 2021, 19:10 pm
Diría que el error está en el separador decimal que estás utilizando.
Si estás usando un punto (.) como separador decimal y deberías utilizar una coma (,), cualquiera de estas dos opciones te servirán:
Código
  1. Customer.EXISTENCIA = Convert.ToSingle(dt.Rows(i)("EXISTENCIA").ToString(), CultureInfo.InvariantCulture)
  2. Customer.EXISTENCIA = Convert.ToSingle(dt.Rows(i)("EXISTENCIA").ToString().Replace(".", ","))
Si el problema es a la inversa y estás utilizando la coma (,) como separador decimal cuando deberías utilizar el punto (.), debes hacer el reemplazo al contrario.
132  Programación / Programación C/C++ / Re: Mi primer programa en C. en: 18 Abril 2021, 22:04 pm
El link que has incluido requiere de un login por lo que no podemos ver nada.
Y a tu pregunta, no, no hay "trucos". Tienes que aprender a pensar como lo haría un ordenador para resolver esos problemas. Por lo que comentas son ejercicios muy típicos pero si pones algo más concreto como lo que necesitas y lo que llevas hecho, podremos ayudarte.
Si vas a poner únicamente el enunciado para que te lo demos hecho, no hace falta que te esfuerces, la respuesta por parte de la comunidad será que no se hacen tareas.
133  Programación / Programación C/C++ / Re: Ayuda en C++ y visual studio en: 18 Abril 2021, 00:47 am
No consigo acceder al enlace para darte una respuesta más concreta así que te daré una respuesta más genérica.

De las 4 herramientas mencionadas (GitHub, Python, C++, VS) tendrás que aprender la parte que tú realmente vas a utilizar. Por ejemplo, GitHub imagino que es donde se encuentra el repositorio del código fuente y de donde tendrás que descargarlo pero... ¿luego vas a seguir utilizando GitHub para crear y mantener tus propios repositorios? De ser así tendrás que aprender a manejarlo aunque sea de forma básica pero si tú no lo vas a utilizar no necesitas nada más que obtener de ahí el código fuente.

Bajo el mismo razonamiento se puede pensar en el resto de herramientas:
  • VS es un IDE (Entorno de Desarrollo Integrado), es decir, una herramienta con un editor de texto para modificar el código fuente, un compilador para poder compilar y ejecutar el código directamente, etc. ¿Vas a utilizar este IDE para programar? Si la respuesta es que sí, tendrás que aprender a manejarlo pero si vas a utilizar otro, entonces no. Además, en cualquier caso, el IDE no es algo que tengas que estudiar. Irás aprendiendo cómo funciona sobre la marcha, buscando en Internet cada vez que no encuentres algo.
  • C++ y Python supongo que serán los lenguajes en los que está desarrollado la herramienta. En el caso de que tengas que entender/modificar código fuente pues no te quedará otra opción que aprender estos lenguajes.
Si por el contrario, tu objetivo es instalar y utilizar este software, entonces no necesitas aprender ninguna de estas cosas. Únicamente tendrás que aprender a descargar el código del repositorio e instalarlo en tu equipo (lo cual seguramente vendrá explicado en el propio repositorio).
134  Programación / Programación General / Re: fecha corta en bd access y datagridview c# en: 14 Abril 2021, 20:36 pm
El problema supongo que viene de lo siguiente. Tú estás haciendo esto con el segundo parámetro:
x = DateTime.Now -> Devuélveme la fecha/hora actual
y = x.ToShortDateString() -> Conviértelo a cadena de texto en formato fecha
DateTime.Parse(y) -> Convierte esa cadena con la fecha a formato fecha/hora

Es decir que en el último paso, al volver a convertirlo a tipo DateTime estás volviendo a tener la hora (pero no la que tenías porque la has desechado en el paso 2, sino la hora por defecto).

Si lo tienes todo enlazado y no puedes modificar los datos antes de mostrarlos, ahora mismo no se me ocurre cómo hacerlo. En cambio, si puedes tratar los datos antes de mostrarlos, deberías recuperar la fecha/hora de la BD y mostrarla en el datagridview convertida a cadena de texto con la fecha. Es decir guardas la fecha/hora actual (paso 1) y el paso 2 lo realizas al momento de mostrar, no de guardar.
135  Programación / .NET (C#, VB.NET, ASP) / Re: Corregir o quitar elementos del comBoBox en: 10 Abril 2021, 01:11 am
Normal que en el segundo código no funcione si estás intentando comparar el contenido de <datos> a "True" (línea 74) cuando no estás guardando "True". Y tú me dirás que sí, que en la línea 71 llamas a la función y guarda "True" en <datos> pero entonces yo te diré "y qué pasa con el espacio que estás añadiendo al final?? (línea 62)"

Por otra parte decir que ese código tiene demasiado acoplamiento. Utilizas todo el tiempo la misma variable <datos> para guardar cada uno de los resultados. Es mejor que la función devuelva un string con el resultado y ya tú lo asignarás a la variable que quieras en cada momento.

Una mejor opción sería algo como esto:
Código
  1. private static readonly char SEPARADOR = "|"; // Separador de elementos. Por si en algun momento necesitas cambiarlo por otro
  2.  
  3. private string ConsigueComponentes(string hwclass, string syntax) {
  4.    string resultado = string.Empty;
  5.    ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM " + hwclass);
  6.    foreach (ManagementObject mj in mos.Get()) {
  7.        if (!string.IsNullOrEmpty(mj[syntax].ToString()))
  8.            resultado += mj[syntax].ToString() + SEPARADOR;
  9.    }
  10.    // El ultimo separador nunca lo vas a necesitar para nada -> Lo puedes eliminar directamente y quitarte futuros problemas
  11.    resultado = resultado.Remove(resultado.Length - 1);
  12.    return resultado;
  13. }
  14.  
  15. // Mejor tener un metodo que te diga si hay o no hay disco con true/false y luego ya lo usaras donde lo necesites
  16. private bool HayDisco() {
  17.    string resultado = ConsigueComponentes(...);
  18.    return (resultado == "True");
  19. }
  20.  
  21. private void Form_Load(object sender, EventArgs e) {
  22.    ...
  23.    string[] unidades = ConsigueComponentes(...).Split(SEPARADOR);
  24.    comboBox.Items.AddRange(unidades);
  25.    ...
  26. }
136  Programación / .NET (C#, VB.NET, ASP) / Re: Corregir o quitar elementos del comBoBox en: 8 Abril 2021, 20:24 pm
Exactamente, como dice [D]aniel se soluciona.
Como estás añadiendo un espacio después de cada unidad, te queda una cadena como esta (sustituyo cada espacio por un _):
Código:
datos = "G:_F:_"
Primer Split -> "G:" (parte izquierda) + "F:_" (parte derecha)
Segundo Split -> "G:" + "F:" (parte izquierda) + "" (parte derecha)
Por eso al final queda un último elemento que es una cadena vacía. Porque es lo que queda a la derecha del último espacio.

Otra solución válida es:
Código
  1. datos = ... // datos = "G:_F:_"
  2. datos = datos.Trim(); // Elimina espacios iniciales y finales -> datos = "G:_F:"
  3. string[] unidades = datos.Split(' ');
137  Programación / .NET (C#, VB.NET, ASP) / Re: Corregir o quitar elementos del comBoBox en: 7 Abril 2021, 23:52 pm
Claro, entonces el problema estaba en que no se estaba guardando en <datos> todas las unidades sino que se van sobreescribiendo en cada iteración. Entonces tienes que concatenar todo y preferiblemente como dice Serapis añadiendo un espacio entre cada unidad para separarlos mediante el espacio y mantener los dos puntos...
Código
  1. datos += mj[syntax].ToString() + " ";
  2. ...
  3. string[] unidades = datos.Split(' ');
138  Programación / Programación C/C++ / Re: C o C ++ ?? en: 7 Abril 2021, 21:20 pm
Tanto con C como con C++ puedes hacer una infinidad de programas de prácticamente cualquier tipo pero es cierto que profesionalmente C se utiliza mucho en sistemas operativos, servicios, etc. C se suele denominar un lenguaje de nivel medio (tiene características tanto de alto nivel como de bajo nivel) lo que permite desarrollar con mucho detalle a nivel físico (incluso incluir lenguaje ensamblador en el propio código C) y generar un código muy eficiente comparado con lenguajes de más alto nivel (Java, C#, Python,...)

Al final C se queda muy limitado al utilizar paradigmas de programación orientada a objetos (POO) por lo que aquí entra C++. Brevemente se puede decir que es una extensión de C con clases. C++ admite todo lo que admite C más lo creado para C++. Se puede decir que ya es de alto nivel aunque permite programar a bajo nivel también.

Yo empecé con ellos y no me arrepiento. ¿Fácil? No, no será. Si buscas facilidad y una curva de aprendizaje alta (grandes resultados en poco tiempo), C/C++ no son tus lenguajes. Java o C# serán mejores lenguajes para ese fin. Si buscas o te gusta saber cómo funciona todo en profundidad y que nada se escape a tu control, entonces sí, C/C++ serán unos buenos lenguajes para ti.

Los lenguajes de más alto nivel se podría decir que te dan el trabajo hecho. Para que lo entiendas, un ejemplo. Estás haciendo un programa y necesitas hacer x cosa...
  • ¿Utilizas Java o C#? Seguro que ya tienen una función que hace eso. Investiga, encuentra esa función, lee su documentación, aprende cómo funciona y utilízala. ¿Cómo lo hace? Ni idea. En la mayoría de casos ni lo sabrás ni te pararás a investigarlo pero ya tienes tu tarea hecha.
  • ¿Utilizas C o C++? No busques esa función. Hazla tú. ¿Lleva más tiempo? Seguramente. ¿Cómo lo hace? Como tú quieras hacerlo. Cualquier tarea se puede programar de forma diferente y tú tendrás la tuya según tu forma de pensar. Igual no es la mejor solución pero es tuya, sabes cómo funciona al detalle y la puedes ir modificando/mejorando.
Obviamente en C y en C++ también hay funciones hechas, igual que también puedes hacer las tuyas propias en Java o C# pero digamos que es para que tengas una idea de lo que significa programar con unos lenguajes u otros.

PD: Si quieres hacer programas con interfaz gráfica personalmente te recomendaría C# con WPF. Para otros fines como programas de consola, algoritmia, estudio de eficiencia... te animaría a probar C o C++. Al fin y al cabo empezar a probar un lenguaje no significa que no puedas aprender después otros.  :rolleyes: :-X
139  Programación / .NET (C#, VB.NET, ASP) / Re: Corregir o quitar elementos del comBoBox en: 7 Abril 2021, 19:19 pm
No se que pasa.
En vez de verse:

F:
G:

En el comboBox, aparece esto.


Ver imagen.

En este otro código de abajo, solo se me ve así:
G:
:

¿Dónde está la F:?  ;D

Código
  1.        void UnidadDisco()
  2.        {
  3.            // Nombre de la unidad.
  4.            ConsigueComponentes("Win32_CDROMDrive", "Id");
  5.  
  6.            // Delimitador.
  7.            string[] unidades = datos.Split(':');
  8.  
  9.            foreach (string unidad in unidades)
  10.            {
  11.                comboBox_Unidad.Items.Add(unidad + ":");
  12.            }
  13.  
  14.            // Selecciona la primera unidad.
  15.            comboBox_Unidad.SelectedIndex = 0;
  16.        }

Saludos.
Por un lado, no se puede ver la imagen. Ni en el cuadro de imagen ni mediante el enlace de "Ver imagen".
Y por otro lado, si no se muestra correctamente la F tiene que ser porque en la variable <datos> no está bien guardado.
Si el resultado ha sido:
Código:
G:
:
tiene que ser porque en <datos> estaba almacenado la siguiente cadena: "G::".

Prueba a imprimir el contenido de <datos> para comprobarlo.
140  Programación / .NET (C#, VB.NET, ASP) / Re: Corregir o quitar elementos del comBoBox en: 7 Abril 2021, 07:29 am
Claro, si digamos que en <datos> tienes algo como:
Código:
C:D:F:
Y vas recorriendo y agregando carácter a carácter pues agregarás:
Código:
C
:
D
:
F
:

Otra solución:
Código
  1. string[] unidades = datos.Split(':');
  2. foreach(string unidad in unidades)
  3.  combobox.Items.Add(unidad);
Resultado:
Código:
C
D
F
G
El delimitador (':') no se incluye en las subcadenas. Para incluirlo puedes hacerlo manualmente:
Código
  1. combobox.Items.Add(unidad + ":");
O mediante un for() y el método Substring() o similares para recoger dos caracteres en vez de uno.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 102
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines