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

#1541
Saludos,

- Creo yo que lo mejor es recomendarle un libro sencillo que se pueda leer y comprender eso y más, yo siempre suelo recomendar este que es gratuito, en español y fácil de entender:
https://openlibra.com/es/book/fundamentos-de-programacion-con-el-lenguaje-de-programacion-c-ed-2017

-- En la página 106 puedes ver la teoría ejemplificada del manejo de Entrada de Datos desde Ficheros de Texto usando ifstream (input file stream | flujo de entrada de datos desde ficheros)
#1542
Programación General / Re: automatizar programa
5 Febrero 2019, 07:47 AM
Saludos,

- Dependerá del programa, lo más común es crear Macros con AutoHotKey o AutoIt. Algunos programas tienes opciones por línea de comandos o ficheros de configuración, etc.
#1543
- El Diskpart Clean básicamente no elimina nada, solo la tabla de particiones, recuerda que yo he hecho lo mismo en mi experimento que comenté antes y recuperé todo con TestDisk.

-- Sin embargo te recomendaría utilizar primero TestDisk tal como he descrito anteriormente, además la verdad TestDisk y PhotoRec son muchísimo más fiables que recuva, la diferencia es que recuva es "más bonito" y fácil de usar.

-- En raras ocasiones he visto que un Disco Resucita así, sin embargo yo haría BackUp y marcaría el Disco como "no confiable"
#1544
- Lee el libro que recomendé arriba, por ejemplo en javascript sería así:

Código (javascript) [Seleccionar]
var str = "A : in XXX (31 downto 0);"
var mat = (/\bin (\w+) \((\d+)/g).exec(str);
console.log("Valor de xxx: " + mat[1]);
console.log("Valor (num): " + mat[2]);


Código (dios) [Seleccionar]
Valor de xxx: XXX
Valor (num): 31
#1545
Saludos,

- Empezando por quitar la línea:

Código (html4strict) [Seleccionar]
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
#1546
- Basta con deshabilitarlas, luego cuando quieres hacer tu Optimización vas, los habilitas todos y ejecutas uno a uno, en mi caso he tenido que empezar desde el último al primero (primero los critical) porque me daba error al intentar iniciar los primeros, supongo que es porque nunca los había ejecutado. Al final los deshabilitas, que yo sepa nunca se vuelven a habilitar solos, se tiene que hacer a mano.
#1547
Saludos,

- Mmm, interesante, basta que injertes el siguiente IF:

Código (csharp) [Seleccionar]
      //leer tecla ingresada por el usuario
        tecla = Console.ReadKey(true).Key;

        if ( tecla == ConsoleKey.Enter) {
          do {
            Console.Clear();
            Console.WriteLine( "Usted a elegido la opcion: " + contador );
            Console.Write( "Presione Escape regresar al menu" );
          } while ( Console.ReadKey(true).Key != ConsoleKey.Escape );
        }

      //validar el tipo de tecla
        if (tecla == ConsoleKey.DownArrow) {


- Por cierto, a mí no me reconoce los extraños caracteres que utilizas para dibujar el recuadro, he tenido que recurrir a Unicode: https://en.wikipedia.org/wiki/Box-drawing_character
#1548
Saludos,

- Me ha ayudado enormemente este e-book gratuito en español:
https://openlibra.com/es/book/introduccion-a-la-programacion-con-c-3

- En mi caso lo he hecho con puro Array (muestro extracto):

#define MAX_FILAS   50
#define TAM_FECHA   11
#define TAM_NOMBRE  50

int main() {

  char fechas[MAX_FILAS][TAM_FECHA];
  int  puntajes[MAX_FILAS];
  char nombres[MAX_FILAS][TAM_NOMBRE];


- Para leer los datos del fichero, me pareció más cómodo hacerlo con fscanf (muestro estracto):

  printf("Fichero leido: \n");

/* Lee el fichero y guarda los registros */
  while ( feof(file) == 0 ) {
    fscanf(file, "%s%d%s", fechas[cont], &puntajes[cont], nombres[cont]);
    printf("%s | %d | %s\n", fechas[cont], puntajes[cont], nombres[cont]);
    cont++;
  }
  fclose(file);


- Una vez se tenga todo guardado el los Array (un lío que C no tenga un tipo string :xD) se procede a ordenarlo, en el e-book está el método de ordenamiento Burbuja ejemplificado, se tiene que hacer uso de Arrays auxiliares y eso. Pero no se pueden copiar Array a otro Array directamente, se tiene que usar strncpy(array_destino, array_origen, cantidad_de_elementos), esto también está teorizado y ejemplificado en el e-book, muestro extracto que solo ordena el puntaje y la fecha, también debes ordenar el nombre:

/* Ordenacion mediante metodo Burbuja*/
  for ( int i = 0; i < cont - 1; i++ ) {
    for ( int j = 0; j < cont - 1; j++ ) {
      if ( puntajes[j] < puntajes[j + 1] ) {
        strncpy(aux_fechas, fechas[j], TAM_FECHA);
        aux_puntajes = puntajes[j];

        strncpy(fechas[j], fechas[j + 1], TAM_FECHA);
        puntajes[j] = puntajes[j + 1];

        strncpy(fechas[j + 1], aux_fechas, TAM_FECHA);
        puntajes[j + 1] = aux_puntajes;
      }
    }
  }


- Al final solo queda mostrar los resultados que piden, cantidad de líneas leídas (cant), puntaje más alto (puntajes[0]) y usar un FOR para mostrar todos los registros ordenados, muestro salida del programa ordenado:

Código (dos) [Seleccionar]
C:\Users\EdSon\Desktop>type read_file.txt
3-2-2019   21000      NOMBRE
3-2-2019   39000      NOMBRE
3-2-2019   18000      NOMBRE
C:\Users\EdSon\Desktop>gcc read_file.c -o read_file.exe && read_file.exe
Fichero leido:
3-2-2019 | 21000 | NOMBRE
3-2-2019 | 39000 | NOMBRE
3-2-2019 | 18000 | NOMBRE

Total lineas leidas: 3
Puntaje mas alto: 39000
Fichero ordenado:
3-2-2019 | 39000 | NOMBRE
3-2-2019 | 21000 | NOMBRE
3-2-2019 | 18000 | NOMBRE

C:\Users\EdSon\Desktop>


- Ahora solo te toca encajar todo el código y listo (buen ejercicio) :P
#1549
- Si ni siquiera aparece la capacidad del Disco Duro ... puede ser daño físico. Recomendaría enviarlo a una empresa especializada en recuperación de datos, claro que tiene su buen costo, dependerá del valor de la data que tengas en él.

- Por otro lado puedes intentar con software privativo como ya mencioné arriba Easeus, u otro que recomienden.
#1550
- Pues básicamente lo que hace el dichoso Script es:

Código (vb) [Seleccionar]
    var drainAppStoreQueue = function () {
        var schTasks = wsh.ExpandEnvironmentStrings("%windir%\\System32\\schtasks.exe");
        var arguments = "/run /Tn \"\\Microsoft\\Windows\\.NET Framework\\.NET Framework NGEN v4.0.30319";
        runToCompletion(schTasks, arguments + "\"", true);
        if (is64bit)
            runToCompletion(schTasks, arguments + " 64\"", true);
    }

    drainNGenQueue(isV4Installed ? "v4.0.30319" : "v2.0.50727");
    if (isOSWin8OrLater) {
        drainAppStoreQueue();
    }


- Es decir, llama al Programador de Tareas (SchTasks) y corre (\run) la tarea programada ".NET Framework NGEN v4.0.30319" ubicada en "\Microsoft\Windows\.NET Framework\".

-- Si es un sistema de 64 bits ejecuta ".NET Framework NGEN v4.0.30319 64". Si es un sistema antiguo ejecuta la versión "v2.0.50727"

- PERO repito esta tarea programa ya existe en el PC de fábrica y se ejecuta automáticamente cuando al Encender el PC:



-- No es más fácil ir ahí y ejecutar la tarea a mano dando Click derecho > Ejecutar?

- Si quieres asegurarte de que la Tarea Programada se ha ejecuta correctamente ve al Programador de Tareas > Biblioteca del programador de tareas > Microsoft > Windows > .Net Framework, y ejecuta la/las tareas que desees, luego actualiza (actualizar o F5) y revisa la Hora última ejecución, Resultado de última ejecución.

- Voy a Ejecutar esas tareas haber si obtengo mejor rendimiento con mis juegos  :xD ya que yo siempre las deshabilito apenas formateo el PC y estoy sin ellos varios años.