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 - Aberroncho

#181
¿Y no será que le pasaban una pesión a sus madres? :silbar:
#182
Foro Libre / Re: Creen en los ovnis?
24 Noviembre 2011, 23:00 PM
Carl Sagan lo explica muy bien:

Citar
En mi garaje vive un dragón que escupe fuego por la boca.

Supongamos (sigo el método de terapia de grupo del psicólogo Richard Franklin) que yo le hago a usted una aseveración como ésa. A lo mejor le gustaría comprobarlo, verlo usted mismo. A lo largo de los siglos ha habido innumerables historias de dragones, pero ninguna prueba real. ¡Qué oportunidad!

- Enséñemelo – me dice usted.

Yo le llevo a mi garaje. Usted mira y ve una escalera, latas de pintura vacías y un triciclo viejo, pero el dragón no está.

- ¿Dónde está el dragón? – me pregunta.

- Oh, está aquí – contesto yo moviendo la mano vagamente -. Me olvidé decir que es un dragón invisible.

Me propone que cubra de harina el suelo del garaje para que queden marcadas las huellas del dragón.

- Buena idea – replico -, pero este dragón flota en el aire.

Entonces propone usar un sensor infrarrojo para detectar el fuego invisible.

- Buena idea, pero el fuego invisible tampoco da calor.

Se puede pintar con spray el dragón para hacerlo visible.

- Buena idea, sólo que es un dragón incorpóreo y la pintura no se le pegaría.

Y así sucesivamente. Yo contrarresto cualquier prueba física que usted me propone con una explicación especial de por qué no funcionará.

Ahora bien, ¿cuál es la diferencia entre un dragón invisible, incorpóreo y flotante que escupe un fuego que no quema y un dragón inexistente? Si no hay manera de refutar mi opinión, si no hay ningún experimento válido contra ella, ¿qué significa decir que mi dragón existe? Su incapacidad de invalidar mi hipótesis no equivale en absoluta a demostrar que es cierta. Las afirmaciones que no pueden probarse, las aseveraciones inmunes a la refutación son verdaderamente inútiles, por mucho valor que puedan tener para inspirarnos o excitar nuestro sentido de maravilla. Lo que yo he pedido que haga es acabar aceptando, en ausencia de pruebas, lo que yo digo.

Lo único que ha aprendido usted de mi insistencia en que hay un dragón en mi garaje es que estoy mal de la cabeza. Se preguntará, si no se puede aplicar ninguna prueba física, qué fue lo que me convenció. La posibilidad de que fuera un sueño o alucinación entraría ciertamente en su pensamiento. Pero entonces ¿por qué hablo tan en serio? A lo mejor necesito ayuda. Como mínimo, puede ser que haya infravalorado la falibilidad humana.

Imaginemos que, a pesar de que ninguna de las pruebas ha tenido éxito, usted desea mostrarse escrupulosamente abierto. En consecuencia, no rechaza de inmediato la idea de que haya un dragón que escupe fuego por la boca en mi garaje. Simplemente, la deja en suspenso. La prueba actual está francamente en contra pero, si surge algún nuevo dato, está dispuesto a examinarlo a ver si le convence. Seguramente es poco razonable por mi parte ofenderme porque no me cree; o criticarle por ser un pesado poco imaginativo... simplemente porque usted pronunció el veredicto escocés de "no demostrado".

Imaginemos que las cosas hubiesen sido de otro modo. El dragón es invisible, de acuerdo, pero aparecen huellas en la harina cuando usted mira. Su detector de infrarrojos registra algo. La pintura de spray revela una cresta dentada en el aire delante de usted. Por muy escéptico que se pueda ser en cuanto a la existencia de dragones – por no hablar de seres invisibles – ahora debe reconocer que aquí hay algo y que, en principio, es coherente con la idea de un dragón invisible que escupe fuego por la boca.

Ahora otro guión: imaginemos que no se trata sólo de mí. Imaginemos que varias personas que usted conoce, incluyendo algunos que está seguro que no se conocen entre ellas, le dicen que tienen dragones en sus garajes... pero en todos los casos la prueba es enloquecedoramente elusiva. Todos admitimos que nos perturba ser presas de una convicción tan extraña y tan poco sustentada por una prueba física. Ninguno de nosotros es un lunático. Especulamos con lo que significaría que hubiera realmente dragones escondidos en los garajes de todo el mundo y que los humanos acabáramos de enterarnos. Yo preferiría que no fuera verdad, francamente. Pero quizás todos aquellos mitos europeos y chinos antiguos sobre dragones no eran solamente mitos...

Es gratificante que ahora se informe de algunas huellas de las medidas del dragón en la harina. Pero nunca aparecen cuando hay un escéptico presente. Se plantea una explicación alternativa: tras un examen atento, parece claro que las huellas podían ser falsificadas. Otro entusiasta del dragón presenta una quemadura en el dedo y la atribuye a una extraña manifestación física del aliento de fuego del dragón. Pero también aquí hay otras posibilidades. Es evidente que hay otras maneras de quemarse los dedos además de recibir el aliento de dragones invisibles. Estas "pruebas", por muy importante que las consideren los defensores del dragón, son muy poco convincentes. Una vez más, el único enfoque sensato es rechazar provisionalmente la hipótesis del dragón y permanecer abierto a otros datos físicos futuros, y preguntarse cuál puede ser la causa de que tantas personas aparentemente sanas y sobrias compartan la misma extraña ilusión.


Fuente: El Mundo y sus demonios
Carl Sagan
#183
Y si lo has perdido más te vale ir deprisa a la comisaría a denunciar la pérdida y pedir uno nuevo porque a estas alturas cualquiera puede estar haciendo barrabasadas con tu DNI perdido. No serías el primero que pierde o le roban el DNI y un buen día recibe en su casa una reclamación de un crédito que él no ha pedido.
#184
Hardware / Re: Se me cuelga el PC
17 Noviembre 2011, 21:37 PM
Una posible causa es que tengas algún ventilador mal y el ordenador se apague cuando se calienta demasiado. Revísalos.
#185
No os hagáis ilusiones. Campofrío se ha marcado una campaña de imagen gratuita aprovechando el marketing viral de las redes sociales. Los demás se han visto obligados por la popularidad que ha tenido en las redes sociales la iniciativa de Campofrío.

La cruda realidad es que este último sábado el programa de La Noria ha tenido dos millones y medio de espectadores, record de la temporada. Ningún anunciante despreciará llegar a dos millones y medio de personas (público objetivo) así que en cuanto se calmen las aguas y la gente deje de hablar de esto, todos los anunciantes volverán a los intermedios de La Noria para llegar a esos dos millones de público objetivo que habitualmente ven el programa todos los sábados.

No nos engañemos: Las televisiones nos dan lo que queremos ver. Si hay tanto programa basura es porque existe una mayoría de personas que los ven. Si la mayoría de la gente viera los documentales de la 2, todas las cadenas nos forrarían a documentales, pero la gente ve programas de cotilleos y carnaza morbosa.
#186
Pues lo más probable es que en el campo tamaño tengas algún valor que no es convertible a número.
#187
Cita de: Raul100 en 25 Octubre 2011, 22:58 PM
;D esta bien pero porque se escribe "Option Compare Database"


"Option Compare" determina el modo en que se compararán las cadenas de texto. En VBA para Access tiene tres valores posibles:

  • Binary: Realiza la comparación utilizando el orde que establece el código ASCII del caracter. Esta opción haría que al ordenar, la 'ñ' y la 'Ñ' vayan después de la Z ya que su código ASCII es mayor.
  • Text: Realiza la comparación de forma alfabética atendiendo a la configuración regional del sistema y sin distinguir mayúsculas de minúsculas.
  • Database: Realiza la comparación siguiendo el criterio configurado en la base de datos.
#188
Tengo unas bases de datos de Access con macros en Visual Basic for Application hechas en la versión 2003 de Access. Ahora me he puesto a migrarlas a Access 2010 y me he encontrado con una sorpresa: El objeto "Application.FileSearch" dejó de implementarse en VBA a partir de la versión 2007 de Office.

