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

#971
MiriadaX: Desarrollo en HTML5, CSS y javascript de Apps Web, Android
--------------------------------------------------------------------------------
https://miriadax.net/web/desarrollo-en-html5-css-y-javascript-de-apps-web-android-ios-8-ed- (Click en registrarse, es gratis)

Modulo 2: Estructura HTML5/CSS3 para multipantalla y objetos multimedia

Tema 0. Transparencias y ejemplos del módulo
http://vishub.org/excursions/2209.full
https://miriadax.net/documents/99047200/99047742/Transparencias_mod2.zip
https://miriadax.net/documents/99047200/99047742/Materiales_mod2.zip

Tema 2. HTML/CSS: Estructura CSS (Float, Position, Flex, Grid)

[youtube=640,360]https://youtu.be/uvJnJcWP1E8[/youtube]

- En el Módulo 1, tema 4 habla sobre como utilizar el Navegador web (chrome en este caso) para inspeccionar elementos web y ver sus estilos https://youtu.be/8d0xfVHS5CM, por ejemplo en la página que comentas tiene el estilo:

Código (css) [Seleccionar]
#main-nav.fixed {
    position: fixed;
    top: 0;
}


- Deberías seguir el curso, por lo menos para conocer posibilidades HTML, CSS y javascript
#972
Desarrollo Web / Re: no puedo alinear aside
1 Abril 2020, 06:26 AM
- Como ya lo había comentado en tu mensaje sobre donde podías subir tu página web, este curso de MiriadaX es bastante bueno para empezar: https://miriadax.net/web/html5mooc-9edicion/inicio

- En esa nueva edición solo se menciona a Float, ya que hoy se prefiere utilizar FlexBox y Grid. Por cierto el curso es gratuito, solo tienes que darle al botón de "Regístrate", luego podrás acceder al material y vídeos. Comprar el certificado es completamente opcional.
#973
Saludos,

- Te cuento que las nuevas versiones > 2.11 leen el número de serie de tu Disco Duro y lo envían a los servidores en línea de Aster para a partir de ahí crear una licencia por 30 días.

- La versión 2.11 no requiere de Internet para validar una licencia pero solo es compatible con windows 7, 8, 8.1 y las dos primeras versiones de windows 10, es decir, en windows 10 no funciona XD.

- A partir de aquí puede que te recomienden tutoriales o similares para entender ese tipo de protección. Lo más probable es que te recomienden un curso desde cero y en unos buenos meses puedas hacer algo XD.

- Puedes leer la documentación de Aster para entender más o menos como funciona, ahí dice que utiliza el Disco Duro y esas cosas: https://www.dokwiki.ibik.ru/es/v2_25/core/faq/faq_licensing#faq_licensing_reactivation

- Página oficial del producto: https://www.ibik.ru/es/
#974
- Échale un par de ojos al siguiente código, me parece que cumple tus requerimientos, he utilizado varias funciones y esas cosas, que también ando aprendiendo algo de C# XD:

Código (csharp) [Seleccionar]
using System;

class Menu {

  static bool escribiendo = true, fin = false;
  static ConsoleKey key;
  static String nombre;
  static char[] abc123 = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789".ToCharArray();
  static int[] idx = new int[16];

  static void Main() {
    dibujaMenu();
    do {
      key = Console.ReadKey(true).Key;
      if (key == ConsoleKey.UpArrow) arriba();
      if (key == ConsoleKey.DownArrow) abajo();
      if (key == ConsoleKey.LeftArrow) izquierda();
      if (key == ConsoleKey.RightArrow) derecha();
      if (key == ConsoleKey.Enter) enter();
    } while (key != ConsoleKey.Escape && fin == false);
  }

  static void dibujaMenu() {
    Console.SetWindowSize(20, 5);
    Console.ForegroundColor = ConsoleColor.White;
    Console.BackgroundColor = ConsoleColor.Blue;
    Console.Clear();
    Console.WriteLine("Nombre del relé 1:");
    Console.WriteLine("AAAAAAAAAAAAAAAA");
    Console.WriteLine();
    Console.WriteLine("  ATRAS     GUARDAR");
    Console.SetCursorPosition(0, 1);
  }

  static void arriba() {
    if (escribiendo) {
      int col = Console.CursorLeft;
      if (idx[col] + 1 < abc123.Length) {
        idx[col]++;
      } else {
        idx[col] = 0;
      }
      escribe(col, Console.CursorTop, abc123[idx[col]].ToString());
    } else {
      escribiendo = true;
      quitarFlechas();
      Console.SetCursorPosition(0, 1);
    }
  }

  static void abajo() {
    if (escribiendo) {
      int col = Console.CursorLeft;
      if (idx[col] - 1 >= 0) {
        idx[col]--;
      } else {
        idx[col] = abc123.Length - 1;
      }
      escribe(col, Console.CursorTop, abc123[idx[col]].ToString());
    } else {
      escribiendo = true;
      quitarFlechas();
      Console.SetCursorPosition(0, 1);
    }
  }

  static void izquierda() {
    if (escribiendo) {
      if (Console.CursorLeft > 0) Console.CursorLeft--;
    } else {
      quitarFlechas();
      escribe(0, 3, ">");
    }
  }

  static void derecha() {
    if (escribiendo) {
      if (Console.CursorLeft + 1 < 16) Console.CursorLeft++;
    } else {
      quitarFlechas();
      escribe(10, 3, ">");
    }
  }

  static void escribe(int x, int y, String txt) {
    Console.SetCursorPosition(x, y);
    Console.Write(txt);
    Console.CursorLeft--;
  }

  static void enter() {
    if (escribiendo) {
      escribiendo = false;
      izquierda();
    } else {
      if (Console.CursorLeft == 0 && Console.CursorTop == 3) {
        Console.Clear();
        Console.Write("Haz pulsado ATRAS");
      }
      if (Console.CursorLeft == 10 && Console.CursorTop == 3) {
        foreach (int n in idx) nombre += abc123[n];
        Console.Clear();
        Console.Write("Se ha guardado\n[{0}]", nombre);
      }
      Console.Read();
      fin = true;
    }
  }

  static void quitarFlechas() {
    escribe(0, 3, " ");
    escribe(10, 3, " ");
  }

}
#975
- Yo también me inclino por GitHub, puede que le de unas cuantas vueltas para subir páginas web pero no trae publicidad ni he visto limitaciones (debe de haber supongo). Aunque nunca logré utilizar Git para subir cosas a GitHub, demasiado difícil para mi gusto XD, por suerte el propio GitHub tiene una interfaz web que lo hace sin necesidad de descargar nada en el PC.

- 000.webxxx lo he utilizado pero según me han dicho algunos colegas de alrededor del mundo es que no funciona en sus paises o regiones XD, es lento y suele ser fastidioso con la publicidad.

- Uno bastante sencillo es también Neocities.org, para archivos html, css, js, jpg, png, gif basta y sobra, es gratuito pero no se puede subir videos a no ser que se compre un plan de pago.

- Hace años hice un curso de html, css y javascript por parte de Miriadax.net donde sugerían utilizar Neocities.org o Vishub, la nueva edición del curso es accesible desde: https://miriadax.net/web/html5mooc-9edicion/inicio

EJ. neocities: https://edson.neocities.org/miriadax/mod02op03/index.html
https://edson.neocities.org/miriadax/mod07/index.html

Ej. github: https://github.com/EdePC/rojo_ragnar
github page: https://edepc.github.io/rojo_ragnar/index.html
#976
Desarrollo Web / Re: no puedo alinear aside
31 Marzo 2020, 18:11 PM
Saludos,

- Veo que has estado separando un espacio para tu <aside> dentro de tu <main>, sin embargo tu <aside> esta fuera del <main> XD. Me parece que el problema está en la mezcla de dos ideas, una es guardar espacio para el <aside> y la otra es crear un contenedor para cada columna y dentro de esta crear sub-contenedores para las filas contenidas.

- Solo hay que aplicar bien esa idea correctamente. Sin modificar nada en tu HTML y solo en el CSS se puede agregar lo siguiente al final:

Código (css) [Seleccionar]
main {
  float: left;
  width: 70%;
}

.flex {
  display: flex;
  width: 100%;
}

.side {
  width: 30%;
}

footer {
  clear: both;
}


- Tu <side> no flota al costado del <main> porque este último es un elemento de bloque que ocupa una fila entera dentro de su objeto contenedor <body> en este caso. Para que el <side> pueda flotar al que convertir el <main> en objeto de línea o flotante, en mi caso lo puse flotante a la izquierda con un ancho de 70%.

- A tu estilo .flex le pongo ancho 100% ya que este ancho es mejor ponerlo directamente al <main>

- A tu estilo .side le pongo un ancho del 30% que sería el resto que dejó libre <main>

- Por último al <footer> le doy un clear: both; para que empiece en una nueva fila después de los elementos flotantes <main> y <side>
#977
- Puedes usar Choice o Set/P, bajo el estándar de Batch, ya que intentar hacer "efectos especiales" en un lenguaje que nativamente no lo soporta es muy engorroso.

- No puedes usar la detección de las Arrow Keys (teclas de flechas) :xD, estas tienen otro uso exclusivo en la consola. Otra opción es usar WSAD como en los juegos.

- En mi caso he utilizado números:



Código (dos) [Seleccionar]
@Echo Off
Color A0
Mode 20, 5

:menu_pri_1
  Cls
  Echo.
  Echo   MENU PRINCIPAL
  Echo    vi. 28 feb.
  Pause>NUL
GoTo :menu_pri_2

:menu_pri_2
  Cls
  Echo [1] Opcion A
  Echo [2] Opcion B
  Echo [3] Opcion C
  Echo [4] Salir
  Choice /N /C 1234 /M "Elija opcion..."
  If %ErrorLevel% EQU 1 GoTo :menu_a
  If %ErrorLevel% EQU 2 GoTo :menu_b
  If %ErrorLevel% EQU 3 GoTo :menu_c
  If %ErrorLevel% EQU 4 GoTo :menu_pri_1
GoTo :menu_pri_2

:menu_a
  Cls
  Echo Estas en Opcion A
  Echo Pulse Enter para
  Echo Salir
  Pause>NUL
GoTo :fin

:menu_b
  Cls
  Echo Estas en Opcion B
  Echo [1] Opcion B-1
  Echo [2] Opcion B-2
  Echo [3] Salir
  Choice /N /C 123 /M "Elija opcion..."
  If %ErrorLevel% EQU 1 GoTo :menu_b_1
  If %ErrorLevel% EQU 2 GoTo :menu_b_2
  If %ErrorLevel% EQU 3 GoTo :menu_pri_2
GoTo :menu_b

:menu_b_1
  Cls
  Echo Estas en Opcion B-1
  Echo Pulse Enter para
  Echo volver atras
  Pause>NUL
GoTo :menu_b

:menu_b_2
  Cls
  Echo Estas en Opcion B-2
  Echo Pulse Enter para
  Echo volver atras
  Pause>NUL
GoTo :menu_b

:menu_c
  Cls
  Echo Estas en Opcion C
  Echo [1] Color 1
  Echo [2] Color 2
  Echo [3] Opcion C-1
  Choice /N /C 123 /M "Elija opcion..."
  If %ErrorLevel% EQU 1 GoTo :fin
  If %ErrorLevel% EQU 2 GoTo :fin
  If %ErrorLevel% EQU 3 GoTo :menu_c_1
GoTo :menu_c

:menu_c_1
  Cls
  Echo Estas en Opcion C-1
  Echo [1] SI
  Echo [2] NO
  Choice /N /C 12 /M "Elija opcion..."
  If %ErrorLevel% EQU 1 GoTo :menu_c_si
  If %ErrorLevel% EQU 2 GoTo :menu_pri_1
GoTo :menu_c_1

:menu_c_si
  Cls
  Echo Estas en Opcion SI
  Echo Pulse Enter para
  Echo volver atras
  Pause>NUL
GoTo menu_c_1

:fin
#978
Saludos,

- No comprendo bien eso de quitar tildes, te refieres a cambiar las vocales acentuadas por sus equivalentes sin acentuar? si es así debería de bastar un bucle  que recorra cada letra, verifique y haga el cambio.

- Con respecto a redimencionar la ventana de la consola, pues si estás utilizando Visual C++ CLR puedes usar sintaxis .NET:

Código (cpp) [Seleccionar]
#include "stdafx.h" //Este archivo solo contiene la línea: #pragma once

using namespace System;

int main(array<System::String ^> ^args) {
  Console::SetWindowSize(20, 5);
  Console::Title = "Título de la ventana. Win32 C++ 2019";
  Console::WriteLine("Terminarías. Conocerías. Título. Analógico");
  Console::WriteLine("Muchas gracias mi muy distinguido amigo.");
  Console::ReadLine();
}
#979
Saludos,

- Debug.exe es un archivo ejecutable de 16-bit, necesitas un sistema operativos de 16-bit para que funcione. Un sistema operativo de 32-bit es capaz de emular y hacer funcionar aplicaciones de 16-bit, así mismo un sistema operativo de 64-bit es capaz de emular y hacer funcionar aplicaciones de 32-bit pero no 16-bit.

- Si tienes un sistema operativo de 64-bit no puedes hacer funcionar aplicaciones de 16-bit.

- He estado buscando y no he encontrado ningún Debug.exe para funcional para 64-bit, todos recomiendan utilizar una máquina virtual o DosBox. A lo sumo he visto que hay un proyecto DebugX pero también está desarrollado para 16-bit: https://sites.google.com/site/pcdosretro/enhdebug aunque provee el código fuente en ensamblador, por lo que se podría intentar portarlo a 32-bit ... el problema es que un programa real como Debug.exe tiene miles de líneas de código.

- Ahora, si tu sistema es de 32-bit puedes copiar el Debug.exe de un Windows XP o Windows 7, 8 de 32-bit. Pero si quieres crearlo por medio de "códigos hexadecimales" no lo vas a poder hacer del modo que has puesto en el ejemplo porque dices que NO tienes debug.exe, porque si ese código te funciona es que SI tienes debug.exe. En tu código estás utilizando a debug.exe para crear keyboard.com.

- Aquí te dejo un PasteBin del código de 1294 líneas que "crea" Debug.exe extraido de un Windows 7 de 32-bit: https://pastebin.com/6P6xnu3Q

-- En tu código que crea Keyboard.com se utiliza Debug.exe para interpretar los números hexadecimales a un binario ejecutable keyboard.com. En mi caso estoy utilizando como "intérprete" a CertUtil.exe que viene disponible en Windows 7, 8, 8.1, 10 en 32 y 64 bits, pero no en XP.

-- Nota que Debug.exe se utiliza además para "ensamblar" programas por medio de instrucciones Assemble o Código Ensamblador, cosa que no se puede con CertUtil.exe
#980
Saludos,

- Y has probado reutilizando el $i:

Código (powershell) [Seleccionar]
$i = 2
foreach ($n in 1..5) {
  $txt = '=VLOOKUP(C' + $i + ',Hoja1!A:B,2,"FALSO")'
  Write-Host $txt
  $i++
}


Result:
=VLOOKUP(C2,Hoja1!A:B,2,"FALSO")
=VLOOKUP(C3,Hoja1!A:B,2,"FALSO")
=VLOOKUP(C4,Hoja1!A:B,2,"FALSO")
=VLOOKUP(C5,Hoja1!A:B,2,"FALSO")
=VLOOKUP(C6,Hoja1!A:B,2,"FALSO")