Dzień Dobry! Poprawki dnia poprzedniego oraz optymalizacja kodu poprzez zmniejszenie jego ilości do wykonania tego samego przyniosła pozytywne efekty. Interfejs użytkownika będzie się pojawiał szybciej, a także został przeniesiony do tworzenia dynamicznego. Zostało mi na ten tydzień lub następny dopisać kod, który będzie odpowiadał za prawidłowe czyszczenie zasobów po zamknięciu okna dialogowego. Co jeszcze wydarzyło się podczas prac nad interfejsem?
Wykryto kilka błędów
Serdecznie polecam zajrzeć do repozytorium projektu-został w nim poprawiony algorytm zliczania ilości linii w pliku tekstowym. W zasadzie on zliczał i zlicza prawidłowo, z tym tylko, że brał, sam nie ustaliłem jeszcze skąd, liczbę 3 razy większą niż faktyczna liczba linii w pliku źródłowym. Zostało pomyślnie naprawione poprzez zerowanie zmiennych, do których ma być wprowadzany wynik. Wcześniej była po prostu definicja zmiennej i koniec-na takiej zmiennej przystępowałem do obliczeń. Teraz po naniesieniu zera w odpowiednim miejscu wszystko się zgadza i nie marnuję przez to pamięci.
Rysowanie w siatce-odhaczone
Tak! Zakumlowałem się z „inteligentnymi listami”, dla wtajemniczonych odpowiednik list z STL. Dzięki temu na bieżąco będzie kontrolowane faktyczna potrzebna liczba elementów, które będą potrzebne do wyświetlenia na ekranie, czy to obrazków z kategorii, czy z albumu. Oprócz tego rozgryzłem jak umieszczać elementy (rysować dochodzę do wniosku, że jest to dosyć nieodpowiednie słowo, ale jest mi jakieś takie bliskie i naturalne, że często samo ot, tak się piszę) w regularny sposób jednocześnie pilnując określonej liczby kolumn lub wierszy. Jeszcze do wczoraj nie pomyślałbym, że do tego wystarczy jedna linia kodu. Obserwacje i wnioski z tego znowu wyciągałem poprzez rozpisanie sobie kilku współrzędnych na kartce, aż skrystalizowało się to w pomysł i gotowe rozwiązanie.
Zasoby i źródła
Znowu mam to dziwne uczucie, że ten kod jest już w porządku i nie ma, co więcej, modyfikować. Jednak myślę, że jeszcze spróbuję nanieść poprawki, może wyłowić te zmienne, które powinny być niedostępne dla ogółu? Zastanawiam się też, jak wykonać takie testy obciążenia sprzętu.
Wysyłanie adresu do pliku
Muszę na szybko dopisać sygnał, który wyśle adres do pliku tekstowego z kategorii, w której zawarty jest album. Wcześniej wszystko było proste, bo wyciągnięty RefCode odwoływał się z tablicy w kategorii, a dalej już leciała tylko jedna cyfra, teraz jednak ze względu na dynamiczne tworzenie nie wiem, czy RefCode nie będzie tylko wywoływany, aby dostać numer indeksu tablicy i dopiero na podstawie tego wysłać w sygnale tekst z adresem.