Proponuję realizację następującego programu, który jednocześnie byłby dla mnie pomocą dydaktyczną.
Program (w wygodny sposób) powinien mieć możliwość zdefiniowania dowolnej liczby ścieżek do plików.
Np. definiujemy 3 ścieżki:
c:\dane\plik1.cs
c:\inne\plik2.html
c:\dane\inne\plik3.txt
(proszę zastanowić się nad takim rozwiązaniem: https://stackoverflow.com/questions/68598/how-do-i-drag-and-drop-files-into-an-application)
Powinna być ława możliwość usunięcia/ zmiany ścieżki
Program cyklicznie sprawdza czy któryś z wcześniej zdefiniowanych plików nie został zmodyfikowany.
(Można to zrobić albo w prosty sposób z wykorzystaniem Timera lub coś w tym rodzaju: http://www.vbforums.com/showthread.php?618629-RESOLVED-Check-if-a-file-has-been-modified)
następnie program po wykryciu zmiany automatycznie tworzy plik wynik.txt, który: zawiera scaloną zawartość wszystkich zdefiniowanych plików. (jeden po drugim, w kolejności takiej, jakiej zdefiniowane są pliki )
UWAGA! jeśli plik wejściowy jest z rozszerzeniem .cs (tzn jest tam kod w C#) to w pliku wynikowym zawartość tego pliku powinna być otoczona następującą sekcją code :
[x language="csharp"] tutaj_zawartosc_pliku [/x]
, gdzie x to stały napis: code
Plik wynikowy może mieć wiele sekcji
code
(tyle ile jest plików z rozszerzeniem .cs)
Wersja rozszerzona:
- powinna być łatwa możliwość zdefiniowania pary : „sekcja – rozszerzenie pliku” np:
- .cs to csharp
- .sql to sql
- .aspx to csharp
- czyli każde zdefiniowane rozszerzenie dodaje sekcję do pliku
- ww. konfiguracja powinna być zapisywana do pliku (po to aby program zachowywał ustawienia)
- W innej zakładce powinna być przeglądarka, która pozwala na podejrzenie pliku wynik.txt