Zrobiłem takie narzędzie, które może być przydatne dla trasopisarzy już po napisaniu swojej trasy i chcącym udostępnić swoje dzieło. Programik pozwala na wypisanie wszystkich plików potrzebnych do danej trasy . Program nie wyciąga plików txt rozkładów jazdy.
Obsługa:
1)Wejść na arkusz kongfig, uzupełnieć potrzebne parametry, w tym nazwy scn, które program ma wyciągnąć. Może ich być kilka, tak jak się kończy obramowana komórka
2)Przejść na arkusz dane i nacisnąć przycisk wypisz pliki - w kolumnach A i B programik wypisze wszystkie pliki, jakie ma ktoś w MaSzynie
3)Nacisnąć przycisk wyciągnij pliki. Program zaczyna wyciągać potrzebne pliki i ich spis jest w kolumnie D. Kolumna E wskazuje nam błędy tzn. jakiś plik odwołuje się do wypisanego tam pliku, a w MaSzynie go nie ma.
4)Utworzyć katalog, gdzie będą kopiowane wypisane pliki
5)Nacisnąć przycisk kopiuj wyciągnięte pliki- program teraz będzie w katalogu podanym w pkt. 4 zakładał podkatalogi i będzie kopiował pliki wypisane w kolumnie D.
To wszystko.
Zasada działania (może być ważne dla kogoś):
Po naciśnęciu przycisku Wyciągnij pliki, program odczytuje z komórek od c2 do c10 arkusz konfig ścieżki i nazwy plików *.scn, które ma wyciągnąć i umieszcza je w kolejce do odczytania. Oczytuje zawatrość 1 z nich i jeśli natrafi na ciąg znaków podanych w konfigu w kolumnie A, to teraz odczytuje nazwę pliku *uwaga1. Po odczytaniu nazwy pliku, sprawdza, czy już ten plik wcześniej nie był analizowany przez program. Jeśli nie, to odszukuje go spośód listy wszystkich plkiów MaSzyny wypisanych w kolumnach A i B arkusza dane. Jeżeli nie znajdzie ani jednego, to dopisze go do listy błędów. Jeżeli znajdzie dokładnie jeden, to sprawdza czy ten plik jest teksturą czy plikiem, który należy otworzyć i czytać jego zawartość, Rozpoznaje to po jego rozszerzeniu wpisanego w kolumnie B w arkuszu konfig. Jeżeli tekstura to dopisuje do plików wyciągniętych, jeżeli nie tekstura, to również wpisuje do plków wyciągniętych, a jednocześnie zapisuje go w kolejce do czytania jego zawartości. Jeżeli plików będzie więcej niż jeden w spisie MaSzyny, program będzie pytał użytkownika, o który chodzi. Będzie mógł wybrać każdy znaleziony lub wskazać konkretny (to może być trochę denerwujące dla użytkownika, ale tak jest bezpieczniej).
Jak łatwo zauważyć program rozpoznaje pliki po jego rozszerzeniach i dlatego nie rozpoznaje plików rozkładów jazdy, bo tam nie ma napisanego rozszerzenia txt. Podobna sytuacja jest z teksturami. Wszędzie, gdzie nie będzie teksura kończyła się rozszerzeniem, program nie wie, że to plik. Zrobiłem dwa wyjątki, a mianowicie dla plików:
betonrelief1 i betonrelief2 (one są bmp) i mimo, iż rozszerzenia się nie poda, program roazpozna, że to plik.
Jeżeli, ktoś będzie nazywał swoje pliki dziwnie, np. abcde.rre, to .rre musi umieścić w konfigu
Uwaga1.
Nazwę pliku program tworzy poprzez odczytyanie kolejnych znaków. W tej chwili są dostępne takie znaki:
a)od a do z
b)od 0 do 9
c) .
d) -
e) _
f) +
g)[
h)]
i)\
j)/
k)# - tu poprawka, bo zapomniałem dodać tego znaku, a Krzysiek626 umieści poprawkę zaraz w linku.
Jeżeli ktoś swój plik nazwie jakoś inaczej co nie obejmuje powyższa tablica znaków, musi, albo zmienić nazwę pliku, lub zmodyfikować program.
Modyfikacja: z Menu-Narzędzia-Makro-Makra-Edycja
Zaznaczyć makro Wyciagnij_pliki
Nacisnąć przycisk Edycja
Zjechać w okolice linii 84 i dopisać poprzez analogię
Mam nadzięję, iż komuś się przyda.
Link:
http://mamut.mysza.eu.org/~krzysiek626/wyciagnij_pliki.rarNajlepiej na moment wyciągania plików przenieść folder dynamic i inne miejsce. Nie będzie program czytał zawartości tego folderu.
Pozdrawiam
PS Krzysiek 626, jak możesz, to umieść go na tym serwerku i podaj linka. Dzięki.
PS1. Dzięki Krzysiek