|
5731
|
Sistemas Operativos / Windows / Re: No puedo poner a hibernar mi computadora.
|
en: 27 Febrero 2015, 19:29 pm
|
¿Has probado iniciando sesión en modo seguro, y con los servicios en segundo plano de los AV desactivados y/o desinstalados?, eso descartaría al 99% que sea un problema de aplicaciones de terceros. EDITO:Prueba lo que aquí comentan a ver... I have solved the problem. I am explaining what I did, for the record. Hope this helps someone else. I don't know exactly what step did solve the problem, anyway, here is the complete things I did.
I first changed different settings in mouse control panel. I set a lower pointer speed and disabled the enhanced pointer precision setting. And I disa bled the device.
I restarted the PC.
After restarting, I enabled the device back.
Now the mouse works correctly. Although its speed is a little lower. Otras posibles soluciones en Google: http://lmgtfy.com/?q=mouse+moves+itself( por lo visto la mayoría de afectados no encuentra la causa ni la solución a ese problema tan misterioso ) Saludos!
|
|
|
5732
|
Foros Generales / Dudas Generales / Re: Cuantas combinaciones hay en 9 elementos diferentes
|
en: 27 Febrero 2015, 11:10 am
|
creo que aqui faltan combinaciones no crees. Yo tampoco estoy seguro de si AveSudra se ha confundido o ha querido decir algo más con el ejemplo que ha mostrado, por que lo único que ha hecho ha sido desplazar el primer dígito (1) hacia la izquierda, que da cómo resultado 9 combinaciones (obviamente): 123456789 234567891 345678912 456789123 567891234 678912345 789123456 891234567 912345678 Si hacemos lo mismo con el siguiente dígito (2), ya aparecen 9 combinaciones distintas: 213456789 134567892 345678921 456789213 567892134 ... Y así sucesivamente con los 9 dígitos.
Las permutaciones que se pueden generar utilizando el set de caracteres "123456789", de 9 caracteres de longitud, son un total de 362.880. La lista completa (3,80 mb): http://cryptb.in/g9FHd#683af2a860337b75fb5de7c9bcb7ba5eLas permutaciones que se pueden generar utilizando el set de caracteres "123456789", desde 1 hasta 9 caracteres de longitud, son un total de 150.994.944. Puedes recurrir a cualquier servicio online que sirva para calcular/generar permutaciones y/o combinaciones, cómo por ejemplo: http://www.mathsisfun.com/combinatorics/combinations-permutations-calculator.htmlLa fórmula empleada es la siguiente (aunque yo no tengo mucha idea de aritmética así que no me preguntes, jeje): PD: Aquí tienes explicaciones más detalladas de las distintas fórmulas, el tipo de combinaciones en el que estás interesado son en realidad permutaciones, sin repetición y con ordenamiento. http://www.mathsisfun.com/combinatorics/combinations-permutations.htmlSaludos!
|
|
|
5733
|
Programación / Scripting / Re: "Se ha alcanzado el nivel maximo de recursividad de "setlocal""
|
en: 27 Febrero 2015, 09:39 am
|
tengo el mismo error mi codigo es el siguiente
me da el mismo error despues de usarlos en mas de apriximadamente 13 veces seguidas ayuda
1. Debes utiliza las etiquetas GeShi para insertar código, lee las normas del foro de programación. 2. Está prohibido revivir un tema antiguo para formular otra pregunta, lee las normas del foro elhacker.net. Dicho esto, estás activando/desactivando la expansión de las variables y llegas al límite de la pila, prueba así: @Echo OFF & SetLocal EnableDelayedExpansion
Set "buildDir=.\PROYECTO\models\EEMFile" Set "srcFilename=script-player-delete%num%.txt" Set "outFilename=temp.txt" Set "searchText=%cd1%\" Set "ver=-delete "" & REM " Set "outputLine="
( For /F "UseBackQ Tokens=1 Delims=¶" %%# in ( "%buildDir%\%srcFilename%" ) Do ( Set "str=%%#" Set "mod=!str:%searchText%=%ver%!" Echo.!mod! ) )>"%buildDir%\%outFilename%"
Del "%buildDir%\%srcFilename%" Ren "%buildDir%\%outFilename%" "%srcFilename%"
Pause&Exit /B 0 Si tienes más dudas sobre el tema, crea un nuevo post. Tema cerrado.Saludos!
|
|
|
5734
|
Programación / .NET (C#, VB.NET, ASP) / Re: [VB.net] Porteo de la implementacion del api de WhatsApiNet WhatsApp WhatsAppAPI
|
en: 27 Febrero 2015, 07:15 am
|
Odio este tipo de APIs desarrolladas para .Net sin ningún tipo de documentación .Net (XML), simplemente llegan a dificultar el majeo manejo hasta imposibilitar la comprensión y la utilización de los miembros definidos en el interior de la librería debido a un desarrollo inapropiado/descuidado al no existir documentación visualizable ni accesible en tiempo de diseño (mediante IntelliSense, Object Inspector) para una plataforma en donde hay que cuidar ciertos detalles esenciales si publicas algo cómo esto para el público. Tras descargarme el código fuente de la última versión de WhatsAppi.Net, desarrollado en C#, y analizarlo muy, muy por encima, he podido comprobar que consta de 508 miembros públicos sin documentar, la mayoría de las classes definidas (95%) usan muchos usings de NameSpaces que no se utilizan (es decir, son totalmente innecesarios), hay un total de 427 conflictos de convenciones de nombres que no se han corregido, hay varios formatos de Strings con cantidades incorrectas de parámetros (ej: String.Format("{0}", 0, 1) ), absolutamente TODOS los event-handlers están incorrectamente definidos (no utilizan la firma 'sender, e'), y lo más importante de todo, uno de sus miembros tiene una considerable fuga de recursos ya que no libera las instancias disposables de los miembros definidos en la Class 'KeyStream', todo esto entre otro tipo de fallos generales que se pueden comprobar con un análisis básico de código en VS.
Sinceramente, yo personalmente no recomiendo la utilización de ninguna librería que esté desarrollada de una manera tan descuidada, a menos que usar esa librería sea el úncio recurso viable que exista para llevar a cabo la tarea requerida (cosa que dezconozco).Pero debido a la gran espectación que ha causado este tema ...este post (y también porque estaba un poco aburrido xD), me he tomado el tiempo de analizar, corregir, y actualizar el snippet de ejemplo que compartió el compañero @79137913 en el primer post, puesto que a muchos usuarios les ha sido dificil comprender la integración del código, o le han dado errores de algún tipo al intentar integrarlo. Aunque por otro lado, debo confesar que yo NO utilizo WhatsApp, así que las mejoras/adaptaciones/modificaciones que he realizado en el código original, son modificaciones que he llevado a cabo bastante 'a ciegas' ya que no podré testear los resultados en un dispositivo.
Primero, antes de mostrar la actualización del código, comentaré algunos fallos (que considero bastante graves) que ustedes deberán tener en cuenta si utilizan el código original que compartió el amigo @79137913 sin hacerle ninguna modificación adicional. Por orden de importancia/gravedad: 1. Public Sub InitWA (ByVal NickName As String, Optional ByVal debug As Boolean = False) WAPass = File. ReadAllText(My. Application. Info. DirectoryPath & "\WAPASS.txt") wa = New WhatsApp (WANum, WAPass, NickName, debug) AddHandler wa.OnLoginSuccess, AddressOf wa_OnLoginSuccess AddHandler wa.OnLoginFailed, AddressOf wa_OnLoginFailed AddHandler wa.OnGetMessage, AddressOf wa_OnGetMessage AddHandler wa.OnGetMessageReceivedClient, AddressOf wa_OnGetMessageReceivedClient AddHandler wa.OnGetMessageReceivedServer, AddressOf wa_OnGetMessageReceivedServer AddHandler wa.OnNotificationPicture, AddressOf wa_OnNotificationPicture AddHandler wa.OnGetPresence, AddressOf wa_OnGetPresence AddHandler wa.OnGetGroupParticipants, AddressOf wa_OnGetGroupParticipants AddHandler wa.OnGetLastSeen, AddressOf wa_OnGetLastSeen AddHandler wa.OnGetTyping, AddressOf wa_OnGetTyping AddHandler wa.OnGetPaused, AddressOf wa_OnGetPaused AddHandler wa.OnGetMessageImage, AddressOf wa_OnGetMessageImage AddHandler wa.OnGetMessageAudio, AddressOf wa_OnGetMessageAudio AddHandler wa.OnGetMessageVideo, AddressOf wa_OnGetMessageVideo AddHandler wa.OnGetMessageLocation, AddressOf wa_OnGetMessageLocation AddHandler wa.OnGetMessageVcard, AddressOf wa_OnGetMessageVcard AddHandler wa.OnGetPhoto, AddressOf wa_OnGetPhoto AddHandler wa.OnGetPhotoPreview, AddressOf wa_OnGetPhotoPreview AddHandler wa.OnGetGroups, AddressOf wa_OnGetGroups AddHandler wa.OnGetSyncResult, AddressOf wa_OnGetSyncResult AddHandler wa.OnGetStatus, AddressOf wa_OnGetStatus AddHandler wa.OnGetPrivacySettings, AddressOf wa_OnGetPrivacySettings AddHandler WhatsAppApi.Helper.DebugAdapter.Instance.OnPrintDebug, AddressOf Instance_OnPrintDebug wa.Connect() Dim datFile As String = getDatFileName(WANum) Dim nextChallenge() As Byte If (File. Exists(datFile )) Then Dim foo As String = File. ReadAllText(datFile ) nextChallenge = Convert.FromBase64String(foo) End If wa.Login(nextChallenge) ProcessChat(wa) End Sub
Por cada vez que se llame al método 'InitWA', éste AÑADIRÁ (que no reemplazará) los listeners de los eventos especificados en el código, ya que en ningún momento se está comprobando si un evento está ya siendo escuchado, ni tampoco se están eliminando handlers anteriores con el uso de la declaración 'RemoveHandler', esto ocasionaría un comportamiento anormal en en los event-handlers definidos en el código. Hay que tenerlo MUY en cuenta por ejemplo al desconectar (wa.Disconnect), y volver a llamar al método 'InitWa', por cada vez que se hiciera eso... 2. Public Sub OnGetMedia (file As String, url As String, data () As Byte) My. Computer. FileSystem. WriteAllBytes(String. Format("preview_{0}.jpg", file), data, False) Dim WA_WC As New WebClient WA_WC. DownloadFileAsync(New Uri (url ), file, 0) End Sub
La aplicación que utilice este método, incrementará el consumo RAM indefinidamente según la cantidad de veces que se instancie el WebClient, ya que la instancia del WebClient jamás se llega a liberar. 3. Public Function SendWA(ByVal MSG As String, Num As String) As Boolean Dim usrMan As New WhatsUserManager() Dim tmpUser = usrMan.CreateUser(Num, "User") wa.SendMessage(Num, MSG) Return True End Function
La función realmente no cumple ninguna utilidad, ya que en cualquier circunstancia siempre devolverá verdadero. Lo que habría que tratar de devolver es Verdadero si el mensaje se envia, y Falso en caso contrario, además, quizas ni siquiera haya que fijarse en devolver True o False, ya que la función "WhatsAppApi.SendMessage" devuelve una cadena de texto cuyo contenido desconozco, pero quizás contnega detalles sobre la validación de la operación ("Succes" o "Fail"), no lo se, ya que no puedo comprobarlo sin WhatsApp (y no voy a hacerle Reflection al ensamblado solo para descubrir que valor de texto envia dicha función). 4. Public Sub wa_OnGetMessageLocation(from As String, id As String, lon As Double, lat As Double, url As String, name As String, preview() As Byte) File. WriteAllBytes(String. Format("{0}{1end sub.jpg", lat, lon ), preview ) End Sub
El formato es erroneo, ya que el segundo parámetro está abierto, por lo tanto la longitud (lon) no se tendrá en cuenta en el formato del texto.
El código original estaba bastante vb6-estilizado, aunque es algo comprensible viniendo de un programador experimentado en VB6, por otro lado yo no acepto el uso de los wrappers de VB6 en .Net, y la estructurización del código era un poco "arreu" (descuidado) cómo decimos en mi tierra. Por lo demás, he respetado mayormente el funcionamiento y la sintaxis del snippet original de @79137913. ¿Qué es lo que he hecho?- Corregir los errores mencionados arriba.
- Corregir todas las convenciones de nombres en los miembros del código original (métodos y parámetros mal nombrados) para facilitarle la tarea de búsqueda/identificación al compiler.
También he corregido aquellas definiciones de nombres que podían resultar en ambiguaciones (ej: file), pues quiero recordarles que algunas palabras reservadas cómo "'type', 'from', es preferible "escaparlas" al definirlas como nombres de variables, y otros nombres como "file", al importar el espacio de nombres "System.IO.File", directamente es preferible evitar ese tipo de nombramientos ambiguos y utilizar algo más específico (ej: fileObj, fileName, filePath, etc). - Añadir los Imports de los Namespaces requeridos para el uso del código, por los problemas que algunos usuarios han tenido con eso.
- Traslación de Módulo a Clase.
- Implementación de la interfáz IDisposable, para liberar la instancia de WhatsApp (WA) correctamente.
- Implementación de una excepción específica, 'WALoginFailedException', que sustituye a la terminación de ejecución en el método 'OnLoginFailed' del código original.
- Documentar todos los miembros del código. Aunque sigue siendo una documentación MUY incompleta a falta de documentación oficial por parte de los desarrolladores de la API para .Net.
¿Cómo utilizarlo?Esteticamente el código modificado es diferente, pero su utilización es practicamente igual al código original, especifiquen sus datos en las propiedades "Number", "Password" y/o "PasswordFilepath"; el método original 'InitWa' ha sido reemplazado por el nuevo método 'Initializecomponent'; el método original 'ProcessChat' ha sido reemplazado por el nuevo método 'ProcessChatAsync', y el nuevo método 'ProcessChat' ahora es sincrónico; el método original 'SendWA' ha sido reemplazado por el nuevo método 'SendMessage' para enviar un mensaje, y el nuevo método 'TestMessage' para testear un mensaje con un usuario temporal. Ejemplo de uso: Public Class TestForm Private wa As WhatsAppHelper Private Sub Test() Me. wa = New WhatsAppHelper (nickName: ="", [debug]: =False) Using wa Debug. WriteLine(Me. wa. Number) Debug. WriteLine(Me. wa. Password) Debug. WriteLine(Me. wa. TextEncoding. ToString) wa.ProcessChatAsync() wa.SendMessage(msg:="mensaje", num:="num") End Using End Sub End Class
Espero que a alguien le sirva este código para despejar mejor las dudas, tengan en cuenta que esto no lo he desarrollado para mi, yo odio WhatsApp y ni lo tengo ni lo uso, este código es con la única intención de intentar ayudarles, pero si tienen alguna duda o error al usarlo entonces será mejor que la consulten con el compañero @79137913 y no conmigo, porque, vuelvo a repetir, no puedo testear las modificaciones que hice (ni el ejemplo de uso que compartí). Source:#Region " Option statements " Option Explicit On Option Strict On Option Infer Off #End Region #Region " Imports " Imports System.IO Imports System.Linq Imports System.Net Imports System.Text Imports System.Threading Imports System.Threading.Tasks Imports WhatsAppApi Imports WhatsAppApi.Account Imports WhatsAppApi.Helper Imports WhatsAppApi.Response Imports WhatsAppApi.ApiBase #End Region #Region " WhatsAppHelper " ''' <summary> ''' Class WhatsAppHelper. ''' This class cannot be inherited. ''' </summary> Public NotInheritable Class WhatsAppHelper : Implements IDisposable #Region " Objects " ''' <summary> ''' The <see cref="WhatsAppApi.WhatsApp"/> instance. ''' </summary> Private WithEvents wa As WhatsApp ''' <summary> ''' </summary> Private WithEvents waDebugger As DebugAdapter #End Region #Region " Properties " ''' <summary> ''' Gets the... ''' </summary> ''' <value>.</value> Public ReadOnly Property Number As String Get Return "5492236685519" End Get End Property ''' <summary> ''' Gets the... ''' </summary> ''' <value>.</value> Public ReadOnly Property PasswordFilepath As String Get Return Path.Combine(Application.StartupPath, "WAPASS.txt") End Get End Property ''' <summary> ''' Gets the... ''' </summary> ''' <value>.</value> Public ReadOnly Property Password As String Get Try Return File. ReadAllText(Me. PasswordFilepath, Me. TextEncoding) Catch ex As FileNotFoundException Throw New FileNotFoundException("WhatsApp password file not found.", Me.PasswordFilepath) Catch ex As Exception Throw End Try End Get End Property ''' <summary> ''' Gets the... ''' </summary> ''' <value>.</value> Public ReadOnly Property TextEncoding As Encoding Get Return Encoding.Default End Get End Property #End Region #Region " Exceptions " ''' <summary> ''' Exception that is thrown when WhatsApp login has failed. ''' </summary> <Serializable> Public NotInheritable Class WALoginFailedException : Inherits Exception ''' <summary> ''' Initializes a new instance of the <see cref="WALoginFailedException"/> class. ''' </summary> Public Sub New() MyBase.New("WhatsApp Login Failed") End Sub ''' <summary> ''' Initializes a new instance of the <see cref="WALoginFailedException"/> class. ''' </summary> ''' <param name="message">The message that describes the error.</param> Public Sub New(message As String) MyBase.New(message) End Sub End Class #End Region #Region " Constructors " ''' <summary> ''' Initializes a new instance of the <see cref="WhatsAppHelper"/> class. ''' </summary> ''' <param name="nickName">.</param> ''' <param name="debug">.</param> Public Sub New(ByVal nickName As String, Optional ByVal debug As Boolean = False) Me. InitializeComponent(nickName, debug) End Sub ''' <summary> ''' Prevents a default instance of the <see cref="WhatsApp"/> class from being created. ''' </summary> Private Sub New() End Sub #End Region #Region " Private Methods " ''' <summary> ''' </summary> ''' <param name="nickName">.</param> ''' <param name="debug">.</param> Private Sub InitializeComponent(ByVal nickName As String, Optional ByVal debug As Boolean = False) Me. wa = New WhatsApp (Me. Number, Me. Password, nickName, debug) Me.waDebugger = DebugAdapter.Instance Me.wa.Connect() Dim datFile As String = Me.GetDatFileName(Me.Number) Dim nextChallenge As Byte() = Nothing If File. Exists(datFile ) Then Dim text As String = File. ReadAllText(datFile, Me. TextEncoding) nextChallenge = Convert.FromBase64String(text) End If Me.wa.Login(nextChallenge) End Sub ''' <summary> ''' </summary> ''' <param name="pn">.</param> ''' <returns>.</returns> Private Function GetDatFileName(ByVal pn As String) As String Dim filename As String = String.Format("{0}.next.dat", pn) Return Path.Combine(Application.StartupPath, filename) End Function ''' <summary> ''' </summary> ''' <param name="filename">.</param> ''' <param name="url">The url to download.</param> ''' <param name="data">.</param> Private Sub DownloadMedia(ByVal filename As String, ByVal url As String, ByVal data As Byte()) File. WriteAllBytes(String. Format("preview_{0}.jpg", filename ), data ) Dim waClient As New WebClient Try Using waClient waClient.DownloadFileAsync(New Uri(url), filename, 0) End Using Catch ex As Exception Throw Finally If waClient IsNot Nothing Then waClient.Dispose() End If End Try End Sub #End Region #Region " Public Methods " ''' <summary> ''' </summary> ''' <param name="msg">.</param> ''' <param name="num">.</param> ''' <returns>.</returns> Public Function SendMessage(ByVal msg As String, ByVal num As String) As String Return wa.SendMessage([to]:=num, txt:=msg) End Function ''' <summary> ''' </summary> ''' <param name="msg">.</param> ''' <param name="num">.</param> ''' <returns><c>true</c> if successfull, <c>false</c> otherwise.</returns> Public Function TestMessage(ByVal msg As String, ByVal num As String) As Boolean Dim tmpUser As WhatsUser = New WhatsUserManager().CreateUser(num, "User") Try wa.SendMessage([to]:=num, txt:=msg) Catch ex As Exception Return False End Try Return True End Function ''' <summary> ''' </summary> Public Sub ProcessChatAsync() Task.Factory.StartNew(Sub() Me.ProcessChat(Me.wa) End Sub) End Sub ''' <summary> ''' </summary> Public Sub ProcessChat() While Me.wa IsNot Nothing Try Me.wa.PollMessages() Catch ex As Exception ' Throw End Try Thread.Sleep(millisecondsTimeout:=100) End While End Sub #End Region #Region " Event-Handlers " ''' <summary> ''' Handles the OnGetPrivacySettings event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="settings">.</param> Private Sub WA_OnGetPrivacySettings (ByVal settings As Dictionary(Of VisibilityCategory, VisibilitySetting )) _ Handles wa.OnGetPrivacySettings ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetStatus event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="form">.</param> ''' <param name="type">.</param> ''' <param name="name">.</param> ''' <param name="status">.</param> Private Sub WA_OnGetStatus(ByVal form As String, ByVal type As String, ByVal name As String, ByVal status As String) _ Handles wa.OnGetStatus ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetSyncResult event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="index">.</param> ''' <param name="sid">.</param> ''' <param name="existingUsers">.</param> ''' <param name="failedNumbers">.</param> Private Sub WA_OnGetSyncResult(ByVal index As Integer, ByVal sid As String, ByVal existingUsers As Dictionary(Of String, String), ByVal failedNumbers As String()) _ Handles wa.OnGetSyncResult ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetGroups event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="groups">.</param> Private Sub WA_OnGetGroups(ByVal groups As WaGroupInfo()) _ Handles wa.OnGetGroups ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetPhotoPreview event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> ''' <param name="data">.</param> Private Sub WA_OnGetPhotoPreview(ByVal [from] As String, ByVal id As String, ByVal data As Byte()) _ Handles wa.OnGetPhotoPreview Try File. WriteAllBytes(String. Format("preview_{0}.jpg", [from ]), data ) Catch ex As Exception Throw End Try End Sub ''' <summary> ''' Handles the OnGetPhoto event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> ''' <param name="data">.</param> Private Sub WA_OnGetPhoto(ByVal [from] As String, ByVal id As String, ByVal data As Byte()) _ Handles wa.OnGetPhoto Try File. WriteAllBytes(String. Format("{0}.jpg", [from ]), data ) Catch ex As Exception Throw End Try End Sub ''' <summary> ''' Handles the OnGetMessageVcard event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> ''' <param name="name">.</param> ''' <param name="data">.</param> Private Sub WA_OnGetMessageVcard(ByVal [from] As String, ByVal id As String, ByVal name As String, ByVal data As Byte()) _ Handles wa.OnGetMessageVcard Try File. WriteAllBytes(String. Format("{0}.vcf", name ), data ) Catch ex As Exception Throw End Try End Sub ''' <summary> ''' Handles the OnGetMessageLocation event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> ''' <param name="lon">.</param> ''' <param name="lat">.</param> ''' <param name="url">.</param> ''' <param name="name">.</param> ''' <param name="preview">.</param> Private Sub WA_OnGetMessageLocation(ByVal [from] As String, ByVal id As String, ByVal lon As Double, ByVal lat As Double, ByVal url As String, ByVal name As String, ByVal preview() As Byte) _ Handles wa.OnGetMessageLocation Try File. WriteAllBytes(String. Format("{0}{1}end sub.jpg", lat, lon ), preview ) Catch ex As Exception Throw End Try End Sub ''' <summary> ''' Handles the OnGetMessageVideo event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> ''' <param name="filename">.</param> ''' <param name="fileSize">.</param> ''' <param name="url">.</param> ''' <param name="preview">.</param> Private Sub WA_OnGetMessageVideo(ByVal [from] As String, ByVal id As String, ByVal filename As String, ByVal fileSize As Integer, ByVal url As String, ByVal preview As Byte()) _ Handles wa.OnGetMessageVideo Me.DownloadMedia(filename, url, preview) End Sub ''' <summary> ''' Handles the OnGetMessageAudio event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> ''' <param name="filename">.</param> ''' <param name="filesize">.</param> ''' <param name="url">.</param> ''' <param name="preview">.</param> Private Sub WA_OnGetMessageAudio(ByVal [from] As String, ByVal id As String, ByVal filename As String, ByVal filesize As Integer, ByVal url As String, ByVal preview As Byte()) _ Handles wa.OnGetMessageAudio Me.DownloadMedia(filename, url, preview) End Sub ''' <summary> ''' Handles the OnGetMessageImage event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> ''' <param name="filename">.</param> ''' <param name="size">.</param> ''' <param name="url">.</param> ''' <param name="preview">.</param> Private Sub WA_OnGetMessageImage(ByVal [from] As String, ByVal id As String, ByVal filename As String, ByVal size As Integer, ByVal url As String, ByVal preview As Byte()) _ Handles wa.OnGetMessageImage Me.DownloadMedia(filename, url, preview) End Sub ''' <summary> ''' Handles the OnGetPaused event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> Private Sub WA_OnGetPaused(ByVal [from] As String) _ Handles wa.OnGetPaused ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetTyping event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> Private Sub WA_OnGetTyping(ByVal [from] As String) _ Handles wa.OnGetTyping ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetLastSeen event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="lastseen">.</param> Private Sub WA_OnGetLastSeen(ByVal [from] As String, ByVal lastseen As Date) _ Handles wa.OnGetLastSeen ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetMessageReceivedServer event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> Private Sub WA_OnGetMessageReceivedServer(ByVal [from] As String, ByVal id As String) _ Handles wa.OnGetMessageReceivedServer ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetMessageReceivedClient event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="id">.</param> Private Sub WA_OnGetMessageReceivedClient(ByVal [from] As String, ByVal id As String) _ Handles wa.OnGetMessageReceivedClient ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetGroupParticipants event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="gjid">.</param> ''' <param name="jids">.</param> Private Sub WA_OnGetGroupParticipants(ByVal gjid As String, ByVal jids As String()) _ Handles wa.OnGetGroupParticipants ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetPresence event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="from">.</param> ''' <param name="type">.</param> Private Sub WA_OnGetPresence(ByVal [from] As String, ByVal type As String) _ Handles wa.OnGetPresence ' Put your code here. End Sub ''' <summary> ''' Handles the OnNotificationPicture event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="type">.</param> ''' <param name="jid">.</param> ''' <param name="id">.</param> Private Sub WA_OnNotificationPicture(ByVal [type] As String, ByVal jid As String, ByVal id As String) _ Handles wa.OnNotificationPicture ' Put your code here. End Sub ''' <summary> ''' Handles the OnGetMessage event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="node">.</param> ''' <param name="from">.</param> ''' <param name="id">.</param> ''' <param name="name">.</param> ''' <param name="message">.</param> ''' <param name="receiptSent">.</param> Private Sub WA_OnGetMessage(ByVal node As ProtocolTreeNode, ByVal [from] As String, ByVal id As String, ByVal name As String, ByVal message As String, ByVal receiptSent As Boolean) _ Handles wa.OnGetMessage Dim number As String = [from].Split("@"c).First End Sub ''' <summary> ''' Handles the OnLoginFailed event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="data">The data.</param> Private Sub WA_OnLoginFailed(ByVal data As String) _ Handles wa.OnLoginFailed Throw New WALoginFailedException End Sub ''' <summary> ''' Handles the OnLoginSuccess event of the <see cref="WA"/> instance. ''' </summary> ''' <param name="phoneNumber">.</param> ''' <param name="data">.</param> Private Sub WA_OnLoginSuccess(ByVal phoneNumber As String, ByVal data As Byte()) _ Handles wa.OnLoginSuccess ' next password Dim sdata As String = Convert.ToBase64String(data) Try File. WriteAllText(Me. GetDatFileName(Me. Number), sdata ) Catch ex As Exception Throw End Try End Sub ''' <summary> ''' Handles the OnPrintDebug event of the <see cref="waDebugger"/> instance. ''' </summary> ''' <param name="value">.</param> Private Sub Instance_OnPrintDebug(ByVal value As Object) _ Handles waDebugger.OnPrintDebug Debug. Print(value. ToString) End Sub #End Region #Region " IDisposable " ''' <summary> ''' To detect redundant calls when disposing. ''' </summary> Private isDisposed As Boolean = False ''' <summary> ''' Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. ''' </summary> Public Sub Dispose() Implements IDisposable.Dispose Me.Dispose(isDisposing:=True) GC.SuppressFinalize(obj:=Me) End Sub ''' <summary> ''' Releases unmanaged and - optionally - managed resources. ''' </summary> ''' <param name="isDisposing"> ''' <c>true</c> to release both managed and unmanaged resources; ''' <c>false</c> to release only unmanaged resources. ''' </param> Protected Sub Dispose(ByVal isDisposing As Boolean) If Not Me.IsDisposed Then If isDisposing Then Try Me.wa.Disconnect() Me.wa = Nothing Me.waDebugger = Nothing Catch ex As Exception Throw End Try End If End If Me.isDisposed = True End Sub #End Region End Class #End Region
Saludos!
|
|
|
5735
|
Sistemas Operativos / Windows / Re: No puedo poner a hibernar mi computadora.
|
en: 27 Febrero 2015, 04:07 am
|
Buenas Si tu mouse no es mecánico (de bola) entonces simplemente podría ser algún tipo de poltergeist relacionado con el mouse, a mi me pasó lo mismo hace unos años y deduje que era por una mala calibración o algo que fallaba en el mouse que hacia que cada 2-3 segundos se moviese al siguiente cuadro de pixel en la pantalla, creo que es exactamente lo que te sucede a tí. En mi caso, el problema lo solucioné adquiriendo un nuevo mouse (ya que al ser nuevo funcionaba correctamente), no se si este tipo de fallo en los mouse ópticos/laser tendrá algún término conocido, aunque quien sabe si quizás estuve equivocado y fuese un conflicto por usar los drivers genéricos de Windows y no un fallo del propio mouse... En fín, si tu mouse no es mecánico, entonces prueba a mantenerlo desconectado al hibernar, si el problema desaparece, ve a que te lo reparen, utiliza la garantia para que te den uno nuevo en buen estado, compra uno nuevo, o prueba a utilizar los drivers especificos del fabricante por si no fuese un fallo del dispositivo, sino de los drivers integrados en Windows. De todas formas si ese no fuese el problema, entonces con la aplicación Process Monitor de SysInternals puedes monitorear y analizar las acciones del sistema (de los procesos) tras la hibernación, aunque primero debes especificar un filtro para evitar registrar los procesos del sistema y cualquier otro proceso/clave de registro/evento que no sea sospechoso, para así evitar una laaarga lista de registros basura que solo entorpecerán el análisis: https://technet.microsoft.com/es-es/sysinternals/bb896645.aspxSaludos!
|
|
|
5736
|
Programación / Scripting / Re: ¿Qué se puede hacer con BASH?
|
en: 27 Febrero 2015, 03:36 am
|
Si queres algo sencillo rápido y fácil de aprender tenes VB.NET si queres algo robusto y potente C# Ese comparación es una completa bobada, es un típico error de comprensión por falta de inexperiencia sobre .Net (VB.Net/C# y sus internals). Intentaré aclarar dudas: Las diferencias entre VB.Net y C# son simplemente sintácticas (su sintaxis), y ahí es donde terminan todas las diferencias entre ambos lenguajes para cualquier programador que no necesite llevar a cabo tareas muy, muy específicas en las que entre ambos lenguajes unicamente VB.Net sea capaz, o unicamente C# sea capaz (ej: unsafe code, interfaces parciales), tareas que solo necesitan llevar a cabo un 0,1% de programadores (no es un porcentaje real, solo estoy denotando la irrelevancia de dichas características que distinguen a C# de Vb.Net, o VB.Net de C#). Dicho de otra forma, VB.Net y C#, ambos tienen la misma "robustez" y "potencia", ya que ambos trabajan bajo la plataforma .Net Framework, y están cualificados para llevar a cabo las mismas tareas, exceptuando muy, muy pocas en las que tanto Vb.Net es el único capaz para unas cuantas, y C# es el único capaz para otras cuantas, nada realmente relevante y necesario cómo para necesitar mayores aclaraciones y explicaciones para alargar este post, pero quien quiera conocer más detalles puede ver una lista de diferencias actuales entre ambos lenguajes en Wikipedia (que solo son eso, diferencias, no ventajas ni desventajas): http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NETLa mayor diferencia que en mi opinión habría que tener en cuenta, o al menos la que tuve yo en su día (entre otras), es que VB.Net dispone de muchas palabras reservadas (keywords) inexistentes en C#, que facilitan mucho el desarrollo y la comprensión del código (ej: Handles, WithEvents, RaiseEvent, Overloads), además, C# es un lenguaje más estricto también al ser un lenguaje case-sensitive (distingue mayus/minus), pero ninguno es mejor lenguaje que el otro. Puesto que sus mayores diferencias son sintacticas, las mejor solución para elegir el uso de uno u otro lenguaje, es el lenguaje en que el encuentres más fácil el desarrollo, es decir, el modo de empleo que a ti te resulte más comprensible y la sintaxis más rápida de escribir/utilizar, el lenguaje que haga de ti un programador más productivo. No hay más. Saludos!
|
|
|
5737
|
Programación / .NET (C#, VB.NET, ASP) / Re: duda net framework
|
en: 27 Febrero 2015, 02:49 am
|
Puedes cambiar el .net framework objetivo desde las propiedades del proyecto: Debes tener en cuenta que si utilizas miembros/namespaces/métodos específicos de la versión 4.5, entonces deberás adaptar el código al downgradear la versión objetivo de .Net Framework, ya que será imposible utilizar dichos miembros al no existir en versiones anteriores de .Net Framework. Saludos
|
|
|
5739
|
Programación / .NET (C#, VB.NET, ASP) / Re: [Ayuda] Condiciones en C# [Aplicacion de consola]
|
en: 25 Febrero 2015, 11:43 am
|
aca esta el verdadero problema : Me detecta perfectamente la barra pero cuando envio los mensajes sin la barra se envia uno de cada dos. static void MandarMensaje() { string texto = Console.ReadLine(); if (texto[0] == '/') { Comando = true; } else { Comando = false; } if (Comando == false) { byte[] sdata = Encoding.Default.GetBytes("<" + name + "> " + Console.ReadLine()); acc.Send(sdata, 0, sdata.Length, 0); Console.WriteLine("-"); //Espaciador } else { Console.WriteLine("Comando !"); } }
Fíjate que estás leyendo la entrada de la consola DOS veces cuanda la barra "/" no se detecta, es decir, cuando 'comando' es 'False', primero almacenas el input en la variable 'text', pero esa variable no la usas para nada ya que vuelves a leer el input del usuario una seguna vez, por lo tanto el primer mensaje nunca se llega a enviar. Si no he entendido mal el problema entonces eso es a lo que te refieres, ¿no?, en ese caso cambia el segundo 'Console.ReadLine' por la variable 'texto'. De todas formas te sugiero hacer más modificaciones, así: VB.Net Public Sub SendMessage() Dim text As String = Console.ReadLine() If String.IsNullOrEmpty(text) Then Exit Sub Else Dim command As Boolean = text.TrimStart({" "c, ControlChars.NullChar}). StartsWith("/"c, StringComparison.OrdinalIgnoreCase) Select Case command Case True Console.WriteLine("Comando !") Case Else Dim sdata As Byte() = Encoding.Default.GetBytes(String.Format("<{0}> {1}", name, text)) acc.Send(sdata, 0, sdata.Length, 0) Console.WriteLine("-") End Select End If End Sub
Traducción a C#: static void SendMessage() { string text = Console.ReadLine(); if (string.IsNullOrEmpty(text)) { return; } else { bool command = text.TrimStart({' ', ControlChars.NullChar}).StartsWith('/', StringComparison.OrdinalIgnoreCase); switch (command) { case true: Console.WriteLine("Comando !"); break; default: byte[] sdata = Encoding.Default.GetBytes(string.Format("<{0}> {1}", name, text)); acc.Send(sdata, 0, sdata.Length, 0); Console.WriteLine("-"); break; } } }
Saludos
|
|
|
5740
|
Programación / Scripting / Re: problema con variable e instancia
|
en: 25 Febrero 2015, 11:15 am
|
La sintaxis de este método era incorrecta tanto por el formato del string como por que el método no tomaba ningún parámetro, prueba así: def __repr__(self): return "%d, %d, %d" % (self.x, self.y, self.z)
PD: Ya te dije anteriormente que si tienes alguna duda sobre algún error, DESCRIBE EL ERROR, que no somos adivinos. Saludos
|
|
|
|
|
|
|