Kanały:
Wpisy
Komentarze

Poniedziałek – ten po niedzieli

I znów poniedziałek. Ostatnio byłem troche zajety, a w zasadzie to mnie nie było więc blog trochę sie wystudził. Hm.. pisanie bloga to też jakaś praca. Jako, że to mój pierwszy blog odkrywam związane z tym radości (których jeszcze nie ma :) ) oraz smutki (tych też jeszcze nie ma :) ).

iPKO odpowiedziało uprzejmie na mojego maila i to dosyć szybko, znaczy się informacje przyjęli, przekazali do ludzi odpowiedzialnych za prowadzenie

serwisu itd. Zobaczymy co z tych uprzejmości wyniknie. Jestem dobrej myśli.

IPKO

Niedawno PKO zmieniło swój serwis internetowy dostępny po zalogowaniu się. Jako, że czasem z niego korzystam sprawdziłem czy zmienilo sie coś oprócz samej szaty graficznej. Szata graficzna jest OK. Przynajmniej jeśli chodzi o mnie. Poprawiła się czytelność napisów no i kolory takie jak lubię czyli pastelowe a nie krzyczące. Chociaż oczywiście jest to sprawa gustu.

W serwisie tym aby dokonać przelewu podaje sie między innymi konto na ktore dany przelew ma trafić. Wielkim ułatwieniem jest to, że można utworzyć listę odbiorców. Potem jeśli do tego samego odbiorcy chcemy wysłać przelew, to wybieramy go tylko z listy a system sam przepisuje jego dane do odpowiednich pól formularza przelewu.

No to świetnie! Wydaje się, że to nic szczególnego. W każdym banku tak jest. Jeśli jednak lista odbiorców jest długa np. eneria, gaz, telefon stacjonarny, komórka, woda, administracja itd. to fajnie byłoby gdyby można było wyszukać odbiorcę po np. nazwie.

Taka możliwość oczywiście w seriwsie iPKO istnieje. Załóżmy, że mam odbiorcę o nazwie Firma Budowlana Cegiełka – Jan Kowalski
a na liście mam załóżmy 100 odbiorców. No to korzystam z wyszukiwarki, ale ponieważ rzadko przelewam coś filrmie p. Jana Kowalskiego pamiętam tylko nazwę Cegiełka.

Wpisuję w wyszukiwarce cegiełka i wciskam przycisk Enter (korzystam z klawiatury, ale można kliknąć myszą przycisk Wyszukaj).

Zaszumiało, zadymiło, zaskrzeczało, pokręciło i uuuups…. znalazłem się na powrót w formularzu dokonania przelewu. Hmmmm a przecież miała być wyświetlona lista odbiorców!

Przechodzę jeszcze raz do listy i teraz już ostrożnie wpisuję w pole wyszukiwania Cegiełka, klikam Wyszukaj i…. nic nie znalazł! Hmmm… niemożliwe! Przecież pamiętam, że wpisywałem!

No dobra. Kasuję wszystko z pola wyszukiwania, klikam Wyszukaj, wyświetla listę pierwszych 10 odbiorców, przeglądam dalej i dalej w końcu trafiam na Firma Budowlana Cegiełka – Jan Kowalski. A więc jednak jest. To czemu jej nie znalazł?

Gdzie jest formularz kontaktowy. Chciałbym opisać to administratorowi. Niech poprawią. O jest. Wpisuję swoje wypociny i nagle olśnienie: przeciez fraza, którą wpisałem (Cegiełka) jest wykorzystana do tworzenia zapytania do bazy danych. Dobra to spróbujmy inaczej: wpisuję %Cegiełka% (% powinien zastąpić dowone znaki jakie występują przed i po wyrazie Cegiełka) klikam przycisk Wyszukaj i…. znalazł! Czemu tego tak nie zrobili a piszą żeby wpisać część nazwy odbiorcy?

O jest pomoc. Może tutaj to opisali. Niestety nie… cóż…

Wysłałem im moje spostrzeżenia. Ciekawe czy się do nich jakoś ustosunkują.

Zastanawiałem się dzisiaj w jaki sposób przechwycić zdarzenie kliknięcia myszą na formularzu. Zbudowałem sobie formularz, na którym położyłem kilka paneli. Mają one przedstawiać pewne urządzenia. Pomyślałem sobie, że fajnie byłoby aby można było wybierać te panele klikając na nich. Taki panel wtedy zmieniałby kolor aby użytkownik wiedział, że panel ten jest aktywny. Wszystko czego potrzeba to obsłużyć kliknięcie myszy. No tak ale na każdym panelu znajduje się kilka kontrolek i klikając na kontrokę znajdującą sie w panelu trzaba byłoby sprawdzić do jakiefgo panelu należy. Możnaby posłużyc się właściwościa Owner (właściciel) kontrolki. a jeśli kontrolka umiesczona jest w innej kontrolce i dopiero potem na panelu? Cóż wtedy trzeba byłoby sprawdzić czy właściciel ma właściciela, który jest panelem… Hm… Może jednak lepiej przechwycić komunikat kliknięcia myszą zanim zostanie ono przekazane do kontrolek niżej… W Delphi 4 w klasie Tapplication jest zdarzenie messageEvent(var Msg: TMsg;
var Handled: Boolean); wszelkie komunikaty kierowane do aplikacji mozna tutaj obsłużyć. Napisałem więc:

procedure TMainForm.FmessageEvent(var Msg: TMsg; var Handled: Boolean);
var
  pt: Tpoint;
begin
  case msg.message of
// obsługa komunikatu klikniecia lewym przyciskiem myszy
  WM_LBUTTONDOWN: begin
                    if oknoPaneli then
                    begin
// pobierz pozycję kursora myszy (jest równiez w strukturze TMsg)
                      pt := mouse.cursorPos;
// sprawdź czy kliknieto w jakims panelu i wykonaj akcję
                      paneleForm.mouseClickWithinPanel(pt);
                    end;
                  end;
  end;
  handled := false;
end;

A oto wynik zaznaczony panel objęto pomarańczową ramka:

Hello world!

A zostawię ten post powitalny :)

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!