Mostrar los tags: re

Mostrando del 41 al 50 de 863 coincidencias
Se ha buscado por el tag: re
Imágen de perfil

LEER SECTORES DEL DISCO


C/Visual C

Publicado el 27 de Agosto del 2022 por Hilario (144 códigos)
866 visualizaciones desde el 27 de Agosto del 2022
/*
-----------------------------
Aut viam inveniam aut faciam.
*****************************
Leo_Sectores_Disco.c
*******************************
-----------------------------------
Hilario Iglesias Martínez.
*********************************
Este programa ha sido realizado en.
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Consola de Linux.
***********************************
V-0 -Ag/2022.
--------------------------------------
El programa, abre un fichero por consola,
y va pidiendo sectores del disco :0,1,2,3,4...
hasta llegar al final de lectura de Buffer,
remarcado en otro color,volcando
el contenido en las sucesivas peticiones.

Forma de compilarlo bajo prompt:

gcc -Wall Leo_Sectores_Disco.c -o LeoSectores

*********************************************
Una posibles salida por consola de parte
de un sector de disco sería la siguiente,
(después de haber ejecutado, en este caso
de ejemplo, un fichero de texto para
prueba llamado Alicia.txt):

./LeoSectores Alicia.txt

Introduzca el Sector que quiere abrir:0
41 6C 69 63 69 61 20 65 73 74 C3 A1 20 61 20 70 | Alicia est.. a p
75 6E 74 6F 20 64 65 20 71 75 65 64 61 72 73 65 | unto de quedarse
20 64 6F 72 6D 69 64 61 20 64 65 62 69 64 6F 20 | dormida debido
61 6C 20 61 62 75 72 72 69 6D 69 65 6E 74 6F 20 | al aburrimiento
71 75 65 20 73 69 65 6E 74 65 20 6D 69 65 6E 74 | que siente mient
72 61 73 20 65 73 74 C3 A1 20 63 6F 6E 20 73 75 | ras est.. con su
20 68 65 72 6D 61 6E 61 20 73 65 6E 74 61 64 61 | hermana sentada
20 61 20 6C 61 20 6F 72 69 6C 6C 61 20 64 65 6C | a la orilla del

**********************************************************************
Funciones importantes que utilizamos en el programa:
------------------------------------------------------------------
"fseek()
---------------------------------------------------------------------
La función fseek() establece el indicador de posición del archivo para el
flujo apuntado. La nueva posición, medida en
bytes, se obtiene añadiendo bytes de desplazamiento a la posición
especificada.se establece con:
SEEK_SET,
SEEK_CUR,
SEEK_END,
El desplazamiento es relativo al inicio del archivo, el
indicador de posición actual o fin de archivo, respectivamente.

La llamada exitosa a la función fseek() borra al final del archivo
el indicador de flujo, y deshace cualquier efecto.
En resumen: La función fseek establece un indicador
de posición de archivo para un flujo de archivo establecido.
---------------------------------------------------------------------
"fread()
-----------------------------------------------------------------------
La función fread() es el complementario de las funciones como fwrite()

fread().
Esta función se usa comúnmente para leer datos binarios.
Acepta los mismos argumentos que la fwrite()

La llamada fread()está compuesta por una serie de parámetros.
Veamos, en rasgos generales, cada uno de ellos :

-Búfer: Puntero al búfer donde se almacenarán los datos.
Un búfer es una región de la memoria utilizada para
almacenar datos temporalmente.
-Tamaño: El tamaño de cada elemento a leer en bytes.
-Count: Contador del número de elementos a leer.
-Stream: Puntero al objeto FILE desde donde se leerán los datos.
++++
---Valor devuelto:
Tras una ejecución exitosa, la función devuelve un
valor entero equivalente a count .
Devuelve el número de elementos completos leídos
realmente, que puede ser menor que count
si se produce un error, o se encuentra
un final de archivo antes de llegar al
parámetro count declarado como constante
en el programa, dependiendo de la ejecución
que queramos dar al mismo.

-------------------------------------------
Las librerías utilizadas son las siguientes:
include <stdio.h>
include <ctype.h>
include <stdlib.h>

*/

Imágen de perfil

INTERCAMBIO-MENSAJES-CONSOLA


C/Visual C

Publicado el 16 de Agosto del 2022 por Hilario (144 códigos)
588 visualizaciones desde el 16 de Agosto del 2022
--------------------------------------------------
**Ut desint vires, tamen est laudanda voluntas**
--------------------------------------------------

Hilario Iglesias Martínez.
---------------------------
Realizado en:
El programa fue realizado en plataforma
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11

-------------------------------------
Nueva configuración de intercambio de mensajes
por consola.
---------------------------------------------
Compilación:
Variables_Servidor.h debe estar en el mismo directorio
que:Nuevo_Servidor.c
$ gcc -Wall Nuevo_Servidor.c -o Nuevo_Servidor

**************************************************
Programa que sirve para interactuar entre dos consolas Linux, o entre dos ordenadores
diferentes, siempre que su configuración de cortafuegos lo permita. Este programa está
realizado para aprender por mi parte un poco más sobre ANSI-C, bajo plataforma Linux.
Se puede interactuar con el mismo mediante el comando nc, o telnet.**
--------------------------------------------------------------------------
Disce quasi semper victurus vive quasi cras moriturus.
--------------------------------------------------

-------------------------------------------------
***********CARACTERISTICAS DE LA RED**********
--------------------------------------------------
enxd03745c56b84: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.27 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::e1fb:835d:5da:e2a3 prefixlen 64 scopeid 0x20<link>
ether d0:37:45:c5:6b:84 txqueuelen 1000 (Ethernet)
RX packets 655816 bytes 772910795 (772.9 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 104452 bytes 20676735 (20.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Bucle local)
RX packets 1835 bytes 200525 (200.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1835 bytes 200525 (200.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.26 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::c61d:4836:b651:a200 prefixlen 64 scopeid 0x20<link>
ether 1c:1b:b5:85:a4:d0 txqueuelen 1000 (Ethernet)
RX packets 1580 bytes 153010 (153.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1937 bytes 232054 (232.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
-------------------------------------------------------------------------
Para interactuar por consola usar las IPs de la configuración del
ordenador donde se ejecute la aplicacion.
Comandos bajo consola: nc, telnet, como CLIENTE.
Ejemplos de entrada en el prompt segunda consola linux:
:~$ nc 192.168.0.27 8358
:~$ telnet
Imágen de perfil

SERVIDOR-CHAT-MEJORADO


C/Visual C

Publicado el 4 de Agosto del 2022 por Hilario (144 códigos)
660 visualizaciones desde el 4 de Agosto del 2022
/*
*********************
servidor_chat.c
*********************
Hilario Iglesias Martínez.
-------------------------
SERVIDOR.
----------------------------------
Volviendo hacía atrás a algunos
programas sobre sockes ya publicados,
se ha realizado este Sevidor para chat,
con el fin de poder interactuar
con el a través de dos consolas
Linux en el mismo ordenador,
utilizando la dirección Localhost (127.0.0.1),
u otra en la cual la configración del
cortafuegos lo permita.
Una vez abierto, y a la escucha el servidor,
se podrán interactuar mensajes con él
a través del comando linux, por ejemplo
nc 127.0.0.1 5898, o utilizando el antiguo
telnet.
Deberemos de colocar como atributo del comando
nc de linux la ip y el puerto establecido
en el servidor previamente.
El programa hace una llamada al inicio al comando de linux
a ifconfig, con el fin de probar el mismo
con las Ips, idoneas.
------------------------------------------
En este ejemplo se puede ver, en un volcado
de memoria, como se dispone la ip y el puerto
en memoria según se su tratamiento.
formatos Big Endian, o Little Endian
Como en otros programas puestos aquí,
se podría hacer un seguimiento de
los mensajes con wireshark para analizar
los paquetes y entender su proceso.
---------------------------
*********************************
Este programa ha sido realizado en.
LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Consola de Linux.
*****************************
Compilacion.
$ gcc servidor_chat.c -o servidor_chat
//**************************************

Ejecucion y un posible ejemplo de salida por
consola. Para interrmpir el programa
utilizar CONTRO C.
+++++++++++++++++++++++++++++++++++++
./servidor_chat
++++++++++++++++++++++++++++++++++
IMPRIME POR CONSOLA.
------------------------------

Tu sistema es Little Endian
+++++++++++++++++++++++++++++++++++++++++++++++
Introduce una IP
127.0.0.1
++++++++++++++++
*******************
Introduce un Puerto:
+++++++++++++++++++
8767
-------------------
Valor de entrada: 8767
Socket creado con éxito
Tamaño de la strucServidor = 16
La IP local es: 127.0.0.1
El Puerto local de conexión es: 8767
----------------------------------------------
Disposición en memoria del Puerto y la IP
----------------------------------------------
02 00 22 3f 7f 00 00 01 00 00 00 00 00 00 00 00 || .."?............
c2 00 00 00 00 00 00 00 f7 a0 ba dc fc 7f 00 00 || ................
38 37 36 37 00 7f 00 00 ad 79 54 c1 92 55 00 00 || 8767.....yT..U..
e8 72 03 3b 66 7f 00 00 60 79 54 c1 92 55 00 00 || .r.;f...`yT..U..
31 32 37 2e 30 2e 30 2e 31 00 54 c1 92 55 00 00 || 127.0.0.1.T..U..
00 a2 ba dc fc 7f 00 00 00 a5 6b 08 1f 31 1f 71 || ..........k..1.q
00 00 00 00 00 00 00 00 83 a0 e6 3a || ...........:
----------------------------------------------
Socket enlazado con éxito.
El Servidor está preparado
Imágen de perfil

Gestor de archivos y carpetas con expresiones regulares


Python

Publicado el 1 de Agosto del 2022 por Antonio (77 códigos)
1.259 visualizaciones desde el 1 de Agosto del 2022
Gestor por líneas de comandos que permite operaciones tales como búsqueda de archivos, creación de carpetas, cambio de directorios, cortar, copiar y buscar archivos usando expresiones regulares...Para ver la lista de comandos introducir comando 'help'.
fm1
fm2
fm3
fm4
fm5
Imágen de perfil

Sistema de Newsletter


Visual CSharp .NET

Publicado el 22 de Julio del 2022 por Augusto (9 códigos)
1.214 visualizaciones desde el 22 de Julio del 2022
Sistema de newsletter desarrollado en C# .NET. La aplicacion funciona con base de datos local que se instala sola con el programa. Se pueden enviar de a 100 correos por hora. Solo se necesita una cuenta SMPT para configurarlo. La aplicación funciona con listas y una pantalla de envio que soporta adjuntos de distintos tipos y formato HTML. Es rapido y sencillo ideal para pequeñas empresas.
Trabaja con SQLITE3 y puede correr en cualquier version de windows.

Si les interesa les dejo mi correo [email protected]
Consultar costo y formas de envio
Imágen de perfil

Motor de juegos en Java


Java

Actualizado el 18 de Julio del 2022 por Rafael Angel (15 códigos) (Publicado el 1 de Julio del 2022)
2.119 visualizaciones desde el 1 de Julio del 2022
Esta libreria compilada le permite a los programadores crear juegos, es el nucleo.
Ya que puede crear las unidades que quiera y desplazarlas por cualquier form o jpanle o canvas.
Es un graficador. O dibujador.
Designado especialmente para aprendices en Java y programacion y para quienes no disponen de tiempo para crear el motor de su juego.
Imágen de perfil

Texto en memoria.


C/Visual C

Publicado el 22 de Junio del 2022 por Hilario (144 códigos)
579 visualizaciones desde el 22 de Junio del 2022
/*
----Lenguaje C-----
Texto en memoria.
********************
volcado_text_memo.c
**********************
Hilario Iglesias Martínez.
*******************************
En este ejemplo, se introduce un texto
sin espacios por teclado, para poder
identificarlo mejor en memoria,
de hasta 8 caracteres.
Ejemplo: MENSAJE
El programa realiza un volcado de memoria.
En este volcado se puede ver el texto en
exadecimal, y su ubicación en cada dirección
de memoria en formato TEXTO.
En el se puede estudiar muy bien el funcionamiento
de punteros y direcciones de memoria.

MENSAJE debería volcar en exadecimal:
4d,45,4e,53,41,4a,45

*********************************************
Realizado en plataforma LINUX Ubuntu 20.04.4 LTS.
Bajo el standard ANSI C.-C-11
Usado el IDE Sublime Text.
Compilación: gcc volcado_text_memo.c -o volcado_text_memo
EJECUCIÓN:$ ./volcado_text_memo
******************************************************
Durante la compilación pueden surgir algunos
errores tipo "warning", de asignación,
por incompativilidad de tipos, que no
influyen a la compilación del mismo.
*******************************************
Establecemos por defecto DimensionVolcado=180,
Y un direccionamiento de hasta 8 caracteres*****
for(i=0; i < 8; i++)
{ //Direccioamos hasta un mensaje de 8 caracteres
Se puede modificar parámetros y jugar con el mismo

**********************************************************
RESULTADO.
-------------------------------------
MENSAJE Cadena visible en el volcado pasando texto a exadecimal
------------------------------------------------------------
BYTES DE LA ESTRUCTURA LOCALIZADOS EN: 0x6f73bdc0
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4d 45 4e 53 41 4a 45 00 c4 ff 00 00 00 00 00 00
c2 00 00 00 00 00 00 00 07 be 73 6f fe 7f 00 00
06 be 73 6f fe 7f 00 00 7d a3 4f 35 6b 55 00 00
e8 12 fb 5f e6 7f 00 00 30 a3 4f 35 6b 55 00 00
00 00 00 00 00 00 00 00 c0 a0 4f 35 6b 55 00 00
10 bf 73 6f fe 7f 00 00 00 d2 6c 7a cf 3b d0 66
00 00 00 00 00 00 00 00 83 40 de 5f e6 7f 00 00
20 36 00 60 e6 7f 00 00 18 bf 73 6f fe 7f 00 00
00 00 00 00 01 00 00 00 a9 a1 4f 35 6b 55 00 00
30 a3 4f 35 6b 55 00 00 a6 da ad c9 96 6b b7 d2
c0 a0 4f 35 6b 55 00 00 10 bf 73 6f fe 7f 00 00
*********************************************************
|En esta dirección | @ 0x6f73bdc0 |contenido TEXTO es:| M
||En esta dirección | @ 0x6f73bdc1 |contenido TEXTO es:| E
||En esta dirección | @ 0x6f73bdc2 |contenido TEXTO es:| N
||En esta dirección | @ 0x6f73bdc3 |contenido TEXTO es:| S
||En esta dirección | @ 0x6f73bdc4 |contenido TEXTO es:| A
||En esta dirección | @ 0x6f73bdc5 |contenido TEXTO es:| J
||En esta dirección | @ 0x6f73bdc6 |contenido TEXTO es:| E

*/
Imágen de perfil

Efecto Reveal con CSS


CSS

estrellaestrellaestrellaestrellaestrella(1)
Actualizado el 14 de Junio del 2022 por Scriptshow (141 códigos) (Publicado el 3 de Septiembre del 2017)
3.132 visualizaciones desde el 3 de Septiembre del 2017
Un efecto Reveal con CSS aplicado a pequeñas imágenes de fondo...
Al actuar sobre el Scroll, van apareciendo las imágenes colocadas de fondo en cada sección. Se pueden añadir secciones e imágenes con igual o distinto tamaño, cambiar las existentes, etc.

Un saludo
Imágen de perfil

Bulk Grid Beautifier


FoxPro/Visual FoxPro

Publicado el 6 de Junio del 2022 por Baldo (17 códigos)
1.694 visualizaciones desde el 6 de Junio del 2022
Suelto lastre (cercano a mi deseado retiro en lo laboral ) y dejo caer una "herramientilla" que no por básica deja de tener su interés (creo).

Cuando trabajamos varias personas en un proyecto, o aprovechamos "código de aquí para allá" o simplemente nos planteamos un cierto cambio visual en los Grid (puede que el objeto más presente en nuestros formularios), se hacía interesante poder cambiar determinadas propiedades del aspecto visual en modo batch. En nuestro caso siempre era el aspecto en cuanto al color resaltado de la línea en curso, el color de las líneas...etc. Básicamente para conseguir una cierta... uniformidad en las pantallas de todo un proyecto.

Así que decidimos trabajar con los Grid con sus parámetros por defecto, sin andar preocupados de valores RGB y hacer una utilidad que abriera el SCX (como tabla) y los cambiase. Despues aparecieron otros parámetros interesantes para dar esa uniformidad a todos los Grid de las ventanas de un proyecto y aparecieros nuevas variables (de altura de filas...).

Al final, siempre alguien olvidaba insertar el icono de la aplicación en el screen y se decidió incluir tambien este cambio que afecta ya no a Grid, sino a Formulario. Haciendo este cambio, se detectó que en ocasiones en las propiedades del formulario se quedan "Propiedades nulas", esto es: propiedades del tipo "Propiedad=" sin valor alguno.Limpiarlas mejora la percepción en el diseñador de formularios (porque no se ven en negrita no teniendo valor) y en la totalidad de un proyecto, elimina algunos bytes...

El proceso intenta no romper nada. Por ejemplo, no altera los colores si está permitida la selección individual de celda en un Grid.

Los parámetros a cambiar son seleccionables.

Nunca hemos sufrido pérdida alguna, pero como comprenderéis es absolutamente aconsejable que hagais una copia de vuestros Proyecto previo a los cambios.

Espero que os pudiera ser útil.

bulk-grid-1
bulk-grid-2
Imágen de perfil

Comprobacion de sintaxis en grupos de correo (RFC)


FoxPro/Visual FoxPro

Publicado el 22 de Abril del 2022 por Baldo (17 códigos)
1.071 visualizaciones desde el 22 de Abril del 2022
Esta rutina corresponde a una necesidad laboral. Si os sirve pues... ¡ya está hecha!

El asunto es que se puede necesitar un grupo de direcciones de correo electrónico válidas para un envío automatizado (en mi empresa se envian, por ejemplo, los pedidos a proveedor). Correos del tipo [direccion1] [direccion2]... [direccion(n)]...

El verdadero tema es que aunque se podría restringir la entrada a nivel de INPUT, hay que ser especialmente cuidadoso con la corrección en la sintaxis. Además puede que haya que tener presente que distintas rutinas pueden usar distintos separadores (Uso chilkat, por ejemplo, y el separador es "," y no ";"). Para más dificultad, uso direcciones importadas de ficheros externos...

Se hace precisa una rutina que analice el grupo de correos y conforme una cadena correcta, con el separador correcto, de direcciones correctas.

Una expresión REGEX estaría bien. Pero es un tema complicado en demasía. Lo ideal es que se pudieran discriminar direcciones correctas (del tipo [email protected]) sin que se le escape nada (una arroba y un punto al menos, y éste tras la arroba, un dominio de al menos 2 caracteres,ausencia de caracteres especiales...), que además distinga cualquier separador habitual (",",";",[TAB]) y que conforme una lista esperada por nuestra rutina. Es (muy) complicado y tema de petición de ayuda constante (https://stackoverflow.com/questions/4351349/regular-expression-for-delimited-email-address)

VFP es especialmente "plástico" a la hora de tratar cadenas... ¿Por qué no usarlo?)

Por ello he creado esta función:

mail_correcto([cadena],[separador_salida])

Tan simple como parece. Enviamos una cadena, analizamos corrección de los datos y retornamos SOLO LOS EMAIL VALIDOS separados por el [separador_salida].

Lo bueno es que ya nos podemos permitir seguir las estrictas normas (RFC2821 y RFC2822).
Teneis información en: en https://www.jochentopf.com/email/chars.html

La entrada puede tener separadores coma, punto y coma, espacios o [TAB] mezclados. Lo bueno es que al separar sólo correos, textos que me encuentro en ocasiones como "[email protected] (administración)" o similares son parseados correctamente.

Podeis echar un vistazo. Vereis una cadena de "caracteres restringidos" que podeis variar a voluntad si dado el caso (servidor UNIX, uso de caracteres especiales por alguna razón...) no necesitais filtrarlos (yo por defecto hago caso a las recomendaciones de "aunque es válido, mejor no lo uses")

Para el caso de querer simplemente COMPROBAR que los correos incluídos en la cadena son correctos (para avisar a usuario...etc) he incluído una variante que simplemente reporta un .T./.F. si algún correo no es correcto (realmente si alguna palabra no tiene pinta de correo)

mail_correcto_tf([cadena])

Adjunto un Form que simplemente lanza las rutinas para que experimenteis con ellas.

Un saludo.
Screenshot_002