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

#7311
No se mucho de html pero creo que con desactivar javascript sería suficiente para deshabilitar ese script anti-click, puedes instalar el plugin NoScript para FF y/o Chrome.

PD: Código fuente de la página ~> http://pastebin.com/Fi54WrXm

Saludos.
#7312
Si tienes dudas de que hayan podido quedar residuos sin haberse eliminado a pesar de haber utilizado limpiadores (como CCleaner) entonces entra a la carpeta de la papelera de reciclaje y elimina los archivos que haya dentro tu mismo...
( En Win. Vista/7/8: C:\$Recycle.Bin )

Cita de: Ikillnukes en  7 Febrero 2014, 19:05 PMYa me comentaron que cuando reiniciase Windows el proceso de vaciado iba a continuar... Pamplinas....

Te trollearon, una operación de limpieza de la papelera no es una operación que puedas pausar/detener para reanudarla al reiniciar Windows, no es un formateo ni una actualización del SO, no hay nada que reanudar...

Eso te pasa por no preguntarme a mi.

Saludos
#7313
Programación General / Re: Quiero programar
7 Febrero 2014, 19:43 PM
Yo también te recomiendo VB.NET junto a la IDE de Microsoft (VisualStudio), de esta manera empezarías con uno de los lenguajes más potentes, y tendrías los beneficios de trabajar con una excelente IDE, como es la autocorrección, la autoindentación, el análisis de código y otras decenas de características para ahorrarte (bastantes) errores de novato, para estructurar código de forma correcta, y para hallar errores u optimizaciones importantes en tus códigos.
...Que lo mismo puedes empezar con Java u otro lenguaje donde seguro que alguna de sus IDES serán maravillosas también xD, yo solo comento que VBNET no sería mala opción, C# tampoco, pero... prefiero VBNET :).

Sobre los fundamentos de programación, bueno, miles de personas han preguntado lo mismo que tu anteriórmente así que puedes usar el buscador del foro o Google para leer infinidad de opiniones... pues no somos asistentes personales :P.

Saludos!
#7314
Que buena info @Devdox, para que no se escape el dato importante ...esto lo dice todo:

Cita de: http://www.codeproject.com/Articles/3313/Monitoring-a-Printer-Queue-from-VB-NET
Código (vbnet,3,4) [Seleccionar]
Public Enum Job_Notify_Field_Indexes
   '...
   JOB_NOTIFY_FIELD_TOTAL_PAGES = &H14
   JOB_NOTIFY_FIELD_PAGES_PRINTED = &H15
   '...
End Enum

Saludos
#7315
Hola,
las preguntas de C# van al subforo de C#.




Suponiendo que no necesitos recusión (controles dentro de paneles, etc...)

Método simple, no recursivo:

Código (vbnet) [Seleccionar]
       For Each c As Control In Me.Controls
           c.BackColor = Color.Red
       Next c


Código (csharp) [Seleccionar]
foreach (Control c in this.Controls) {
c.BackColor = Color.Red;
}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================



Método simple, recursivo:

Código (vbnet) [Seleccionar]
   Private Shadows Sub Shown() Handles MyBase.Shown

       SetControlsBackColor(Me.Controls, Color.Red)

   End Sub

   Private Sub SetControlsBackColor(ByVal Collection As Control.ControlCollection,
                                    ByVal Backcolor As Color)

       For Each c As Control In Collection

           If c.Controls.Count <> 0 Then
               SetControlsBackColor(c.Controls, Backcolor)
           End If

           c.BackColor = Backcolor

       Next c

   End Sub


Código (csharp) [Seleccionar]


private new void Shown()
{
SetControlsBackColor(this.Controls, Color.Red);

}


private void SetControlsBackColor(Control.ControlCollection Collection, Color Backcolor)
{

foreach (Control c in Collection) {
if (c.Controls.Count != 0) {
SetControlsBackColor(c.Controls, Backcolor);
}

c.BackColor = Backcolor;

}

}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================




Método optimizado, no recursivo:

Código (vbnet) [Seleccionar]
Public Class Form1

   Private Shadows Sub Shown() Handles MyBase.Shown

       ControlIterator.PerformAction(Me.Controls, Sub(c As Control)
                                                      c.BackColor = Color.Green
                                                  End Sub)

   End Sub

   ' ControlIterator
   ' ( By Elektro )
   '
   ''' <summary>
   ''' Iterates a serie of Controls to perform an operation.
   ''' </summary>
   Public Class ControlIterator

       ''' <summary>
       ''' Perform an operation on all the Controls on the specified Control Collection.
       ''' </summary>
       ''' <param name="ControlCollection">Indicates the control collection where to find the controls.</param>
       ''' <param name="Operation">Indicates the Action to perform on the controls.</param>
       ''' <param name="ContainsName">Indicates that only controls containing name should be collected.</param>
       Public Shared Function PerformAction(ByVal ControlCollection As Control.ControlCollection,
                                            ByVal Operation As [Delegate],
                                            Optional ByVal ContainsName As String = Nothing) As Boolean

           Return PerformActionOnControls((From c As Object In ControlCollection), Operation, ContainsName)

       End Function

       ''' <summary>
       ''' Perform an operation on Controls.
       ''' </summary>
       Private Shared Function PerformActionOnControls(ByVal Controls As IEnumerable(Of Object),
                                                       ByVal Operation As [Delegate],
                                                       Optional ByVal ContainsName As String = Nothing) As Boolean

           If ContainsName IsNot Nothing Then
               Controls = Controls.Where(Function(ctrl) ctrl.name.contains(ContainsName))
               If Controls.Count = 0 Then Return False
           End If

           For Each [Control] As Object In Controls

               If [Control].InvokeRequired Then
                   [Control].Invoke(Operation, New Object() {[Control]})
               Else
                   Operation.Method.Invoke(Operation, New Object() {[Control]})
               End If

           Next [Control]

           Return True

       End Function

   End Class

End Class


Código (csharp) [Seleccionar]

using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
public class Form1
{


private new void Shown()
{
ControlIterator.PerformAction(this.Controls, (Control c) => { c.BackColor = Color.Green; });

}

// ControlIterator
// ( By Elektro )
//
/// <summary>
/// Iterates a serie of Controls to perform an operation.
/// </summary>
public class ControlIterator
{

/// <summary>
/// Perform an operation on all the Controls on the specified Control Collection.
/// </summary>
/// <param name="ControlCollection">Indicates the control collection where to find the controls.</param>
/// <param name="Operation">Indicates the Action to perform on the controls.</param>
/// <param name="ContainsName">Indicates that only controls containing name should be collected.</param>
public static bool PerformAction(Control.ControlCollection ControlCollection, Delegate Operation, string ContainsName = null)
{

return PerformActionOnControls((from c in ControlCollection), Operation, ContainsName);

}

/// <summary>
/// Perform an operation on Controls.
/// </summary>
private static bool PerformActionOnControls(IEnumerable<object> Controls, Delegate Operation, string ContainsName = null)
{

if (ContainsName != null) {
Controls = Controls.Where(ctrl => ctrl.name.contains(ContainsName));
if (Controls.Count == 0)
return false;
}


foreach (object Control in Controls) {
if (Control.InvokeRequired) {
Control.Invoke(Operation, new object[] { Control });
} else {
Operation.Method.Invoke(Operation, new object[] { Control });
}

}

return true;

}

}
public Form1()
{
Shown += Shown;
}

}

//=======================================================
//Service provided by Telerik (www.telerik.com)
//Conversion powered by NRefactory.
//Twitter: @telerik
//Facebook: facebook.com/telerik
//=======================================================
#7316
Cita de: Senior++ en  7 Febrero 2014, 09:18 AMeso es bueno o malo?

Es algo bueno.

No se si actuálmente existen HDD's con 128 mb de cache para el cosumidor, pero 64 mb es lo más corriente que se puede ver, te lo digo xq cada año suelo comprar hdd's y es lo que veo.

saludos
#7317
hola

Vamos a ver, los archivos no tienen nada que ver, me explico...
Si tu desconectas un HDD interno de un PC muerto, y lo conectas en otro PC donde ya exista un HDD con un SO instalado enonces el SO le asignará una letra (que esté libre libre) a ese nuevo HDD, es decir, no será 'C'.

Como ha comentado mDrinky no debería haber ningún problema al respecto.

PD: ¿Quizás estés confundiendo archivos con accesos directos?, si quieres modificar la letra de unidad del destino de accesos directos tiene facil solución.

Saludos
#7318
Nah, no soy ningún prodigio como programador ni como tutor, solo es que tengo paciencia xD.

Citarsaltar las combinaciones para que no sean seguidas
Creo que tarde o temprano vas a acabar preguntándolo, mejor hazlo ahora, aquí estamos para ayudar... pero si lo preguntas haz el favor de explicarlo con detalles, no de esa manera que he citado porque no hay quien lo entienda xD.

Saludos
#7319
Cita de: Yaldabaot en  6 Febrero 2014, 23:52 PMElektro, ¿ Hay alguna forma de hacerlo pero con un archivo abierto y no un proceso?.

No estoy muy seguro así que no puedo asegurar nada, pero dudo que exista una manera eficiente.

Si abres un archivo .TXT con un editor de texto y este editor de texto mantiene ocupado el archivo (en modo de lectura o escritura) segúramente puedas encontrar un Handle que haga referencia a ese archivo, de lo contario...pues no lo creo, ya que el archivo ya se cerró por el programa.

Y si abres un archivo con un programa puedes encontrar la referencia a ese archivo "abierto" usando WMI para buscar los parámetros commandline de los procesos en ejecución, por ejemplo, si Notepad fuese el editor predefinido en tu sistema y haces doble click en un archivo de texto entonces se iniciará el Notepad con estos parámetros:
Notepad.exe "Archivo abierto"
...y usando WMI podrás encontrar los parámetros de ese proceso para encontrar el archivo abierto.
Pero si desde esa mimsa instancia del programa abres otro(s) archivo(s) entonces óbviamente buscar los parámetros de la aplicación no te va a servir de nada porque el programa ya está iniciado y el nuevo archivo lo has abierto desde el programa.

Y si lo que quieres es monitorear la ejecución de un archivo, en tiempo real, pues... lo tienes dificil, un 'FileSystemWatcher' solo te va a informar de los cambios una vez se hayan realizado, no antes, ni mientras. Necesitarías escribir un driver (un 'filesystem filter driver') para capturar todas las operaciones de escritura que necesites, lo cual no es nada facil...

Aunque como ya digo, no estoy muy seguro de si habrá otra forma.
Saludos.
#7320
Para leer un Script es necesario ejecutar la aplicación que se encarga de interpretar las órdenes (el intérprete)... (Ej: Python.exe ".\Script.py").

Puedes usar CX_FREEZE para unir en un solo archivo executable el intérprete junto al script y los módulos que quieras, para que corran en cualquier Windows sin necesidad de tener instalado Python.

Saludos.