elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 46
31  Programación / Bases de Datos / Re: Diseño De Base De Datos: Formas Normales en: 18 Febrero 2024, 11:36 am
Aunque tu pregunta tiene más de tres meses, no deja de ser interesante.

Con respecto a tu primera pregunta:

Supongamos que tenemos una tabla inicial llamada Cliente con los siguientes campos:

1. ID.
2. Nombre.
3. Dirección.
4. Teléfono.
5. Correo Electrónico.
6. Notas: Campo memo para notas adicionales sobre el cliente.

1. Primera Forma Normal (1FN):
Para cumplir con la 1FN, hay que asegurarse de que no hayan grupos repetitivos de datos y que cada campo contenga un único valor.

IDNombreDirecciónTeléfonoCorreo ElectrónicoNotas
1CarlosCalle 123555-1234carloselcapo@gmail.comNotas sobre Carlos
2LauraAvenida XYZ555-5678lauralahermosa@gmail.comNotas sobre Laura

2. Segunda Forma Normal (2FN):
Para cumplir con la 2FN, hay que eliminar la dependencia parcial y asegurarse de que cada campo no clave dependa completamente de la clave primaria.

IDNombreDirecciónTeléfonoCorreo Electrónico
1CarlosCalle 123555-1234carloselcapo@gmail.com
2LauraAvenida XYZ555-5678lauralahermosa@gmail.com

Tabla adicional para Notas:

IDNotas
1Notas sobre Carlos
2Notas sobre Laura

3. Tercera Forma Normal (3FN):
Para cumplir con la 3FN, se debe eliminar la dependencia transitiva y asegurarse de que cada campo no clave dependa únicamente de la clave primaria.

IDNombreDirecciónTeléfonoCorreo Electrónico
1CarlosCalle 123555-1234carloselcapo@gmail.com
2LauraAvenida XYZ555-5678lauralahermosa@gmail.com

Tabla adicional para Notas:

IDCliente_IDNotas
11Notas sobre Carlos
22Notas sobre Laura

Como podes ver, los tres ejemplos son casi completamente idénticos porque se trata de una evolución gradual de la misma entidad (Cliente) a través de las tres primeras formas normales


Y con respecto a tu segunda pregunta sobre los Campos Memo:
Los campos memo generalmente contienen textos largos o datos estructurados que pueden no cumplir completamente con las primeras tres formas normales. Sin embargo, es posible aplicar las formas normales a otras columnas en la misma tabla que no sean campos memo. En el ejemplo anterior, las formas normales se aplicaron a todas las columnas excepto a las notas, que se manejaron en una tabla separada.
32  Programación / PHP / Re: Parar quienes quieran aprender de Docker+php en: 18 Febrero 2024, 00:01 am
¡Hola! ¡Gracias por compartir el enlace al workshop! Parece muy interesante.
33  Programación / Desarrollo Web / Re: Descargar archivos pdf en web scorm en: 17 Febrero 2024, 23:58 pm
SCORM es un estándar utilizado en la educación en línea para la creación de contenido y la gestión de aprendizaje.

Si la página web está utilizando SCORM para presentar el contenido del temario, es posible que el contenido esté embebido dentro de un reproductor SCORM y no se pueda descargar directamente como un archivo PDF. En este caso, es posible que necesites comunicarte con el proveedor del curso o la plataforma para obtener una versión descargable del temario en PDF, si está disponible.

Alternativamente, podrías intentar utilizar herramientas de captura de pantalla para guardar el contenido como imágenes y luego convertirlas en un archivo PDF, pero esto puede ser laborioso y la calidad del PDF resultante podría no ser la mejor.
34  Programación / Desarrollo Web / Re: Hacer un GET con sockets en lugar de usar "microsoft.xmlhttp" en: 17 Febrero 2024, 18:47 pm
Necesitas formar manualmente la solicitud HTTP.

Código:
Dim Peticion As String

' Construir la solicitud HTTP
Peticion = "GET /dns?username=Pepito&password=MyPass&hostname=MyHostName HTTP/1.1" & vbCrLf
Peticion = Peticion & "Host: dynupdate.no-ip.com" & vbCrLf
Peticion = Peticion & "Connection: close" & vbCrLf
Peticion = Peticion & vbCrLf ' Fin de los encabezados

' Conectar y enviar la solicitud
Winsock.Close
Winsock.RemoteHost = "dynupdate.no-ip.com"
Winsock.RemotePort = 80
Winsock.Connect
Winsock.SendData Peticion

Tenés que reemplazar "Pepito", "MyPass" y "MyHostName" con tus credenciales y nombre de host adecuados. Además, esta solicitud está configurada para cerrar la conexión después de recibir la respuesta del servidor. Si necesitas manejar la respuesta del servidor, deberás configurar eventos en el control Winsock para recibir los datos de respuesta y procesarlos adecuadamente.
35  Programación / Programación C/C++ / Re: Simulación de la tecla BackSpace(en ASCII:CHR(8)) para editar una cadena de caracteres en C++ en: 17 Febrero 2024, 17:29 pm
Yo lo entendí como tú lo entendiste.

Aquí te muestro un enfoque básico:

Código:
#include<iostream>
#include<string>

using namespace std;

int main() {
    string cadena;
    char caracter;
   
    cout << "Introduce una cadena de caracteres y presiona Enter:\n";
   
    while (true) {
        caracter = cin.get();
       
        if (caracter == '\n') {
            break; // Si se presiona Enter, salimos del bucle
        } else if (caracter == '\b') {
            if (!cadena.empty()) {
                cout << "\b \b"; // Simulamos el efecto de borrar un caracter en la consola
                cadena.pop_back(); // Eliminamos el último caracter de la cadena
            }
        } else {
            cadena += caracter; // Agregamos el caracter a la cadena
            cout << caracter; // Mostramos el caracter en la consola
        }
    }
   
    cout << endl << "Cadena final: " << cadena << endl;
   
    return 0;
}
36  Programación / Programación C/C++ / Re: Programas Asíncronos en C++ Como si fuera javascript en: 17 Febrero 2024, 17:16 pm
¡Hola! Has emprendido un proyecto muy interesante. Genial cómo estás aprovechando tu experiencia previa en NodeJS y aplicándola en un nuevo entorno. Los enlaces y recursos que proporcionaste son muy útiles, ¡gracias por compartirlos!
37  Programación / Programación Visual Basic / Re: Crystal report no actualiza filtro en: 17 Febrero 2024, 17:09 pm
¿La consulta SQL te está devolviendo los resultados esperados cuando la ejecutas directamente en tu base de datos?

Si estás utilizando parámetros en tu consulta SQL (`StrSql`), ¿Estan configurados correctamente y estan siendo pasados adecuadamente al informe Crystal Reports?

Abre el informe en Crystal Reports y verifica si hay algún filtro aplicado en el informe mismo que esté anulando el filtro que estás aplicando desde tu consulta SQL. Puede ser que haya un filtro adicional configurado en el informe que esté ignorando el filtro de la consulta.

También puede ser que el informe esté utilizando una conexión de datos diferente que no esté reflejando los cambios que haces en tu código.

O si no utiliza herramientas de depuración para verificar el estado de los datos en cada paso del proceso y encontrar dónde se está rompiendo el filtrado.
38  Programación / Programación Visual Basic / Re: conexión ftp con archivo key y chilkat en: 17 Febrero 2024, 16:21 pm
Quizás ya solucionaste el problema. Pero si no, ya que quiero volver a entrar en el mundo de la programación:

Código:
Public Function Subre_GUIA(nombreArchivo As String) As Integer
    Dim sftp As New ChilkatSFtp
    Dim success As Long
    Dim clave As String
   
    success = sftp.UnlockComponent("TALMAS.SS1122018_6FYzL2ydm7mF")

    If (success <> 1) Then
        Subre_GUIA = 1
        Exit Function
    End If

    sftp.ConnectTimeoutMs = 5000
    sftp.IdleTimeoutMs = 10000

    success = sftp.Connect(gIPFTP_Guia, gPuertoFTP_Guia)
    If (success <> 1) Then
        Subre_GUIA = 1
        Exit Function
    End If

    ' Leer el contenido del archivo KEY y usarlo como clave
    clave = LeerContenidoArchivo("ruta_del_archivo.key")

    success = sftp.AuthenticatePw(gUsuarioFTP_Guia, clave)

    If (success <> 1) Then
        Subre_GUIA = 1
        Exit Function
    End If

    success = sftp.InitializeSftp()
    If (success <> 1) Then
        Subre_GUIA = 1
        Exit Function
    End If

    success = sftp.UploadFileByName("IN/" & nombreArchivo & ".txt", App.Path + "\IN\" & nombreArchivo & ".txt")
    If (success <> 1) Then
        Subre_GUIA = 1
        Exit Function
    End If

    sftp.Disconnect

    If (success <> 1) Then
        Subre_GUIA = 1
        Exit Function
    End If

    Subre_GUIA = 0

End Function

Function LeerContenidoArchivo(rutaArchivo As String) As String
    Dim fso As Object
    Dim archivo As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set archivo = fso.OpenTextFile(rutaArchivo)
    LeerContenidoArchivo = archivo.ReadAll
    archivo.Close
    Set archivo = Nothing
    Set fso = Nothing
End Function

Este código modificado incluye una función adicional llamada LeerContenidoArchivo que se encarga de leer el contenido del archivo KEY. Asegúrate de reemplazar "ruta_del_archivo.key" con la ruta correcta hacia el archivo KEY en tu sistema. Luego, la clave leída se utiliza para autenticarse en el servidor SFTP en lugar de la contraseña directamente.
39  Programación / .NET (C#, VB.NET, ASP) / Re: Problema en ASP.NET Razor Pages Select asp-items en: 17 Febrero 2024, 16:02 pm
El problema quizás esta en cómo estás pasando los elementos de la lista itemsfamilias a la vista. Intenta pasarlo como una propiedad del modelo en lugar de intentar acceder directamente a él en la vista. Aquí tienes una posible solución:

En tu controlador:

Código:
public IActionResult OnGet()
{
    IQueryable<Familia> familias = from m in _context.Familia
                                   select m;
    Familias = familias.ToList();
   
    // Crear la lista de SelectListItem y asignarla como propiedad del modelo
    ItemsFamilias = Familias.Select(a => new SelectListItem
    {
        Value = a.Id.ToString(),
        Text = a.Name
    }).ToList();
   
    return Page();
}

Asegúrate de tener la propiedad ItemsFamilias definida en tu modelo:

Código:
public IList<SelectListItem> ItemsFamilias { get; set; }

Y en tu vista, utiliza asp-items con la propiedad ItemsFamilias del modelo:

Código:
<div class="form-group">
    <label asp-for="Receta.FamiliaId" class="control-label"></label>
    <select asp-for="Receta.FamiliaId" class="form-control" asp-items="Model.ItemsFamilias" multiple="multiple">
        <option value="">-- Seleccionar Familia --</option>
    </select>
    <span asp-validation-for="Receta.FamiliaId" class="text-danger"></span>
</div>

Con estos cambios, quizás podes cargar correctamente los datos en el desplegable en tu vista Razor Page.
40  Programación / .NET (C#, VB.NET, ASP) / Re: CefSharp Cookies en: 17 Febrero 2024, 13:49 pm
Para cargar las cookies guardadas y asignarlas antes de cargar la página, puedes hacer lo siguiente:

Código:
private void InitializeChromium()
{
    CefSettings settings = new CefSettings();
    Cef.Initialize(settings);

    chromeBrowser = new ChromiumWebBrowser("https://web.whatsapp.com/");
    chromeBrowser.Dock = DockStyle.Fill;

    // Cargar cookies guardadas antes de cargar la página
    LoadSavedCookies();

    chromeBrowser.FrameLoadEnd += ChromeBrowser_FrameLoadEnd;

    this.Controls.Add(chromeBrowser);
}

private void LoadSavedCookies()
{
    var cookieManager = chromeBrowser.GetCookieManager();

    // Aquí recuperarías las cookies guardadas desde tu sistema de almacenamiento (p. ej. base de datos)
    // Supongamos que tienes una lista de cookies guardadas en una variable llamada savedCookiesList


    foreach (var savedCookie in savedCookiesList)
    {
        var cookie = new Cookie
        {
            Name = savedCookie.Name,
            Value = savedCookie.Value,
            Domain = savedCookie.Domain,
            Path = savedCookie.Path,
            Expires = savedCookie.Expires,
            Secure = savedCookie.Secure,
            HttpOnly = savedCookie.HttpOnly
        };

        cookieManager.SetCookieAsync(chromeBrowser.Address, cookie);
    }
}

En el método LoadSavedCookies estableces las cookies utilizando el método SetCookieAsync. De esta manera, las cookies guardadas se asignarán correctamente y tu sesión debería mantenerse activa sin tener que volver a vincular el dispositivo.
Páginas: 1 2 3 [4] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ... 46
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines