|
7501
|
Programación / Scripting / Re: No me deja instalar id3 mass tagger
|
en: 8 Marzo 2014, 16:39 pm
|
Ahora si, gracias, con el source ya te puedo ayudar. El problema es que la unidad D: no existe y no se puede encontrar, lo más probable es que al reinstalar Windows este te haya modificado la letra de dicha unidad. Si escribes una unidad que no existe (Ej: "Z:"), precísamente lanza el mismo error que comentaste: c:\>Z:
El sistema no puede encontrar el controlador especificado. Haz la modificación necearia a la letra de la unidad, y para evitar futuros errores te sugiero reemplazar el comando: Por este otro: PUSHD "D:" 2>NUL || (Echo No existe la unidad & Pause&Exit /B 1) (óbviamente, como ya digo, debes asignarle la letra de unidad correcta al comando) Saludos!
|
|
|
7502
|
Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Compartan aquí sus snippets)
|
en: 8 Marzo 2014, 15:41 pm
|
Un ejemplo de uso muy básico de la librería NCalc ~> http://ncalc.codeplex.com/ Dim MathExpression As String = "(2 + 3) * 2" ' Result: 10 Dim NCalcExpression As New NCalc.Expression(MathExpression) MsgBox(NCalcExpression.Evaluate().ToString)
Una forma de comprobar si un archivo es un ensamblado .NET: ' Usage Examples: ' ' MsgBox(IsNetAssembly("C:\File.exe")) ' MsgBox(IsNetAssembly("C:\File.dll")) ''' <summary> ''' Gets the common language runtime (CLR) version information of the specified file, using the specified buffer. ''' </summary> ''' <param name="filepath">Indicates the filepath of the file to be examined.</param> ''' <param name="buffer">Indicates the buffer allocated for the version information that is returned.</param> ''' <param name="buflen">Indicates the size, in wide characters, of the buffer.</param> ''' <param name="written">Indicates the size, in bytes, of the returned buffer.</param> ''' <returns>System.Int32.</returns> <System.Runtime.InteropServices.DllImport("mscoree.dll", CharSet:=System.Runtime.InteropServices.CharSet.Unicode)> Private Shared Function GetFileVersion( ByVal filepath As String, ByVal buffer As System.Text.StringBuilder, ByVal buflen As Integer, ByRef written As Integer ) As Integer End Function ''' <summary> ''' Determines whether an exe/dll file is an .Net assembly. ''' </summary> ''' <param name="File">Indicates the exe/dll file to check.</param> ''' <returns><c>true</c> if file is an .Net assembly; otherwise, <c>false</c>.</returns> Public Shared Function IsNetAssembly (ByVal [File] As String) As Boolean Dim sb = New System.Text.StringBuilder(256) Dim written As Integer = 0 Dim hr = GetFileVersion ([File], sb, sb. Capacity, written ) Return hr = 0 End Function
Un simple efecto de máquina de escribir: ' *********************************************************************** ' Author : Elektro ' Modified : 03-08-2014 ' *********************************************************************** ' <copyright file="TypeWritter.vb" company="Elektro Studios"> ' Copyright (c) Elektro Studios. All rights reserved. ' </copyright> ' *********************************************************************** #Region " Usage Examples " 'Sub Main() ' Console.WriteLine() ' TypeWritter.WriteLine("[ Typewritter ] - By Elektro") ' TypeWritter.WriteLine() ' TypeWritter.WriteLine() ' TypeWritter.WriteLine("Hola a todos!, les presento este humilde y simple efecto de máquina de escribir") ' TypeWritter.WriteLine() ' TypeWritter.WriteLine("Si os fijais aténtamente, quizás ya habreis notado, que hay pausas realistas, al escribir signos de puntuación...") ' TypeWritter.WriteLine() ' TypeWritter.WriteLine("[+] Podemos establecer la velocidad de escritura, por ejemplo, a 20 ms. :") ' TypeWritter.WriteLine("abcdefghijklmnopqrstuvwxyz", 20) ' TypeWritter.WriteLine() ' TypeWritter.WriteLine("[+] Podemos establecer la velocidad de las pausas, por ejemplo, a 2 seg. :") ' TypeWritter.WriteLine(".,;:", , 2 * 1000) ' TypeWritter.WriteLine() ' TypeWritter.WriteLine("[+] El efecto corre en una tarea asíncrona, por lo que se pueden hacer otras cosas mientras tanto, sin frezzear una GUI, y también podemos cancelar la escritura en cualquier momento, gracias al Token de cancelación.") ' TypeWritter.WriteLine() ' TypeWritter.WriteLine() ' TypeWritter.WriteLine("Esto es todo por ahora.") ' Console.ReadKey() 'End Sub #End Region #Region " TypeWritter " ''' <summary> ''' Simulates text-typying effect like a Typewritter. ''' </summary> Public Class TypeWritter #Region " Properties " ''' <summary> ''' When set to 'True', the running 'Typewritter' task will be cancelled. ''' ( The property is set again to 'False' automatically after a 'Task' is cancelled ) ''' </summary> Public Shared Property RequestCancel As Boolean = False #End Region #Region " Task Objects " ''' <summary> ''' The typewritter asynchronous Task. ''' </summary> Private Shared TypeWritterTask As Threading.Tasks.Task ''' <summary> ''' The typewritter Task Cancellation TokenSource. ''' </summary> Private Shared TypeWritterTaskCTS As New Threading.CancellationTokenSource ''' <summary> ''' The typewritter Task Cancellation Token. ''' </summary> Private Shared TypeWritterTaskCT As Threading.CancellationToken = TypeWritterTaskCTS.Token #End Region #Region " Private Methods " ''' <summary> ''' Writes text simulating a Typewritter effect. ''' </summary> ''' <param name="CancellationToken">Indicates the cancellation token of the Task.</param> ''' <param name="Text">Indicates the text to type.</param> ''' <param name="TypeSpeed">Indicates the typying speed, in ms.</param> ''' <param name="PauseDuration">Indicates the pause duration of the punctuation characters, in ms.</param> Private Shared Sub TypeWritter(ByVal CancellationToken As Threading.CancellationToken, ByVal [Text] As String, ByVal TypeSpeed As Integer, ByVal PauseDuration As Integer) ' If Text is empty then write an empty line... If String.IsNullOrEmpty([Text]) Then ' If not cancellation is already requested then... If Not CancellationToken.IsCancellationRequested Then ' Write an empty line. Console.WriteLine() ' Wait-Speed (empty line). Threading.Thread.Sleep(PauseDuration) End If ' CancellationToken.IsCancellationRequested End If ' String.IsNullOrEmpty([Text]) ' For each Character in Text to type... For Each c As Char In [Text] ' If not cancellation is already requested then... If Not CancellationToken.IsCancellationRequested Then ' Type the character. Console.Write(CStr(c)) ' Type-Wait. Threading.Thread.Sleep(TypeSpeed) If ".,;:".Contains(c) Then ' Pause-Wait. Threading.Thread.Sleep(PauseDuration) End If Else ' want to cancel. ' Exit iteration. Exit For End If ' CancellationToken.IsCancellationRequested Next c ' As Char In [Text] End Sub #End Region #Region " Public Methods " ''' <summary> ''' Writes text simulating a Typewritter effect. ''' </summary> ''' <param name="Text">Indicates the text to type.</param> ''' <param name="TypeSpeed">Indicates the typying speed, in ms.</param> ''' <param name="PauseDuration">Indicates the pause duration of the punctuation characters, in ms.</param> Public Shared Sub Write(ByVal [Text] As String, Optional ByVal TypeSpeed As Integer = 75, Optional ByVal PauseDuration As Integer = 400) ' Run the asynchronous Task. TypeWritterTask = Threading.Tasks. Task.Factory.StartNew(Sub() TypeWritter(TypeWritterTaskCT, [Text], TypeSpeed, PauseDuration) End Sub, TypeWritterTaskCT) ' Until Task is not completed or is not cancelled, do... Do Until TypeWritterTask.IsCompleted OrElse TypeWritterTask.IsCanceled ' If want to cancel then... If RequestCancel Then ' If not cancellation is already requested then... If Not TypeWritterTaskCTS.IsCancellationRequested Then ' Cancel the Task. TypeWritterTaskCTS.Cancel() ' Renew the cancellation token and tokensource. TypeWritterTaskCTS = New Threading.CancellationTokenSource TypeWritterTaskCT = TypeWritterTaskCTS.Token End If ' Reset the cancellation flag var. RequestCancel = False ' Exit iteration. Exit Do End If Loop ' TypeTask.IsCompleted OrElse TypeTask.IsCanceled End Sub ''' <summary> ''' Writes text simulating a Typewritter effect, and adds a break-line at the end. ''' </summary> ''' <param name="Text">Indicates the text to type.</param> ''' <param name="TypeSpeed">Indicates the typying speed, in ms.</param> ''' <param name="PauseDuration">Indicates the pause duration of the punctuation characters, in ms.</param> Public Shared Sub WriteLine(ByVal [Text] As String, Optional ByVal TypeSpeed As Integer = 75, Optional ByVal PauseDuration As Integer = 400) Write([Text], TypeSpeed, PauseDuration) Console.WriteLine() End Sub ''' <summary> ''' Writes an empty line. ''' </summary> ''' <param name="PauseDuration">Indicates the pause duration of the empty line, in ms.</param> Public Shared Sub WriteLine(Optional ByVal PauseDuration As Integer = 750) Write(String.Empty, 1, PauseDuration) End Sub #End Region End Class #End Region
|
|
|
7503
|
Programación / Scripting / Re: No me deja instalar id3 mass tagger
|
en: 8 Marzo 2014, 04:24 am
|
De verdad, yo no se en que piensan ustedes cuando invierten su tiempo en formular una pregunta para pedir ayuda, ya que se ponen a hacerlo, ¿que menos que hacerlo bien?. Hablas sobre un programa obsoleto (muerto) y underground, teniendo eso en cuenta, como mínimo deberías especificar: · de donde lo descargaste · versión del programa · el SO donde lo utilizas (aunque sea obvio) Además de eso hay ciertos datos fundamentales que se deben proporcionar para formular una duda sobre un lenguaje (no por que lo diga yo ni las normas, sinó por pura lógica si ustedes esperan recibir ayudar): · el lenguaje que utilizas · los detalles mínimos del error · el código que utiizasPero aun así, sin aportar a tu duda toda esa información, ¿esperas que alguien te entienda y te pueda ofrecer ayuda sin más?, ¿de verdad lo esperas?. ...Bueno, por pura casualidad yo sé de que programa hablas ya que he usado ese tipo de herramientas durante gran parte de mi vida, dudo que más de 5 personas en todo el foro conozcan o hayan usado ese programa, deberías plantearte mejor la información que porporcionas en los posts que formules en el futuro.
el id3 mass tagger se distribuía como una aplicación de interface commandline (antes de morir), es decir, no se distribuia como un instalador, así que esto no me cuadra, ya que no tiene ningún sentido este error si no existe ningún instalador: "no se pudo instalar hubo un error". ...Y tampoco das muchos detalles sobre donde te aparece ese mensaje ni de donde lo descargaste ...ni nada. El sistema no puede hallar el controlador especificado. id3: no files matching 35_PISTA.mp3 Un output sin el código no sirve de mucho.... De todas formas el error parece suceder antes de que tu Script procese la orden que ejecuta al id3.exe, ya que parece que el id3.exe se inicializa corréctamente porque este llama al método que procesa los parámetros que le enviaste para buscar archivos mp3, y te da la respuesta, así que si el error crítico fuese del id3.exe, lo más normal sería que finalizase la ejecución del programa, pero el output indica que no finalizó. Así que, en mi opinión, no creo que el problema se del id3, los errores que tienes parecen estar más bien relacionados con componentes perdidos/corruptos en Windows, todo parece apuntar a que te falta alguna dll (controlador) inexistente en tu PC, y eso me lleva a pensar... ¿Te has instalado el típico y dañino Windows Lite?. PD: Yo siempre he usado sin problemas el id3 mass tagger en Win Vista, 7, 8, y 8.1. Saludos
|
|
|
7504
|
Programación / Scripting / Re: [DUDA] Batch o FTP
|
en: 8 Marzo 2014, 02:02 am
|
La imagen de error sin la linea que lanza el error no sirve para nada, ¿Nos muestras lo que hay en la linea 3 del código?  De todas formas, el error se explica por si mismo, no tienes los permisos de usuario necesarios para realizar "X" acción (acción que se realiza en la linea 3). Imagino que la linea 3 de tu código será la misma que esta: Set objFile = objFSO.CreateTextFile(outFile,True) Saludos
|
|
|
7505
|
Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Compartan aquí sus snippets)
|
en: 7 Marzo 2014, 19:52 pm
|
Algunos métodos de uso genérico sobre las cuentas de usuario.
' Get UserNames ' ( By Elektro ) ' ' Instructions: ' 1. Add a reference to 'System.DirectoryServices.AccountManagement'. ' 2. Imports System.DirectoryServices.AccountManagement ' ' Example Usages: ' Dim UserNames As String() = GetUserNames() ' ''' <summary> ''' Get the username accounts of the current machine. ''' </summary> ''' <returns>System.String[][].</returns> Public Function GetUserNames() As String() Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim UserNames As String() = (From u As Principal In pSearcher.FindAll Select u.Name).ToArray pContext.Dispose() pSearcher.Dispose() pUser.Dispose() Return UserNames End Function
' Get Users ' ( By Elektro ) ' ' Instructions: ' 1. Add a reference to 'System.DirectoryServices.AccountManagement'. ' 2. Imports System.DirectoryServices.AccountManagement ' ' Example Usages: ' Dim Users As Principal() = GetUsers() ' For Each User As Principal In Users() ' MsgBox(User.Name) ' Next ' ''' <summary> ''' Get the users of the current machine. ''' </summary> ''' <returns>Principal[][].</returns> Public Function GetUsers() As Principal() Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim Users As Principal() = (From User As Principal In pSearcher.FindAll).ToArray Return Users End Function
' Delete User Account ' ( By Elektro ) ' ' Instructions: ' 1. Add a reference to 'System.DirectoryServices.AccountManagement'. ' 2. Imports System.DirectoryServices.AccountManagement ' ' Example Usages: ' DeleteUserAccount("Username") ' DeleteUserAccount(New Security.Principal.SecurityIdentifier("S-1-5-21-250596608-219436059-1115792336-500")) ' ''' <summary> ''' Deletes an existing user account in the current machine. ''' </summary> ''' <param name="UserName">Indicates the account Username.</param> ''' <returns><c>true</c> if deletion success, <c>false</c> otherwise.</returns> Public Function DeleteUserAccount(ByVal UserName As String) As Boolean Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim User As Principal = (From u As Principal In pSearcher.FindAll Where u.Name.Equals(UserName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault If User Is Nothing Then Throw New Exception(String.Format("User with name '{0}' not found.", UserName)) End If Try User.Delete() Return True Catch ex As InvalidOperationException Throw New Exception(ex.Message) Finally pContext.Dispose() pSearcher.Dispose() pUser.Dispose() End Try Return False ' Failed. End Function
''' <summary> ''' Deletes an existing user account in the current machine. ''' </summary> ''' <param name="UserSID">Indicates the account security identifier (SID).</param> ''' <returns><c>true</c> if deletion success, <c>false</c> otherwise.</returns> Public Function DeleteUserAccount(ByVal UserSID As Security.Principal.SecurityIdentifier) As Boolean Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim User As Principal = (From u As Principal In pSearcher.FindAll Where u.Sid = UserSID).FirstOrDefault If User Is Nothing Then Throw New Exception(String.Format("User with SID '{0}' not found.", UserSID.Value)) End If Try User.Delete() Return True Catch ex As InvalidOperationException Throw New Exception(ex.Message) Finally pContext.Dispose() pSearcher.Dispose() pUser.Dispose() End Try Return False ' Failed. End Function
' User Is Admin? ' ( By Elektro ) ' ' Instructions: ' 1. Add a reference to 'System.DirectoryServices.AccountManagement'. ' 2. Imports System.DirectoryServices.AccountManagement ' ' Example Usages: ' MsgBox(UserIsAdmin("Administrador")) ' MsgBox(UserIsAdmin(New Security.Principal.SecurityIdentifier("S-1-5-21-250596608-219436059-1115792336-500"))) ' ''' <summary> ''' Determines whether an User is an Administrator. ''' </summary> ''' <param name="UserName">Indicates the account Username.</param> ''' <returns><c>true</c> if user is an Administrator, <c>false</c> otherwise.</returns> Public Function UserIsAdmin(ByVal UserName As String) As Boolean Dim AdminGroupSID As New SecurityIdentifier("S-1-5-32-544") Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim User As Principal = (From u As Principal In pSearcher.FindAll Where u.Name.Equals(UserName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault If User Is Nothing Then Throw New Exception(String.Format("User with name '{0}' not found.", UserName)) End If Dim IsAdmin As Boolean = (From Group As GroupPrincipal In User.GetGroups Where Group.Sid = AdminGroupSID).Any pContext.Dispose() pSearcher.Dispose() pUser.Dispose() Return IsAdmin End Function
''' <summary> ''' Determines whether an User is an Administrator. ''' </summary> ''' <param name="UserSID">Indicates the SID of the user account.</param> ''' <returns><c>true</c> if user is an Administrator, <c>false</c> otherwise.</returns> Public Function UserIsAdmin(ByVal UserSID As Security.Principal.SecurityIdentifier) As Boolean Dim AdminGroupSID As New SecurityIdentifier("S-1-5-32-544") Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim User As Principal = (From u As Principal In pSearcher.FindAll Where u.Sid = UserSID).FirstOrDefault If User Is Nothing Then Throw New Exception(String.Format("User with SID '{0}' not found.", UserSID.Value)) End If Dim IsAdmin As Boolean = (From Group As GroupPrincipal In User.GetGroups Where Group.Sid = AdminGroupSID).Any pContext.Dispose() pSearcher.Dispose() pUser.Dispose() Return IsAdmin End Function
' Set UserName ' ( By Elektro ) ' ' Instructions: ' 1. Add a reference to 'System.DirectoryServices.AccountManagement'. ' 2. Imports System.DirectoryServices.AccountManagement ' ' Example Usages: ' SetUserName("Username", "New Name") ' SetUserName(New Security.Principal.SecurityIdentifier("S-1-5-21-250596608-219436059-1115792336-500"), "New Name") ' ''' <summary> ''' Sets the UserName of an existing User account. ''' </summary> ''' <param name="OldUserName">Indicates an existing username account.</param> ''' <param name="NewUserName">Indicates the new name for the user account.</param> ''' <returns><c>true</c> if change success, <c>false</c> otherwise.</returns> Public Function SetUserName(ByVal OldUserName As String, ByVal NewUserName As String) As Boolean Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim User As Principal = (From u As Principal In pSearcher.FindAll Where u.Name.Equals(OldUserName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault If User Is Nothing Then Throw New Exception(String.Format("User with name '{0}' not found.", OldUserName)) End If Try User.Name = NewUserName User.Save() Return True Catch ex As InvalidOperationException Throw New Exception(ex.Message) Finally pContext.Dispose() pSearcher.Dispose() pUser.Dispose() End Try Return False ' Failed. End Function
''' <summary> ''' Sets the UserName of an existing User account. ''' </summary> ''' <param name="UserSID">Indicates the SID of the user account.</param> ''' <param name="NewUserName">Indicates the new name for the user account.</param> ''' <returns><c>true</c> if change success, <c>false</c> otherwise.</returns> Public Function SetUserName(ByVal UserSID As Security.Principal.SecurityIdentifier, ByVal NewUserName As String) As Boolean Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim User As Principal = (From u As Principal In pSearcher.FindAll Where u.Sid = UserSID).FirstOrDefault If User Is Nothing Then Throw New Exception(String.Format("User with SID '{0}' not found.", UserSID.Value)) End If Try User.Name = NewUserName User.Save() Return True Catch ex As InvalidOperationException Throw New Exception(ex.Message) Finally pContext.Dispose() pSearcher.Dispose() pUser.Dispose() End Try Return False ' Failed. End Function
' Set Account DisplayName ' ( By Elektro ) ' ' Instructions: ' 1. Add a reference to 'System.DirectoryServices.AccountManagement'. ' 2. Imports System.DirectoryServices.AccountManagement ' ' Example Usages: ' SetAccountDisplayName("Username", "New Name") ' SetAccountDisplayName(New Security.Principal.SecurityIdentifier("S-1-5-21-250596608-219436059-1115792336-500"), "New Name") ' ''' <summary> ''' Sets the display name of an existing User account. ''' </summary> ''' <param name="OldDisplayName">Indicates an existing display name user account.</param> ''' <param name="NewDisplayName">Indicates the new display name for the user account.</param> ''' <returns><c>true</c> if change success, <c>false</c> otherwise.</returns> Public Function SetAccountDisplayName(ByVal OldDisplayName As String, ByVal NewDisplayName As String) As Boolean Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim User As Principal = (From u As Principal In pSearcher.FindAll Where u.Name.Equals(OldDisplayName, StringComparison.OrdinalIgnoreCase)).FirstOrDefault If User Is Nothing Then Throw New Exception(String.Format("User with display name '{0}' not found.", OldDisplayName)) End If Try User.DisplayName = NewDisplayName User.Save() Return True Catch ex As InvalidOperationException Throw New Exception(ex.Message) Finally pContext.Dispose() pSearcher.Dispose() pUser.Dispose() End Try Return False ' Failed. End Function
''' <summary> ''' Sets the display name of an existing User account. ''' </summary> ''' <param name="UserSID">Indicates the SID of the user account.</param> ''' <param name="NewDisplayName">Indicates the new display name for the user account.</param> ''' <returns><c>true</c> if change success, <c>false</c> otherwise.</returns> Public Function SetAccountDisplayName(ByVal UserSID As Security.Principal.SecurityIdentifier, ByVal NewDisplayName As String) As Boolean Dim pContext As New PrincipalContext(ContextType.Machine) Dim pUser As New UserPrincipal(pContext) Dim pSearcher As New PrincipalSearcher(pUser) Dim User As Principal = (From u As Principal In pSearcher.FindAll Where u.Sid = UserSID).FirstOrDefault If User Is Nothing Then Throw New Exception(String.Format("User with SID '{0}' not found.", UserSID.Value)) End If Try User.DisplayName = NewDisplayName User.Save() Return True Catch ex As InvalidOperationException Throw New Exception(ex.Message) Finally pContext.Dispose() pSearcher.Dispose() pUser.Dispose() End Try Return False ' Failed. End Function
|
|
|
7506
|
Programación / Scripting / Re: [DUDA] Batch o FTP
|
en: 7 Marzo 2014, 19:13 pm
|
haciendo ping si no me equivoco a x direccion te devolvia tu IP publica o algo asi En todo caso, devolverá la IP por la que viaja el Ping. No creo que en Batch se pueda obtener la IP pública de un router. PD: Aprovecho para repetir que no contesto a mensajes privados pidiendo ayuda, usen el foro, @KZN.Saludos
|
|
|
7508
|
Foros Generales / Dudas Generales / Re: Timostar a lo suyo...
|
en: 7 Marzo 2014, 01:57 am
|
Donde yo vivo hace 3 años no llegaba el adsl por cable e Iberbanda era la única opción disponible. El servicio era (y sigue siendo) penoso. Cuando llegó el adsl convencional todo el mundo les dió con la puerta en las narices. No es por mal meter, pero ...es que no hay más que contemplar la página web tan profesional que tienen! (sarcasmo), inspira mucha confianza, pero sobretodo alucino con el anuncio tan currado que hicieron en Flash, con esos efectos de texto tan ...épicos, cuanto esfuerzo y dedicación para llevar a cabo esa animación, que digo, esa obra maestra!, es toda una proeza, y quien lo hiciera es un digno rival ...para mi abuela. Saludos!
|
|
|
7509
|
Programación / Programación General / Re: ayuda con python: user y contraseña
|
en: 6 Marzo 2014, 23:43 pm
|
otra cosa... veo que has utilizado el in en vez del != o ==,y que para marcar el nombre ' en vez del "...,hay diferencia en el lenguaje al usarlo? Ya que te pones a programar en un lenguaje que te resulta desconocido, en mi opinión lo más lógico antes de preguntar cosas semejantes como las diferencias entre operadores o las comillas dobles, sería ojear la documentación básica del lenguaje para conocer esos operadores y saber como actuan, que eso es lo primero que se debe hacer ...como mínimo. · Python Strings· (Unofficial) Python OperatorsSaludos!
|
|
|
|
|
|
|