| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
code1980 Invitado
|
Publicado: Mie 31 Mar, 2004 5:11 pm Asunto: AnsiString |
|
|
Hola a todos,
Estoy usando builder 4 y tengo un problema al intentar hacer operaciones con los AnsiString.
tengo lo siguiente:
AnsiString secuencia = Edit1->Text;
int contador;
for (int i = 1; i < secuencia.length(); i++) {
if (secuencia[i] == "1")
contador++;
}
pero no puedo hacer esto, no me compila. Quisiera saber como puedo ir carácter a carácter en la secuencia comprobando que sea igual a un uno.
Gracias. |
|
| Volver arriba |
|
 |
masBecas Lt

Registrado: 23 Oct 2003Mensajes: 98Ubicación: La Laguna, Tenerife
|
Publicado: Mie 31 Mar, 2004 7:56 pm Asunto: |
|
|
El problema viene de que estás haciendo mal la comparación. El operador "[]" aplicado a un AnsiString no devuelve un string sino un char. Debería funcionarte haciendo:
| Código: |
AnsiString secuencia = Edit1->Text;
int contador;
for (int i = 1; i < secuencia.length(); i++) {
if (secuencia[i] == '1')
// Fíjate que he empleado comillas simples '1' (char) en lugar de comillas dobles "1" (string)
contador++;
}
|
|
|
| Volver arriba |
|
 |
ikis Master


Registrado: 28 Dic 2002Mensajes: 703Ubicación: Madrid, España
|
Publicado: Mie 31 Mar, 2004 9:03 pm Asunto: |
|
|
otra alternativa seria usar
| Código: |
AnsiString secuencia = Edit1->Text;
int contador=0;
for (int i = 1; i < secuencia.length(); i++) {
if (secuencia.SubString(i,1) == "1")
contador++;
}
|
Ultima edición por ikis el Jue 01 Abr, 2004 1:07 pm, editado 1 vez |
|
| Volver arriba |
|
 |
|