Cześć!
Zaczęłam właśnie moją przygodę z Delphi. Problem polega na tym że nie mogę znaleźć dobrych opisów funkcji. Program polega na tym że wyświetla zawartość głównego katalogu [przykładowo C:\MAIN] w którym są podkatalogi, powiedzmy od 1 do 20. i w każdym z nich znajdują się po 2-3 podkatalogi, np a,b,c. Zaplanowałam 2 directorybox'y gdzie pierwszy pokazuje zawartość katalogu głównego, poprzez zaznaczenie [1 kliknięcie] w drugim boxie pojawiają się podkatalogi[a,b,c]. Poprzez DoubleClick na tych że a,b,c otwiera nam okno z folderem w windowsie (folder, nie plik). Z tego co znalazłam przyda mi się 'ShellExecute' lecz nie wiem czy directorybox to dobry wybór, czy da się zablokować pojawianie się 'drzewa'. Proszę więc o pomoc w wyborze funkcji oraz linki do przydatnych tematów, od razu zaznaczę że nie zależy mi na pogłębianiu się w tym języku, jest on zaplanowany na 5 zajęć ;)
Z góry dzięki
Do wyświetlania drzewa katalogów:
TreeView Control
Do wyszukiwania plików i katalogów:
FindFirstFile();
FindNextFile();
chyba nie zrozumiałeś, nie potrzebuje 'wyszukiwania' ani drzewa, wręcz przeciwnie. ma to być spis katalogów nie rozwijający się w formie drzewa. poprzez 1 kliknięcie na folder w boxie w drugim pojawia się jego zawartość i poprzez podwójne kliknięcie w drugim boxie otwiera nam folder w explorerze.
chyba nie zrozumiałeś, nie potrzebuje 'wyszukiwania' ani drzewa, wręcz przeciwnie. ma to być spis katalogów nie rozwijający się w formie drzewa. poprzez 1 kliknięcie na folder w boxie w drugim pojawia się jego zawartość i poprzez podwójne kliknięcie w drugim boxie otwiera nam folder w explorerze.
Zbyt ciężkie żeby znaleźć TListBox?
A dobrym źródłem wszelkiej mądrości o programowaniu jest google, widać że po prostu nie patrzyłaś tam.
Proszę więc o pomoc w wyborze funkcji oraz linki do przydatnych tematów, od razu zaznaczę że nie zależy mi na pogłębianiu się w tym języku, jest on zaplanowany na 5 zajęć
Przydatny link: www.google.pl
W 5 zajęć to jeżeli opisywać porządnie to do tablic nawet nie dojdzie, więc można albo poznać podstawy podstaw, albo wklejać kod którego się nie rozumie (widać ty chcesz to zrobić).
uwierz przeszukałam google, i trafiłam między innymi tutaj. jeśli nie chcesz pomóc- nie wypowiadaj się proszę. Powoli znajduję pokrewne rozwiązania lecz chyba poprosze kogoś o wykonanie tego za pieniądze bo naprawde sobię nie radze. Mimo to zajrze tutaj jeszcze gdyby ktoś naprawde chciał pomóc
Jeśli chcesz zrobić ciekawe okienko do wyboru jakichkolwiek plików - wszystko można dość prosto zrobić w oparciu o komponenty z klasy TListBox
i TEdit
tak jak napisał @-123
; Zawartość dysku przedstawiasz w listach, nazwę pliku w polu edycyjnym; Można naprawdę ciekawy efekt uzyskać, ale trzeba co nieco o tych kontrolkach wiedzieć;
Ja np. teraz pracuję nad małym projektem, w którym oprogramowałem własne okno dialogowe do wyboru dowolnego pliku (bez multiselect, bo nie przewidują tego założenia projektu); Okienko jest połączeniem OpenDialog
i SaveDialog
, tak że wybiera się podczas tworzenia obiektu tryb (zapis lub odczyt) i dzięki temu w menu okna a także menu podręcznym listy dostępne są rózne opcje, inne dla otwierania pliku, a inne do zapisu; Okienko jest proste, wygląda tak:
Jednak aby taki efekt osiągnąć, trzeba się trochę napracować; Obsługa całego okna zajęła mi kilka dni, przy czym kod modułu to ok 1200
linii kodu; No ale do tego jeszcze wchodzi ręczne malowanie pozycji w menu głównym, które znajduje się w innym module, bo jest jedno i uniwersalne dla wszystkich menu w całej aplikacji (zarówno TMainMenu
i TPopupMenu
), tak więc trzeba było napisać ok. 1500
linii by w pełni je obsłużyć; W tym jest jeszcze klasa dialogu, która wykorzystuje stworzony formularz i pozwala wychwycić ścieżkę i nazwę wybranego lub wpisanego pliku, a także funkcja, która pozwala jednym wywołaniem sprawdzić czy użytkownik faktycznie wybrał jakiś plik, no i jeśli tak to zwrócić nazwę pliku (tak jak to ma miejsce w SelectDirectory
); To jest jednak okienko z obsługą dwóch trybów, ale zawartość dysku przedstawiona jest w jednej liście, stąd formularz jest mały, prosty, przejrzysty i łatwo w nim cokolwiek znaleźć;
Dla Ciebie polecam nie kombinować, postarać się wszystko oprzeć na komponentach z klasy TListBox
jak wspomniał @-123, nauczyć się malowania item'ów i uzupełniania zawartości listy w katalogi i pliki; Będzie przy tym trochę pisania i czytania, ale na tym polega programowanie; Brak wiedzy - brak programu;
Jeśli chodzi o zlecenie napisania takiego modułu - polecam swoją skromną osobę; Cudów nie zrobię, bo programowania uczę się dopiero od czterech lat, ale wyglądać przyjemnie i przede wszystkim działać na pewno będzie; Więcej informacji udzielę prywatnie;