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


 


Tema destacado: Sigue las noticias más importantes de elhacker.net en ttwitter!


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8 9
1  Informática / Multimedia / Cambiar aspecto video Premiere CS5 en: 11 Abril 2017, 11:53
Quiero editar un vídeo pero no consigo cambiar el tamaño del fotograma en CS5. No lo he usado antes, acabo de empezar.

He  importado un vídeo y luego he creado nueva secuencia.

Propiedades de secuencia
Código:
1280 x 720
184371, 25,00 fps
48000 Hz - Estéreo



He probado de crear nuevas secuencias, seleccionar en el Modo de Edición el modo Esritorio y luego he cambiado el tamaño y cambia el cuadro pero la imagen sigue igual.

El vídeo se supone es panorámico pero su formato es 4:3 (cuadrado). Lo que quiero es poder modificar el tamaño hasta que se vea panorámico es decir poder estirar la imagen horzontalmente y si es necesario verticalmente hasta que se vea panorámico y se adapte al un cuadro panorámico.


También le he dado a Escalar a tamaño de fotograma y se adapta al cuadro pero solo a la parte superior e inferior pero no a los laterales derecho e izquierdo. De modo que la imagen se ve algo aplastada todavía



A ver si alguien me puede echar una mano, gracias de antemano

2  Foros Generales / Foro Libre / El calor o La calor en el habla castellana en: 26 Marzo 2017, 12:33
Tengo esa duda, si es correcto decir 'el calor' o 'la calor', o ambas son correctas.

He buscado en Google y he me quedo igual, con la duda.

Según www.diccionariodedudas.com es correcto decir 'el calor' pero no es correcto decir 'la calor' debido a un problema de concordancia. De igual forma que no dirías "la valor", sino "el valor", se debería decir "el calor".

En el lenguaje culto del castellano, prefiere decirse 'el calor'

https://www.diccionariodedudas.com/la-calor-o-el-calor/

Pero según Castellano Actual sería correcto ambas posibilidades.

http://udep.edu.pe/castellanoactual/duda-resuelta-la-calor-o-el-calor/


¿y esto por qué?
Si en tu página web o programa debes escribir  el/la calor ¿Qué pondrías?
3  Foros Generales / Foro Libre / Las mujeres en la informática en: 14 Enero 2017, 11:52
Si has tenido la suerte de estudiar en algún centro de informática, instituto o Universidad seguramente en tu clase había 3 mujeres por 20 hombres.  

¿Por qué tan pocas mujeres se dedican a la informática o programación? Personalmente yo creo que es por influencia de los medios de comunicación, especialmente el cine.  El estereotipo de que los informáticos o programadores son tipos raros con gafas, asociales, con camisa de cuadros, empollones y  encerrados todo el día en su habitación, jugando a videojuegos, hackeando, o lo que sea...  Aunque este estereotipo es más de los 80, en los 90  pintaba más así:

(Hackers 1995)

Y ahora llevan ropa deportiva, el pelo guay y tienen ese punto misterioso y molote:







y también el royo así como intelectual con gafas, enclenque, blancucho y superdotado(de arriba)


Por lo general siguen siendo raros, son niñatos imberbes, con ropa oscura, colecciona muñecos de manga o tiene algún fetiche extraño, tiene posters de videojuegos en las paredes, y el tema de su ordenador es oscuro o negro, con dibujos de fondo como para dar miedo https://images8.alphacoders.com/693/693176.jpg y muchas letritas a lo Matrix.

Lo curioso es que esto genera una especie de efecto imitación o reflejo hasta el punto que hay gente joven que empieza informática y la programación y copian este el estilo de lo que se considera que es un hacker informático o un genio de los ordenadores para socialmente ser identificado como tal dentro del gremio o de cara a los demás.

Pondré un ejemplo. Imagina que vas en un autobús, en verano y ves a un tipo de unos 25 años, sin gafas y físicamente parecido a Arndold Schwarzenegger, con tejanos y una camiseta blanca muy ceñida, ni se te ocurre pensar que pudiera ser un genio de la informática, un programador, o un hacker informático.  Pero si ves a un tipo así pues ya te lo piensas:




