|
261
|
Sistemas Operativos / Windows / Re: ¿Qué tiene que ver Windows Update, Windows Live Mail, Intel y disco de 500GB?
|
en: 30 Octubre 2015, 13:09 pm
|
Hola Mi portátil tiene Windows Vista, el original del mismo claro. Lo dejo porque cuando me cargo el sistema tengo que reinstalar el SO y el Recovery que tiene es muy bueno y rápido. Y en serio, tiene que ver porque está comprobado. Simplemente si no actualizo los drives de Intel NO FUNCIONA Windows Update, ni Windows Live Mail. Aparece un mensaje de error, aunque en el caso que expongo en mi comentario anterior Windows Update ni se iniciaba, se quedaba colgada la ventana, pero fue por volver a instalar los drivers antiguos estando instalados los nuevos. LLevo muchos años con esta compu, y de verdad que esa así. Cuando tenía el disco 250 GB, simplemente instalaba los drivers por defecto del portátil y todo correcto, ningún problema. Eso sí, hasta que no instalaba los drivers de intel tampoco funcionaba creo recordad. Pero aunque como he dicho ya el problema está solucionado. No entiendo porqué Windows Update no funciona hasta instalar los drivers de Intel y además deben ser compatibles con el tamaño del disco. Menos aún entiendo que tampoco funcione en tal caso Windows Live Mail.
|
|
|
262
|
Programación / .NET (C#, VB.NET, ASP) / Re: Cambiar color de un Form por 5 segundos!
|
en: 30 Octubre 2015, 12:44 pm
|
Hola Imports System.Threading.Tasks Public Class Form1 Private Sub btnError_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnError.Click Me.BackColor = Color.OrangeRed 'Cambia el color del Form btnError.Enabled = False 'Deshabilita el Botón '<Inicia un subproceso> Task.Factory.StartNew(Sub() Dim Segundos As Integer = 5 System.Threading.Thread.Sleep(Segundos * 1000) 'Espera 5 segundos Me.Invoke(Sub() Me.BackColor = SystemColors.Control) 'Recupera el color del Form Me.btnError.Invoke(Sub() Me.btnError.Enabled = True) 'Vuelve a habilitar el botón End Sub) Me.Width = 500 Label1.Text = "Task genera un subproceso que se produce de forma independente" & Environment.NewLine _ & "El evento Click lo ha iniciado y pasa a la línea siguiente para mostrar este texto" End Sub End Class
|
|
|
263
|
Programación / .NET (C#, VB.NET, ASP) / Cargar imagen en un botón WPF
|
en: 28 Octubre 2015, 20:11 pm
|
Hola Estoy intentando cargar una imagen que tengo en la carpeta Recursos del proyecto en un botón. pero no lo consigo porque no se poner la dirección de imagen He probado esto: <Button> <Image Height="18" Source="/WpfApplication1;component/Resources/Ir.png" Stretch="Fill" Width="18"/> </Button>
y esto: <Button> <Image Height="18" Source="/Resources/Ir.png" Stretch="Fill" Width="18"/> </Button>
y esto: <Button> <Image Height="18" Source="Res/Ir.png" Stretch="Fill" Width="18"/> </Button>
Pero nada no se carga Gracias
Ya lo he conseguido <Application x:Class="Application" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" StartupUri="MainWindow.xaml"> <Application.Resources> <ImageBrush x:Key="OpenImage"> <ImageBrush.ImageSource> <BitmapImage UriSource="/Resources/open.png" /> </ImageBrush.ImageSource> </ImageBrush> <Style TargetType="Button"> <Setter Property="Background" Value="{StaticResource OpenImage}"/> </Style> </Application.Resources> </Application>
Una cosa importante. Por defecto la imagen colocada en Resources tiene la propiedad ' Acción de compilación' establecidad en ' Ninguno'. Hay que establecerlo como' Resource'
|
|
|
264
|
Programación / .NET (C#, VB.NET, ASP) / ComboBox que no despliegue la lista al hacer click sobre el cuadro de text (WPF)
|
en: 28 Octubre 2015, 19:33 pm
|
Hola Pues eso, ayer estuve más de una hora cambiando esto y aquello para evitar que al hacer clic sobre el ComboBox NO despliegue la lista pero SI que lo haga la pulsar el botón. Si el ComboBox no está personalizado, es decir, que no le hemos aplicado ningún estilo, basta con cambiar la propiedad IsEditable a True<ComboBox Name="ComboBox1" IsEditable="True" Height="25" Width="150" Margin="0,20,0,0"> </ComboBox>
Pero cuando se le aplica un estilo no hay forma de conseguir que no despliegue la lista al hacer clic sobre él. Aquí dejo un enlace con un ejemplo de estilo para el ComboBox ComboBox ControlTemplate ExampleSi establezco IsEditable= "True" se puede editar pero al hacer clic sobre el cuadro de texto para editarlo se despliega la lista. Gracias
|
|
|
265
|
Programación / .NET (C#, VB.NET, ASP) / Re: Parametros a funcion de Button_click()
|
en: 28 Octubre 2015, 17:24 pm
|
Public Class Form1 Dim Vector() As String = {Nothing, "Amarillo", "Rojo", "Naranja", "Negro"} Dim Conmutador As Boolean Private Sub botton_siguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles botton_siguiente.Click Conmutador = IIf(Conmutador = False, True, False) Select Case Conmutador Case False Me.botton_resp1.Text = Vector(1) Me.botton_resp1.BackColor = Color.Yellow : Me.botton_resp1.ForeColor = Color.Black Me.botton_resp2.Text = Vector(2) Me.botton_resp2.BackColor = Color.Red : Me.botton_resp2.ForeColor = Color.Black Case True Me.botton_resp1.Text = Vector(3) Me.botton_resp1.BackColor = Color.Orange : Me.botton_resp1.ForeColor = Color.Black Me.botton_resp2.Text = Vector(4) Me.botton_resp2.BackColor = Color.Black : Me.botton_resp2.ForeColor = Color.White End Select Me.Text = Conmutador End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.botton_resp1.Text = Vector(1) Me.botton_resp1.BackColor = Color.Yellow : Me.botton_resp1.ForeColor = Color.Black Me.botton_resp2.Text = Vector(2) Me.botton_resp2.BackColor = Color.Red : Me.botton_resp2.ForeColor = Color.Black End Sub End Class
TAMBIÉN SE PUEDE ESCRIBIR ASÍ: Public Class Form1 Dim Vector() As String = {Nothing, "Amarillo", "Rojo", "Naranja", "Negro"} Dim Conmutador As Boolean Private Sub botton_siguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles botton_siguiente.Click Conmutador = IIf(Conmutador = False, True, False) Select Case Conmutador Case False With botton_resp1 .Text = Vector(1) : .BackColor = Color.Yellow : .ForeColor = Color.Black End With With botton_resp2 .Text = Vector(2) : .BackColor = Color.Red : .ForeColor = Color.Black End With Case True With botton_resp1 .Text = Vector(3) : .BackColor = Color.Orange : .ForeColor = Color.Black End With With botton_resp2 .Text = Vector(4) : .BackColor = Color.Black : .ForeColor = Color.White End With End Select Me.Text = Conmutador End Sub Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load With botton_resp1 .Text = Vector(1) : .BackColor = Color.Yellow : .ForeColor = Color.Black End With With botton_resp2 .Text = Vector(2) : .BackColor = Color.Red : .ForeColor = Color.Black End With End Sub End Class
|
|
|
266
|
Sistemas Operativos / Windows / ¿Qué tiene que ver Windows Update, Windows Live Mail, Intel y disco de 500GB?
|
en: 28 Octubre 2015, 16:50 pm
|
Hola Mi portátil (con Windows Vista) tenía un disco de 250 GB y al cambiarlo por uno de 500 GB los drivers originales de Intel no eran compatibles con el disco de 250 y no me funcionaba Widnows Update. Tras mucho navegar vi en un foro que alguien había encontrado esa relación y lo solucionó. Me bajé una versión actualizada 'Intel Rapid Storage Technology Driver v9.5.6.1001 REV. SoftPaq NUMBER: SP47845'. Y problema solucionado. Estas son las especificaciones del dispositivo: DEVICES SUPPORTED: PCI\VEN_8086&DEV_3B29="Intel(R) 5 Series 4 Port SATA AHCI Controller" y mi CPU: Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz, 2267 Mhz, 2 procesadores principales, 2 procesadores lógicos Parece ser que tiene que ver con el AHCI (Advanced Host Controller Interface) o RAID. Pero esto no acaba aquí, ayer tras instalar Windows 7 en un PC (no le meto Linux porque no tiene conexión a Internet). Pues vi que el disco del PC tenía un programa para controlar el CPU mostrando los vatios que consumía. Busqué lo mismo en el disco del portátil y por error instalé los drivers antiguos de Intel. El resultado un mensaje de error de Windows Live Mail:" Error 0x8E5E0247". El cual no relacioné para nada con el tema de los drivers, y busqué incesantemente una solución en Google, hasta que me acordé de haber instalado los programas 'Intel® Matrix Storage Manager' y Intel Turbo Memmory (que también te instala los drivers antiguos NO compatible con disco de 500GB ). Entonces intenté iniciar Windows Update y como esperaba tampoco funcionaba. Desinstalé los programas de Intel y luego al reiniciar PANTALLAZO AZUL. Tuve que iniciar el modo reparación y restaurar el sistema a un punto anterior. Dicho todo esto, no entiendo qué tiene que ver windows Live Mail y Windows Update con el CPU y el disco de 500GB. No entiendo esa dependéncia de Windows Update y Windows Live Mail con Intel y sus drivers, la verdad. Espero que alguien pueda explicarme la relación. Aquí otro usuario se encontró con el mismo problema y lo solución del mismo modo: http://programacion-vision-digital.bligoo.com.mx/resuelto-windows-update-error-0x8e5e0247-en-windows-7
|
|
|
268
|
Programación / Programación Visual Basic / Re: Treeview y Listview Visual Studio 2010(Resuelto)
|
en: 27 Octubre 2015, 14:36 pm
|
A lo mejor es porque estás en el foro equivocado. En teoría, esto es para VB (5 o 6) Si es para .NET http://foro.elhacker.net/net-b62.0/Además, para mejor comprensión y legibilidad del código te recomiendo que uses GeShi para . Net Imports System.IO Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load cargarCarpetas("C:/Manuales") End Sub Public Sub cargarSubcarpetas(ByVal rutaRaiz As String, ByVal nodoTree As Windows.Forms.TreeNode) On Error Resume Next Dim carpetaActual As String Dim indice As Integer If nodoTree.Nodes.Count = 0 Then For Each carpetaActual In My.Computer.FileSystem.GetDirectories(rutaRaiz) indice = carpetaActual.LastIndexOf(System.IO.Path.PathSeparator) nodoTree.Nodes.Add(carpetaActual.Substring(indice + 1, carpetaActual.Length - indice - 1)) nodoTree.LastNode.Tag = carpetaActual nodoTree.LastNode.ImageIndex = 0 Next End If End Sub Public Sub cargarCarpetas(ByVal rutaRaiz As String) Dim nodoBase As System.Windows.Forms.TreeNode If IO.Directory.Exists(rutaRaiz) Then If rutaRaiz.Length <= 3 Then nodoBase = TreeView1.Nodes.Add(rutaRaiz) Else nodoBase = TreeView1.Nodes.Add( My.Computer.FileSystem.GetName(rutaRaiz)) End If nodoBase.Tag = rutaRaiz cargarSubcarpetas(rutaRaiz, nodoBase) Else Throw New System.IO.DirectoryNotFoundException() End If End Sub Private Sub TreeView1_AfterExpand(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterExpand Dim n As System.Windows.Forms.TreeNode For Each n In e.Node.Nodes cargarSubcarpetas(n.Tag, n) Next End Sub Private Sub TreeView1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TreeView1.MouseDoubleClick Dim ruta As String ruta = TreeView1.SelectedNode.ToString.Substring(9) TextBox1.Text = ruta Shell("explorer.exe root=" & TextBox1.Text & " ", vbNormalFocus) End Sub End Class
Se me olvidaba... En el directorio de instalación de VB.NET 2010 puedes encontrar un archivo comprimido con ejemplos, concretamente en: C:\Program Files\Microsoft Visual Studio 10.0\Samples\3082 Encontrarás un archivo ZIP llamado VBSamples.zip. Dentro del mismo una carpeta llamada Winforms Samples y dentro de ésta, otra llamada ExplorerApp que contiene un ejemplo de Explorador de carpetas, con función doble clic sobre los archivos para abrirlos. Saludos
|
|
|
269
|
Programación / .NET (C#, VB.NET, ASP) / Re: Parametros a funcion de Button_click()
|
en: 27 Octubre 2015, 14:31 pm
|
Hola Si pones tex, lógico que te de error porque es text. Bueno, fuera bromas Ya te lo está diciendo: porque no tienen una firma compatibleNo se muy bien lo que quieres hacer, haber si esto te sirve como solución: Option Strict On Option Explicit On Public Class Form1 Public Sub EventClickRef(ByRef Res As Integer) Dim nRandom As New Random Res = nRandom.Next(5 * Res) 'Multiplica el valor devuelto por 5 y lo mete en Res End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Res As Integer = 2 EventClickRef(Res) 'Envia el valor actual de Res (2) a EventClick y devuelve otro valor Button1.Text = CStr(Res) End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub End Class
|
|
|
270
|
Programación / Programación Visual Basic / Re: Problemas con array muy grande y el Windows7
|
en: 23 Octubre 2015, 02:08 am
|
No tengo Window7, ni siquiera en Virtualbox pero puedo sugerirte varias cosas Primera: Si la línea ReDim byte... está desactivada se cargan todos los bytes. Si solo quieres una porción por ejemplo de 500 bytes, activa la línea quitando ' y estableces el ReDim bytes(500). Dim VectorBytes() As Byte Open App.Path & "\" & "prueba.dat" For Binary Lock Read As 1 VectorBytes= Space(LOF(1)) ' ReDim bytes(?) '<<--- Forma selectiva de bytes Ej. (500) Get #1, , VectorBytes Close #1
SegundaCrear el Array del archivo mediante API Const FILE_ATTRIBUTE_TEMPORARY = &H100 Const OPEN_EXISTING = 3 Const GENERIC_READ = &H80000000 Const GENERIC_WRITE = &H40000000 Const FILE_ATTRIBUTE_NORMAL = &H80 Const OPEN_ALWAYS = 4 Const INVALID_HANDLE_VALUE = -1 Private Declare Function FlushFileBuffers Lib "kernel32" ( _ ByVal hFile As Long) As Long Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long Private Declare Function SetVolumeLabel Lib "kernel32" Alias "SetVolumeLabelA" _ (ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Long Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, _ ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, _ ByVal lpSecurityAttributes As Any, _ ByVal dwCreationDisposition As Long, _ ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As Long Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, _ lpBuffer As Any, _ ByVal nNumberOfBytesToRead As Long, _ lpNumberOfBytesRead As Long, _ ByVal lpOverlapped As Any) As Long Private Declare Function WriteFile Lib "kernel32" _ (ByVal hFile As Long, lpBuffer As Any, _ ByVal nNumberOfBytesToWrite As Long, _ lpNumberOfBytesWritten As Long, _ ByVal lpOverlapped As Any) As Long Private Sub Command1_Click() Dim hFile As Long Dim fBytes() As Byte <==Array del archivo Dim fSize As Long, lBytesRead As Long Dim fSuccess As Long Dim BytesToRead As Long Dim FileToRead As String FileToRead = App.Path & "\" & "Prueba.dat" '///LEE EL ARCHIVO EN BYTES /////////////////// hFile = CreateFile(FileToRead, _ GENERIC_WRITE Or GENERIC_READ, 0&, 0&, _ OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0&) If hFile <> INVALID_HANDLE_VALUE Then fSize = GetFileSize(hFile, 0) ReDim fBytes(fSize) BytesToRead = (UBound(fBytes) + 1) * LenB(fBytes(0)) fSuccess = ReadFile(hFile, fBytes(LBound(fBytes)), BytesToRead, lBytesRead, 0&) CloseHandle hFile End If '///////////////////////////////////////////// ' Guardar el archivo en otro directorio (Con API) Call CrearAchivoBinario("C:\PruebaCopia.dat", fBytes) '///guardar el archivo en otro directorio (Sin API) 'Open "C:\PruebaCopia.dat" For Binary Access Write As 1 'Put #1, , fBytes 'Close End Sub Private Sub CrearAchivoBinario(ByVal FileName As String, fBytes() As Byte) Dim fSuccess As Long Dim hFile As Long Dim BytesToRead As Long Dim lBytesWritten As Long BytesToWrite = (UBound(fBytes) + 1) * LenB(fBytes(1)) hFile = CreateFile(FileName, _ GENERIC_WRITE Or GENERIC_READ, _ ByVal 0&, ByVal 0&, _ OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0&) If hFile <> INVALID_HANDLE_VALUE Then fSuccess = WriteFile(hFile, fBytes(LBound(fBytes)), BytesToWrite, lBytesWritten, 0&) If fSuccess <> 0 Then fSuccess = FlushFileBuffers(hFile) fSuccess = CloseHandle(hFile) End If End If End Sub
He añadido CrearAchivoBinario por si quieres crearlo a partir del array y tuvieras también problemas con eso. +Info:https://support.microsoft.com/es-es/kb/165942
|
|
|
|
|
|
|