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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: 1 ... 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 [60] 61 62 63
591  Foros Generales / Foro Libre / Re: Es legal que te echen de unas prácticas empresa por tirarte un pedo o eructar en: 7 Abril 2017, 19:18 pm
La legalidad depende de las circunstancias en las que te tiras dicho pedo o eructas. Si es involuntario o por problemas médicos/salud entonces es ilegal que te echen. Si es por joder o de broma entonces es bastante legal dado que perjudicas a los demás compañeros y el ambiente de trabajo.

Por supuesto en caso de despido y ante una reclamación, tendrás que demostrar que fue involuntario o debido a problemas de salud.

Saludos

¿Pero como puede ser legal echar a alguien por tirarse un pedo o eructo (y/o aunque no lo sea pero que se piense? ¿Tan gratuito y fácil es echar  a alguien?

¿Es que estamos locos o qué? ¿Y como diantres voy a demostrar que es voluntario o involuntario?

estoy estupefacto.  :o



¿En qué artículo, decreto o lo que sea aparece eso?


Estoy hablando que, según las amanazas del coordinador, simplemente con carraspear y aunque no sea eructo se reservan el derecho a expulsarme. Es más, si la empresa, por la razón que sea me quiere quitar de en medio tan solo tienen que decir que hice un "ruidito" (sea cual fuera).


592  Foros Generales / Foro Libre / Es legal que te echen de unas prácticas empresa por tirarte un pedo o eructar en: 7 Abril 2017, 19:07 pm
Se que la pregunta perece broma, pero es absolutamente sincera.

Estoy  realizando un curso del SOC, y el coordinador me ha notificado que si durante las prácticas en empresa hago algún "ruidito" (aunque sea involuntariamente) seré inmediatamente expulsado.

NOTA: el "ruidito" todo y aunque no fuera tal si se pensara que lo es, igualmente sería expulsado.

¿Es esto legal? ¿Se puede echar a alguien por tirarse un pedo o eructar?

En el caso que ocurriera me gustaría denunciarlo legalmente ¿tendría las de ganar o las de perder?

gracias
593  Programación / .NET (C#, VB.NET, ASP) / Re: No encuentro evento de DataGridViewComboBoxCell en: 1 Abril 2017, 14:17 pm
@Elektro sois un genio muchas gracias. ;-)

Funciona perfecto.

Ahora tengo que usar SelectedItem debido a que el DataGridView no recoge el elemento seleccionado hasta haber abandonado la celda o haber pulsado Enter. Ese era el problema. Ahora va perfecto.

Código
  1. ...
  2.    Private Sub ComboBox_SelectedIndexChanged(sender As Object, e As EventArgs)
  3.  
  4.        Dim cb As ComboBox = DirectCast(sender, ComboBox)
  5.  
  6.        If (cb.SelectedIndex <> -1) Then
  7.            Dim dgv As DataGridView = DirectCast(cb.Parent.Parent, DataGridView)
  8.            Dim cell As DataGridViewCell = dgv.CurrentCell
  9.            Dim colIndex As Integer = cell.ColumnIndex
  10.            Dim rowIndex As Integer = cell.RowIndex
  11.  
  12.            'Dim sb As New System.Text.StringBuilder()
  13.            'sb.AppendLine(String.Format("Selected index changed: {0}", cb.SelectedIndex))
  14.            'sb.AppendLine(String.Format("Column Index: {0}, Row Index: {1}", colIndex, rowIndex))
  15.            'MessageBox.Show(sb.ToString())
  16.  
  17.            MessageBox.Show(CStr(DataGridView1.Item(colIndex, rowIndex).Value))
  18.            MessageBox.Show(CStr(cb.SelectedItem))
  19.        End If
  20.  
  21.    End Sub

El primer mensaje  aparece vacío, mientras que el segundo devuelve valor.

Saludos
594  Programación / .NET (C#, VB.NET, ASP) / No encuentro evento de DataGridViewComboBoxCell en: 31 Marzo 2017, 20:06 pm
hola

He creado un DataGridView dentro da algunas celdas he añadido combox (DataGridViewComboBoxCell). El caso es que necesito que al seleccionar un elemento del combo, automáticamente reciba el evento y usar el valor seleccionado para buscarlo en una tabla DataTable para luego obtener un valor:

Código
  1.    Public Sub GetValue(ByVal numCol As Integer, ByVal numRow As Integer)
  2.        If numCol = 0 Then
  3.            For Each N As DataRow In dt.Rows
  4.                Dim Item As String = CStr(N.Item(1).ToString.Replace("*", ""))
  5.                Try
  6.                    If DataGridView1.Item(numCol, numRow).Value.ToString.Contains(Item) Then
  7.                        DataGridView1.Item(5, 0).Value = N.Item(10)
  8.                    End If
  9.                Catch ex As Exception
  10.  
  11.                End Try
  12.  
  13.            Next
  14.        End If
  15.    End Sub

Tengo una tabla DataTable llamada dt y con el este código la idea es añadirla en un evento el cual me devuelve la columna y la fila donde  he seleccionado el elemento del combo y llamo al procedimiento getValue:
Código
  1. GetValue(e.ColumnIndex, e.RowIndex )

Pero no consigo encontrar ningún evento que ejecute el procedimiento instantáneamente nada más hacer clic en un elemento del combo.

Solo consigo que devuelva el valor cuando hago clic en otra ceda del DataGridView y abandono el combo.

espero me puedan ayudar  :)


Gracias
595  Programación / Programación Visual Basic / Re: Comparar dos listbox en: 18 Marzo 2017, 15:18 pm
a ver si te sirve esto, está en VB6

Código
  1. With List1
  2. .AddItem (25)
  3. .AddItem (36)
  4. .AddItem (18)
  5. .AddItem (13)
  6. End With
  7. With List2
  8. .AddItem (16)
  9. .AddItem (36)
  10. .AddItem (11)
  11. End With
  12.  
  13.  
  14.  
  15. Dim Diferencia() As Boolean 'Array para guardar el resultado de la comparación
  16.  
  17.  
  18. For Item = 0 To List1.ListCount - 1
  19.         ReDim Preserve Diferencia(Item + 1)
  20.     Diferencia(Item) = CBool(List1.List(Item) = List2.List(Item))
  21.      If List2.List(Item) = "" Then
  22.        Diferencia(Item) = False
  23.      End If
  24.  
  25. Next Item
  26. MsgBox ("¿Son iguales " & List1.List(0) & " y " & List2.List(0) & "? " & Diferencia(0))
  27.  
  28.  
  29. Dim str As String
  30. For Index = 0 To UBound(Diferencia) - 1
  31. str = str + _
  32.     List1.List(Index) & "=" & _
  33.     List2.List(Index) & " --> " & _
  34.     Diferencia(Index) & vbCrLf
  35.  
  36. Next Index
  37. MsgBox (str)
  38.  
  39.  


meto las diferencias en un array booleano para poder acceder a él siempre que se quiera como se muestra en el primer mensaje.

como ejemplo he hecho una lista más larga que otra, pero lo suyo es que ambas sean de igual longitud.

espero que te sirva

saludos
596  Programación / Programación General / Re: VB.NET infravalorado en: 18 Marzo 2017, 13:47 pm
VB6 hizo mucho daño al mundo y eso no se olvida tan facilmente xD.

Seguramente sea eso, ellos que tengo entendido no han tocado VB, o VS en general, confunden VB6 con VB.NET. 

He estado mirando tu respuestas, en NET y te tengo por un gurú de NET. Te imagino sentado en mi clase y que se te pongan a explicarte directamente a ti como a un niño pequeño lo que es un array , de risa :xD. Como si no existieran en VB o VB.NET.
597  Programación / Programación General / VB.NET infravalorado en: 18 Marzo 2017, 12:42 pm
que tal.

Actualmente estoy en una escuela de informática en la cual estoy aprendiendo javascript , que no necesito ir a una escuela para aprender, pero claro, siendo autodidacta no hay título.

El caso es que yo comenté  que sabía programar con VB, VB.NET y C# pero el profesor me trata como si fuera un mamarracho que no ha programado en su vida, ni tuviera ni idea de programación, algo que me irrita bastante. Muy al contrario que con otro estudiante que ya de entrada decía que sabía javascript (sin título), que lo tiene como si fuera el mismísimo Albert Einstein de la programación. Dicho estudiante dijo que VB es una porquería, al tiempo que ASP.NET

Tengo la sensación que VB.NET y VS en general se INFRAVALORA bastante, y es considerado una programación menor.

Personalmente creo que VB,  C# y C++  tiene mucha más funcionalidad y complejidad que javascript. Éste último destaca porque es muy usado teniendo en cuenta que es el lenguaje por excelencia para aplicaciones WEB, y teniendo en cuenta el tiempo que vivimos y su uso en Internet, no es de extrañar que se le de más importancia, mientras que  VB por ejemplo queda relegado sistemas de desarrollo de Windows.

La verdad es que es irritante haberme tirado años programando con VB (el viejo y el de ahora) y últimamente en C# para llegar a un sitio y me traten como un recién salido de la guardería en el ámbito de la programación.

También veo en Internet muchos comentarios negativos hacia VB.NET y no entiendo muy bien el porqué, En algunos aspectos lo entiendo pero en términos de funcionalidad y complejidad no creo que sea como hablar de él como si fuera de preescolar.

Saludos
598  Sistemas Operativos / Windows / Documento de texto enriquecido no está disponible en el menú Nuevo en: 16 Marzo 2017, 20:56 pm
que tal, tengo Windows 7 64 bits y no tengo disponible en el menú Nuevo del menú contextual del Escritorio el "Documento de texto enriquecido"

Buscando en Google, he encontrado que modificando el registro en HKEY_CLASSES_ROOT, elijo cualquier extensión de archivo. Si no tiene la clave [ShellNew] la creo,  y en esta clave añado un valor de cadena con nombre "NullFile", el tipo de archivo elegido aparecerá en el menú Nuevo.

Sin embargo, y atención a esto, desde otro ordenador también con Windows 7 que SI dispone del Documento de texto enriquecido (RTF) en el menú nuevo, no aparece tal valor "NullFile". Así que no creo que el que no tenga dicho valor sea la razón de que no me aparezca en el menú del otro ordenador.

¿Alguien sabe porqué y como puedo añadirlo?




El "NullFile" está en la extensión .bmp y sin embargo no aparece en el menú.

Creo recordar que había un cuadro en no se donde donde se podía elegir los elementos de este menú, pero quizás me equivoque.


Gracias
599  Programación / .NET (C#, VB.NET, ASP) / Re: obtener celdas seleccionadas (DataGridView) en: 16 Marzo 2017, 20:35 pm
A mi me funciona perfectamente el evento DataGridView.Click, al seleccionar múltiples celdas la propiedad DataGridView.SelectedCells.Count devuelve el valor esperado y tú código funciona correctamente, así como si lo pruebo a hacer cuando se dispara el evento DataGridView.CellClick. La deselección y selección de elementos ocurre ANTES de que se dispare el evento Click/Cellclick.

Supongo que lo que te ocurre será algún fallo de diseño de alguna versión anterior de los controles de WindowsForms que ya corrijieron en algún update de .NET Framework. Por si te sirve de algo, esto lo he probado en Visual Studio 2015 bajo .NET Framework 4.0, 4.5 y 4.6



Con respecto al código que has mostrado, si por el motivo que sea realmente no puedes recurrir a la propiedad DataGridView.SelectedCells para especiificar lso valores de las celdas seleccionadas:
Código
  1. For Each cell As DataGridViewCell In Me.DataGridView1.SelectedCells
  2.    cell.Value = ...
  3. Next cell

Entonces yo modificaría un poco el código para utilizar un tipo más versatil que una lista desordenada como estás usando... por ejemplo:
Código
  1. Dim cellsDict As New SortedDictionary(Of Integer, SortedSet(Of Integer))(Comparer(Of Integer).Default)
  2. For Each cell As DataGridViewCell In DirectCast(sender, DataGridView).SelectedCells
  3.    If Not cellsDict.ContainsKey(cell.ColumnIndex) Then
  4.        cellsDict.Add(cell.ColumnIndex, New SortedSet(Of Integer))
  5.    End If
  6.    cellsDict.Item(cell.ColumnIndex).Add(cell.RowIndex)
  7. Next cell
  8.  
  9. Dim sb As New StringBuilder()
  10. For Each kvp As KeyValuePair(Of Integer, SortedSet(Of Integer)) In cellsDict
  11.    sb.AppendLine(String.Format("{0}, {{{1}}}", kvp.Key, String.Join(", ", kvp.Value)))
  12. Next
  13. MessageBox.Show(sb.ToString())
  14. ' sb.Clear()
  15. ' cellsDict.Clear()
Y entonces...
Código
  1. For Each kvp As KeyValuePair(Of Integer, SortedSet(Of Integer)) In cellsDict
  2.    For Each value As Integer In kvp.Value
  3.        Dim cell As DataGridViewCell = Me.DataGridView1.Rows(value).Cells(kvp.Key)
  4.        cell.Value = ...
  5.    Next value
  6. Next kvp

¡Saludos!

Elektro el problema ye está solucionado ya que di con la solución, como ya comenté. De todos modos gracias por el interés, el esfuerzo y el aporte.

Te explico. El evento que utilicé no fue DataGridView1_Click, si no DataGridView1_CellMouseClick.

Quizá no me expliqué bien o no me entendiste. Lo que yo me refería era esto.

PRIMERO:  Arrastrar y seleccionar un grupo de celdas, entonces estas celdas por defecto quedan de color azul marino indicando que están seleccionadas.

SEGUNDO:  Una vez hecho esto hago clic de nuevo sobre cualquier celda de las que han quedado seleccionadas, me devuelve las celdas que hay seleccionadas y luego relleno las celdas.

El evento DataGridView1_Click, como dices si que devuelve el total las celdas seleccionadas, pero en el momento de arrastrar y soltar. Una vez seleccionadas al hacer clic la segunda vez en cualquiera de las celdas seleccionadas devuelve 1. Esto es porque al clicar de nuevo en UNA, todas se deseleccionan excepto la celda seleccionada la segunda vez y lógicamente devuelve 1.


Código
  1.  
  2.    Private Sub DataGridView1_Click(sender As Object, e As EventArgs) Handles DataGridView1.Click
  3.        MessageBox.Show(CStr(Me.DataGridView1.SelectedCells.Count))
  4.    End Sub



De modo que lo que pedía era primero seleccionar y que no ocurra nada, de nada. Y en el segundo clic en cualquier celda seleccionada me devuelva la colección.

Si aplicas el mismo código en  DataGridView1.CellClick, no devuelve la colección ni cuando seleccionas y cuando haces clic la segunda vez.


La solución ha sido obtener la colección desde el evento MyDataGridView_CellMouseUp guardar la colección en un array y ahora si la dimensión del array es mayor de 1 entonces rellena las celdas de la colección desde el evento DataGridView1_CellMouseClick:

Código
  1. Public Class Form1
  2.    Dim CellColection As New List(Of String)
  3.    Dim WithEvents MyDataGridView As New DataGridView
  4.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  5.        Me.Controls.Add(MyDataGridView)
  6.        With MyDataGridView
  7.            .Width = 406
  8.            .Height = 200
  9.            .ReadOnly = True
  10.            .ColumnCount = 3
  11.            .RowCount = 5
  12.            .Columns(0).Name = "Columna 1"
  13.            .Columns(1).Name = "Columna 2"
  14.            .Columns(2).Name = "Columna 3"
  15.  
  16.        End With
  17.    End Sub
  18.  
  19.    Private Sub MyDataGridView_CellMouseClick(sender As Object, e As DataGridViewCellMouseEventArgs) Handles MyDataGridView.CellMouseClick
  20.        If e.Button = Windows.Forms.MouseButtons.Left Then
  21.            If CellColection.Count > 1 Then
  22.                For Each Item In CellColection
  23.                    Dim Columna As Integer = CInt(Item.Substring(0, 2))
  24.                    Dim Fila As Integer = CInt(Item.Substring(2, 2))
  25.                    If String.IsNullOrWhiteSpace(CStr(MyDataGridView.Item(Columna, Fila).Value)) Then
  26.                        MyDataGridView.Item(Columna, Fila).Value = String.Format("{0:00}{1:00}", Columna, Fila)
  27.                    Else
  28.                        MyDataGridView.Item(Columna, Fila).Value = ""
  29.                    End If
  30.  
  31.                Next
  32.            End If
  33.        End If
  34.    End Sub
  35.  
  36.  
  37.    Private Sub MyDataGridView_CellMouseUp(sender As Object, e As DataGridViewCellMouseEventArgs) Handles MyDataGridView.CellMouseUp
  38.        'Obtiene la colección
  39.        CellColection.Clear()
  40.        For Each Cell As DataGridViewCell In Me.MyDataGridView.SelectedCells
  41.            CellColection.Add(String.Format("{0:00}{1:00}", Cell.ColumnIndex, Cell.RowIndex))
  42.        Next
  43.    End Sub
  44. End Class


Como podrás comprobar al hacer clic la primera vez y arrastrar no ocurrirá nada, pero al hacer clic de nuevo en cualquiera de las cedas seleccionadas éstas se rellenan.

Así que selecciono un grupo de celdas sin que ocurra nada, ¿que no me gustan? vuelvo a seleccionar otras, cuando estoy de acuerdo, hago clic sobre cualquiera de las celdas seleccionadas y entonces se rellenan.

Saludos.
600  Programación / .NET (C#, VB.NET, ASP) / obtener celdas seleccionadas (DataGridView) en: 14 Marzo 2017, 09:37 am
que tal, necesito obtener las celdas seleccionadas al hacer click de un DataGridView.

He probado con este código pero sólo me devuelve la celda donde hice clic.
Código
  1.   Dim celda As New List(Of String)
  2.        For Each cell As DataGridViewCell In Me.DataGridView1.SelectedCells
  3.            celda.Add(CStr(cell.ColumnIndex & "," & cell.RowIndex))
  4.        Next
  5.        MessageBox.Show(String.Join("; ", celda))
  6.  

la idea es que al seleccionar un grupo de celdas al hacer clic, introducir una serie de valores automáticos en dichas celdas, pero necesito saber cuales están seleccionadas para introducirles el valor.

Ademas DataGridView1.SelectedCells.Count sólo me devuelve el valor 1 al hacer clic en el evetno DataGridView1_CellMouseClick, aunque haya más de una celda seleccionada.

gracias



Bueno, parece que solo funciona desde un evento distinto de CLICK, puedo obtener las celdas seleccionadas desde otros eventos como MOUSEUP o MOUSEDOWN.

Al parecer al hacer click sobre una celda del grupo de celdas seleccionadas, se deseleccionan todas las celdas y queda solamente 1 celda seleccionada, entonces siempre devuelve 1.

 También devolvería todas las celdas desde un botón, por ejemplo:

How to: Get the Selected Cells, Rows, and Columns in the Windows Forms DataGridView Control




Páginas: 1 ... 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 [60] 61 62 63
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines