Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#5251
¿No puedes al menos leer los términos de uso en la página oficial?.

Cita de: https://help.github.com/articles/github-terms-of-service/We may, but have no obligation to, remove Content and Accounts containing Content that we determine in our sole discretion are unlawful, offensive, threatening, libelous, defamatory, pornographic, obscene or otherwise objectionable or violates any party's intellectual property or these Terms of Service.

Saludos!
#5252
Cita de: luis456 en  1 Mayo 2015, 16:35 PMcon pistas tampoco

Código (vbnet) [Seleccionar]

       Dim cuenta As Integer = cols.Count()
       MsgBox(cols.Count) lleva cuatro bien
       MsgBox(col1.Count) lleva 10 numeros bien
       MsgBox(col2.Count) lleva 9 mal eliminar


Eso no es lo que te expliqué que debes hacer, solo tienes que utilizar ese cols.Count() en la query de LINQ que te mostré y que ya te lo mencioné...

Cita de: luis456 en  1 Mayo 2015, 16:35 PMno se como contar o mirar dentro de los col1 ,col2... que estan  a su ves en el grupo cols
Con la claúsula WHERE.

Código (vbnet) [Seleccionar]
From col As IEnumerable(Of Integer) In {col1, col2, col3, col4}
Where (col.Count() <= Max)
Group By...
...


¿Ves cómo era muy facil?.

Saludos
#5253
Cita de: luis456 en  1 Mayo 2015, 07:01 AM01, 02, 08, 06, 09 <-----eliminar ya que tiene que tener 10 numeros
02, 03<-------------------eliminar ya que tiene que tener 10 numeros

Entendí que el "10", es decir esa variable "max" era con la intención de limitar los valores, no la cantidad de valores por secuencia.

Solo debes evaluar el valor de la función Enumerable.Count() usando la clausula WHERE en la misma query que te he mostrado.

Enumerable.Count() - MSDN
Cita de: MSDNReturns the number of elements in a sequence.

...y eliminar esto que yo escribí, claro está:
Citar
Código (vbnet,2) [Seleccionar]
...
Where Not (value > max)
...

Creo que eres capaz de corregirlo pero por si acaso te doy una pista, ese WHERE que he citado tienes que eliminarlo, no reemplazarlo, el WHERE que tu tienes que añadir debe ir en otro lugar.

Saludos
#5254
Cita de: dimitrix en  1 Mayo 2015, 00:20 AMyo prefiero seguir dando ese dinero a homeless o a artistas callejeros que intentan ganarse la vida como pueden. Pero me ha hecho reflexionar

Quien debería reflexionar y madurar de mentalidad es tu amigo, si yo tuviese un amigo que le regalase constántemente dinero a los pobres me sentiría orgulloso de tener una persona tan benévola en mi círculo de amistades,
que no te coman el coco con estupideces, no dejes que la opinión de tu amigo te influya, lo que haces es genial y no debes cambiar a menos que sea para mejorar, tu amigo tiene un techo y unos padres que le cuidan mientras que los homeless no tienen nada, que recapacite sobre eso porque si ese amigo tuyo quiere ganarse tus favores entonces se lo debería ganar respetándote, respetando lo que haces por los demás, sin tener que recurrir al enfado solo por que cómo el dinero se lo regalas a otras personas eso no le beneficia a tu amigo, además por lo que has dicho también es un síntoma de envidia materialista hacia esas otras personas, menuda estupidez de comportamiento tiene tu amigo ...debería darle verguenza,
pf, lo que ocurre es que la amistad que se suele encontrar hoy en día no es amistad, es interés, hoy por ti y mañana por mi, si algún dia me fallas yo también, en fin.

Cita de: dimitrix en  1 Mayo 2015, 04:24 AM¿Tú que harías?

Yo sinceramente no regalaría dinero a amigos por que se entiende que serían de clase media y por ese motivo ellos no necesitarían ese dinero más de lo que lo podría necesitar yo (o mi familia), tampoco le regalaría dinero a mendigos por que generalizando la gran mayoría tienen adicciones a la droga debido a la depresión que le causa vivir en la calle, y muchos de esos mendigos drogadictos pueden ganar bastante pasta al día (cerca de 100€ y más) pero al final se lo gastan en lo que se lo gastan, y eso es tirar mi dinero, ¿regalar dinero para contribuir a que una persona se mate?, no hombre no, prefiero regalar comida o ropa, que al menos se lo que harán con ella.

Saludos
#5255
repito la pregunta:
CitarDices que en este ejemplo solo debe quedar una secuencia (o eso entiendo por "registro"), ¿cual?, y ¿por qué?.

No se si esto produce el resultado que esperas:
Código (vbnet) [Seleccionar]
Dim col1 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
Dim col2 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
Dim col3 As IEnumerable(Of Integer) = {1, 2, 8, 6, 9}
Dim col4 As IEnumerable(Of Integer) = {2, 2, 3}
Dim max As Integer = 10

Dim cols As IEnumerable(Of IEnumerable(Of String)) =
   From col As IEnumerable(Of Integer) In {col1, col2, col3, col4}
   Group By String.Join("", col).AsEnumerable
   Into Group
   Select From value As Integer In Group.First.Distinct
          Where Not (value > max)
          Select value.ToString(format:="0#")

ListBox1.Items.AddRange((From col As IEnumerable(Of String) In cols Select String.Join(", ", col)).ToArray)


Resultado de ejecución:
01, 05, 06, 07, 08, 09, 10
01, 02, 08, 06, 09
02, 03


Saludos
#5256
Especifica claramente lo de los duplicados, dices que en este ejemplo solo debe quedar una secuencia (o eso entiendo por "registro"), ¿cual?, y ¿por qué?.

Citar
Código (vbnet) [Seleccionar]
Dim col1 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
Dim col2 As IEnumerable(Of Integer) = {1, 5, 6, 7, 8, 9, 10, 11}
Dim col3 As IEnumerable(Of Integer) = {1, 2, 8, 6, 9}
Dim col4 As IEnumerable(Of Integer) = {2, 2, 3}

¿Quieres dscartar los valores duplicados entre cada decuencia?, ¿o quieres descartar la secuencia entera en caso de que algún valor esté repetido con los valores de otra de las secuencias?, por que ambas cosas son muy distintas.

Da más detalles

Saludos
#5257
Cita de: kondrag_X1 en 30 Abril 2015, 16:33 PMyo lo tengo para ganarme un extra

Cómo todos xD.

A mi tampoco es que me salga un trabajo cada semana, cómo tu has dicho es jodido ...pues hay demasiada competencia, pero, dejando a un lado el tema de la estimación, si me permites unos consejos que creo que te podrían servir cómo me sirvieron a mi...

Si te lo puedes permitir entonces se selectivo evitando los clientes que lo quieran todo YA, generalizando suelen ser personas exigentes que no atiendan a razones, y desagradecidos, claro que es un trabajo donde lo que importa es el dinero por un trabajo bien hecho pero siempre llena de ánimos y motivación que alguien reconozca tú esfuerzo y yo eso lo he visto más en personas pacientes que impacientes, aunque habrá personas de todo tipo claro está.

Evita esas típicas webs archi-conocidas de oportunidades de trabajo freelance cómo Freelancer.com, no valen para nada (particulármente la que he mencionado), tienen muchas fisuras de todo tipo tanto bugs cómo aspectos que rozan la ilegalidad y te perjudican (que puedes leer en blogs buscando críticas constructivas en Google) y en el fondo ese tipo de webs es la peor opción por que tienes que tener mucha suerte para poder competir contra miles de Bots estafadores que siempre estan alerta como hienas y que encima son más baratos que tú (claro, estafando).

Suscríbete a boletines de correo (o RSS) para Freelancers, "véndete" en foros, blogs, facebook, youtube y/o chats, es decir en páginas de todo tipo haciendo spam sobre tus habilidades de programación (no hacer spam en elhacker.net), y regístrate en páginas de oportunidades freelancer que sean de calidad cómo por ejemplo www.guru.com, y también puedes vender tus servicios de una manera un poco distinta en páginas tipo www.fiver.es, www.gigsbag.com, o www.geniuzz.com.

Saludos
#5258
En un principio yo también veo mal ofrecer ayuda a quien lo pide todo hecho sin mostrar código alguno, pero me he dado cuenta de que un "ejercicio" o utilidad cómo esta me faltaba en mi librería personal de códigos y me ha llamado la atención el desarrollar este tipo de utilidad para un uso genérico, ya que lo hago pues lo comparto.

Imagen trasera e imagen delantera
   

Superposición (opaca)