¿Pero que pasa con las mujeres? Como decía esta idealización y asociación de la informática con este estereotipo creo que aleja a las mujeres de este mundillo, y además la lesbiación de la chica "hacker".





(kate Libby - Piratas informáticos (Hackers) interpretado por Angelina Julie)
Creo que no era lesbiana, aunque lo parecía....

La imagen de chica rara, con el pelo corto, negro y/o lesbiana.




Mujeres en informática
4  Foros Generales / Foro Libre / Curso ocupacional de páginas Web ¿timo? en: 8 Enero 2017, 17:37
He recibido una carta del servicio ocupacional para realizar un curso, ya que estoy en paro,  que consiste en la confección y publicación de páginas web, obviamente no basado en programación, seguramente se use algún tipo de programa conocido para este fin.

Se menciona en la carta que  hay prácticas en  empresa.

Como ya he realizado timo cursos ocupacionales con anterioridad tengo dudas de si esto sirve realmente para algo. Uno de ellos era de logística por parte de una empresa municipal y consistía en un tipo sentado en una silla dictando las páginas de un libro para que lo escribiéramos en una libreta, libro que podía encontrar en la biblioteca de mi ciudad. Así un día tras otro y finalmente el certificado de haber realizado el curso. A saber qué dinero recibieron como subvención por parte del estado para realizar este curso y lo que gastaron, obviamente sólo en el sueldo del profesor que se limitaba a dictar las páginas del libro.

Por otro lado qué empresa contrata a alguien solo por haber hecho este curso. Además sin discapacidad. Porque hablamos de un trabajo sedentario de alguien sentado en una silla. Trabajo perfecto para alguien sin movilidad, por ejemplo. y que al menos pueda usar las manos. Yo tengo perfecta movilidad, así que no se.

¿Vale la pena hacer el curso? ¿O es una gilipollez?


Tengo que mencionar que a pesar que tengo conocimientos de programación, jamás he trabajado ni he estudiado en el campo de la programación o la informática.



5  Programación / .NET / ListView con salto de línea /multilinea en: 11 Diciembre 2016, 14:37
hola, me gustaría saber si se puede introducir ítems en un Listbox de modo que se vean verticales

del modo normal sería

12345678
45664555
78999999

Pero yo quiero hacerlo así

1 4 7
2 5 8
3 6 9
4 6 9
5 4 9
6 5 9
7 5 9
8 5 9



Si hago esto por ejemplo...
Código
  1.  
  2.        Dim Num() As String = {"1", "2", "3", "4"}
  3.        Dim strLinea As String = Nothing
  4.        strLinea = String.Join(Environment.NewLine, Num).Trim
  5.        ListBox1.Items.Add(strLinea)
  6.        Label1.Text= strLinea
  7.  

 el Label1 muestra correctamente:
Código:
1
2
3
4

Mientras que un Listbox o un ListView lo mostraría así
Código:
1234

El ListBox aunque lo mostrara como el label pondría uno debajo del otro. Con un Listview podría ponerlo en cada columna, pero también lo pone horizontal.

Lo he hecho con un FlowLayoutPanel1 Panel,  y añado Labels de forma automática pero no es lo que busco. Además que me ocupa mucho código y es tedioso de hacer.

¿Alguna idea?

Gracias



