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ú

Temas - Krähne

#1
Hola, tengo un gran problema con un TV que acabo de comprar, es un LG 26LD310 y lo armé según el manual.

Todo de maravilla hasta el momento que le conecté el cable de alimentación a la toma en la pared. ¡Se encendió solo!. Ni si quiera esperó que lo encendiera manualmente; Y esto no es todo... con la encendida automática se trajo una pantalla en blanco que me da las siguientes letras:

Power Only Version
Main SW 3.02

Y se mueve de borde a borde en la pantalla... luego de buscar por mucho tiempo en google, encontré que en el control remoto de la tv, supuestamente existía un botón que se llama "Exit" o "Return" que al presionarlo me sacaría del error con tan sólo apagar y prender nuevamente la tv.

El problema es que el control no tiene tal botón... y no veo otras opciones realmente para solucionar mi problema, tengo la facturas para llevarlo como garantía, ya que... no van ni dos días que lo compré. Entonces antes de garantía vine a preguntar si existía otra manera de solucionar esto.

Espero si a alguien le ha pasado, me de una mano con esto, gracias y ¡Hasta luego!.

Gruß.

P.D.: Aquí les dejo un link del soporte técnico que LG da.
#2
Hola... no haré mucha presentación, iré al grano: (Ojo, ya realicé esta misma pregunta en la MSDN, a ver quién me da una mano antes :xD).

Tengo un ListView con X items, cada item contiene X información, el ListView tiene 4 columnas y estas son:

Nombre | Tamaño | Estado | Atributos

En el cual cada columna guarda la información referente a un archivo de texto o .ini seleccionado.

El problema reside al momento de querer ordenar los items de cada columna al hacer click en ellos, y pasa lo siguiente:

Al momento de hacer click en cualquier columna excepto en la de "Tamaño", los items cogen su orden alfabético de manera correcta, pero... si lo hago con la columna "Tamaño" tan sólo se invierte su orden, entonces lo que quisiera es que, al momento de darle click, se ordenara según su peso.

El subitem en esa columna contendrá información en este formato: ##.## Bytes, ##.## KB, ##.## MB y ##.## GB. Donde # equivale al tamaño del item.

La manera para obtener el tamaño de cada item, se hace con esta función:

Código (csharp) [Seleccionar]
       internal static string GetDllSize(long Bytes)
       {
           const int Scale = 1024;
           string[] Sizes = new string[] { "GB", "MB", "KB", "Bytes" };
           long Max = (long)Math.Pow(Scale, Sizes.Length - 1);

           foreach (string Order in Sizes)
           {
               if (Bytes > Max)
                   return string.Format("{0:##.##} {1}", decimal.Divide(Bytes, Max), Order);
               Max /= Scale;
           }
           return "0 Bytes";
       }


Entonces, como decía arriba, quisiera saber cómo ordenar estos items al hacer click en la columna, (eh si... ya sé que con el evento column_click), pues... como dije anteriormente ya lo he realizado sin problemas con los demás datos, que tan sólo son strings.

Por si sirve de algo, encontré un código en Visual Basic 6 (El cuál aún no me he dispuesto a convertir a C# por temor a perder tiempo fracasando en su conversión), que ordena sin problemas números, fechas y cadenas de texto, de éste me quiero guiar, pero no sé si haya una manera más eficiente en C#.

El código es el siguiente:

Código (vb) [Seleccionar]
Private Declare Function LockWindowUpdate Lib "user32" _
       (ByVal hWndLock As Long) As Long

Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Form_Load()
   With ListView1
   
       ' Add three columns to the list - one for each data type.
       ' Note that the data type is set in the column header's
       ' tag in each case
   
       .ColumnHeaders.Add(, , "String").Tag = "STRING"
       .ColumnHeaders.Add(, , "Number").Tag = "NUMBER"
       .ColumnHeaders.Add(, , "Date").Tag = "DATE"
       
       ' Set the column alignment - has no bearing on the sorts.
       
       .ColumnHeaders(1).Alignment = lvwColumnLeft
       .ColumnHeaders(2).Alignment = lvwColumnRight
       .ColumnHeaders(3).Alignment = lvwColumnCenter
       
       ' Populate the list with data
       
       Dim l As Long
       Dim dblRnd As Double
       Dim dteRnd As Date
       With .ListItems
           For l = 1 To 1000
               With .Add(, , "ListItem " & Format(l, "0000"))
                   dblRnd = (Rnd() * 10000) - 5000
                   dteRnd = (Rnd() * 1000) + Date
                   .ListSubItems.Add , , Format(dblRnd, "0.00")
                   .ListSubItems.Add , , Format(dteRnd, _
                                                  "dd/mm/yyyy")
               End With
           Next l
       End With
       
   End With
End Sub

Private Sub ListView1_ColumnClick(ByVal ColumnHeader As _
                                   MSComctlLib.ColumnHeader)

   On Error Resume Next
   
   ' Record the starting CPU time (milliseconds since boot-up)
   
   Dim lngStart As Long
   lngStart = GetTickCount
   
   ' Commence sorting
   
   With ListView1
   
       ' Display the hourglass cursor whilst sorting
       
       Dim lngCursor As Long
       lngCursor = .MousePointer
       .MousePointer = vbHourglass
       
       ' Prevent the ListView control from updating on screen -
       ' this is to hide the changes being made to the listitems
       ' and also to speed up the sort
       
       LockWindowUpdate .hWnd
       
       ' Check the data type of the column being sorted,
       ' and act accordingly
       
       Dim l As Long
       Dim strFormat As String
       Dim strData() As String
       
       Dim lngIndex As Long
       lngIndex = ColumnHeader.Index - 1
   
       Select Case UCase$(ColumnHeader.Tag)
       Case "DATE"
       
           ' Sort by date.
           
           strFormat = "YYYYMMDDHhNnSs"
       
           ' Loop through the values in this column. Re-format
           ' the dates so as they can be sorted alphabetically,
           ' having already stored their visible values in the
           ' tag, along with the tag's original value
       
           With .ListItems
               If (lngIndex > 0) Then
                   For l = 1 To .Count
                       With .Item(l).ListSubItems(lngIndex)
                           .Tag = .Text & Chr$(0) & .Tag
                           If IsDate(.Text) Then
                               .Text = Format(CDate(.Text), _
                                                   strFormat)
                           Else
                               .Text = ""
                           End If
                       End With
                   Next l
               Else
                   For l = 1 To .Count
                       With .Item(l)
                           .Tag = .Text & Chr$(0) & .Tag
                           If IsDate(.Text) Then
                               .Text = Format(CDate(.Text), _
                                                   strFormat)
                           Else
                               .Text = ""
                           End If
                       End With
                   Next l
               End If
           End With
           
           ' Sort the list alphabetically by this column
           
           .SortOrder = (.SortOrder + 1) Mod 2
           .SortKey = ColumnHeader.Index - 1
           .Sorted = True
           
           ' Restore the previous values to the 'cells' in this
           ' column of the list from the tags, and also restore
           ' the tags to their original values
           
           With .ListItems
               If (lngIndex > 0) Then
                   For l = 1 To .Count
                       With .Item(l).ListSubItems(lngIndex)
                           strData = Split(.Tag, Chr$(0))
                           .Text = strData(0)
                           .Tag = strData(1)
                       End With
                   Next l
               Else
                   For l = 1 To .Count
                       With .Item(l)
                           strData = Split(.Tag, Chr$(0))
                           .Text = strData(0)
                           .Tag = strData(1)
                       End With
                   Next l
               End If
           End With
           
       Case "NUMBER"
       
           ' Sort Numerically
       
           strFormat = String(30, "0") & "." & String(30, "0")
       
           ' Loop through the values in this column. Re-format the values so as they
           ' can be sorted alphabetically, having already stored their visible
           ' values in the tag, along with the tag's original value
       
           With .ListItems
               If (lngIndex > 0) Then
                   For l = 1 To .Count
                       With .Item(l).ListSubItems(lngIndex)
                           .Tag = .Text & Chr$(0) & .Tag
                           If IsNumeric(.Text) Then
                               If CDbl(.Text) >= 0 Then
                                   .Text = Format(CDbl(.Text), _
                                       strFormat)
                               Else
                                   .Text = "&" & InvNumber( _
                                       Format(0 - CDbl(.Text), _
                                       strFormat))
                               End If
                           Else
                               .Text = ""
                           End If
                       End With
                   Next l
               Else
                   For l = 1 To .Count
                       With .Item(l)
                           .Tag = .Text & Chr$(0) & .Tag
                           If IsNumeric(.Text) Then
                               If CDbl(.Text) >= 0 Then
                                   .Text = Format(CDbl(.Text), _
                                       strFormat)
                               Else
                                   .Text = "&" & InvNumber( _
                                       Format(0 - CDbl(.Text), _
                                       strFormat))
                               End If
                           Else
                               .Text = ""
                           End If
                       End With
                   Next l
               End If
           End With
           
           ' Sort the list alphabetically by this column
           
           .SortOrder = (.SortOrder + 1) Mod 2
           .SortKey = ColumnHeader.Index - 1
           .Sorted = True
           
           ' Restore the previous values to the 'cells' in this
           ' column of the list from the tags, and also restore
           ' the tags to their original values
           
           With .ListItems
               If (lngIndex > 0) Then
                   For l = 1 To .Count
                       With .Item(l).ListSubItems(lngIndex)
                           strData = Split(.Tag, Chr$(0))
                           .Text = strData(0)
                           .Tag = strData(1)
                       End With
                   Next l
               Else
                   For l = 1 To .Count
                       With .Item(l)
                           strData = Split(.Tag, Chr$(0))
                           .Text = strData(0)
                           .Tag = strData(1)
                       End With
                   Next l
               End If
           End With
       
       Case Else   ' Assume sort by string
           
           ' Sort alphabetically. This is the only sort provided
           ' by the MS ListView control (at this time), and as
           ' such we don't really need to do much here
       
           .SortOrder = (.SortOrder + 1) Mod 2
           .SortKey = ColumnHeader.Index - 1
           .Sorted = True
           
       End Select
   
       ' Unlock the list window so that the OCX can update it
       
       LockWindowUpdate 0&
       
       ' Restore the previous cursor
       
       .MousePointer = lngCursor
   
   End With
   
   ' Report time elapsed, in milliseconds
   
   MsgBox "Time Elapsed = " & GetTickCount - lngStart & "ms"
   
End Sub

'****************************************************************
' InvNumber
' Function used to enable negative numbers to be sorted
' alphabetically by switching the characters
'----------------------------------------------------------------

Private Function InvNumber(ByVal Number As String) As String
   Static i As Integer
   For i = 1 To Len(Number)
       Select Case Mid$(Number, i, 1)
       Case "-": Mid$(Number, i, 1) = " "
       Case "0": Mid$(Number, i, 1) = "9"
       Case "1": Mid$(Number, i, 1) = "8"
       Case "2": Mid$(Number, i, 1) = "7"
       Case "3": Mid$(Number, i, 1) = "6"
       Case "4": Mid$(Number, i, 1) = "5"
       Case "5": Mid$(Number, i, 1) = "4"
       Case "6": Mid$(Number, i, 1) = "3"
       Case "7": Mid$(Number, i, 1) = "2"
       Case "8": Mid$(Number, i, 1) = "1"
       Case "9": Mid$(Number, i, 1) = "0"
       End Select
   Next
   InvNumber = Number
End Function


Pues bien, también he leído éste artículo de la msdn, pero... nunca había manejado el tema de iComparer, por tal ando un poco perdido en él.

Si alguien pudiera echarme una mano, o al menos darme información sobre iComparer (un pequeño manual, o algo que me pueda servir para guiarme) se lo agradecería.

Gruß.
#3
Hola amigos, tengo un grave-GRAVE problema con mi monitor, ya hace unos 4 años creo, compré un monitor AOC Eyes Value 17', y que belleza para ese entonces, actualmente funciona de maravilla, pero... desde hace unos meses, han venido sucediendo unos problemas con él, que... me tienen bastante molesto.

El problema es que a ratos le da por cambiarse automáticamente los valores del brillo/contraste llevando ambos a 100%, y si les ha pasado, se darán cuenta que es bastante-BASTANTE fastidioso, ya que... no se puede ver bien que escribes, ni que haces.

Al principio no era tan tedioso, ya que después de unos segundos podías modificar manualmente (con los botones del monitor) estos valores, pero... ahora se hace imposible, hoy mismo le dio por aparecer la ventana de configuración de contraste en todo el medio del monitor (como usualmente pasa, pero se quita al llegar a 100%), esta vez no se quitó, y la única solución que vi fue mantener presionado el botón "Auto", el cual... deben saber, centra la pantalla, etc... ajustándola a la resolución y dejándola como debería estar, en fin.

El punto es que, la única manera de quitar tal aviso del contraste, fue dejando presionado el botón que les mencioné, entonces se me ocurrió que si ya no estaba el aviso, podía modificar los valores del contraste desde el menú del monitor, pero... ¡Sorpresa!, al presionar tal botón (Menú), hace la función que debería hacer el botón de configuración automática (Auto), llevándome al estrés, luego revisando los demás botones, me doy cuenta que existen dos botones que modifican el contraste y el brillo, y si presiono el de brillo, no hace nada... ahora si presiono el del contraste hace nuevamente la función del botón Auto, esto me está llevando a un nivel de estrés que no se imaginan. (Claro, al momento de intentar todo esto, lo hice con el botón Auto presionado, y sin presionarlo, teniendo como resultado lo mismo).

Estoy pensando seriamente en comprarme otro monitor, pero que va, este ha sido guerrero xD... ha aguantado muchos años conmigo, y apuesto que algunos aquí tienen algunos que les han durado mucho más. Entonces en base al testamento escrito allí arriba, me veo en la necesidad de preguntar si... ¿Existe algún software que modifique estos valores?

Espero alguien conozca de la existencia de alguno, ¡Gracias por haber leído!.
#4
Pues, no me gusta hacer preguntas así, porque se que son sencillas de resolver, pero... personalmente yo... no pude xD :-[.

Necesito agregar un custom scrollbar, es como un scrollbar cualquiera, pero este le cambian el diseño, y tiene una que otra opción, pues... le quiero agregar a un Panel que tengo, y sí, ya se que el Panel tiene su opción "AutoScroll", que si la dejamos en True, pues nos lanza el scrollbar, pero el original, entonces... quiero agregar el personalizado, por estética más que nada.

¿Alguien acá sabe como hacerlo?; Gracias.

ProstOS;

Edito: Ojo, estoy hablando al nivel de código, vamos que... de agregarlo, le doy doble click y ya aparece en el formulario :laugh: :laugh: :laugh:...
#5
Windows / Bootear desde disco duro (?)
17 Abril 2011, 17:17 PM
Hola tíos, espero se encuentren bien. Soy nuevo en el foro, aunque llevo años siguiéndole... y finalmente se me ha dado por registrarme ya que tengo una gran duda como el título del tema dice. Pues la historia comienza con que... Ya me he hojeado google, a lo mejor de manera errónea, pero no encuentro la información exacta ni parecida de lo que busco.

Y lo que busco, es bootear un Windows 7 x64 que baje hace unas horas, el problema reside en que el Windows que uso actualmente es XP x86 (por esa razón quiero instalar el 7 x64), Pero... ¿Qué quiere decir eso?. Vale... al tener un Windows x86 Bits, el setup de x64 Bits no puede ejecutarse bajo este S.O., bueno... que si estáis leyendo esto, ya deberías saberlo.

Ya te estarás haciendo un lío, y preguntándote, ¿Pero qué cojones?, ¿Para qué quieres ejecutar el setup de x64 en uno x86?; ¿Por qué no quemarle en un DVD y bootear desde un lector?.

Eh, ¡Din, Din, Din!; El punto es ese, que mi quemadora/lectora bluray se me ha jodido :-[, y como la he perdido, me he quedado sin opciones para quemar/bootear, pues... el único usb que tengo por acá (para meter el windows en él y bootear con WinToFlash (espero me estén entendiendo)) es de 2 GB, y... bueno, para x64 necesito un usb de al menos 4 GB.

Entonces, recordando aquellos días cuando instalaba Windows 7 desde mi disco duro, quise hacerlo una vez más, pero esta vez fallando pues el setup de aquellos días era de una arquitectura x86, por tal corría bajo un XP de x86.

Ahora me veo en la penosa necesidad de pediros ayuda, mi S.O. actual (WinXP x86) está hecho un asco, los driver nvidia se han descontrolado, si bien no está lagueado, pero no se me permite mantener el PC andando por más de 3 horas sin que el driver colapse (que asco por nvidia y sus drivers beta, obligándome a un reinicio obligatorio y abrupto), entonces me veo obligado en cambiar de S.O. en el entendido que mi PC requiere un S.O. de una arquitectura x64, ya que... con 4GB de Ram y un Core2Quad no les saco el máximo provecho en x86.

Entonces, sin más rodeos, después de pensarlo un buen rato, traigo esta duda:

¿Se podría crear una nueva partición (reduciendo otra) y hacer pasar esta como una unidad usb, para "engañar" el WinToFlash, y así poder meter el Windows 7 x64 en tal unidad, bootear desde ella e instalar el S.O. desde allí?.

También me pregunto si es factible esta otra posibilidad, y es la que me trae bastante esperanzado, no sé si funcione, no tengo idea... pero modificando el boot.ini que trae el sistema actual en la unidad "C:\", cambiando los parámetros de entrada haciendo un boot desde otra unidad (podría ser el disco local "D:\" (Donde dejaría los archivos de instalación del S.O. x64)), ¿Arrancaría desde el setup?; Así como lo hacen cuándo bootea desde un usb al momento de instalarle desde WinToFlash.

Creo que fui en extremo explícito, y si no fue así, quisiera me citaran las partes donde no lo fui para replantearme un poco mejor.

Espero una pronta, y positiva respuesta, gracias y hasta pronto.

ProstOS;