Aplikacja "rozwojowa" (moduły?)

0

Witam,

kiedyś dużo BAWIŁEM się w Delphi. Słowa "bawiłem" użyłem celowo, bo "programowaniem" tego nazwać bym nie chciał. Robiłem różne eksperymenty i proste programiki :)

Teraz z przyczyn zawodowych oraz z chęci do rozwijania swych umiejętności, chciałem przysiąść do pewnej aplikacji.

Stąd pytanie.

Planuję stworzyć aplikację, która będzie zawierała wskazówki co do pewnych czynności firmowych. Będzie wybór kategorii A, B, C i każda z nich będzie coś w rodzaju "zakładki".

Niedawno zaopatrzyłem się w wersje 2007 Codegear i tu pojawiło się sporo nowych opcji.

Podpowiedzcie mi, którą opcją rozpocząć projekt tak, aby w razie chęci dodania "kategorii" do programu, nie trzeba było budować jej od początku, a jedynie dorobić "moduł".

Nie wiem czy jasno się wyraziłem, ale chciałbym stworzyć aplikację, do której będę mógł w miarę prosty sposób dodawać moduły. Aplikacja będzie oparta na FORM'ach, bo żadnych skomplikowanych funkcji tam nie będzie zawartych.

W razie niezrozumienia mojego skomplikowanego zapytani, napiszcie - spróbuje wyjaśnić :)

Pozdrawiam!

0

Korzystałeś z komponentu PageControl? Każdy moduł czy tam kategorię możesz mieć na osobnej zakładce.

0

Wrócę z pracy i się tym pobawię. Nie korzystałem z tego, więc pewnie będę się bawić w odkrywcę;)

Teraz sobie rozrysuje algorytm, który muszę zawrzeć w tej aplikacji :)

Trochę głupiej roboty będzie :P

2

Już Tobie odpowiedzialem obszernej na forum unit1. Dalej będę się upierał przy swoim, czyli to co tam napisałem, że jak stworzysz gotowy program i chcesz do niego dogrywać tylko zmienaijące się moduły to najlepiej - według mnie - zrobić to na zasadzie pluginów - bibliotek dll, które tylko będziesz podmieniał lub ewentualnie dogrywał nowe do jakiegoś katalogu.

0

Strasznie Ci dziękuje za tak obszerne rozbudowanie mojego pola widzenia! Nasunąłeś mi mnóstwo pomysłów!

Dla dobra przyszłości, wklejam tutaj treść Twojej odpowiedzi - może komuś się przyda. Dam znać o rezultatach! :)

Nie wiem czy dobrze zrozumiałem, ale podejrzewam że przydadzą się Tobie biblioteki dll i w nich jakaś wyeksportowana procedura'/funkcja, która tworzyła by czy wyświetlała zawartą w nich formatkę/formatki. Działalo by to na zasadzie pluginów. Piszesz porządnie cały program i robisz tak aby wyszukiwał w jakimś podkatalogu dllki (mogą być o innym rozszerzeniu niż dll jeśli tak sobie wymyślisz), dllka mogła by również exkportować funkcję zwracającą Pointer czyli wksażnij na dane opisowe. Robią tak na przykład wtyczki do Expressivo i pewnie wielu innych programów. W ten sposób głowny program pozwala w oknie wyboru pluginów odczytać na przykład nazwy i opis pluginów czy jak u Ciebie modułów. Jednak jako osoba, która ocenia siebie jako mało wprawny programista nie wiem czy do końca ogarniesz temat, ale zawsze możesz pytać na forum i googlować za informacjami, także po angielsku. Może na początek przeczytaj to: http://4programmers..../Biblioteki_DLL a do wyszukiwania plików najprościej bo pod WinAPI (ostatnio lubie pisac w WinAPI bez użycia VCL, przez co pod Delphi 7 exeki są stosunkowo małe i zgrabne, a poza tym pisząc poz VCL można się wiele rzeczy nauczyć) użyj funkcji FileSearch z modułu useful_winapi.pas, kltóry dołączyłem do tego posta. Nim możesz wyszukać pluginy/moduły w podkatalogu w swoim programie i po znalezieniu pluginu dodawać go do jakieś listy, odczytując eksprtowaną funkcję odpowiedzialną za opis, a także za ewentualne wyświetlenie formatki z modułu (pluginu czy jak to nazwiesz). Rozwiązanie z dllkami pozwala na to, że mając gotowy program będziesz mogł do niego dostarczać tylko nowe lub zmodyfikowane stare dllki - moduły, a w kodzie głownego programu już nic nie musisz zmieniać, a przynajmniej za często. W razie czego pisz, Najwyżej machne przykładowy program, ale z racji mojej "fazy" ;) na kodzenie w WinAPI, wolał bym machnąc przykład również w WinAPI. Tylko, że ostatnio sporo pracuje bez posiadania komputera i netu w pracy, a na wolnym odsypiam, więc na ewnetualne późniejsze Twoje pytania ktoś może inny Ci szybciej tutaj odpowie ode mnie.

Jeszcze raz dzięki!

---------------EDIT----------------
(Odpowiedź na kąśnięcie NieSynaptycznego ;) )

Dostałem teraz DWA sposoby, które mi całkowicie wystarczą. Drugi może jest trochę skomplikowany jak na razie, bo póki co wszystko sobie 'układam' w głowie (w głowie, bo jeszcze jestem w pracy:( ), ale strasznie mnie intryguje - a to już dobrze :)

Zastanawiam się tylko, czy do mojego 'projektu' (hucznie nazwane) będą te biblioteki potrzebne. Aczkolwiek gdybym spróbował to wykorzystać, to szybko mógłbym w ciekawy sposób rozbudować ten projekt i/lub wymyślić coś innego pod te biblioteki.

---------------EDIT-----------------
Już trochę sobie podłubałem i taką o to myśl tutajże napisałem ;)

Przyznam, że komponent PageControl jest ciekawy, ale w tym momencie uważam za zbyteczne, aby go użyć.

Jednak szukam wskazówki jak to "ugryźć"... Kiedyś progamiki w stylu program graficzny czy jakieś formularze czy macierze były, ale nie wiem jak to zastosować do swojego pomysłu. Może ktoś pomoże mi wystartować.

Zatem muszę przedstawić potrzebę.

Obecnie w pracy muszę posługiwać się pewnymi skryptami "rozmowy", kierować jakimiś procedurami oraz znać troszkę stałych komend.

Chciałem stworzyć programik, który w prosty sposób by to umożliwiał. Na początku może to być nawet prosty program na zasadzie MainMenu->SKRYPT->nr1 i na formie pojawia mi się SFORMATOWANY tekst tego skryptu (zazwyczaj nie dłuższy niż A4, ALE - i teraz nie wiem czy jako "Caption" czy jakoś wczytać z "doc'a". Z tym że tego doc'a chciałbym jakoś zakodować, aby nie był zwykłym "doc'em").

W tej chwili muszę pootwierać sobie kilka plików DOC i na nich operować - przeskakując po pliku i szukać to co mnie interesuje. Pierwszy post brzmiał pewnie bardzo "hucznie", a ten jest brutalnym rozwianiem tych niesamowitych planów. Jednakże moja praca, jest na tyle "urozmaicona", że w przyszłości - gdyby programik się spodobał - można by fajnie to rozbudowywać o jakieś moduły, zajmujące się już "matematyką".

Reasumując. Obecnie mam Form, MainMenu z kilkoma kategoriami i możliwością wyboru. A treść jest wczytywana poprzez Caption danego wyboru i wyświetlane na Label1. Można powiedzieć, że działa. Ale jest strasznie banalne. Może ktoś podsunie sposób na inne podejście do tematu? Biblioteki chyba są zbyt górnolotne, na obecny stan rzeczy ? :)

0

Siedzę w pracy i mając do dyspozycji tylko PAINT'a, wyczyściłem okno firefoxa i mniej więcej opisalem jak to teraz widzę.

Po wybraniu buttona "PANEL 1" 2 lub 3, chciałem, aby pole poniżej odpowiednio się zmieniało. Nie chciałbym dodatkowego Formu otwierać.

Button1 - Wyświetlają mi się 3 zakładki (na sztywno), do których użytkownik wczytuje sobie pliki doc lub pdf, które na sztywno są wprowadzone do "Kategorii". Jeżeli nie da się tego wczytywać w "macierzystej" formie (pdf), to jestem w stanie przeformatować ten tekst i zapisać go tak, aby dany komponent (jaki?) potrafił go wyświetlić w czytelnej formie.
Button2 - znikają mi zakładki, pojawia się Label (lub chyba Memo, bo będzie sporo linijek?) z treściami, które wczytuje sobie również z odpowiednich kategorii (SAM TEKST a la notatnikowy)
Button3 - znowu wszystko znika i pojawia się załóżmy możliwość otworzenia pliku, którego akurat pragnie otworzyć sobie użytkownik. Akurat Button3 w tej chwili jest najmniej ważny.

Tak jak mówiłem. Chcę ten programik rozwijać sobie. Dodawać jakieś bajerki, dodatki czy funkcjonalność.

NIE chcę, abyście podsyłali mi gotowe kody źródłowe, bo to ma być dla mnie frajda, a dla Was w wolnej chwili chęć podpowiedzenia :)

0

Temat do ZAMKNIĘCIA! :)

Wczoraj przysiadłem do mojego pomysłu i mając już Delphi2007, sam wymyśliłem odpowiedzi na swoje pytania i wszystko działa jak trzeba :)

Odezwę się jeszcze ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1