X
ďťż

Ładny brzuch

Witam!

Mam pytanie dotyczące kodu VBA "Nietypowego sortowania". Niezrozumiały dla mnie fragment jest na stronach 54-55 najnowszego Eksperta. Na początek chciałbym się zapytać czy dobrze coś rozumiem. Na str. 54 jest następujący tekst:


(...) Funkcja Porównaj ma porównać wartości wierszy wskazywanych przez zmienne i i lewa. Jeżeli drugi z nich jest większy, ma zwrócić wartość mniejszą od zera (...)

Fragment kodu, do którego został dołączony powyższy tekst wygląda tak:

If porównaj(i, lewa) < 0 Then

A ta funkcja porównaj ma pierwszą linijkę następującą:

Private Function porównaj(i1, i2) As Integer

Później i1 odpowiada zmienna str1, i2 odpowiada str2 - kto czytał art. wie o co mi chodzi...

Czyli można można powiedzieć, że z kodu 1 - szego, zmiennej i odpowiada str1, a zmiennej lewa odpowiada str2. Zgodnie z cytatem aby warunek był true, zmienna lewa musi być mniejsza od zmiennej iteracyjnej i. Później jest cytat ze strony 55:


(...) Jeżeli mniejszy (pierwszy w kolejności alfabetycznej) jest ciąg str1, należy zwrócić wartość ujemną (...)

Czyli to co powiedziałem przed chwilą o odpowiadających sobie zmiennych jest prawdą, prawda ?

A teraz drugie pytanie. Te wiersze są posortowane qsort, więc czy Jan Kowalski nie powinien być gdzieś w środku - przecież jest to element osiowy... Nie wiem też co oznacza tekst podkreślony:


(...) Jeżeli mniejszy (pierwszy w kolejności alfabetycznej) jest ciąg str1, należy zwrócić wartość ujemną (...)

Ja już nic z tego nie kapuję - czy ktoś mógłby chwilkę poświęcić i odpowiedzieć na te moje pytania ? Byłbym bardzo, ale to bardzo wdzięczny :(

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •