Autor Tema: Comparar valores de un array con una cadena!!!  (Leído 3002 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
Comparar valores de un array con una cadena!!!
« en: 29 de Abril de 2004, 09:09:00 »
Hola a todos....
Mi pregunta es la siguiente.
Hay algún modo de comparar de una sola vez los valores de un array, con una cadena??? sin tener que hacerolo uno a uno???

tmp var byte[4]
if tmp(0),tmp(1),tmp(2),tmp(3) = "HELLO" then do_cmd

vamos, la idea, es poder concatenar la cadena del array, y compararla directamente, sin necesidad de ningún bucle que lo rastee...
No se si será posible, pero ante la duda, pregunto...

Tnks

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
RE: Comparar valores de un array con una cadena!!!
« Respuesta #1 en: 29 de Abril de 2004, 09:34:00 »
Codigo:

tmp var byte[5]
if (tmp[0]="H"and(tmp[1]="E"and(tmp[2]="L"and(tmp[3]="L"and (tmp[4]="O" then SI_hello


Otra manera .
Codigo:

tmp var byte[5]
cmp var byte[5]
cmp[0]="H";cmp[1]="E";cmp[2]="L";cmp[3]="L";cmp[4]="O";

for a=0 to 4
if  tmp[a] <> cmp[a] then NO_hello
next a




Tas ocupadito heeee ?
Anda que no disfrutas ni nada .
Suerte con tu proyecto

PD este que que sale guiñando un ojo es un cierra parentesis


Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Comparar valores de un array con una cadena!!!
« Respuesta #2 en: 29 de Abril de 2004, 10:59:00 »
Gracias sisco...
La verdad, es que cuanto mas leo y aprendo... Mas ideas me aparecennn

Me decido por la segunda opción, que es la que usaba hasta ahora...
La pregunta, ha surgido porque me ha venido a la cabeza pensar en lenguajes de alto nivel... Y pensé si sería posible comparar una cadena de texto directamente....
pero veo que hay que trabajar como en la vieja escuela!!

Sobre el tema de disfrutar... No lo sabes tu bien!!! Creo que me estoy enamorando de un 16f876

TNKS


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Comparar valores de un array con una cadena!!!
« Respuesta #3 en: 29 de Abril de 2004, 14:00:00 »
No tengo ni idea de C, pero sí de Basic.
En basic hay un operador que permite concatenar cadenas e imagino que también funciona en C. Sería  de la siguiente manera:

tmp(0) & tmp(1) & tmp(2) & tmp(3) & tmp(4)

y hecho esto, la comparación sería tan fácil como

if cadena = tmp(0) & tmp(1) & tmp(2) & tmp(3) & tmp(4) then


Ya me dirás si eso funciona en C

Un saludo

Desconectado Abago

  • PIC24F
  • *****
  • Mensajes: 792
RE: Comparar valores de un array con una cadena!!!
« Respuesta #4 en: 29 de Abril de 2004, 15:04:00 »
Gracias nocturno.....
Pero donde pone que lo estemos haciendo en c???

En cuanto llegue a casa, miro a ver si funciona!!! ne PBP

Tnks

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
RE: Comparar valores de un array con una cadena!!!
« Respuesta #5 en: 29 de Abril de 2004, 16:01:00 »
Pues tienes razón, se me ha ido la olla.

Es que con tanto foro ya no sabía donde estaba

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: Comparar valores de un array con una cadena!!!
« Respuesta #6 en: 29 de Abril de 2004, 19:48:00 »
La unica forma en PBP es la que dice Sispic. PBP no puede concatenar tan alegremente como los Basic de PC. Aqui de momento hay que hacerlo a pedal. No hay tipo de variable variables para guardar "HOLA" sino es un array y estos los tienes que manejar de posicion en posicion que yo sepa.

Saludos
Ricky
Madrid-Espa~a