Po pierwsze Twój wywód jest niezrozumiały, wiec nie wiem co jest Tobie potrzebne, chociaż TY zapewne doskonale wiesz czego chcesz, tylko nie potrafisz tak ubrać tego w słowa by inni również wiedzieli...
Po drugie cokolwiek chcesz pobrać z tabeli, porównać zawartość różnych komórek to musisz to robić komórka po komórce. Do zwracania zawartości komórki i wprowadzania wartości do komórki służy funkcja Cells:
StringGrid->Cells[numer komulny][numer wiersza]
Podałeś zakres kolumn 2

25 i zakres wierszy 1

40, więc sprawdzanie, porównywanie czy co tam jeszcze może odbywać się w dwóch pętlach for:
- Kod: Zaznacz cały
for(int col = 2; col <= 25; col++) // 2 -> poczÄ…tkowa kolumna, 25 -> ostania kolumna
{
for(int row = 1; row <= 40) row++)
{
String zmienna = StringGrid->Cells[col][row];
if(zmienna == "jest coś tam równa")
{
// to program coÅ› tam robi
}
else
{
// jeżeli nie jest równa to robi coś innego
}
}
}
Oczywiście najrozsądniej jest stworzyć odpowiednie funkcje i klasy np. ze wskaźnikami na tabelę.
Swego czasu napisałem z wykorzystaniem tabeli TStringGrid program do obsługi bazy danych magazynu zajmującego się wydawaniem ubrań dla 500 pracowników firmy. Program przechowywał w osobnych
kartach historię obsługi każdego pracownika, ale potrafił również sprawdzić kiedy
(po jakim czasie z podaniem daty) danemu pracownikowi przysługuje nowa odzież robocza i informował o tym w odpowiednim czasie, Obsługiwał dokumenty PW, WW, WZ, ZZ i tworzył protokoły strat, oraz wiele innych. Żadna z funkcji, które zastosowałem nie znajdowała się w tabeli StringGrid, wszystko trzeba było mozolnie tworzyć, a zadanie było o tyle trudniejsze, że nie wykorzystałem żadnej z gotowych baz typu BDE, SQL itp.. Tak wiec to wszystko można zrobić, ale TStringGrid niczego nie ułatwi, dostarcza tylko obiekt podzielony na komórki, cała resztę trzeba sobie wymyślić.