Para los que no sepáis que hace el objeto, a grandes trazos es un objeto que permite configurar una serie de filtros para buscar ficheros, ejecuta la búsqueda y devuelve la lista de ficheros que cumplen con los criterios elegidos. Puedes, por ejemplo, pedirle la lista de ficheros "*.zip" que están en el directorio "C:\Temp" y que lo haga de forma recursiva buscando por los subdirectorios.

Después de mucho mirar por la ayuda y consultar al gran oráculo Google, descubrí que no sólo ha dejado de implementarse "Application.FileSearch", además su funcionalidad no ha sido sustituida por ningún otro objeto. Si quieres hacerlo tienes que implementarte a mano tu búsqueda de ficheros.

Entre los resultados de Google estaba el código de varios procedimientos para hacer lo mismo, incluido el que Microsoft proporciona en su web de soporte. Después de revisarlos todos y probar alguno, decidí implementar mi propio objeto FileSearch basándome en el procedimiento FileSearch que había implementado un tal Havrda y que yo encontré en http://www.pcreview.co.uk/forums/application-filesearch-error-t3743946p2.html

A continuación os pongo el objeto que he implementado por si alguno os encontráis con este problema en el futuro. La ventaja que tiene este objeto es que tiene un funcionamiento parecido al que tenía "Application.FileSearch" por lo que los cambios en vuestras macros serán menores que si intentáis adaptar un procedimiento de los muchos que encontraréis por Internet.


classError.cls
Objeto que agrupa el código de error y los mensajes que se producen dentro del objeto classFileSearch.

Código (vb) [Seleccionar]

Option Compare Database
Option Explicit


Public iNumError        As Integer
Public sDonde           As String
Public sMensaSist       As String
Public sMensaApli       As String


Private Sub class_initialize()
   On Error Resume Next
   
   Limpiar
End Sub


Public Sub Limpiar()
   On Error Resume Next

   iNumError = 0
   sDonde = ""
   sMensaSist = ""
   sMensaApli = ""
End Sub

Public Sub Copiar(ByRef oObjOrigen As classError)
   On Error Resume Next

   iNumError = oObjOrigen.iNumError
   sDonde = oObjOrigen.sDonde
   sMensaSist = oObjOrigen.sMensaSist
   sMensaApli = oObjOrigen.sMensaApli
End Sub




classFileSearch.cls
Objeto que realiza la búsqueda de los ficheros. La lista de ficheros encontrados es una colección de objetos "FILE".

Código (vb) [Seleccionar]

Option Compare Database
Option Explicit


Public oError               As classError       ' Control de errores
Public sDirIniBusqueda      As String           ' Directorio desde el que iniciar la búsqueda de ficheros
Public sPatronBusqueda      As String           ' Patrón de búsqueda de ficheros. Por ejemplo: "*.rar"
Public bBusquedaRecursiva   As Boolean          ' True: Busca recursivamente por los subdirectorios
Public lstListaFicheros     As Collection       ' Lista de ficheros encontrados que coinciden con el patrón

Private objFileSystem       As Object


Private Sub class_initialize()
   On Error GoTo ERROR_CLASSINITIALIZE

   Set oError = New classError
   
   sDirIniBusqueda = ""
   sPatronBusqueda = ""
   bBusquedaRecursiva = False
   
   Set objFileSystem = CreateObject("Scripting.FileSystemObject")

   Exit Sub
   
ERROR_CLASSINITIALIZE:
   oError.iNumError = Err.Number
   oError.sMensaSist = Err.Description
   oError.sDonde = "classFileSearch.class_initialize()"
   oError.sMensaApli = "Error inicializando una instancia de la clase"

End Sub

Private Sub class_terminate()
   On Error Resume Next
   Set oError = Nothing
   Set lstListaFicheros = Nothing
   Set objFileSystem = Nothing
End Sub

Public Function Ejecutar() As Integer
   On Error GoTo ERROR_EJECUTAR
   
   Dim iIndice     As Integer
   Dim sDirectorio As String
   Dim sFichero    As String


   If (sDirIniBusqueda = "") Then
       oError.iNumError = -9999
       oError.sMensaSist = ""
       oError.sDonde = "classFileSearch.Ejecutar()"
       oError.sMensaApli = "No se ha indicado ninguna ruta de directorio desde la que iniciar la búsqueda"
       Ejecutar = -9999
   
   ElseIf (sPatronBusqueda = "") Then
       oError.iNumError = -9999
       oError.sMensaSist = ""
       oError.sDonde = "classFileSearch.Ejecutar()"
       oError.sMensaApli = "No se ha indicado ningún patrón de archivo a buscar"
       Ejecutar = -9999
   Else
       '___Comprobar si la colección de ficheros tiene información, y si la tiene borrarla___

       Set lstListaFicheros = Nothing
       Set lstListaFicheros = New Collection
       
       sDirectorio = Trim(sDirIniBusqueda)
       sFichero = sPatronBusqueda
       
       BuscarFicheros sDirectorio, sFichero

       If (oError.iNumError = 0) Then
           Ejecutar = lstListaFicheros.Count
       Else
           Ejecutar = -1
       End If
   End If
   
   Exit Function
   
ERROR_EJECUTAR:
   oError.iNumError = Err.Number
   oError.sMensaSist = Err.Description
   oError.sDonde = "classFileSearch.Ejecutar()"
   oError.sMensaApli = "Error ejecutando la búsqueda de ficheros indicada"
   Ejecutar = -1
   
End Function

Private Sub BuscarFicheros(sDirectorio As String, sFichero As String)
   On Error GoTo ERROR_BUSCARFICHEROS

   Dim sDirectorioFichero As String
   Dim vSubdirectorio As Variant
   Dim lstSubdirectorios As New Collection


   '___Añade la barra de directorio al final del nombre de directorio si no la tuviera___

   If (Right(sDirectorio, 1) <> "\") Then
       sDirectorio = sDirectorio & "\"
   End If


   '___Realiza la búsqueda de ficheros en el directorio actual___

   sDirectorioFichero = Dir(sDirectorio & sFichero)

   While (sDirectorioFichero <> "")
       lstListaFicheros.Add objFileSystem.GetFile(sDirectorio & sDirectorioFichero)   'Añade el fichero a la lista de ficheros encontrados
       sDirectorioFichero = Dir
   Wend


   '___Buscar en los subdirectorios si se ha definido la búsqueda como recursiva___

   If (bBusquedaRecursiva) Then
   
       sDirectorioFichero = Dir(sDirectorio & "*", vbDirectory)
   
       While (sDirectorioFichero <> "")
   
           If (sDirectorioFichero <> "." And sDirectorioFichero <> "..") Then
               If ((GetAttr(sDirectorio & sDirectorioFichero) And vbDirectory) = 16) Then
                   lstSubdirectorios.Add sDirectorio & sDirectorioFichero
               End If
           End If

           sDirectorioFichero = Dir
       Wend
   
   
       '___Procesar la lista de subdirectorios___
   
       For Each vSubdirectorio In lstSubdirectorios
           BuscarFicheros CStr(vSubdirectorio), sFichero   'Llamada recursiva
           
           If (oError.iNumError <> 0) Then
               Exit For
           End If
       Next
   End If

   Exit Sub
   
ERROR_BUSCARFICHEROS:
   oError.iNumError = Err.Number
   oError.sMensaSist = Err.Description
   oError.sDonde = "classFileSearch.BuscarFicheros()"
   oError.sMensaApli = "Error en el procedimiento de búsqueda de ficheros"
   
End Sub




Procedimiento de prueba (.bas)
Esta es una pequeña función que lo único que hace es instanciar un objeto de la clase classFileSearch, lanzar una búsqueda y mostrar el resultado por la ventana de inspección.

Código (vb) [Seleccionar]

Public Function fnMain() As Boolean
   Dim objFileSearch   As classFileSearch
   Dim objFichero      As Object


   fnMain = True
   Set objFileSearch = New classFileSearch
   
   If (objFileSearch.oError.iNumError = 0) Then

       '___Configurar los parámetros de búsqueda de fichero___
       
       objFileSearch.sDirIniBusqueda = "E:\Mis documentos"
       objFileSearch.sPatronBusqueda = "*.zip"
       objFileSearch.bBusquedaRecursiva = True

       If (objFileSearch.Ejecutar() > 0) Then  '_Se han encontrado ficheros

           For Each objFichero In objFileSearch.lstListaFicheros
               Debug.Print "Fichero........: " & objFichero.Name
               Debug.Print "Directorio.....: " & objFichero.parentfolder
               Debug.Print "Nombre completo: " & objFichero.Path
               Debug.Print "--------------------------"
           Next objFichero

       ElseIf (objFileSearch.oError.iNumError = 0) Then   '_No hay error => No se han encontrado ficheros

           Debug.Print "No hay ficheros que mostrar"
       
       Else    '_Error

           Debug.Print "<* ERROR *>"
           Debug.Print "   Lugar del error.......: " & objFileSearch.oError.sDonde
           Debug.Print "   Número de error.......: " & objFileSearch.oError.iNumError
           Debug.Print "   Error devuelto por VBA: " & objFileSearch.oError.sMensaSist
           Debug.Print "   Error de aplicación...: " & objFileSearch.oError.sMensaApli
           Debug.Print "--------------------------"

           fnMain = False
       End If
   Else
       Debug.Print "<* ERROR *>"
       Debug.Print "   Lugar del error.......: " & objFileSearch.oError.sDonde
       Debug.Print "   Número de error.......: " & objFileSearch.oError.iNumError
       Debug.Print "   Error devuelto por VBA: " & objFileSearch.oError.sMensaSist
       Debug.Print "   Error de aplicación...: " & objFileSearch.oError.sMensaApli
       Debug.Print "--------------------------"
       
       fnMain = False
   End If

   Set objFileSearch = Nothing
End Function




El código está probado y funciona. No implementa la funcionalidad completa de "Application.FileSearch" pero cubre lo más básico.

Supongo que viendo el código ya os habréis dado cuenta que el Visual Basic no es mi especialidad así que comentarios, sugerencias, críticas constructivas y mejoras serán bienvenidas ;)
#189
Dudas Generales / Re: Megabits o Megabytes.
22 Octubre 2011, 23:46 PM
Cita de: seba123neo en 19 Octubre 2011, 01:29 AM
mbps no significa megabytes por segundo, sino megabaudios por segundo, es un enredo del cual las compañias isp (provedoras de servicios a internet) no han querido aclarar por motivos comerciales.
1 baudio es la capacidad del modem de transformar la información analoga en digital, cada baudio es igual a un bit y 8 bits son 1 byte.

Esto es un error muy habitual. El baudio mide la cantidad de veces que cambia el estado una señal en una unidad de tiempo. Citando a Wikipedia que lo tiene muy bien explicado (http://es.wikipedia.org/wiki/Baudio):

Citar
Es importante resaltar que no se debe confundir el baud rate o velocidad en baudios con el bit rate o velocidad en bits por segundo, ya que cada evento de señalización (símbolo) transmitido puede transportar uno o más bits. Sólo cuando cada evento de señalización (símbolo) transporta un solo bit coinciden la velocidad de transmisión de datos baudios y en bits por segundo. Las señales binarias tienen la tasa de bit igual a la tasa de símbolos (rb = rs), con lo cual la duración de símbolo y la duración de bit son también iguales (Ts = Tb).

n = rb/rs

Donde rb: régimen binario o tasa de bits (bit rate) rs: tasa de modulación o tasa de símbolos y n: número de bits por nivel para la codificación de línea

Ejemplos:
- En el caso de las máquinas teletipo, todavía en uso en algunos medios, se decía que la velocidad de transmisión era normalmente de 50 baudios. En este caso, como los eventos eran simples cambios de voltaje 1-->(+), 0-->(-), cada evento representaba un solo bit o impulso elemental, y su velocidad de transmisión en bits por segundo coincidía con la velocidad en baudios.
- Sin embargo, en los módems que utilizan diversos niveles de codificación, por ejemplo mediante modulación de fase, cada evento puede representar más de un bit, con lo cual ya no coinciden bits por segundo y baudios.


Las velocidad de las líneas de comunicación se miden en Megabits/segundo.
#190
Dudas Generales / Re: Serial y logaritmo
22 Octubre 2011, 15:25 PM
Tendrías que hacer reingeniería del juego para ver el algoritmo de validación de la PC ID que calcula y la clave que te da la web. Pero no es algo sencillo de hacer si no tienes conocimientos previos de reingeniería y programación.