Código fuente
Código (vbnet) [Seleccionar]
   ''' <remarks>
   ''' *****************************************************************
   ''' Snippet Title: Overlay Images
   ''' Code's author: Elektro
   ''' Date Modified: 30-April-2015
   ''' *****************************************************************
   ''' </remarks>
   ''' <summary>
   ''' Overlay an image over a background image.
   ''' </summary>
   ''' <param name="backImage">The background image.</param>
   ''' <param name="topImage">The topmost image.</param>
   ''' <param name="topPosX">An optional adjustment of the top image's "X" position.</param>
   ''' <param name="topPosY">An optional adjustment of the top image's "Y" position.</param>
   ''' <returns>The overlayed image.</returns>
   ''' <exception cref="ArgumentNullException">backImage or topImage</exception>
   ''' <exception cref="ArgumentException">Image bounds are greater than background image.;topImage</exception>
   Public Shared Function OverlayImages(ByVal backImage As Image,
                                        ByVal topImage As Image,
                                        Optional ByVal topPosX As Integer = 0,
                                        Optional ByVal topPosY As Integer = 0) As Image

       If backImage Is Nothing Then
           Throw New ArgumentNullException(paramName:="backImage")

       ElseIf topImage Is Nothing Then
           Throw New ArgumentNullException(paramName:="topImage")

       ElseIf (topImage.Width > backImage.Width) OrElse
              (topImage.Height > backImage.Height) Then
           Throw New ArgumentException(message:="Image bounds are greater than background image.", paramName:="topImage")

       Else
           topPosX += CInt((backImage.Width / 2) - (topImage.Width / 2))
           topPosY += CInt((backImage.Height / 2) - (topImage.Height / 2))

           Dim bmp As New Bitmap(backImage.Width, backImage.Height)

           Using canvas As Graphics = Graphics.FromImage(bmp)

               canvas.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic

               canvas.DrawImage(image:=backImage,
                                destRect:=New Rectangle(0, 0, bmp.Width, bmp.Height),
                                srcRect:=New Rectangle(0, 0, bmp.Width, bmp.Height),
                                srcUnit:=GraphicsUnit.Pixel)

               canvas.DrawImage(image:=topImage,
                                destRect:=New Rectangle(topPosX, topPosY, topImage.Width, topImage.Height),
                                srcRect:=New Rectangle(0, 0, topImage.Width, topImage.Height),
                                srcUnit:=GraphicsUnit.Pixel)

               canvas.Save()

           End Using

           Return bmp

       End If

   End Function


Traducción online a C#
Código (csharp) [Seleccionar]

/// <remarks>
/// *****************************************************************
/// Snippet Title: Overlay Images
/// Code's author: Elektro
/// Date Modified: 30-April-2015
/// *****************************************************************
/// </remarks>
/// <summary>
/// Overlay an image over a background image.
/// </summary>
/// <param name="backImage">The background image.</param>
/// <param name="topImage">The topmost image.</param>
/// <param name="topPosX">An optional adjustment of the top image's "X" position.</param>
/// <param name="topPosY">An optional adjustment of the top image's "Y" position.</param>
/// <returns>The overlayed image.</returns>
/// <exception cref="ArgumentNullException">backImage or topImage</exception>
/// <exception cref="ArgumentException">Image bounds are greater than background image.;topImage</exception>
public static Image OverlayImages(Image backImage, Image topImage, int topPosX = 0, int topPosY = 0)
{

       if (backImage == null) {
throw new ArgumentNullException(paramName: "backImage");

} else if (topImage == null) {
throw new ArgumentNullException(paramName: "topImage");

} else if ((topImage.Width > backImage.Width) || (topImage.Height > backImage.Height)) {
throw new ArgumentException("Image bounds are greater than background image.", "topImage");

} else {
topPosX += Convert.ToInt32((backImage.Width / 2) - (topImage.Width / 2));
topPosY += Convert.ToInt32((backImage.Height / 2) - (topImage.Height / 2));

Bitmap bmp = new Bitmap(backImage.Width, backImage.Height);

using (Graphics canvas = Graphics.FromImage(bmp)) {
canvas.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic;
canvas.DrawImage(image: backImage, destRect: new Rectangle(0, 0, bmp.Width, bmp.Height), srcRect: new Rectangle(0, 0, bmp.Width, bmp.Height), srcUnit: GraphicsUnit.Pixel);
canvas.DrawImage(image: topImage, destRect: new Rectangle(topPosX, topPosY, topImage.Width, topImage.Height), srcRect: new Rectangle(0, 0, topImage.Width, topImage.Height), srcUnit: GraphicsUnit.Pixel);

canvas.Save();
}
return bmp;
}
}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//=======================================================


Modo de empleo (el mismo que he usado para generar el ejemplo de superposición de arriba)
Código (vbnet) [Seleccionar]
Dim backImg As Image = Image.FromFile("C:\back.jpg")
Dim topImg As Image = Image.FromFile("C:\top.png")
Dim overlay As Image = OverlayImages(backImg, topImg, topPosX:=+5, topPosY:=-15)
overlay.Save("C:\Overlay.jpg", Imaging.ImageFormat.Jpeg)
Process.Start("C:\Overlay.jpg")


Saludos
#5259
Buenas

1. Los índices empiezan por 0, si quieres determinar que haya un item seleccionado en un combobox de la manera en que lo estás haciendo entonces debes evaluar el valor -1, donde -1 es ninguno, 0 el el primer item, 1 el segundo item, etc...
Código (csharp) [Seleccionar]
if (ComboBox.SelectedIndex != 1) {
   // ...
}


2. Eliminar el texto del combobox no altera el índice de selección, el valor de la propiedad SelectedIndex seguirá siendo el mismo que estaba seleccionado antes de eliminar el texto, a menos que tengas un item vacío (una linea en blanco) y tu intención sea seleccionar ese item vacío, cosa que no has especificado.

Si lo que quieres es deseleccionar el item entonces puedes hacer:
Código (csharp) [Seleccionar]
ComboBox1.SelectedItem = Nothing;
o también:
Código (csharp) [Seleccionar]
ComboBox1.SelectedIndex = -1;

3. ¿Porque limpias el DataSet en cada comparación de cada ComboBox?, se que tienes dudas sobre eso, pero no llego a entender con que intención lo haces tantas veces seguidas, obviamente es innecesario. No me manejo con tareas que requieran el uso de SQL, pero si necesitases limpiar las filas de las tablas del dataset entonces hazlo una vez y justo antes de rellenar usando el método Fill del SQLAdapter, en el método cargarActas2:

Código (csharp) [Seleccionar]
...
ds.Clear();
dataAdap.Fill(ds);
...


Y digo "si necesitases", por que realmente no se si es necesario ya que no he comprobado que el método Fill del SQLAdapter las limpie antes de rellenar, cabría esperar que si lo hiciese, pero repito de nuevo que no manejo SQL, si no estás seguro compruébalo por ti mismo para salir de dudas.

4. No estás respetando el buen uso de la cantidad de espacios en blanco en la query de SQL ni los valores de String que debes encerrar entre comillas, aunque repito que no manejo SQL, pero algo conozco sin haberlo llegado a usar, de todas formas toda esa maraña de ifs lo puedes simplificar para construir esa parte de la query de manera más dinámica, por ejemplo así:

Código (vbnet) [Seleccionar]
   Private filterList As New List(Of String)

   Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
   Handles MyBase.Load

       ' Set property names as tags
       Me.ComboBox1.Tag = "iddpto"
       Me.ComboBox2.Tag = "idprofe"
       Me.ComboBox3.Tag = "idmate"
       Me.ComboBox4.Tag = "idperi"
       Me.ComboBox5.Tag = "idtiposem"

   End Sub

   Private Sub ComboBox_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) _
   Handles ComboBox1.SelectedIndexChanged,
           ComboBox2.SelectedIndexChanged,
           ComboBox3.SelectedIndexChanged,
           ComboBox4.SelectedIndexChanged,
           ComboBox5.SelectedIndexChanged

       Dim cb As ComboBox = DirectCast(sender, ComboBox)

       Me.filterList.Remove(Me.filterList.Find(Function(item As String) item Like String.Format("AND A.{0}*", cb.Tag.ToString)))

       If cb.SelectedIndex <> -1 Then
           Me.filterList.Add(String.Format("AND A.{0}='{1}'", cb.Tag.ToString, cb.SelectedItem.ToString))
       End If

#If DEBUG Then
       Debug.WriteLine(String.Join(" ", Me.filterList))
#End If

   End Sub


Traducción a C#:
Código (csharp) [Seleccionar]

private List<string> filterList = new List<string>();

private void Form1_Load(object sender, EventArgs e) {

// Set property names as tags
this.ComboBox1.Tag = "iddpto";
this.ComboBox2.Tag = "idprofe";
this.ComboBox3.Tag = "idmate";
this.ComboBox4.Tag = "idperi";
this.ComboBox5.Tag = "idtiposem";
}

// nota: Este event-handler lo usas para suscribirte al evento 'SelectedIndexChanged' de TODOS los ComboBoxes.
private void ComboBox_SelectedIndexChanged(object sender, EventArgs e) {

ComboBox cb = (ComboBox)sender;
       this.filterList.Remove(this.filterList.Find((string item) => item.StartsWith(string.Format("AND A.{0}", cb.Tag.ToString))))

if (cb.SelectedIndex != -1) {
this.filterList.Add(string.Format("AND A.{0}='{1}'", cb.Tag.ToString, cb.SelectedItem.ToString));
}

// #if DEBUG
    Debug.WriteLine(string.Join(" ", this.filterList));
// #endif
}


Haznos saber si alguna de estas correcciones o sugerencias ha corregido el problema que tienes.

Saludos
#5260
Foro Libre / Re: Los mitos de las computadoras
30 Abril 2015, 03:17 AM
La música del final de estilo Chiptune me ha gustado mucho, ¿podrías indicar como se llama el tema? :xD

El mito de los pedófilos no es un mito, es la realidad, no está todo lleno de pedófilos criminales, pero hoy en día es algo parecido, pues solo hay que entrar en cualquier chat para comprobar que el 99% de usuarios son gente masculina y con el pito tan salido que se tirarían hasta a su hermana de 14 años si se la encontrasen chateando en la sala sin saber quien es.

Saludos