Mostrar los tags: re

Mostrando del 51 al 60 de 871 coincidencias
Se ha buscado por el tag: re
Imágen de perfil

INTERCAMBIO-MENSAJES-CONSOLA


C/Visual C

Publicado el 16 de Agosto del 2022 por Hilario (145 códigos)
708 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 (145 códigos)
822 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.557 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.496 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.391 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 (145 códigos)
730 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.558 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)
2.056 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.329 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
sin imagen de perfil

INCREMENTO DE UN NUMERO


Java

Publicado el 9 de Febrero del 2022 por David Osvaldo
2.738 visualizaciones desde el 9 de Febrero del 2022
package segunda.clase.esstructura.de.datos;

import java.util.Scanner;


public class SegundaClaseEsstructuraDeDatos {

public static void main(String[] args) {
Scanner datos= new Scanner(System.in);
int limite, inicio, incremento;
System.out.println("Programa que muestra el funcionamiento de la recursividad con la lista de numeros");
System.out.println("Ingresa el inicio: ");
inicio= datos.nextInt();
System.out.println("Ingresa el limite de la lista: ");
limite= datos.nextInt();
System.out.println("Ingresa el incremento de la lista: ");
incremento= datos.nextInt();

listaNumeros(limite,inicio,incremento);

}
public static void listaNumeros(int limite,int inicio, int incremento){
if(limite > 0 ){
System.out.println(inicio);//instruccion es imprimir en pantalla el valor de la variable de inicio
listaNumeros(limite -= incremento,inicio+incremento,incremento);//recursividad
}
}
}
Captura