Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

15.707 Mensajes en 3.130 Temas- por 371 Usuarios - Último usuario: lasfirrot
Mayo 22, 2012, 08:10:14
Foro de Hispabyte.netProgramaciónLenguajes y Programación (Moderadores: D4MR0D, Snaft_J1)Tema: Sustituir letra en VB 6.0
Páginas: [1]   Ir Abajo
Imprimir
Autor Tema: Sustituir letra en VB 6.0  (Leído 1588 veces)
0 Usuarios y 2 Visitantes están viendo este tema.
Invisible
Visitante
« : Noviembre 22, 2009, 10:02:07 »


Hola.

Bueno, este es mi primer post en esta comunidad, la verdad es que llevo unos cuantos días rondando por aquí como invitado y sinceramente pienso que es una comunidad bastante seria, y con contenidos bastante interesantes, y pues me he dicho...qué demonios, voy a participar  Cheesy

Bueno, tras ese pequeñito parrafo de presentación (puesto que he revisado las secciones pero no hay seccion para presentarse...), pues paso a exponer mi problema, o más bien duda...

Veréis, hace tiempo que no programo en VB 6.0 y pues digamos que la tengo un poco oxidada la sintaxis de ese lenguaje....

Pretendo hacer un software de codificacion utilizando el llamado "Cifrado Cesar". Os dejo un enlace en la Wiki para los que no sepan de que va el tema...

http://es.wikipedia.org/wiki/Cifrado_C%C3%A9sar

Bien, el caso es que tengo un formulario, dos textboxes, y un commandButton...

Y lo que quería era hacer el cifrado de 4 en 4 por ejemplo (si leisteis el enlace que os deje sabréis de que hablo xDD)...

De modo que si yo en el textbox 1 pongo "hola", al darle al botón, en el segundo textbox aparecería:

lsoe

Lo que vendría a ser, mostrar lo mismo solo que cada letra desplazada cuatro posiciones...

En eso consiste básicamente el cifrado César...

Pues por eso, tengo la duda de cómo usar una función en VB que me permita "decirle" al programa...

Si letra a
entonces mostrar e
Si letra b
entonces mostrar f

.....

¿Se entiende?

Bueno, a ver si alguien me puede echar una manita...

En PHP (que es el lenguaje que estaba aprendiendo desde hace tiempo ya), se usa Str_replace, pero aqui...no sé la función exacta, y cómo seria implementada en este caso...

Un saludo, gracias por leer este post, y espero pasarme muy a menudo, me gusta postear asiduamente cuando me registro en un sitio  Giñar
En línea
Zheo
Grupo_Moderadores
Miembro Imprescindible
*
Mensajes: 1.408



Ver Perfil
« Respuesta #1 : Noviembre 23, 2009, 09:22:52 »

Sólo una pregunta. ¿Para qué molestarse en aprender un lenguaje como VB6, obsoleto, sin soporte, y sólo utilizado ya -gracias a dios- para mantener aplicaciones, cuando puedes usar Visual Basic.NET, que es un lenguaje mucho más moderno y capaz (debido a los requerimientos de la plataforma .NET, aunque para mi la sintaxis del lenguaje es lo más asqueroso del mundo) y donde podrás usar todas las posibilidades de dicha plataforma?

Respecto a tu pregunta, lo más rápido es que para carácter obtengas el valor ASCII de dicho carácter, le sumes 4, y conviertas dicho número de nuevo a carácter.
En línea
HQH
Administrator
Miembro Imprescindible
*****
Mensajes: 1.813



Ver Perfil
« Respuesta #2 : Noviembre 23, 2009, 11:51:29 »

Para ver como funciona la idea de Zheo, aqui teneis la tabla de caracteres ASCII http://www.ascii.cl/es/
En línea
Zheo
Grupo_Moderadores
Miembro Imprescindible
*
Mensajes: 1.408



Ver Perfil
« Respuesta #3 : Noviembre 24, 2009, 12:00:40 »

No entiendo muy bien a qué viene mentar Pascal aquí  Huh
En línea
Invisible
Visitante
« Respuesta #4 : Noviembre 25, 2009, 01:11:09 »

Hola.

Sinceramente, pienso que hay más gente que usa 6.0 que .NET...

Lo de que es un lenguaje sin soporte...yo tampoco comparto esa opinión...hay muchísima documentación, y en los foros que conozco de programación, la sección para VB6 suele estar mucho más activa que la de .NET

No sé, quizás cuando realmente aprenda bien bien 6.0 me pase a .net aunque sea simplemente para probar y comparar, pero de momento...no  Giñar

Gracias por lo de Ascii, ya estuve mirando antes de plantear la duda aqui sobre Ascii, pero a ver si ahora busco mas a fondo sobre la conversion y tal...

Y sobre el uso de Pascal...gracias por la sugerencia, pero...mi intención es hacerlo con VB6, pero ya digo, muchas gracias igualmente  Cheesy

Un saludo, gracias.
En línea
HQH
Administrator
Miembro Imprescindible
*****
Mensajes: 1.813



Ver Perfil
« Respuesta #5 : Noviembre 25, 2009, 02:09:31 »

Supongo que JMA quiere decirle que puede usar Lazarus (un clon libre de Delphi) para hacer aplicaciones graficas.

Sobre lo de que Visual Basic 6 no tiene soporte, se refiere a que Microsoft ya "lo ignora", no surgen mejoras, ni revisiones de las librerias, ni optimizaciones para 64 bits o varios nucleos, usa muchos recursos, puede no funcionar en futuras versiones de Windows, etc..

De hecho, Visual Basic 6 tiene mas de 10 años de antiguedad, por eso te recomienda Visual Basic .NET , por que este si que esta mas soportado.
En línea
Zheo
Grupo_Moderadores
Miembro Imprescindible
*
Mensajes: 1.408



Ver Perfil
« Respuesta #6 : Noviembre 25, 2009, 08:11:21 »

Para mi, hoy en día, ponerse a estudiar VB6 si no es por necesidad específica es como ponerse a estudiar COBOL por que "hay un montón de sistemas que lo usan"

VB.NET es mucho más moderno, con mejor rendimiento y con más posibilidades. Para empezar ya tiene soporte para POO, y cosas como LINQ, delegados, eventos, control de errores con excepciones, ligero soporte para sincronización de hilos en el lenguaje, reflexión, inyección de código en tiempo de ejecución, y en la versión 4.0 compiler as a service: compila nuevos elementos en tiempo de ejecución, soporte para interacción con lenguajes dinámicos (IronPython, IronRuby) etc.
Puedes usarlo para programar Webs con ASP.NET, , Apps de escritorio con Winforms o aplicaciones de escritorio de este siglo con WPF (separación presentación/lógica) o dispositivos móviles con el Compaq Framework; y como está vinculado al framework .net, tienes una infraestructura detrás muchísimo más rica y en constante evolución: frameworks como MVC, NHibernate, Castle Project, NUnit, etc.

Por último como ya han dicho, el soporte del lenguaje se refería a su soporte por parte del creador, en este caso Microsoft. Eso que implica que la definición del lenguaje no cambiará nunca, su intérprete no mejorará ni podrá aprovechar las últimas mejoras en los sistemas, y todo lo que he mentado arriba no lo vas a ver nunca.
Por no hablar de que te cierras a Windows, cosa que con un lenguaje en .NET no te pasará en esa medida gracias a Mono.

Y eso que para mi VB es un lenguaje horrendo con una sintaxis sobrecargada, pero eso ya es opinión personal. Yo recomendaría C# por supuesto.


« Última modificación: Noviembre 25, 2009, 08:16:18 por Zheo » En línea
kcoder24
Novato
*
Mensajes: 1


Ver Perfil
« Respuesta #7 : Enero 30, 2010, 12:37:19 »

[OFFTOPIC]

Venga que el chico solo ha preguntado como hacer algo y le sugieren cambiar de lenguaje  Enojado

[/OFFTOPIC]

Lo que deberias de hacer (el algoritmo) es:
convertir a mayusculas la cadena
inicializar con cadena vacia la cadena de salida
un ciclo for desde 1 hasta la longitud del texto en el textbox,
    - en cada iteracion debes de extraer una subcadena de un caracter a partir de la posicion marcada por la variable de control del ciclo
    - a la subcadena le obtienes el valor ascii
    - al valor ascii le sumas 4
    - validas si el valor ascii es mayor a 90, en este caso le restas 25
    - conviertes el valor obtenido a caracter
    - concatenas el caracter a la cadena de salida



Respecto al lenguaje:
para obtener subcadenas utilizas el mid
para obtener el ascii del primer caracter de una cadena es con asc
para convertir un codigo ascii a su representacion en caracter es con chr
la concatenacion es con + o &


Saludos
En línea
Páginas: [1]   Ir Arriba
Imprimir
Foro de Hispabyte.netProgramaciónLenguajes y Programación (Moderadores: D4MR0D, Snaft_J1)Tema: Sustituir letra en VB 6.0
Ir a:  


Tema diseñado por RJ-45 para Hispabyte.net basado en el
theme famouspadexx v.09 designed by Formado Comprido
Downloable here. My present to padexx.de