Witam wszystkich.
Od miesiąca piszę aplikację klient-serwer dla firmy mającą na celu wysyłanie raportów błędów znalezionych podczas produkcji do ListView na serwer przez sieć (Sockety) .
Opis działania:
Klient wysyła do serwera polecenie oddzielone znakami ';', które serwer rozdziela i wstawia każde słowo po znaku ';' do osobnej kolumny ListView-a.
Przykład:
Wysyłanie:
Socket.SendText('@SEND_ITEM' + caption + ';' + 'kolumna1' + ';' + 'Kolumna2'... + ';');
<b>Odbieranie:</b>
```delphi
var
s: string;
begin
s := Socket.RecieveText;
if pos('@SEND_ITEM', s) = 1 then //jesli w poleceniu jest wyraz @SEND_ITEM to...
begin
s := Copy(s,11,length(s)); //Wyrnij go i zostaw resztę
Explode(s, ';'); //funkcja dzieli polecenie i dodaje pozycje do StringListy -> ItemList.
AddItem(ItemList.Strings[0], ItemList.Strings[1], ItemList.Strings[2]..); //Procedura dodająca itemy do ListView.
end;
<b>Problem:</b>
1. Chciałbym zastosować funkcję, która zliczała by ilość powtarzających się błędów typu string np. z kolumny 2.
2. Po wykrytych TRZECH takich samych błędów (wyrazów) wyświetlała komunikat i kolorowała te linijki.
3. Po przekroczeniu TRZECH kolorowanie tym samym kolorem, zerowanie licznika powtórzeń i zliczanie na nowo (bez spamowania komunikatami po przekroczeniu trzech takich samych pozycji).
4. Sortowanie wg. kolorów mile widziane.
5. Każde 3 takie same błędy pokolorować tym samym kolorem (ale bez powtórzeń) - czyli...
Trzy takie same pozycje <b>A</b> i więcej - pokolorować na niebiesko. Kolejne 3 takie same <b>B</b> i więcej - pokolorować na czerwono itd.
Szukałem całe forum, google bezradne, a ja sam nie mogę wymyślić czegoś sensownego.
Jeśli ktoś byłby w stanie udzielić konkretnej odpowiedzi - byłbym dozgonnie wdzięczny ;)
Pozdrawiam