Acebo de darme cuenta que además con Panel, no puedo hacer multiselección
6  Programación / Programación General / Código simple para hacer La Quiniela (VBScript,VB, VB.Net, C#) en: 10 Diciembre 2016, 15:43
Hola amigos

Comparto aquí un sencillísimo código para hacer La Quiniela. Se trata de un código que genera variaciones de la quiniela de forma aleatoria. Es lo mismo que esos artilugios con daditos 1, X, 2  que venden en estancos, librerías o quioscos.



Es una versión virtual de los dados. El programita muestra una ventana como esta:




Para usuarios sin conocimientos de programación
Tan sólo necesitas el Bloc de Notas de Windows:

- Abre el Bloc de Notas (notepad.exe)

- Copia y pega el siguiente código VBSCRIPT

   
Código:
        Dim var(14)
Dim Rand
Dim Partido
        Dim P15(2)
Randomize
For Partido = 1 To 14
Rand = CStr(Int(Rnd * 3))
Rand = Replace(Rand, "1", "X")
Rand = Replace(Rand, "0", "1")

var(Partido) = _
"Partido " _
& Right("00" & Partido, 2) _
& ":..... " _
& Rand
Next
   For Partido = 1 To 2
       Rand = CStr(Int(Rnd * 4))
         P15(Partido) = Replace(Rand, "3", "M")
        Next

     MsgBox Join(var, vbCrLf) _
& vbCrLf & vbCrLf _
       & "[P15]" & vbCrLf _
& "Equipo A:  " & P15(1) _
& vbCrLf _
& "Equipo B:  " & P15(2), _
vbOKOnly, _
"Mi Quiniela"

-   Guarda con extensión *.VBS, por ejemplo miquiniela.vbs, haces doble clic sobre el archivo y ya tienes tu apuesta columna.

 Si has hecho alguna vez la quiniela sabrás que una apuesta consta de dos columnas. Este programa solo genera una columna por motivos estéticos. Para generar otra vuelve a hacer doble clic sobre el archivo VBS y generará otra distinta.

Existen 4782969 columnas posibles, así que es difícil que vuelva a salir otra idéntica.

Si deseas que genere las dos columnas usa este otro código:

   
Código:
        Dim var(14)
Dim Rand1
Dim Rand2
Dim Partido
        Dim P15(2)
Randomize
For Partido = 1 To 14
Rand1 = CStr(Int(Rnd * 3))
Rand1 = Replace(Rand1, "1", "X")
Rand1 = Replace(Rand1, "0", "1")
Rand2 = CStr(Int(Rnd * 3))
Rand2 = Replace(Rand2, "1", "X")
Rand2 = Replace(Rand2, "0", "1")
var(Partido) = _
"Partido " _
& Right("00" & Partido , 2) _
& ":..... " _
& Rand1 & vbTab _
& Right("00" & Partido , 2) _
& ":..... " & Rand2

Next
   For Partido = 1 To 2
       Rand = CStr(Int(Rnd * 4))
         P15(Partido) = Replace(Rand, "3", "M")
        Next

     MsgBox Join(var, vbCrLf) _
& vbCrLf & vbCrLf _
       & "[P15]" & vbCrLf _
& "Equipo A:  " & P15(1) _
& vbCrLf _
& "Equipo B:  " & P15(2), _
vbOKOnly, _
"Mi Quiniela"

Ejemplo de como se verá:





PARA VISUAL STUDIO
Aquí lo dejo en otros lenguajes de programación:

VB
 
Código
  1. Dim var(14) As String, P15(2) As String
  2. Dim Rand As String
  3. Dim Partido As Integer
  4.        Randomize
  5.        For Partido = 1 To 14
  6.            Rand = CStr(Int(Rnd * 3))
  7.            Rand = Replace(Rand, "1", "X")
  8.            Rand = Replace(Rand, "0", "1")
  9.            var(Partido) = "Partido " & Right("00" & Partido, 2) _
  10.            & ":..... " & Rand
  11.       Next
  12.        For Partido = 1 To 2
  13.        Rand = CStr(Int(Rnd * 4))
  14.        P15(Partido) = Replace(Rand, "3", "M")
  15.        Next
  16.      MsgBox Join(var, vbCrLf) & vbCrLf & vbCrLf & _
  17.      "[P15]" & vbCrLf _
  18.      & "Equipo A:  " _
  19.      & P15(1) & vbCrLf _
  20.      & "Equipo B:  " _
  21.      & P15(2), , vbOKOnly, "Mi Quiniela"
  22.  


VB.NET (Consola)

      
Código
  1.  
  2.        Dim Signo() As String = {"1", "X", "2"}
  3.        Dim P15(2) As String, Var(14) As String
  4.        Dim Rand As New Random
  5.        For Partido As Integer = 1 To 14
  6.            Var(Partido) = String.Format("Partido {0:00}:..... {1}",
  7.                                         Partido, Signo(Rand.Next(0, 3)))
  8.        Next
  9.        For Partido As Integer = 1 To 2
  10.            P15(Partido) = (CStr(Rand.Next(0, 4)).Replace("3", "M"))
  11.        Next
  12.  
  13.        Console.WriteLine(String.Format("{0}{1}{1}[P15]{1}Equipo A:  {2}{1}Equipo B:  {3}",
  14.                                      String.Join(Environment.NewLine, Var),
  15.                        Environment.NewLine,
  16.                        P15(1),
  17.                        P15(2)))
  18.        Console.ReadLine()
  19.  

NET C# (Consola)
     
Código
  1.            string[] Signo = { "1", "X", "2" };
  2.            string[] P15 = new string[3];
  3.            string[] Var = new string[15];
  4.            Random Rand = new Random();
  5.            for (int Partido = 1; Partido <= 14; Partido++)
  6.            {
  7.                Var.SetValue(string.Format("Partido {0:00}:..... {1}", Partido, Signo[Rand.Next
  8.  
  9. (0, 3)]), Partido);
  10.            }
  11.            for (int Partido = 1; Partido <= 2; Partido++)
  12.            {
  13.                P15.SetValue(Convert.ToString(Rand.Next(0, 4)).Replace("3", "M"), Partido);
  14.            }
  15.  
  16.           Console.WriteLine(string.Format("{0}{1}{1}[P15]{1}Equipo A:  {2}{1}Equipo B:  {3}",
  17.                string.Join(Environment.NewLine, Var),
  18.                Environment.NewLine, P15[1], P15[2]));
  19.           Console.ReadLine();
  20.  
  21.  

Citar
Advierto que es puramente aleatorio , este programa no hace milagros  :xD. Está pensado especialmente para personas que no sepan programar y quieran hacer la quinela  al azar, como con los dados, pero usando el ordenador.

Pues nada, suerte y que toque  :D



Personalmente considero que las Loterías y Apuestas del Estados son invento para recaudar dinero y quitárselo a los pobres.
7  Programación / .NET / Obtener el índice de un elemento obtenido con Split en: 7 Diciembre 2016, 20:41
Quiero obtener el índice de un elemento obtenido con Split utilizando IndexOf pero no lo consigo.

Si hago esto:

Código
  1. Dim P As String() = {"[Primero]", "a", "b", "c", "[Segundo]"}
  2.        MessageBox.Show(CStr(P.ToList.IndexOf("[Segundo]")))

Me devuelve el índice correctamente.


Si hago esto otro:
Código
  1. Dim P As New List(Of String)
  2.        P.AddRange({"[Primero]", "a", "b", "c", "[Segundo]"})
  3.        MessageBox.Show(CStr(P.IndexOf("[Segundo]")))

También me devuelve el índice correctamente

Sin embargo con un array obtenido con Split no funciona, me devuelve -1.


Código
  1.  
  2.  
  3. Dim Texto As String =
  4.               "[Primero]" & Environment.NewLine &
  5.               "a" & Environment.NewLine &
  6.               "b" & Environment.NewLine &
  7.               "c" & Environment.NewLine &
  8.               "[Segundo]"
  9.  
  10.        Dim P As New List(Of String)
  11.        P.AddRange((Texto.ToString.Trim.Split(CChar(Environment.NewLine))))
  12.  
  13.        MessageBox.Show(CStr(P.IndexOf("[Segundo]")))
  14.        MessageBox.Show(CStr(P(4)))


No acabo de entender porqué si al llamarlo con P(4), si que me devuelve el valor. O sea que el elemento está en la lista P, sin embargo no me devuelve el índice.

Gracias



Conseguí hacerlo:

Código
  1.        Dim Texto As String =
  2.               "[Primero]" & Environment.NewLine &
  3.               "a" & Environment.NewLine &
  4.               "b" & Environment.NewLine &
  5.               "c" & Environment.NewLine &
  6.               "[Segundo]"
  7.  
  8.        Dim spl() As String = Texto.Split(CChar(Environment.NewLine))
  9.        Dim Lista As New List(Of String)
  10.        For Each Item As String In spl
  11.                Lista.Add(Item.Trim)
  12.        Next
  13.  
  14.        MessageBox.Show(Lista.IndexOf("[Segundo]").ToString)

Pero sigo si entender porque no puedo obtenerlo directamente como puse antes o usando directamente el array String:

Código
  1. Dim spl() As String = Texto.Split(CChar(Environment.NewLine))
  2.        MessageBox.Show(spl.ToList.IndexOf("[Segundo]").ToString)

Parece que Split devuelve los valores con espacios, de ahí que haya añadido Trim, para eliminar los caracteres de espacio.

Si lo pusiera así:

Código
  1.  
  2. ...
  3. For Each Item As String In spl
  4.            Lista.Add(Item)
  5.        Next
  6.        MessageBox.Show(Lista.IndexOf("[Segundo]").ToString)
  7.  
me devolvería -1 nuevamente.



Encontré otra solución para quien le sirva. Consiste en reemplazar el espacio de cada elemento, sin necesidad de crear otro array

Código
  1.         Dim Texto As String =
  2.             "[Primero]" & Environment.NewLine &
  3.             "a" & Environment.NewLine &
  4.             "b" & Environment.NewLine &
  5.             "c" & Environment.NewLine &
  6.             "[Segundo]"
  7.  
  8.        Dim spl() As String = Texto.Split(CChar(Environment.NewLine))
  9.        For Index As Integer = 0 To spl.Count - 1
  10.            spl(Index) = spl(Index).Trim
  11.        Next
  12.        MessageBox.Show(spl.ToList.IndexOf("[Segundo]").ToString)


Lo suyo sería poder hacerlo todo en la misma línea, en esta:
Código
  1. Dim spl() As String = Texto.Split(CChar(Environment.NewLine))



Vale, pues este sería otro modo más reducido. Usando  Regex
Código
  1.        Dim Texto As String =
  2.             "[Primero]" & Environment.NewLine &
  3.             "a" & Environment.NewLine &
  4.             "b" & Environment.NewLine &
  5.             "c" & Environment.NewLine &
  6.             "[Segundo]"
  7.        Dim spl() As String = System.Text.RegularExpressions.Regex.Split(Texto, Environment.NewLine)
  8.        MessageBox.Show(spl.ToList.IndexOf("[Segundo]").ToString)




8  Foros Generales / Foro Libre / Ayuda oficial para llevar a cabo proyecto sociales en: 2 Diciembre 2016, 19:43
Tengo algunas ideas para realizar proyectos sociales de bien común. El problema es que no puedo llevarlos a cabo por mis propios medios y tengo una ignorancia total con respecto a procesos burocráticos.

Me gustaría saber como exponer y proponer estos proyectos a organismos públicos, como el ayuntamiento. Pero no se cual es el procedimiento para conseguirlo.


Uno de ellos sería por ejemplo lo que hace de forma simbólica la Iglesia Católica en la que con una mano da pan y con la otra la Biblia, en sus proyectos sociales y caritativos. De esta manera "publicita" su religión.

Del mismo modo puede hacerse publicidad de marcas y productos comerciales al tiempo que hacen donativos. Muchos bancos de alimentos andan escasos de alimentos, ¿Y si las empresas que quisieran pudieran hacer publicidad de su marca o producto a través de donaciones a bancos de alimentos y comedores sociales?

Algunas marcas no dudan en regalar camisetas y sus productos en acontecimientos de deportivos en carreras populares de running por ejemplo. ¿Por que no hacerlo a bancos de alimentos y a cambio recibir cobertura de medios haciendo eco de que dichas marcas han donado tal cantidad de su producto? O también se podría llevar un sello identificativo que indicara que dichas marcas colaboran en donaciones a bancos de alimentos.

Bueno, esta idea no la tengo muy clara, por eso la expongo aquí, a ver que comentáis al respecto.  

Tengo otras relacionadas con el empleo y creación de empresas. No tengo ni idea de como llevarlo a cabo.


Se que se han hecho cosas parecidas para donaciones al tercer mundo pero creo que no a bancos de alimentos y comedores sociales del  país.





9  Programación / .NET / [Aporte] .net problema del cajero en: 12 Noviembre 2016, 18:12
problema del cajero, con entregar cambio dividido en diferentes cantidades

Código
  1. FunCambio(Precio: 10.28m, Paga: 50m);

Hay que poner la cantidad a abonar (precio) y el cantidad abonada(paga)

El algoritmo es este:

Código
  1.  decimal Precio = 12.28m;
  2.            decimal Paga = 50m;
  3.            int[] Euros = {
  4. 2,
  5. 1
  6. };
  7.            decimal[] Centimos = {
  8. 0.5m,
  9. 0.2m,
  10. 0.1m,
  11. 0.05m,
  12. 0.02m,
  13. 0.01m
  14. };
  15.  
  16.            if (Precio <= Paga)
  17.            {
  18.  
  19.                decimal Devolver = Paga - Precio;
  20.  
  21.              List<decimal> Cambio = new List<decimal>();
  22.  
  23.  
  24.  
  25.                while (Devolver >= 1)
  26.                {
  27.                    foreach (int Moneda in Euros)
  28.                    {
  29.                        if (Devolver >= Moneda)
  30.                        {
  31.                            Devolver -= Moneda;
  32.                            Cambio.Add(Moneda);
  33.                            break;
  34.                        }
  35.                    }
  36.                }
  37.                while (Devolver > 0)
  38.                {
  39.                    foreach (decimal Moneda in Centimos)
  40.                    {
  41.                        if (Devolver >= Moneda)
  42.                        {
  43.                            Devolver -= Moneda;
  44.                            Cambio.Add(Moneda);
  45.                            break;
  46.                        }
  47.                    }
  48.                }

'Cambio' es un array lista que devuelve una lista ´tipo "2, 2, 2, 2, 1 ,0.5, 0.02" que son lo tipos de moneda a devolver ya optimizado.



EJEMPLO


Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace WindowsFormsApplication1
  12. {
  13.    public partial class Form1 : Form
  14.    {
  15.  
  16.        public Form1()
  17.        {
  18.            InitializeComponent();
  19.        }
  20.  
  21.        private void button1_Click(object sender, EventArgs e)
  22.        {
  23.            FunCambio(Precio: 10.28m, Paga: 50m);
  24.        }
  25.        private void Form1_Load(object sender, EventArgs e)
  26.        {
  27.  
  28.        }
  29.  
  30.        /// <summary>
  31.        /// Calcula el número óptimo de monedas a devolver
  32.        /// </summary>
  33.        /// <param name="Precio">Total a abonar</param>
  34.        /// <param name="Paga">Total abonado</param>
  35.        public void FunCambio(decimal Precio, decimal Paga)
  36.        {
  37.  
  38.           // decimal Precio = 12.28m;
  39.           // decimal Paga = 50m;
  40.            int[] Euros = {
  41. 2,
  42. 1
  43. };
  44.            decimal[] Centimos = {
  45. 0.5m,
  46. 0.2m,
  47. 0.1m,
  48. 0.05m,
  49. 0.02m,
  50. 0.01m
  51. };
  52.  
  53.            if (Precio <= Paga)
  54.            {
  55.  
  56.                decimal Devolver = Paga - Precio;
  57.  
  58.              List<decimal> Cambio = new List<decimal>();
  59.  
  60.  
  61.  
  62.                while (Devolver >= 1)
  63.                {
  64.                    foreach (int Moneda in Euros)
  65.                    {
  66.                        if (Devolver >= Moneda)
  67.                        {
  68.                            Devolver -= Moneda;
  69.                            Cambio.Add(Moneda);
  70.                            break;
  71.                        }
  72.                    }
  73.                }
  74.                while (Devolver > 0)
  75.                {
  76.                    foreach (decimal Moneda in Centimos)
  77.                    {
  78.                        if (Devolver >= Moneda)
  79.                        {
  80.                            Devolver -= Moneda;
  81.                            Cambio.Add(Moneda);
  82.                            break;
  83.                        }
  84.                    }
  85.                }
  86.  
  87.                //MUESTRA EL RESULTADO
  88.                string Resultado = null;
  89.                int n2E = 0;
  90.                int n1E = 0;
  91.                int n50c = 0;
  92.                int n20c = 0;
  93.                int n10c = 0;
  94.                int n5c = 0;
  95.                int n2c = 0;
  96.                int n1c = 0;
  97.                decimal TotalADevolver = Paga - Precio;
  98.  
  99.                foreach (decimal Mda in Cambio)
  100.                {
  101.                switch (Convert.ToString(Mda))
  102.                    {
  103.                        case "2": n2E += 1; break;
  104.                        case "1": n1E += 1; break;
  105.                        case "0,5": n50c += 1; break;
  106.                        case "0,2": n20c += 1; break;
  107.                        case "0,1": n10c += 1;break;
  108.                        case "0,05":n5c += 1;break;
  109.                        case "0,02":n2c += 1;break;
  110.                        case "0,01":n1c += 1;break;
  111.                    }
  112.                }
  113.  
  114.                Resultado = string.Format("Precio: {1:0.00}€{0}" +
  115.                    "Cantidad abonada: {2:0.00}€{0}" +
  116.                    "Total a devolver: {3:0.00}€{0}{0}" +
  117.                    "CAMBIO{0}" + "2€: {4}{0}" +
  118.                    "1€: {5}{0}" + "50 céntimos: {6}{0}" +
  119.                    "20 céntimos: {7}{0}" +
  120.                    "10 céntimos: {8}{0}" +
  121.                    "5 céntimos: {9}{0}" +
  122.                    "2 céntimos: {10}{0}" +
  123.                    "1 céntimos: {11}{0}",
  124.                    Environment.NewLine,
  125.                    Precio,
  126.                    Paga,
  127.                    TotalADevolver, n2E, n1E, n50c, n20c, n10c,
  128.                n5c, n2c, n1c);
  129.  
  130.                MessageBox.Show(Resultado);
  131.            }
  132.            else
  133.            {
  134.                MessageBox.Show("El valor abonado es inferior al total a pagar");
  135.            }
  136.        }
  137.  
  138.    }
  139. }
  140.  

Se mostrará un mensaje con el resultado de las monedas a devolver como cambio.



VB.NET

Código
  1. Imports System.Text
  2.  
  3. Public Class Form1
  4.    Friend WithEvents Button2 As New Button
  5.    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  6.        FunCambio(Precio:=5.2, Paga:=50)
  7.  
  8.    End Sub
  9.    Public Sub FunCambio(ByVal Precio As Decimal, ByVal Paga As Decimal)
  10.        Dim Euros() As Integer = {2, 1}
  11.        Dim Centimos() As Decimal = {0.5, 0.2, 0.1, 0.05, 0.02, 0.01}
  12.        If Precio <= Paga Then
  13.  
  14.  
  15.            Dim Devolver As Decimal = Paga - Precio     'Total a devolver
  16.            Dim Cambio As New List(Of Decimal)          'Lista de cambio recibido
  17.  
  18.            While Devolver >= 1
  19.                For Each Moneda As Integer In Euros
  20.                    If Devolver >= Moneda Then
  21.                        Devolver -= Moneda
  22.                        Cambio.Add(Moneda)
  23.                        Exit For
  24.                    End If
  25.                Next
  26.            End While
  27.            While Devolver > 0
  28.                For Each Moneda As Decimal In Centimos
  29.                    If Devolver >= Moneda Then
  30.                        Devolver -= Moneda
  31.                        Cambio.Add(Moneda)
  32.                        Exit For
  33.                    End If
  34.                Next
  35.            End While
  36.  
  37.            'Muestra el resultado
  38.            Dim Resultado As String
  39.            Dim n2E, n1E, n50c, n20c, n10c, n5c, n2c, n1c As Integer
  40.            Dim TotalADevolver As Decimal = Paga - Precio
  41.            For Each N As Decimal In Cambio.ToList
  42.                Select Case N
  43.                    Case 2D : n2E += 1
  44.                    Case 1D : n1E += 1
  45.                    Case 0.5D : n50c += 1
  46.                    Case 0.2D : n20c += 1
  47.                    Case 0.1D : n10c += 1
  48.                    Case 0.05D : n5c += 1
  49.                    Case 0.02D : n2c += 1
  50.                    Case 0.01D : n1c += 1
  51.                End Select
  52.            Next
  53.  
  54.            Resultado = String.Format("Precio: {1:0.00}€{0}" &
  55.                                      "Cantidad abonada: {2:0.00}€{0}" &
  56.                                      "Total a devolver: {3:0.00}€{0}{0}" &
  57.                                      "CAMBIO{0}" &
  58.                                      "2€: {4}{0}" &
  59.                                      "1€: {5}{0}" &
  60.                                      "50 céntimos: {6}{0}" &
  61.                                       "20 céntimos: {7}{0}" &
  62.                                          "10 céntimos: {8}{0}" &
  63.                                            "5 céntimos: {9}{0}" &
  64.                                            "2 céntimos: {10}{0}" &
  65.                                             "1 céntimos: {11}{0}",
  66.                                      Environment.NewLine, Precio, Paga, TotalADevolver, n2E, n1E, n50c, n20c, n10c, n5c, n2c, n1c)
  67.  
  68.            MessageBox.Show(Resultado)
  69.        Else
  70.            MessageBox.Show("El valor abonado es inferior al total a pagar", "Atención", Nothing, MessageBoxIcon.Exclamation)
  71.        End If
  72.    End Sub
  73.  
  74. End Class



Más info:
https://es.wikibooks.org/wiki/Programaci%C3%B3n_din%C3%A1mica/Problema_de_las_monedas_con_programaci%C3%B3n_din%C3%A1mica
10  Programación / .NET / Thumbnail en ListView en: 4 Noviembre 2016, 18:20
hola, estoy tratando de mostrar las imágenes del directorio de temporales de Internet en un ListView pero no se ven.

Código
  1.        Dim lstImages As New ImageList()
  2.        lstViewJPG.Items.Clear()
  3.        lstViewJPG.LargeImageList = lstImages
  4.        lstViewJPG.View = View.LargeIcon
  5.  
  6.        Dim strCacheDir As String = CStr(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache))
  7.        Dim strFiles As IEnumerable = Directory.EnumerateFiles(strCacheDir, "*", SearchOption.AllDirectories)
  8.        For Each strFileName As String In strFiles
  9.            Select Case Path.GetExtension(strFileName)
  10.                Case ".jpg"
  11.  
  12.                    Try
  13.  
  14.                        Dim Imagen As Image = Image.FromFile(strFileName)
  15.                        lstImages.ImageSize = New Size(CInt((Imagen.Width * 50) / Imagen.Height), 50)
  16.                        lstImages.Images.Add(Path.GetFileName(CStr(strFileName)), Imagen)
  17.                        lstViewJPG.Items.Add(Path.GetFileName(CStr(strFileName)), Path.GetFileName(CStr(strFileName)))
  18.                        Imagen.Dispose()
  19.                    Catch ex As Exception
  20.                        lstImages.ImageSize = New Size(CInt(50), 50)
  21.                    End Try
  22.            End Select
  23.  
  24.        Next

falta iconos, png, y bmp. El ejemplo es solo para archivos jpg.

Además me gustaría que la imagen fuera proporcional  a la imagen original. cuando lo intento me da error.

gracias
Páginas: [1] 2 3 4 5 6 7 8 9
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines