Kolego,
nie możesz porównywać wartości typu String z int. Patrz uważniej co robisz. Musisz dokonywać konwersji.
Przede wszystkim to: REKA->Values[REKA->Names[ i ]] zwraca wartość typu String, więc nie możesz tego porównywać z liczbą nawet jeżeli ta wartość to jest liczba, istotny jest tutaj typ zmiennej. Podstawowe pytanie, czy REKA->Values[REKA->Names[ i ]] zwraca tekst będący liczbą? Jeżeli tak, to kod powinien mieć taką postać:
for(int i = 0; i < REKA->Count; i++)
{
int val = REKA->ValueFromIndex[i ].ToIntDef(0); // do konwersji użyłem funkcji ToIntDef
if( val > 4 && val < 11 )
{
odpowiedz = REKA->Strings[1]; /* tak to się robi, anie nie tak: REKA->Names[i ] + "=" + REKA->Values[REKA->Names[i ]]; bo i po jaką cholerę tak to rozpisujesz */
}
}
I zacznij formatować kod w taki sposób by był czytelny.
Funkcja
ToIntDef(domyślna wartość) konwertuje tekst na liczbę o ile tekst zawiera tylko liczbę, w przeciwnym razie zwraca wartość domyślną podaną jako argument funkcji.
Co do konwersji to koniecznie zapoznaj się
w serwisie Cyfrowy
Baron z działem:
porady zmienne.