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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 431
381  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 11 Marzo 2022, 19:03 pm
Se viene haciendo eco, la noticia de que Putin podría tener un cáncer terminal (y sugieren que por eso, quieriendo pasar a la Historia, antes que el tiempo lo sepulte, ha diseñado esta invasión). La notici lleva rulando varios días, pero no parecía tener un origen conocido... hoy he podido ver que un reportero asegura que la noticia se la ha dado un británico de los servicios secretos.

En fin, si fuera cierto, Entonces Putin ha hecho lo que toda la vida se ha referido con el dicho: "Para lo que me queda dentro... me xxxx..."
382  Programación / Scripting / Re: Guardar datos correctamente en un archivo en: 11 Marzo 2022, 18:31 pm
Hay varias opciones:
1 ---La más rápida y simple:
Basta elegir la fuente 8514oem, pués es esa fuente la que corresponde.


Se usan estos 4 caracteres:
- Ä para la raya horizontal (carácter 196)  para hacer la tabulación horizontal de rayas (de ahí que vayan en grupo de 3 o 4).
- ³ para la raya vertical (carácter 179) que ocupa el alto de una línea, para los trazos verticales.
- Ã para la raya vertical con quiebro horizontal (carácter 195).
- À para el codo de la última raya vertical que (carácter 192) p.d.: (Se me olvidó anotar éste).

Eso sí, dado que el bloc de notas, comparte la fuente con todas las instancias abiertas, al cambiar la fuente, cuando vayas a cerrar el fichero, vuelve a dejar la fuente que tenías establecido para el bloc de notas.


 
2 --- Otra opción para solventar esto podría ser usar el worpad/write/word/etc... e incluir todo el texto entre etiquetas de uso con dicha fuente, ...pero wordpad/etc..., no soportan (en general) esta fuente (es una fuente de tipo fijo)...
3 --- Puede remediarse si tomas una fuente que te guste y editas (con un editor de fuentes), justamente esos 3 caracteres). Es una opción relativamente asequible, pués te permite a futuro poder abrir cualquier archivo 'así' con cualquier programa de texto que permita establecer una fuente específica para una sección o todo el texto, wordpad, word, etc...

4 --- Una última alternativa es que tú mismo crees tu propia aplicación para abrir estos ficheros que tengan seleccionada esta fuente por defecto (claro que si no es algo muy necesario va a ser mucho trabajo).

p.d.: Tal vez exista alguna otra fuente que ya incluya esos 3 caracteres (mira la imagen adjunta, los 3 están juntos formando un ángulo), y que la fuente sea TrueType (ttf), Open Type (otf), etc... en vez de una fuente fija (fon), en cuyo caso podría abrirse sin problemas en cualquier programa entre etiquetas para esa fuente... Esta solución se usaría para el caso 2. Es decir en vez de editar una fuente (como sugiero en 3), ver si ya existe una que los contenga.
383  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 10 Marzo 2022, 15:43 pm
Como ha cambiado la cosa...

Allá por los 90, tras la caída del comunismo y la URSS, Ucrania era el tercer país del mundo con más armas nucleares, ubicadas en silos repartidos por todo el territorio de Ucrania, era un auténtico polvorín. Tras los acuerdos de desnuclearización, Rusia pidió a Ucrania que le entrregara todas las armas nucleares, Ucrania aceptó a condición de que Rusia les defendiera en caso de ataque...

... a día de hoy, quienes esperaba Ucrania que fuera a atacarles, son quienes están a su lado y tímidamente les están ayudando, y quien se supone que debería defenderles (básicamente sus hermanos), son los que les están atacando como lobos hambrientos.

Ya nadie puede dudar que Putin es el siguiente Hitler. Fuck Putin.

Me preocupa esto  >:( como harán los rusos para acceder a Internet?  :( tampoco es que el gobierno se vaya a ver muy afectado. De todas maneras supongo que se trate de una medida de presión social para generar descontento en la sociedad.
Yo también opino que no es buena idea.
Ahora Putin tiene la excusa perfecta para imponer 'RuNET' y tener el control total de lo que entra y sale, vamos la policía vigilando cada paquete que viaja por la red, básicamente igual que China.

Otra cosa por la que veo que es una idea equivocada, es que ahora  los rusos, solo tiene acceso a una voz: La de Putin y sus secuaces... no podrán informarse libremente sobre la auténtica verdad. En esa tesitura, la única palabra será la versión que el gobierno ruso redacte.

...a buen seguro que en Rusia existen más nazis que de los que pudieran exitir en Ucrania... (aunque solo sea estadisticamente, pues Ucrania tiene 42 millones de habitantes, en tanto que Rusia tiene 100 millones más)... Ah, no... que Puitin llama NAZI, a todo el que le lleva la contraria, es solo una excusa bananera, dice nazis, como podía haber dicho aliens. ...el caso es que el nazi supremo resulta ser él.

Quizás la única cosa buena del bloqueo de internet a Rusia, sea que los ataques de ramsonware, seguramente van a disminuir sensiblemente.
384  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 7 Marzo 2022, 15:40 pm
Hoy la factura de la luz bate records... aprox, 550€ por Mwh, unas 12 veces más caro que hace un año.

Dada la gran dependencia de Europa (en general), de las energías procedentes de Rusia, puede afirmarse que Europa (indirectamente) está financiando la Guerra de Putin.


Te lo compraría, si la cifra final '24' se sumara como el resto de las veces: '2' + '4' ...para llegar a 32. No siendo el caso, es lo que se dice "meter con calzador".

Por otro lado las fechas de inicio de una guerra, raramente son claramente definidas.
Por ejemplo, aunque se da por buena el inicio de la I Guerra mundial el 28 de julio, en realidad, puede tomarse como el 28 junio (justo un mes antes, que es cuando se asesinó al archiduque de Austria, que fue el motivo de la guerra.

mmm.. y por otro lado el inicio de la II Guerra mundial, fue el 1 de sptiembre no el 9 de enero, como parece indicar la fecha que consta en la imagen. En este caso se asocia con la invasión de Polonia por parte de Alemania.
385  Informática / Hardware / Re: Que memòria RAM poner a un Pentium Dual-Core E5300? ...los discos SDD son compatibles para este Pentium? en: 7 Marzo 2022, 15:35 pm
Y ahora tienes 2x2GB, 4GB en total, con dos ranuras llenas y 2 ranuras vacías que no sirven para nada.
Las memorias dual channel, se sacan cuando la tecnología saca un nuevo modelo de memoria y el fabricante tiene complicado redirigir su placa base a 2 públicos diferentes (lejos de decidrise por uno, opta por los dos, porque así tienen 'el doble' de público, a un costo irrisorio en cuanto al diseño y fabricación de la placa):
- Uno que necesita una nueva placa base, pero que sea compatible con todo el hardware que ya posee (caso típico de alguien que le falla su placa base y debe cambiarla, espera comprar solamente una nueva placa base, no tambien la memoria).
- Uno que necesita una nueva placa base, pero que también comprará todo o casi todo nuevo.

El primer cliente puede usar el canal con las dos ranuras de memoria, con los módulos que ya tenía y el otro cliente puede poner módulos de memoria más actuales y veloces. Por su parte el primero, siempre tendrá la opción de seguir usando esa placa base si un día se ve obligado a cambiar su memoria por una más veloz, sea poe que se le dañaron, sea porque decide hacer un gasto extra para mejorar el rendimiento del equipo...

Sin dual channel, el primer cliente, las opciones que tendría, sería o bien comprar una placa base vieja (si la encuentra), o bien tener que comprar además de la placa base, también módulos nuevos de memoria.

En fin, es una ventaja para determinados compradores que casualmente se ven obligados a comprar una placa base en un momento en que dos memorias son dominantes, pero incompatibles para usar los mismos zócalos.

Cuando solo tiene la memoria mínima que admite el equipo, es fácil decantarse por comprar nuevos módulos de memoria, pero cuando tienes el máximo que admitía la placa base, adquirir la misma cantidad de memoria nueva, puede suponer un costo excesivo, si encuentra un fabricante que le permita segir usando la memoria que tiene y que además a futuro le permita actualizarla, elegirá esa placa base... 
386  Informática / Hardware / Re: Mi laptop funciona con Linux y no con Windos en: 6 Marzo 2022, 19:36 pm
Se me olvidaba, una curiosidad. ... con el disco de arranque de w98 no me dejaba cambiar el directorio, no se porqué. Ponía cd b:\  o cd b: pero siempre se quedaba en A:\.
En el BIOS, de esas viejas máquinas, hay una opción Swap Floppy Drive, que precisamente permite intercambiar la asignación de las letras de las unidades de disquete.
387  Programación / Programación Visual Basic / Re: Guardar list2 y leer list1 en: 6 Marzo 2022, 01:36 am
Hola Corlo... lo terminé de probar el sábado por la mañana, pero he estaod todo el día fuera de casa...

Aquí la descarga, por si lo quieres ir probando:
https://workupload.com/file/9rRxdbcR2wv 76Kb. aprox. comprimido (incluye los ficheros  de ejemplo).

Mañana me edito y pongo algunas explicaciones con capturas, hoy ya es tarde por aquí.



Te explico por encima...
Al abrir la aplicación, ahora una ventana hace de la principal, desde ella se accede a las principales características de la aplicación. También muestra un resumen de las ofertas activas a modo de recordatorio.
Se puede aprovechar para poner un logo y personalizarlo más.

El menú muestra las 4 principales ventanas a las que acceder: cuando se pulsa se abre la ventana correcpondiente.


La aplicación funcionará correctamente cuando se introduzcan artículo al almacén.
La siguiente imagen muestra el listado de los artículos en el almacén.



La columna 'stock', lleva la cuenta de la cantidad que queda de dicho artículo en el almacén, cuandos e compra, el stock se reduce en la cantidad comprada.
A la cantidad inicial que se establece como stock se le señala un porcentaje (columna umbral), tal que cuando en stock queda igual o menos de esa cantidad (columna pedido) ,  debería avisarse al departamento de compra-fabricación, para reponer el stock del almacén.

El menú precios tiene esa posibilidad que pedías de aumentar/reducir el precio a todos los artículos en una cantidad fija o porcentaje, pero a todos el mismo.

Desde el prpio menú, puede indicarse si se aplicará a todos o solo a los seleccionados.

Desde el menú 'Artículos' del almacén, puede crearse nuevo artículo o editar uno existente (clonar es crear uno nuevo partiendo de los datos del que actualmente tiene el foco).
También puede borrarse un artículo, pero esto solo debeiera usarse es circunstancias remotas, incluso introduciendo un artículo erróneo, puede luego ser editado, por lo que técnicamente no habría necesidad de eliminar ninguno.
Un modo de deshabilitar un artículo, por cualquier razón es poner su stock a 0, no aparecerá en los listados de compra noi oferta.
El almacén cuenta con un 'artículo vacío', que es el primero que se mostrará, para indicar al usuario que debe elegir uno de la lista.

Esta es la ventana de edición de los artículos:

En ella se establece el nombre del artículo, el precio de venta al público, el porcentaje de impuestos aplicados (se desglosa a la derecha), la cantidad en stock en el almacén y el porcentaje del mismo para su aviso (esto solo se establece cuando se crea el artículo pero también puede modificarse pulsando el checkbox), a su derecha señala la cantidad exacta mínima que una vez alcanzada o menor, debería dar aviso para el departamento de adquisiciones (compra, fabricación), también el valor en unidades, en el ejemplo siendo agua de 5 litros 5.000 cl, si es un paquete de yogures, 6, 8, si son huevos 6,12, etc... es decir la cantidad que trae lo que se compra.
Finalmente hay un aviso para señalas si el artículo está actualmente en oferta.

La sección de la derecha, no aparece cuando se crea un 'nuevo' artículo, solo al editar-clonar, por si se prefiere modificar ciertos precios en una cantidad igual a varios artículos, así se evitar la necesidad de calcular e introducir a mano el valor concreto.
Cuando se pulsa uno de los botones verde, se valida y cierra la ventana, tras lo que cual se reflejará en el lstado del almacén y en fichero.

La edición no debería utilizarse para cambiar el nombre del artículo, salvo un error tipográfico (es decir que refiera siempre al mismo artículo), de lo contrario al leer la facturación la próxima vez para el artículo con dicho código, reflejará el nuevo nombre que podría ser distinto a lo originalmente comprado. En cambio si puede modificarse el precio y descuentos, pués ambos valores son guardados a fichero cuando se compra, en tanto que para el artículo, en vez de guardar su nombre (20 caracteres), se guarda el código del artículo (2 bytes), que se rescata al leer la factura de compra.

Así se ve la ventana cuando se elige crear un nuevo artículo:


La siguiente ventana es para las 'promociones'.
Facilita crear ofertas. Establece una fecha y una duración vinculada a un nombre. Así cuando haya que crear ofertas para determinados artículos, bastará elegir la misma promoción para ellos, lo que ahorra por un lado escribir más dats y sobretodo elimina la posibilidad de errores, al poner fecha y/o duración de la oferta.


Nótese que estas se crean automáticamente al iniciar la aplicación (si no existe el fichero 'promociones...'), pero pueden ser editadas (para mantener la fecha y duración deseadas), así como poner el nombre que se considere más acorde, también pueden añadirse más promociones, que será la siguiente ventana a mostrar.

Aquí la ventana para crear una nueva promoción. No requiere más comentarios.


Aquí la ventana cuando se trata de editar la promoción. Como se ve, tampoco requiere más comentarios:


Esta, es la ventana del listado de ofertas. Como se ve, hay dos listados:
- El de ofertas activas (arriba)
- El de foertas inactivas (abajo)



Cuando se crean ofertas nuevas, van al listado de abajo (inactivas), igualmente para editar una oferta debe estar desactivada.
Las ofertas se activan o desactivan seleccionado en el listado las deseadas y yendo al menú elegir 'activar/desactivar', cada opción solo está activa en función del listado que se trate.

El objetivo de tener dos listados, es que no haya que crear nuevas ofertas ...cada vez... si no reutilizar las existentes, ya que lo que cambiará básicamente será la fecha, quizás la duración o tipos de ofertas.

Se ha diseñado 5 tipos de ofertas (aparte la inactiva), que cubre la mayoría de posibilidades. No obstante esto se explica mejor en la ventana de edición de las ofertas.
Algo importante es que no pueden activarse cualquier tipo de oferta, algunas son incompatibles con otras, las compatibles entre sí son los tipos 1,2 y 4, luego la 3 es aparte y  la 5 también aparte, es decir enel listado activo de ofertas solo puede haber ofertas compatibles... el programa se encarga de hacer la revisión y señalar el caso si no es posible.

Esta e sla ventana para crear nuevas ofertas (hay dos capturas, para mostrar el listado de combos, falta un tercero, que deja la imagen demasiado ancha y que se mostrará luego):


Cada oferta se vincula a un artículo, como se ve en el combo a la derecha, debe elegirse un artículo de la lista deesplegable. La lista solo contendrá aquellos artículos cuyo stock no esté a 0.
Además cada oferta se vincula con un tipo de oferta... se han creado por defecto 5 (como son pocas y no hay posibilidad de que ese número aumente notablemente, no requiere fichero se cargan con la ventana por código).
Los tipos explicados someramente son:
0 - Inactiva: La oferta no está activa. Es lo nromal para ofertas que por ejemplo estén destinada a Navidad...
1 - Porcentural: Al artículo elegido se el aplica un porcentaje de descuento (que se indica).
2 - Sin impuestos: Como el anterior, pero el procentaje aplicado es exactamente el valor que tiene el artículo aplicado en impuestos.
3 - Sorteo: Esto no se aplica al artículo en sí, si no a toda la compra. Indica que al vencer las ofertas, se realizará un sorteo entre los que hayan comprado durante la vigencia de la oferta, 1 o más premiados se les devolverá íntegramente el valor de su compra. Se supone que podría haber una cantidad máxima, por ejemplo 500euros, si alguien hizo una compra por valor de 800 euros, solo se le devolverán 500, si el afortunado hizo una compra por valor de 63'87 euros esa es la cantidad que se le devuelve. La resolución de este tipo de oferta, no está implementada, ya que la forma de realizar el sorteo así como quienes participan y otros detalles, son demasiado amplios como para aventurar una solución que al final se vayaa descartar por completo.
4 - Gradual: El descuento aplicado es el típico '3x2', es decir esos donde dicen 'por cada x artículos que compres te regalamos 1', en el ejemplo compras 3 y pgas solo dos, ergo... e descuento es del 33'33%, lógicamente si uno compra 4, el descuento aplica a 3 de ellos luego paga 3, (el 4 no forma parte de ese descuento, precisaría comprar 6, para aplicar nuevamente ese desceunto).
5 - Abosluto: Este descuento, es por el total de la compra. Por ejemplo si se señala un valor de 50 euros, y se pone un descuento del 10%, aquellas compras cuyo valor total iguale o supere 50 euros se el aplica un 10% al total de la compra. Si compra vale menos de 50 euros, nos e aplica descuentos.

En la siguiente ventana termino de explicar el resto de la misma, pués se refiere a la edición de un registor de oferta ya creado (o clonado).


La edición de ofertas, como se ha dicho antes, solo se puede hacer desde el listaod de ofertas inactivas (ofertas que no están en vigor), para evitar trastocar ofertas que estén activas con las consecuencias de 'clientes finales con quejas'. Aún así si fuera preciso  por detectarse un error, puede desactivarse, editarse y volverse a activar.

Según el tipo de oferta elegido, el porcentaje así como el valor pueden estar o no activos.
En esta última ventana se puede ver desplegado el listado de la spromociones, la oferta se vincula con una promoción (el nombre), facilita elegir la asociación para más artículos de una fecha y duración. Ambos datos pueden ser cambiados individualmente para cada oferta, pero si no es deseable puede ser modificado para que muestren su valor como solo lectura. Recuerda que las promociones pueden modificarse desde la ventana del listado de promociones.

Cuando se elige desde el combo, el artículo, se rescata del alamcén sus valores y se señala su precio.
A la derecha d ela oferta, se mantiene el valor de la oferta previa que tenía esta oferta (el tipo de oferta al estar en el listado de inactivas, permanece siempre a 0, por tanto el valor elegido se mantiene en un campo que es copia, como si fuera temporal, cuando la oferta se activa, el tipo de oferta toma el valor que se retiene en este campo de copia.

Por su parte activar o desactivar una oferta, se refleja en el alamcén que mantiene un campo que lo vincula a una oferta. Solo puede ahber una oferta activa por cada artículo, pero puede haber diferentes ofertas inactivas para un mismo artículo siempre y cuando tengan distinta promoción (por ejemplo el vino puede estar en oferta inactiva para una promoción de Navidad y tener otra oferta inactiva para una oferta de verano y tener una oferta activa para la promoción de Semana Santa, en cambio no tiene sentido que ese vino (el artículo), tenga 2 ofertas activas distintas para 'Semana Santa'... el programa también se encarga de hacer tal revisión antes de activarlas...

En la imagen del almacén, puede verse a la derecha del todo que hay 3 artículos con ofertas activas.

Básicamente eso es todo lo nuevo en la aplicación, ahora los cambos a lo que había previamente (pues ha afectado a todo, ha sido finalmente necesario modificar absolutamente todo).

Esta que antes era la ventana principal ahora tiene el nombre de facturación:


En un principio la aplicación suponía ser un ejemplo para ir aprendiendo, luego una aplicación real para mantener la propia compra de uno mismo, por lo que no hacía falta un almacén dada la inabarcable variedad de artículos que uno puede comprar, (libros, CDs, ordenador, teléfono, tablet, gasolina, manzanas, tabaco, etc...), luego en esa suposición lo pertienente era introducir manualmente el nombre del artículo comprado y el precio pagado y no mucho más... al final parece ser la aplicación real para una pequeña tienda de tipo familiar, puesto que ahora hay necesidad de hacer ofertas y tal, se hizo preciso un almacén que detalle cada artículo a la venta en sus valores esenciales (como tal, para mi sigue siendo un ejemplo del que puedas aprender).

Como se ve en la imagen, ahora la ventana de facturación se compone de dos listados... en el superior se muestran las compras únicas, y debajo se detallan los artículos asociados a una compra dada.

Cuando se pulsa en una compra (listado superior), se rescatan los registros de artículos asociados al lote de la compra. Ahora sí, cada compra mantiene el total de la compra, así como el descuento aplicaod a la compra (siempre 0, salvo esos casos de ofertas de tipo 'absoluto' (descuento al total de la compra si superan cierto volumen).

En la última compra se ha puesto exprofeso un ejemplo de ese caso, el valor debia ser superior a 50 euros para aplicar un descuento dle 10%.
A la derecha dle listado, la suma d elos totales de lo facturado.

Por suparte el listado inferior, como se ha indicado desglosa los artículos comprados en ese lote (ticket de compra).

El carrito de la compra, no tiene cambios sustanciales en la interfaz, pero sí internamente, el listado es básicamente lo mismo que el listado inferior, excepto los dos campos de códigos de la izquierda:


Como se ve, el cambio más importante (aunque aquí se muestre vacío), es el campo 'descuento' que que se actualiza (si procede) con cada artículo añadido al carrito.
El mayor cambio en esta ventana (así reseñable), en que justo antes de pagar, se vuelve de nuevo a revisar si el artículo tiene stock suficiente en el almacén para comprarlo en las cantidad requeridas... algo necesario, dado que el carrito d ela compra puede estar bastante tiempo abierto... y alguien podría haber comprado las existencias restantes. En tal caso avisa antes de proceder al pago, permite eliminar ese artículo o anular toda la compra...

Cuando se realiza el pedido (se ha validado que existen en stock las cantidades que se quierne comprar),  se reduce el stock en el almacén en tales cantidades... Se ha añadido a proposito el último artículo con poca cantidad en stock, para probar que cuando se quiera comprar más d elo que hay en stock, avisa y que si llega a 0, ya no se liste (cuando esto ocurre fuerza a recargar los listados que mantienen los artículos). Estas partes no han sido probadas, creo recordar...

El carrito de la compra, se abre tanto desde la ventana de facturación como desde la misma ventana de compra, que se presenta a continuación:


Esa es la ventana de compra, como se ve, la principal diferencia respecto de la previa es que ahora el artículo no se introduce manualmente, si no que es elegible entre el listado de artículos con existencias en el almacén. Y como ya en el alamcén se reflejan sus valore,s ahí simplemente se hace constar sus valores (previo, impuestos aplicados, etc..., tampoco hubiera sobrado indicar el remanente en stock, así sabe si está tratando de comprar mas de lo que puede venderse).

Desde luego la lista se carga con todos los artículos cuya existencia  sea superior a 1, ignorando los artículo cuyo stock sea 0.

Básicamente aunque la interfaz se ha simplificado al extremo (solo hay que elegir el artículo y la cantidad a comprar), el código ha requerido un cambio profundo.

Cuando se pulsa el botón añadir al carrito, verifica si la cantidad existe en stock, si no es el caso avisa para poder cambiar la cantidad... como ya dije esta comprobación se realiza de nuevo cuando se acepta pagar el lote desde el carrito de la compra.

La úlitma venta (la de elegir un fichero de facturación para abrir), a pesar de que solo tiene unas decenas de líneas también tuvo que ser ligeramente modificada, pués antes el programa solo mantenía un unico fichero (el de facturación.dat) y si procedía el caso el de 'carrito.'dat (si se cerraba la aplicación con un carrito sin procesar (comprar)), ahora el de facturación se ha desglosado en dos ficheros, el de los lotes comprados y de cada artículo comprado que se asocian con el lote comprado...
El almacén, ofertas y promociones tambié se mantienen en sus propio ficheros, al final son 6 (más el del carrito que es creado y eliminado, es decir es transitorio), entonces excepto de lote cuya extensión es *.dat', para los demás se ha elegido como extensión 'regdata', así esa ventana de selección del fichero de facturación no tiene posibilidad de elegir un fichero que no contiene los registros esperados y por tanto también evita malograrlos, toda vez que no se realiza ninguna comprbación sobre los ficheros mas que abrir el fichero de nombre elegido.


Sobre los ficheros hay que decir además, que los ficheros son creados y existe una única copia de ellos, excepto para el de facturación (que se crean 2 por cada facturación creada).

Una pequeña tienda familiar o de barrio, suele tener a lo smo unos pocos cientos de artículos a la venta, así una aplicación como esta puede ser perfectamente suficiente, aunque no sea óptima (se ha diseñado e implementado con el objetivo en mente de aprender a solucionar casos típicos), para eficiencia, como mínimo deberían usarse clases y tirar de colecciones basadas en hash, al final hay muchas búsquedas que pueden requerir un recorrido secuencial, que para unos pocos cientos es casi inmediato, peor  que basada en hashes, permitiria multplicar el tamaño de las colecciones por 1000 y ser aún 10-100 veces más rápido aún que esta solución.

La implementación con colecciones basada en hashes requiere conocimientos sólidos de programación y del lenguej usado, si no es el caso, entonces lo preferible es tirar de nases de datos que ya implementan tales colecciones por uno mismo... en ese caso se reqiere un conocimieto más o menos sólido de la base de datos usar... para VB6, las bases de datos Access, son bastante asequibles y su rendimeito adecuado, para algo más profesional recomiendo SQL-Server, Oracle, etc... Estas bases de datos son mucho más complejas y exigen más conocimientos del programador, aunque para aplicaciones de pequeñas empresas, no se requiere tanto.

La ventaja de una aplicación diseñada al 100% con código propio, es que es independiente de cambios a posteirori de versioes que con el tiempo arroja incompatibilidades, la otra ventaja es que contrlas al 100%, lo que quieres hacer, según lo que necesites sin apenas restricciones, si bien VB6, no arroja la adecuada capacidad de creación de tipos como por ejemplo oferce ADA o incluso Pascal... se podrá ver en el código como para poder operar con valores con 2-3 decimales hay que hacer 'tontarías' que con un acertado posiblidades de tipos, sería inecesario.

La otra gran desventaja de escribir todo el código es que es más lento al tener que escribir todo en vez de delgar en librerías quye ya hacen tal o cual cosa.
Por ejemplo, podría delegarse los textbox numéricos en controles de usuario diseñados específicamente para tener cierta funconalidad integrada (por ejemplo, porcentajes, donde muestran 3 textbox, el del valor sin el porcentaje, el del porcentaje y el dle valor una vez aplicado el procentaje y que modificando uno solo de ellos, los otros dos se actualicen en base a ello, u otro contro de usuario para mantener justo esa cantidad de dimales que uno quiere sin estar cada vez haciendoese parsing estúpido... o incluso un control con un calendario para elegir la fecha de las promociones y ofertas, forzando así a que las fechas sean siempre a presente o futuro, en vez de tirar de un simple 'now' o un textbox, donde existe la posibilidad de meter una fecha errónea, ahora bien aunque VB dispone de control de calendario, exige entonces instalar tal librería si el cliente no la tiene, la propia librería es de más tamaño que la propia aplicación... tengo por ahí algún control de usuario que es un calendario, pero igualmente es añadir 70kb. y si tuviera que quitarle funcionalidad para hacerlo más simple y ligero, llevaría bastante tiempo asegurarse que lo eliminado no trastoca la funcionalidad residente. ...igualmente por lo mismo abordar otros controles, no procede dado el tiempo disponible y las prisas que pueda tene rel cliente.

En cualquier caso, tienes ahí lo suficiente para modificar a tus necesidades y crear nueva funcionalidad basada en las soluciones dadas... por ejemplo, imagina que te solicitan que crees categorías de artículos y ahora todas las que son de la categoría de bebidas alcohólicas see les aplique un descuento del 10%, en vez de aplicar ofertas artículo por artículo...

...aunque por experiencia ya te digo que si ofreces la capacidad de hacer ofertas por categorías,  siempre habrá artículos que no quieran incluir (a pesar de estar en la categoría) y artículos que sin ser de esa categoría quieran incluir... ...lo que al final supone ser la capacidad para que cada artículo pueda tener su propia oferta (es la solución al aque finalmente 'por tanteo', con nuevas exisgencias se llega, pero sin dejarlo jamás así de claro descrito).

Así las categorías, podían ser simplemente colección de códigos de artículos, es decir un registro con un nombre de categoría al que se asocian x artículos (x códigos de artículos)... asociar un artículo a  una categoría implicaría eliminarlo de la previa, y en el almacén debería aparecer un codigo de categoría (en los registros se han previsto y dejado campos reservados para permitir cierta flexibilidad de ampliación sin cambiar los propios ficheros). La funcionalidad prevista para las categorías sería pues:
- Añadir-editar-clonar categoría
- Añadir artículos (existentes en el almacén), a dicha cetegoría (exige quitarlo d ela categoría previa si estuieran en otra que no fuera 0 (0=sin categoría definida).
- Ofertar los artículos enla categoría 'x'.
...etc...

Por último, como esto ya pasa de ser un mero ejemplo e incluso de un proyecto personal, cualquier cosa que requieras a futuro, irá solo en explicaciones, le habré dedicado unos 30 o 40 minutos de la mitad de estos días, lo que pueden ser unas 8-10 horas, que es más tiempo del que uno quiere ofrecer como ayuda, aunque 30 ó 40 minutos al día no sea mucho, es más de lo que uno espera cuando requiere varios días...

Saludos.
388  Foros Generales / Foro Libre / Re: Conflicto Ucrania-Rusia,EEUU, OTAN, Europa. (Todas las noticias relacionadas irán aquí) en: 4 Marzo 2022, 16:22 pm
... lo que no se como cojones les van a llegar tantas ayudas de armas si tiene bloqueado los rusos el mar de azov por el sur luego puede pasarlo por las fronteras pero imagino que los rusos estarán atento para que no llegue esas ayudas.
A través de Polonia. Polonia pertenece a la OTAN, allí se envían aviones con las cargas de lo que sea, y a través de la frontera con Ucrania se entrega todo...

No termino de entender porque lo llaman
la 'Guerra de Ucrania',
en todo caso sería la 'Guerra en Ucrania',
porque la realidad es que ésta,
es la 'Guerra de Putin'...
excepto él y unos pocos asociados con él
(incluído militares, políticos y millonarios rusos),
nadie más quiere ni necesita esta invasión.
389  Seguridad Informática / Hacking / Re: Cuenta Google en: 4 Marzo 2022, 16:08 pm
Ya... pero entonces qué es lo que quieres finalmente?:

- Recuperar la cuenta de Google?: Da igual si te roban la cuenta u olvidas la contraseña... porque si de verdad es tuya, solo tú sabes demasiados de ella como para demostrar aGoogle que la cuenta es tuya... por ejemplo, si recibió un correo de Hacienda en Mayo del añao pasado, pués seguro que lo leyó, se acordará de la fecha muy aproximada y sobre todo el contenido básico.... por ejemplo: "Recargo del 20 por el retraso en el pago de tal cosa", seguramente no, fijo, que podrá citar varios datos de cierta antigüedad que es imposible que nadie que haya robado la cuenta pueda saber, como por ejemplo una contraseña que tuvo hace x años... (suelen guardar el historial de contraseñas, yo una vez tuve que recurrir precisamente a eso, a la última contraseña que recordaba bien con precisión y que databa de unos 3 años atrás).

- Localizar la ubicación del dispositivo?: Si no tenía habilitado ciertas opciones de seguridad cuya utilidad es precisamente esa, va a ser imposible.

- Recuperar lo que le robaron de 'mucho valor afectivo'?. Si se trata de objetos materiales, pon denuncia en la policía, pero la probabilidad de recuperarlo, suele ser casi nula. Si se trata de objetos inmateriales, como fotos, vídeos u otros documentos... va ligado a recuperar físicamente el dispositivo... pero todavía existe la posibilidad de recuperar esos datos si tenía copia en la nube, para lo que sí o sí, se precisa (para esto último) es justamente la cuenta con que estaba registrado el dispositivo.

- Si es otra cosa, igualmente será complicado por no decir imposible.


En cualquier caso, procede denunciar el robo a la policía, le/te pedirán ciertos datos, como marca, modelo, IMEI, etc... luego con la denuncia tendrá que ir a una oficina de su proveedor de telefonía e indicar que bloqueen el dispositivo (te pedirán la denuncia antes la policía, es exigible). Y de paso que le clonen la SIM, para usarla en otro dispositivo (conservando el mismo número, si le interesa) o dar de baja la línea si pretende contratar otro proveedor.

hmmmm... me hace gracia esos mensajes donde uno pide ayuda "en nombre de otro", en vez de reconocer que es para uno mismo. Cualquiera puede sufrir un robo o perdida de su dispositivo, no hay porqué avergonzarse ni ocultarlo. El caso es que si es 'un amigo o de un hermano, primo, etc..', que sea él quien mueva el culo y pida la ayuda que considere...
390  Programación / Programación Visual Basic / Re: Guardar list2 y leer list1 en: 4 Marzo 2022, 01:14 am
Sí, ya está terminado.

...pero he tenido que cambiar además todo lo previo, así que falta probarlo por encima al menos y corregir los pequeños errores que pueda haber. Cuando mezclas algo nuevo con algo previo, suele haber pequeños desajustes (sobre todo si son muchos cambios como es el caso) por cosas cuyos detalles no recuerdas con precisión... y que ahí acaban emergiendo.

Si tengo un rato mañana despues de comer y otro poco por la tarde, estará funcionando.
Páginas: 1 ... 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [39] 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 ... 431
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines