• Viernes 8 de Noviembre de 2024, 10:44

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - fantasma_85

Páginas: [1]
1
Una vez mas gracias por todas las aportaciones anteriores me han servido mucho...

Tengo mas problemas con los arrays que con las cadenas...

Hice un tex1.text donde almaceno mi cadena de caracteres y un text2.text donde almaceno el resultado.

Para obtener el resultado tengo que hacer ciertas comparaciones con respecto a este cuadro:

   1   2   3   4   5
1   L   O   R   E   N
2   A   B   C   D   F
3   G   H   I/J   K   M
4   P   Q   S   T   U
5   V   W   X   Y   Z


Primero hay que dividir la cadena del text en pares,y si en uno de los pares se repite la letra o caracter se le agrega la "x" entre las dos, y si es necesario se agrega la "x" al final paracmpletar el digrafo, ejemplo:

CERRAR, esto quedaría asi  sin "x"  (CE) (RR) (AR)...ahora con "x" (CE) (RX) (RA) (RX).

las condiciones para :

 :huh: a) Si ambas letras están en la misma fila, son reemplazadas por la letra que queda a la derecha de cada una de ellas. (ejemplo: RE, la R= E, la E=N)

 :huh: B) Si una de las letras está al final de la fila, es reemplazada por la letra que hay al principio de la fila. (ejemplo: NE, la N=L, la E=N)

 :huh: c) Si ambas letras están en la misma columna, son reemplazadas por la letra que hay debajo de cada una de ellas. (ejemplo: LA, la L=A, la A=G)

 :huh: d) Si una de las letras está en la parte inferior de la columna, es reemplazada por la letra de la parte superior de la columna: (ejemplo: ZU, la Z=N, la U=Z)

 :huh: e) Si las letras del dígrafo no están ni en la misma fila ni en la misma columna, entonces:

         :( Para codificar la primera letra, hay que mirar en su fila hasta llegar a la columna que contiene la segunda letra; la letra que hay en esa intersección reemplaza a la primera letra. (ejemplo: OX, la (O,X)=R)

          :( Para codificar la segunda letra, mirar en su fila hasta llegar a la columna que contiene a la primera letra, la letra que hay en la intersección reemplaza a la segunda letra. (ejemplo: OX, la (X,O)=W)

Quedaría entonces: la O=R y la X=W.


EJEMPLO: Si codificamos CERRAR,

en pares: (CE) (RX) (RA) (RX)

codificado: (DR)(CR)(LC)(CR) o DRCRLCCR

Para todoesto hice el siguiente codigo pero no me salio:

Option Base 1
Dim cuadrado(5, 5) As String
Dim cadena, X

Private Sub Command1_Click()

cuadrado(1, 1) = "L"
cuadrado(1, 2) = "O"
cuadrado(1, 3) = "R"
cuadrado(1, 4) = "E"
cuadrado(1, 5) = "N"
cuadrado(2, 1) = "A"
cuadrado(2, 2) = "B"
cuadrado(2, 3) = "C"
cuadrado(2, 4) = "D"
cuadrado(2, 5) = "F"
cuadrado(3, 1) = "G"
cuadrado(3, 2) = "H"
cuadrado(3, 3) = "I" & "J"
cuadrado(3, 4) = "K"
cuadrado(3, 5) = "M"
cuadrado(4, 1) = "P"
cuadrado(4, 2) = "Q"
cuadrado(4, 3) = "S"
cuadrado(4, 4) = "T"
cuadrado(4, 5) = "U"
cuadrado(5, 1) = "V"
cuadrado(5, 2) = "W"
cuadrado(5, 3) = "X"
cuadrado(5, 4) = "Y"
cuadrado(5, 5) = "Z"

cadena= text1.text

X= len (cadena)
For I = 1 To X

.....aqui ya no se como meter las condiciones y comparar caracter a caracter en mi text1 con los valores del array....

End Sub


Si me pudieran orientar se los agradecería

2
Visual Basic 6.0 e inferiores / Sustituir Un Caracter Por Otro Del Alfabeto
« en: Domingo 30 de Marzo de 2008, 23:53 »
hola nuevamente a todos y gracias por todas las aportaciones anteriores han sodo muy buenas, chequen este codigo y diganme que puedo hacer para que funcione correctamente...

es un cifrado pos sustitucion, de tal manera que disfrace mi mensaje sustituyendolo por una regla, es decir, un caracter por otro.

debe desplazar el alfabeto una  determinada cantidad. Por ejemplo, si cada letra se desplaza tres lugares, entonces:

A,B,C,D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S,T,U,V,W,X,Y,Z

llegara a ser:

D,E,F,G,H,I,J,K,L,M,N,Ñ,O,P,Q,R,S,T,U,V,W,X,Y,Z,A,B,C

posteriormente se para codificar el mesaje, se sustituye el alfabeto real por el desplazado.

entonces pase parte de esto a Visual...

Dim cadena
Dim X

Private Sub Command1_Click()

cadena= txt1.text

X = Len(cadena)

For I = 1 To X

  if ((I+3) Mod 27) then

     cifra = cifra & Mid(cadena,I,1)

  End If

Next I

tct2.text = cifra

End Function



Al primcipio leo la cadena y me da cuantos caracteres tengo, meto despues un for, pero al hacer la operacion (sumatle al caracter 3 posiciones mas del alfabeto, y sacarle el mod para saber que letra la sustituira, no la hace) esa es mi duda.

Agradecería iuna vez mas al apoyo de todos..

3
Visual Basic 6.0 e inferiores / Imprimir Posiciones Impares+pares De Una Cadena
« en: Viernes 28 de Marzo de 2008, 20:57 »
hola nuevamente....

tengo otra duda con los caracteres...


Private Sub Command1_Click()

cadena= txt1.text

X = Len(cadena)

txt2.Text = X

End Sub


mi cadena es ESTUDIOS, tengo en total 8 caracteres, como le hago para imprimir en un txt3.text primero todas las posiciones impares y luego los pares

de tal manera que en mi txt3.text quede de esta manera:

ETDOSUIS

 y so lo hago con un array, como mando a imprimir las posiciones impares y luego las impares??

4
Visual Basic 6.0 e inferiores / Re: Cambiar Caracteres Con Una Formula
« en: Viernes 28 de Marzo de 2008, 20:36 »
ok...es de mucha ayuda el codigo solo ice algunos cambios, pero las ultimas letras no me las cifra, cheque los cambios

Private Sub Command1_Click()

newvari = 0
nuevo = ""
                        'variable = "RadicalEd & SoloCodigo"  (no la utilice)

X = Len(txt1.Text)    

For H = 1 To X

  Z = Mid(txt1.Text, H, 1)  'cambie variable por txt1 donde ingreso mi cadena
 
If Z = "" Then

     newvari = 30

  Else
     newvari = Asc(Z)
     
    If newvari = 121 Then
       newvari = newvari - 27  
     End If
  End If
  nuevo = nuevo & Chr(newvari + 3)  '+3 por que son tres posiciomes que deseo recorrer

Next H
txt2.Text = nuevo
End Sub


una pregunta, ¿por que newcari = 30?, ah y las ultimas letras como X, Y, Z no me las cifra... que puedo hacer??

adjunto mi programa...

5
Visual Basic 6.0 e inferiores / Recorrer Una Cadena Comparandolas...
« en: Jueves 27 de Marzo de 2008, 23:05 »
ingreso una cadena de caracteres en un text, luego leo cuantos caracteres tiene con el len, y mi pregunta es ¿como le hago para recorrer esa cadena comparando caracter por caracter de tal manera que me cambie el valor real por otro de cada uno de los caracteres?

es decir la  A=D, la B=E, y asi sucesivamente con cada letra de la cadena de caracteres, para eso tengo una formula que me toma el resto de una division (Mod)...

chequen....

A   B   C   D   E   F   G   H   I   J   …   Z
0   1   2   3   4   5   6   7   8   9   …   26

mi cadena en el text es:

FEA

comparando cada caracter con la formula: y=(caracter+3) Mod 27

F=5     entonces   y=(5+3)Mod 27... y=8...entonces para F la letra seria I
E=4     emtonces y=(4+3)Mod 27... y=7...entonces para E la letra H
A=0     emtonces y=(0+3)Mod 27... y=7...entonces para E la letra A

la cadena que apareceria en mi siguiente text seria: IHA

utilice el len para contar cuantos caracteres tengo...como le ago para lo anterior


modulo = 27

longitud = Len(txt1.Text)

For I = 1 To longitud
siguiente = Mid(txt1.Text, I, 1)

operacion = (caracter + 3) Mod modulo

Next I

  txt2.Text = operacion
 
End Sub

6
Visual Basic 6.0 e inferiores / Cambiar Caracteres Con Una Formula
« en: Miércoles 26 de Marzo de 2008, 19:39 »
Hola estoy tratando de programar el cifrado de cesar, pero tengo algunas dudas.

Tengo un text1 y es ahi donde escribo lo que quiero cifrar, y un  text2 donde debe aparecer lo que se cifra. utiulice el lenpara contar los caracteres del text, y la dornula se debe aplicar a cada caracter del text, y tomar los valores del mod que resulte de cada una de estas, no se como aplicar la formula cada caracter e imprimrirlo el text2


 Hice lo siguiente, pero solo me cifro un caracter y de ahi nada.

Dim operacion
Dim modulo
Dim A, B, C, D, E, F, G, H, I, J, L, M, N, Ñ, O, P, Q, R, S, T, U, V, W, X, Y, Z

Private Sub Command1_Click()

A = 0
B = 1
C = 2
D = 3
E = 4
F = 5
G = 6
H = 7
I = 8
J = 9
K = 10
L = 11
M = 12
N = 13
Ñ = 14
O = 15
P = 16
Q = 17
R = 18
S = 19
T = 20
U = 21
V = 22
W = 23
X = 24
Y = 25
Z = 26

modulo = 27

caracter = (A) Or (B) Or © Or (D) Or (E) Or (F) Or (G) Or (H) Or (I) Or (J) Or (K) Or (L) Or (M) Or (N) Or (Ñ) Or (O) Or (P) Or (Q) Or ® Or (S) Or (T) Or (U) Or (V) Or (W) Or (X) Or (Y) Or (Z)

longitud = Len(txt1.Text)

For I = 1 To longitud
siguiente = Mid(txt1.Text, I, 1)

operacion = (caracter + 3) Mod modulo

Next I

  txt2.Text = operacion
 
End Sub


Private Sub Command2_Click()
txt1.Text = ""
txt2.Text = ""
End Sub

ayundenme un poco porfa...

Páginas: [1]