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

#791
Scripting / Re: Programa de Loggin en Bash
6 Junio 2020, 03:53 AM
Saludos,

- Depende del tipo de sintaxis que uno desea seguir, por ejemplo está la sintaxis tipo C#

Código (csharp) [Seleccionar]
while (condicion)
{
  instrucciones
}


-- Y la otra que va de corrido:

Código (csharp) [Seleccionar]
while (condicion) {
  instrucciones
}


- En Bash se tiene que escribir cada instrucción en una línea aparte como el primer While que puse, PERO si se quiere poner ese DO en la misma línea hay que utilizar un punto y coma ( ; ) para escribir más de una instrucción en la misma línea:

Código (bash) [Seleccionar]
while [[ "$nombre" != "$codi" ]]; do
  echo "Escriba su nombre por favor..."
  read nombre
done


- Además, como ves hay que tener especial cuidado en los espacios que hay que dejar después de [[ y antes de ]], lo mismo con los espacios antes y después del signo de comparación !=. Todo esto es obligatorio o no funciona.

- Como buena práctica se acostumbra poner entre comillas las variables si la comparación es texto literal, además el utilizar doble corchete, aunque esto último es más para acostumbrarse ya que un solo corchete funciona bien siempre y cuando no se vayan a utilizar comparaciones más complejas.

-- Es por costumbre como el usar echo -e que sirve para utilizar secuencias de escape como \a \v \n aunque no veo que las uses, en este caso yo no usaría -e

- Que libro, manual o tutorial estás siguiendo? Al menos yo no he encontrado algo bueno en español salvo este: http://es.tldp.org/COMO-INSFLUG/es/pdf/Bash-Prog-Intro-COMO.pdf es bastante viejito del 2000 y no tiene documentado el doble corchete XD, pero es bastante bueno y entendible, otra opción muy completa pero en inglés es: http://tldp.org/LDP/abs/abs-guide.pdf del 2014. Y por supuesto los ejemplos rápidos y completos de Notes for Professionals: https://books.goalkicker.com/BashBook/BashNotesForProfessionals.pdf del 2016.
#792
Saludos,

- CMD no soporta aritmética con decimales, podrías utilizar métodos complejos extrayendo los decimales para tratarlos por separado ..., o mejor llamar a otra aplicación nativa para que haga el trabajo ya sea parcial o completamente, en este caso PowerShell que ya viene desde Windows 7 o WScript que ya viene desde Windows 98, recomendaría PowerShell ya que es mucho más sencillo y directo:

CitarC:\Users\EdSon\Desktop>PowerShell "ForEach ($n in Get-Content .\numeros.txt) { [Double]$total += $n }; Write-Host Total: $total"
Total: 15

C:\Users\EdSon\Desktop>

-- Suponiendo que exista el archivo numeros.txt en la carpeta actual
#793
Código (python,8) [Seleccionar]
class Quick_Tasks():

    def __init__(self,name=None):
        self.name = name

    @property
    def name(self):
        return self.__name

    @name.setter
    def name(self, value):
        if type(value).__name__ == "int":
            self.__value = 8
        else:
            print("nel")


obj = Quick_Tasks("Arroz")
print("")
print(obj.name)
obj.name = 45
print(obj.name)


Me genera advertencias en la línea 8 __name no se puede resolver, yo he llevado python básico en Instituto pero no recuerdo haber visto los @property ... lo he busca en la documentación de Python en todas lo que tenía que ver con Class pero como siempre no encontré nada relacionado, sin embargo si que hay información bajo property (build-in class), pues es imposible llegar a esta parte de la documentación a partir de Class (pésima documentación XD)

No sé si se trate de propiedades internas ocultas en lo más profundo de la documentación, pero a simple vista me parece que están mal, al menos a ejecutar un dir(obj) no me muestra las propiedades __name ni __value:

Código (python) [Seleccionar]
dir(ob)
['__doc__', '__init__', '__module__', 'name']


- Para mí lo correcto sería:

Código (python) [Seleccionar]
class Quick_Tasks(object):

  def __init__(self, name=None):
    self._name = name

  @property
  def name(self):
    return self._name

  @name.setter
  def name(self, value):
    if type(value).__name__ == "int":
      self._name = 8
    else:
      print("nel")


obj = Quick_Tasks("Arroz")
print("----")
print(obj.name)
obj.name = 45
print(obj.name)


Devolviendo:
Código (python) [Seleccionar]
Arroz
8


-- Es algo raro darle intentar Setearle un 45 y en su lugar ponerle un 8, pero el ejemplo es ese XD. Al menos eso es lo que más o menos entiendo que se desea hacer...

En caso de tu Código, estás dándole directamente un valor al Inicializar tu Clase, no estás usando tu Setter, en su lugar podrías llamar al Setter, pero tienes que hacer más legible tu código para evitarse problemas de mal-entendido con los nombres:

Código (python) [Seleccionar]
class TreeNode(object):
 
  def __init__(self, value=None):
    self.value = value

  @property
  def value(self):
    return self._value

  @value.setter
  def value(self, value):
    if type(value).__name__ == "int":
      self._value = 8
    else:
      print("nel")


def main():
  tree_node = TreeNode(3)
  print(tree_node.value)
  tree_node.value = 5
  print(tree_node.value)
  tree_node.value = "cervatillo"
  print(tree_node.value)


if __name__ == '__main__':
  print("---")
  main()


Devuelve:
Código (python) [Seleccionar]
---
8
8
nel
8


- Me reservo los __variable__  y __variable para las variables, propiedades y métodos propios del lenguaje o que sean muy especiales. Además hago una distinción clara de nombres, uso _variable para variables, propiedades o métodos de uso interno, y variable para uso externo
#794
Saludos,

- Linset es bastante viejo, ya tiene como 6 años sin actualizaciones, podrías probar Airgeddon el cual también comprueba sus dependencias y las instala automáticamente: https://github.com/v1s1t0r1sh3r3/airgeddon

-- Instalación: https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Installation%20&%20Usage

- Es raro que no te detecte aircrack-ng, dudo que no esté a no ser que Linset no lo detecte o que lo hayas desinstalado, de todas maneras lo puedes reinstalar así: https://miloserdov.org/?p=650
#795
Hardware / Re: Problemas Modo Monitor
4 Junio 2020, 18:18 PM
Has probado que funcione el WiFi en la máquina virtual, es decir, en modo normal (managed) es capaz de detectar redes y conectarse a ellas? Si no lo hace es problema de Drivers o de la Máquina virtual.

Yo estoy utilizando Virtual Box 5 + Kali o WifiSlax + TPLink TL-wn7200nd y pues no me funciona en VirtualBox pero sí en VMWare Player
#796
GNU/Linux / Re: Ayuda!!
4 Junio 2020, 02:44 AM
Ahí dice que el archivo MSEdge - Win10.vbox ya existe, pues solo tienes que renombrarlo o moverlo a otro sitio.
#797
Dependerá del evento y donde lo sitúes, por lo general he visto que utilizan el evento RowEnter para capturar cuando se cambia de Fila, útil cuando no se usa Mouse:

Código (csharp) [Seleccionar]
dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString())

La idea es siempre obtener la Fila y de esta la primera Celda que corresponde a tu ID. Al final tiene la misma sintáxis:

Código (csharp,1,5) [Seleccionar]
    private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e) {
      MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
    }

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
      MessageBox.Show(dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString());
    }

#798
Saludos,

- Si se trata de ejercicios de introducción a la programación con sentencias básicas podrías corregir tu código en la parte del If ya que no estás agregando los espacios iniciales si el nume es menor a 10, es más no estás comparando ni mostrando nume correctamente XD:

Código (vbnet,11,12) [Seleccionar]
    Dim nume  As Integer
    Dim tri As String
    tri = " "
    nume = InputBox("ingrese el numero", "entrada de datos")
    While (nume < 0)
      MsgBox("ingrese  solo valores positivos")
      nume = InputBox("Ingrese solo números mayores a 0")
    End While
    For n As Integer = 0 To nume
      For i As Integer = n To 1 Step -1
        If nume - i + 1 < 10 Then
          tri = tri & " " & nume - i + 1 & "   "
        Else
          tri = tri & nume - i + 1 & "  "
        End If
      Next
      tri += vbNewLine
    Next
    MsgBox(tri)


- Lo digo porque algunas veces el profesor pide un algoritmo sencillo de muestra de acuerdo a lo aprendido en clase, es como si se llevara Paint y el profesor pidiera dibujar una casa, y de pronto aparece un alumno que le trae un plano 3D en AutoCAD XD.
#799
Software / Re: Grabador de Cd/Dvd / RW
3 Junio 2020, 00:19 AM
Tengo entendido que tienes Nero Suite o al menos Nero Burning Rom, con ese software tan pesado debería de bastarte.

- Ahora la capacidad RW no depende del software, sino del hardware, el propio CD/DVD debe tener esa capacidad: https://es.wikipedia.org/wiki/CD-RW

-- La alternativa para CD/DVD normales es grabar en sesiones, cualquier grabador de uso general puede grabar en sesiones: PowerISO, UltraISO, Nero, Alcohol, IMGBurn, CDBurner XP, MagicISO, etc, etc, etc. Cuando grabas como sesion puedes seguir grabando hasta llenar el CD/DVD mientras no finalices el CD/DVD. Aunque teóricamente permita borrar en realidad solo quita las referencias de accesos a los datos, pero los datos siguen ahí aunque "inaccesibles" y siguen ocupando su espacio (no se borra nada realmente)

- Si estás utilizando CDBurner XP te aparece bien grande y claro el mensaje de como grabar la data, si se permite seguir grabando luego o finalizar el disco: https://cdburnerxp.se/help/es/Data/compiledata



-- El enlace que puse explica esto de las sesiones y todo eso
#800
Hardware / Re: USB
2 Junio 2020, 18:30 PM
Hay una característica llamada USB on Off Charging que se configura en la BIOS y sirve para cargar celulares y otros mientras el PC o Laptop esté apagada. Dependiendo del fabricante puede cambiar la configuración y la manera de desactivarlo, por ejemplo en Lenovo:
https://support.lenovo.com/us/en/solutions/ht503671