4.0 Beta (Build 20246)
BIN
assets/documentation-page/description/format-danych.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
assets/documentation-page/description/generator-csv.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
assets/documentation-page/description/o-programie.png
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
assets/documentation-page/description/ustawienia.png
Normal file
|
After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
@@ -1,22 +0,0 @@
|
|||||||
1.0
|
|
||||||
- Pierwsza wersja programu składająca się z 4 części
|
|
||||||
|
|
||||||
2.0
|
|
||||||
- Podstawowy tekstowy interfejs
|
|
||||||
- Scalenie programu w jeden
|
|
||||||
- Aktualizacja formatu plików z danymi
|
|
||||||
- Wstępne przystosowanie do działania w czteroletnim liceum i w trzyletniej szkole branżowej
|
|
||||||
- Aktualizacja kodowania
|
|
||||||
|
|
||||||
3.0
|
|
||||||
- Wprowadzenie pełnego graficznego interfejsu w środowisku tkinter
|
|
||||||
- Wstępne obsługiwanie wyjątków
|
|
||||||
- Przeniesienie modułów do oddzielnego pliku
|
|
||||||
- Stworzenie pliku 'format.py' ze skryptem przetwarzającym dane - przystosowanie programu do ewentualnych zmian w formacie plików z danymi
|
|
||||||
- Przeniesienie ukrytych ustawień do pliku 'config.cfg'
|
|
||||||
|
|
||||||
3.0.1
|
|
||||||
- Poprawka błędu - pole 3 i 4 nie mają już przypisanej tej samej zmiennej tekstowej
|
|
||||||
- Przydzielenie wersji, autorów, tytułu programu i lat pracy do zmiennych globalnych środowiska graficznego
|
|
||||||
|
|
||||||
4.0 - Work in progress
|
|
||||||
@@ -7,6 +7,6 @@ country(S) = Rzeczypospolita Polska
|
|||||||
schoolData(MSAs) = [LO, 4, 0]|[BS, 3, 1]
|
schoolData(MSAs) = [LO, 4, 0]|[BS, 3, 1]
|
||||||
schoolyearStart(D) = 01.09.* *:*:*
|
schoolyearStart(D) = 01.09.* *:*:*
|
||||||
ifHeadlineInMail(B) = 0
|
ifHeadlineInMail(B) = 0
|
||||||
headlineInMail(S) = beta
|
headlineInMail(S) = mailHeadline
|
||||||
ifHeadlineInOffice(B) = 0
|
ifHeadlineInOffice(B) = 0
|
||||||
headlineInOffice(S) = beta
|
headlineInOffice(S) = officeHeadline
|
||||||
@@ -136,7 +136,7 @@ button2Background(C) = #21242D
|
|||||||
button2Padding(I) = 0
|
button2Padding(I) = 0
|
||||||
aboutLogoButtonImg(P) = assets/icon.png
|
aboutLogoButtonImg(P) = assets/icon.png
|
||||||
aboutLogoButtonImgSize(I) = 250
|
aboutLogoButtonImgSize(I) = 250
|
||||||
aboutInstructionButtonWidth(I) = 15
|
aboutInstructionButtonWidth(I) = 25
|
||||||
aboutOtherInfoFramePadX(I) = 10
|
aboutOtherInfoFramePadX(I) = 10
|
||||||
ZPFWindowWidth(I) = 500
|
ZPFWindowWidth(I) = 500
|
||||||
ZPFWindowHeight(I) = 400
|
ZPFWindowHeight(I) = 400
|
||||||
|
|||||||
@@ -139,4 +139,12 @@
|
|||||||
- Dodanie możliwości dodawania nagłówków do plików wyjściowych
|
- Dodanie możliwości dodawania nagłówków do plików wyjściowych
|
||||||
- Wsparcie dla kodowania ISO-8859-2
|
- Wsparcie dla kodowania ISO-8859-2
|
||||||
- Wyeliminowanie błędu wyrzucającego wyjątek w przypadku próby zapisania format presetu o nazwie zawierającej zakazane znaki.
|
- Wyeliminowanie błędu wyrzucającego wyjątek w przypadku próby zapisania format presetu o nazwie zawierającej zakazane znaki.
|
||||||
- Dodanie mechanizmu pozwalającego na automatyczne resetowanie katalogu programu w appdata podczas uruchamiania programu
|
- Dodanie mechanizmu pozwalającego na automatyczne resetowanie katalogu programu w appdata podczas uruchamiania programu
|
||||||
|
|
||||||
|
4.0 Beta (Build 20246)
|
||||||
|
- Zmiana domyślnych nagłówków
|
||||||
|
- Zmiana tekstu w przycisku w karcie 'O programie'
|
||||||
|
- Przeniesienie pliku 'changelog.txt' do sekcji strony 'O programie'
|
||||||
|
- Dodanie screenshotów programu do sekcji strony 'Opis'
|
||||||
|
- Rozpoczęcie prac nad sekcją strony 'Dokumentacja'
|
||||||
|
- Lekkie poprawki w kodzie programu
|
||||||
@@ -11,21 +11,96 @@
|
|||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
<br>
|
||||||
<img src = '../assets/documentation-page/about-program/icon.png'>
|
<img src = '../assets/documentation-page/about-program/icon.png'>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
<br>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
Generator CSV
|
Generator CSV
|
||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<p id = "about-program-main-text">
|
<p id = "about-program-main-text">
|
||||||
<b>Autorzy:</b>
|
Wersja 4.0 Beta (Build 20246)
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p id = "about-program-text-centered">
|
<p id = "about-program-text-centered">
|
||||||
Mateusz Skoczek (styczeń 2019 - wrzesień 2020)<br>
|
|
||||||
<br>
|
<br>
|
||||||
<b>dla ZSP Sobolew</b><br>
|
© styczeń 2019 - wrzesień 2020<br>
|
||||||
|
<br>
|
||||||
|
Mateusz Skoczek<br>
|
||||||
|
<br>
|
||||||
|
dla ZSP Sobolew<br>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<hr>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<h2>Historia wersji</h2>
|
||||||
|
|
||||||
|
<p id = 'about-program-changelog-main-version'>Wersja 1.0</p>
|
||||||
|
<br>
|
||||||
|
<ul>
|
||||||
|
<li>Pierwsza wersja programu składająca się z 4 części</li>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<p id = 'about-program-changelog-main-version'>Wersja 2.0</p>
|
||||||
|
<br>
|
||||||
|
<ul>
|
||||||
|
<li>Podstawowy tekstowy interfejs</li>
|
||||||
|
<li>Scalenie programu w jeden</li>
|
||||||
|
<li>Aktualizacja formatu plików z danymi</li>
|
||||||
|
<li>Wstępne przystosowanie do działania w czteroletnim liceum i w trzyletniej szkole branżowej</li>
|
||||||
|
<li>Aktualizacja kodowania</li>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<p id = 'about-program-changelog-main-version'>Wersja 3.0</p>
|
||||||
|
<br>
|
||||||
|
<ul>
|
||||||
|
<li>Wprowadzenie pełnego graficznego interfejsu w środowisku tkinter</li>
|
||||||
|
<li>Wstępne obsługiwanie wyjątków</li>
|
||||||
|
<li>Przeniesienie modułów do oddzielnego pliku</li>
|
||||||
|
<li>Stworzenie pliku 'format.py' ze skryptem przetwarzającym dane - przystosowanie programu do ewentualnych zmian w formacie plików z danymi</li>
|
||||||
|
<li>Przeniesienie ukrytych ustawień do pliku 'config.cfg'</li>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<p id = 'about-program-changelog-main-version'>Wersja 3.0.1</p>
|
||||||
|
<br>
|
||||||
|
<ul>
|
||||||
|
<li>Poprawka błędu - pole 3 i 4 nie mają już przypisanej tej samej zmiennej tekstowej</li>
|
||||||
|
<li>Przydzielenie wersji, autorów, tytułu programu i lat pracy do zmiennych globalnych środowiska graficznego</li>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<p id = 'about-program-changelog-main-version'>Wersja 4.0 (work in progress)</p>
|
||||||
|
<br>
|
||||||
|
<ul>
|
||||||
|
<li>Zmiany w poszczególnych wersjach developerskich są dostępne w pliku 'dev_changelog.txt'</li>
|
||||||
|
</ul>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -5,6 +5,13 @@ h1 {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
color: #C0C0C0;
|
||||||
|
font-family: 'Segoe UI';
|
||||||
|
font-size: 25px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
h5 {
|
h5 {
|
||||||
color: #C0C0C0;
|
color: #C0C0C0;
|
||||||
font-family: 'Segoe UI';
|
font-family: 'Segoe UI';
|
||||||
@@ -24,6 +31,10 @@ p {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#description-image {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
#about-program-image {
|
#about-program-image {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
@@ -39,6 +50,13 @@ p {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#about-program-changelog-main-version {
|
||||||
|
color: #C0C0C0;
|
||||||
|
font-family: 'Segoe UI';
|
||||||
|
font-size: 17px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
td {
|
td {
|
||||||
color: #C0C0C0;
|
color: #C0C0C0;
|
||||||
font-family: 'Segoe UI';
|
font-family: 'Segoe UI';
|
||||||
@@ -77,4 +95,10 @@ th {
|
|||||||
|
|
||||||
li {
|
li {
|
||||||
color: #C0C0C0;
|
color: #C0C0C0;
|
||||||
|
font-family: 'Segoe UI';
|
||||||
|
}
|
||||||
|
|
||||||
|
code {
|
||||||
|
color: #C0C0C0;
|
||||||
|
font-size: large;
|
||||||
}
|
}
|
||||||
@@ -7,6 +7,12 @@
|
|||||||
<title>Generator CSV</title>
|
<title>Generator CSV</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p id = "description-text">Program "Generator CSV" służy do przetwarzania plików danymi uczniów/nauczycieli i generowania plików wyjściowych w formacie pozwalającym na import danych na stronach szkoły oraz portal.office.com</p>
|
<p id = "description-text">Program "Generator CSV" służy do przetwarzania plików danymi uczniów/nauczycieli i generowania plików wyjściowych w formacie pozwalającym na import danych na stronie szkoły oraz portal.office.com</p>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<p id = "description-image"><img width = '60%' src = '../assets/documentation-page/description/generator-csv.png'><br></p>
|
||||||
|
<p id = "description-image"><img width = '60%' src = '../assets/documentation-page/description/format-danych.png'><br></p>
|
||||||
|
<p id = "description-image"><img width = '60%' src = '../assets/documentation-page/description/ustawienia.png'><br></p>
|
||||||
|
<p id = "description-image"><img width = '60%' src = '../assets/documentation-page/description/o-programie.png'><br></p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -16,8 +16,8 @@
|
|||||||
<nav>
|
<nav>
|
||||||
<ul id = "menu-ul">
|
<ul id = "menu-ul">
|
||||||
<li id = "menu-li"><a href = "description.html" target = "content">Opis</a></li>
|
<li id = "menu-li"><a href = "description.html" target = "content">Opis</a></li>
|
||||||
<li id = "menu-li"><a href = "how_to_use.html" target = "content">Jak używać?</a></li>
|
<li id = "menu-li"><a href = "instruction.html" target = "content">Instrukcja</a></li>
|
||||||
<li id = "menu-li"><a href = "program_documentation.html" target = "content">Dokumentacja techniczna</a></li>
|
<li id = "menu-li"><a href = "program_documentation.html" target = "content">Dokumentacja</a></li>
|
||||||
<li id = "menu-li"><a href = "about_program.html" target = "content">O programie</a></li>
|
<li id = "menu-li"><a href = "about_program.html" target = "content">O programie</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|||||||
@@ -10,11 +10,11 @@
|
|||||||
<button class="accordion"><b>Tworzenie/edytowanie format presetu dla danego pliku źródłowego</b></button>
|
<button class="accordion"><b>Tworzenie/edytowanie format presetu dla danego pliku źródłowego</b></button>
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<p>Dane dla przykładu:</p>
|
<p>Dane dla przykładu:</p>
|
||||||
<img src = '../assets/documentation-page/how-to-use/example-input-data.png'><br>
|
<img src = '../assets/documentation-page/instruction/example-input-data.png'><br>
|
||||||
<p>W praktyce układ danych wygląda tak (* - nieznaczące dla programu dane):</p>
|
<p>W praktyce układ danych wygląda tak (* - nieznaczące dla programu dane):</p>
|
||||||
<p>[imię] [nazwisko]<br>[klasa] [szkoła]<br>[login], [haslo*]</p>
|
<p>[imię] [nazwisko]<br>[klasa] [szkoła]<br>[login], [haslo*]</p>
|
||||||
<p>Uruchom program i otwórz zakładkę FORMAT DANYCH. W pierwszej kolejności należy nadać nazwę presetowi formatu w polu zaznaczonym poniżej lub wybrać preset już istniejący z listy rozwijanej</p>
|
<p>Uruchom program i otwórz zakładkę FORMAT DANYCH. W pierwszej kolejności należy nadać nazwę presetowi formatu w polu zaznaczonym poniżej lub wybrać preset już istniejący z listy rozwijanej</p>
|
||||||
<img width = '700px' src = '../assets/documentation-page/how-to-use/input-name.png'><br>
|
<img width = '700px' src = '../assets/documentation-page/instruction/input-name.png'><br>
|
||||||
<p> Aby przejśc do edycji presetu należy wcisnąć przycisk WCZYTAJ</p>
|
<p> Aby przejśc do edycji presetu należy wcisnąć przycisk WCZYTAJ</p>
|
||||||
<br>
|
<br>
|
||||||
<h5>Typ osoby</h5>
|
<h5>Typ osoby</h5>
|
||||||
@@ -97,10 +97,10 @@
|
|||||||
<p>W pierwszej kolejności należy przygotować pliki wejściowe oraz stworzyć presety formatu dla tych plików, według instrukcji w sekcji "Tworzenie/edytowanie format presetu dla danego pliku źródłowego" (jednego presetu formatu można używac do kilku plików jeżeli pliki mają ten sam format i to samo kodowanie)</p>
|
<p>W pierwszej kolejności należy przygotować pliki wejściowe oraz stworzyć presety formatu dla tych plików, według instrukcji w sekcji "Tworzenie/edytowanie format presetu dla danego pliku źródłowego" (jednego presetu formatu można używac do kilku plików jeżeli pliki mają ten sam format i to samo kodowanie)</p>
|
||||||
<h5>Krok 2</h5>
|
<h5>Krok 2</h5>
|
||||||
<p>Przejdź do zakładki GENERATOR CSV. Możesz przetworzyć naraz 4 pliki wejściowe. Dla każdego pliku należy wybrać jego lokalizację (wpisać ją w polu, oznaczonym kolorem czerwonym na poniższym zdjęciu, lub otworzyć okno wyboru lokalizacji za pomocą przycisku "Przeglądaj" i tam wybrać plik. Następnie należy wybrać preset formatu, odpowiedni dla pliku wejściowego, w polu oznaczonym kolorem zielonym na poniższym zdjęciu.</p>
|
<p>Przejdź do zakładki GENERATOR CSV. Możesz przetworzyć naraz 4 pliki wejściowe. Dla każdego pliku należy wybrać jego lokalizację (wpisać ją w polu, oznaczonym kolorem czerwonym na poniższym zdjęciu, lub otworzyć okno wyboru lokalizacji za pomocą przycisku "Przeglądaj" i tam wybrać plik. Następnie należy wybrać preset formatu, odpowiedni dla pliku wejściowego, w polu oznaczonym kolorem zielonym na poniższym zdjęciu.</p>
|
||||||
<img width = '700px' src = '../assets/documentation-page/how-to-use/generate-input-file-settings.png'><br>
|
<img width = '700px' src = '../assets/documentation-page/instruction/generate-input-file-settings.png'><br>
|
||||||
<h5>Krok 3</h5>
|
<h5>Krok 3</h5>
|
||||||
<p>Wybierz lokalizację zapisu pliku wyjściowego dla serwisu szkoły, wpisując lokalizację wraz z nazwą pliku w polu, oznaczonym kolorem czerwonym na poniższym zdjęciu, lub otwierając okno wyboru lokalizacji za pomocą przycisku "Przeglądaj" obok tego pola i tam wybierając plik.<br>Wybierz lokalizację zapisu pliku wyjściowego dla serwisu portal.office.com, wpisując lokalizację wraz z nazwą pliku w polu, oznaczonym kolorem zielonym na poniższym zdjęciu, lub otwierając okno wyboru lokalizacji za pomocą przycisku "Przeglądaj" obok tego pola i tam wybierając plik.</p>
|
<p>Wybierz lokalizację zapisu pliku wyjściowego dla serwisu szkoły, wpisując lokalizację wraz z nazwą pliku w polu, oznaczonym kolorem czerwonym na poniższym zdjęciu, lub otwierając okno wyboru lokalizacji za pomocą przycisku "Przeglądaj" obok tego pola i tam wybierając plik.<br>Wybierz lokalizację zapisu pliku wyjściowego dla serwisu portal.office.com, wpisując lokalizację wraz z nazwą pliku w polu, oznaczonym kolorem zielonym na poniższym zdjęciu, lub otwierając okno wyboru lokalizacji za pomocą przycisku "Przeglądaj" obok tego pola i tam wybierając plik.</p>
|
||||||
<img width = '700px' src = '../assets/documentation-page/how-to-use/generate-output-file-settings.png'><br>
|
<img width = '700px' src = '../assets/documentation-page/instruction/generate-output-file-settings.png'><br>
|
||||||
<h5>Krok 4</h5>
|
<h5>Krok 4</h5>
|
||||||
<p>Aby rozpocząć generowanie wciśnij przycisk START i potwierdź komunikat. Pliki wyjściowe zostaną zapisane w wybranych lokalizacjach. Przed importem upewnij się że w plikach nie występują błędy.</p>
|
<p>Aby rozpocząć generowanie wciśnij przycisk START i potwierdź komunikat. Pliki wyjściowe zostaną zapisane w wybranych lokalizacjach. Przed importem upewnij się że w plikach nie występują błędy.</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -7,6 +7,114 @@
|
|||||||
<title>Generator CSV</title>
|
<title>Generator CSV</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p>reset_appdata</p>
|
<button class="accordion"><b>generator.pyw - Główne zmienne globalne</b></button>
|
||||||
|
<div class="panel">
|
||||||
|
<p>
|
||||||
|
<b>Informacje o programie</b><br>
|
||||||
|
<br>
|
||||||
|
<code>programName</code> - Zmienna definująca nazwę programu<br>
|
||||||
|
<code>programVersion</code> - Zmienna definiująca główną wersję programu<br>
|
||||||
|
<code>programVersionStage</code> - Zmienna definiująca etap rozwoju programu. Wersja stabilna definiowana jest przez pusty string<br>
|
||||||
|
<code>programVersionBuild</code> - Zmienna definiująca numer buildu programu. Zapisany jest on w formacie '[ostatnie dwie cyfry roku][numer dnia w roku]'<br>
|
||||||
|
<code>programCustomer</code> - Zmienna definiująca nazwę organizacji zlecającej stworzenie programu<br>
|
||||||
|
<code>programAuthors</code> - Lista zawierająca nazwy osób rozwijających program.<br>
|
||||||
|
<code>programToW</code> - Lista zawierająca informacje na temat czasu rozwoju programu. Format: ['miesiąc rozpoczęcia prac', 'rok rozpoczęcia prac', 'aktualny dla rozwoju danej wersji miesiąc', 'aktualny dla rozwoju danej wersji rok']<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<b>Dozwolone kodowanie plików</b><br>
|
||||||
|
<br>
|
||||||
|
<code>allowedCoding</code> - Lista zawierająca wspierane kodowania plików. Są one wyświetlane w rozwijanych listach wyboru kodowania pliku.<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<b>Dozwolone znaki</b><br>
|
||||||
|
<br>
|
||||||
|
<code>allowedCharactersInSeparator</code> - Lista zawierająca znaki które można wpisać w pola dotyczące separatorów osób, linii i danych<br>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="accordion"><b>generator.pyw - Import bibliotek</b></button>
|
||||||
|
<div class="panel">
|
||||||
|
<p>
|
||||||
|
<b>Biblioteki główne</b><br>
|
||||||
|
<br>
|
||||||
|
W tej sekcji importowane są wszystkie biblioteki niezwiązane z interfejsem graficznych<br>
|
||||||
|
<ul>
|
||||||
|
<li>sys (SS) - używana tylko do zamykania programu</li>
|
||||||
|
<li>os (OS) - odpowiedzialna za polecenia w terminalu</li>
|
||||||
|
<li>time (TM) - używana do pobierania aktualnej daty i czasu</li>
|
||||||
|
<li>codecs (CD) - odpowiedzialna za otwieranie i czytanie plików w odpowiednim kodowaniu</li>
|
||||||
|
<li>pathlib (PT) - używana tylko do pozyskania ścieżki katalogu APPDATA</li>
|
||||||
|
<li>shutil (SU) - odpowiedzialna za operacje na plikach i folderach</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<br>
|
||||||
|
<b>Biblioteki interfejsu graficznego</b><br>
|
||||||
|
<br>
|
||||||
|
W tej sekcji importowane są wszystkie biblioteki związane z interfejsem graficznym
|
||||||
|
<br>
|
||||||
|
<ul>
|
||||||
|
<li>tkinter (TK) - główne środowisko budowy interfejsu graficznego</li>
|
||||||
|
<ul>
|
||||||
|
<li>ttk (TKttk) - biblioteka odpowiedzialna za kontrolki i ich wygląd</li>
|
||||||
|
<li>messagebox (TKmsb) - biblioteka odpowiedzialna za wyświetlanie komunikatów dialogowych</li>
|
||||||
|
<li>filedialog (TKfld) - biblioteka odpowiedzialna za wyświetlanie okien wyboru plików</li>
|
||||||
|
</ul>
|
||||||
|
<li>PIL (PL), (PLitk), (PLimg) - biblioteka odpowiedzialna za wyświetlanie obrazów</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="accordion"><b>generator.pyw - Okna dialogowe</b></button>
|
||||||
|
<div class="panel">
|
||||||
|
<p>
|
||||||
|
<b>Lista komunikatów</b><br>
|
||||||
|
<br>
|
||||||
|
Słownik <code>MSGlist</code> zawiera listę komunikatów. Format: '[kod dialogowy]' : '[komunikat]'. Kod dialogowy składa się z [jednoznakowego znacznika rodzaju okna dialogowego][czterocyfrowego numeru komunikatu]<br>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<b><i>Rodzaje okien dialogowych:</i></b>
|
||||||
|
<ul>
|
||||||
|
<li>E - komunikaty błędów</li>
|
||||||
|
<li>I - komunikaty informacyjne</li>
|
||||||
|
<li>W - komunikaty ostrzegające</li>
|
||||||
|
<li>A - komunikaty zapytania</li>
|
||||||
|
</ul>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<br>
|
||||||
|
<b>Funkcja odpowiedzialna za wywoływanie komunikatów dialogowych</b><br>
|
||||||
|
<br>
|
||||||
|
Wywoływanie funkcji: <code>MSG(</code>[kod dialogowy]<code>,</code>[<code>True</code> - Zakończ działanie programu po zamknięciu okna dialogowego/<code>False</code> - Kontynuuj działanie programu po zamknięciu okna dialogowego]<code>,</code>[dodatkowe informacje wyświetlane w komunikacie - <b>opcjonalnie</b>]<code>)</code><br>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<button class="accordion"><b>Edycja ustawień ogólnych</b></button>
|
||||||
|
<div class="panel">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var acc = document.getElementsByClassName("accordion");
|
||||||
|
var i;
|
||||||
|
|
||||||
|
for (i = 0; i < acc.length; i++) {
|
||||||
|
acc[i].addEventListener("click", function() {
|
||||||
|
/* Toggle between adding and removing the "active" class,
|
||||||
|
to highlight the button that controls the panel */
|
||||||
|
this.classList.toggle("active");
|
||||||
|
|
||||||
|
/* Toggle between hiding and showing the active panel */
|
||||||
|
var panel = this.nextElementSibling;
|
||||||
|
if (panel.style.display === "block") {
|
||||||
|
panel.style.display = "none";
|
||||||
|
} else {
|
||||||
|
panel.style.display = "block";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
# Generator CSV
|
# Generator CSV
|
||||||
# Wersja 4.0
|
# Wersja 4.0
|
||||||
# Autorzy: Mateusz Skoczek
|
# Autorzy: Mateusz Skoczek
|
||||||
# Styczeń 2019 - Czerwiec 2020
|
# styczeń 2019 - wrzesień 2020
|
||||||
# dla ZSP Sobolew
|
# dla ZSP Sobolew
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -10,14 +10,14 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------- # Zmienne # ----------------------------------------- #
|
# --------------------------------- # Główne zmienne globalne # --------------------------------- #
|
||||||
|
|
||||||
class VAR:
|
class VAR:
|
||||||
# Informacje o programie
|
# Informacje o programie
|
||||||
programName = 'Generator CSV'
|
programName = 'Generator CSV'
|
||||||
programVersion = '4.0'
|
programVersion = '4.0'
|
||||||
programVersionStage = 'Beta'
|
programVersionStage = 'Beta'
|
||||||
programVersionBuild = '20245'
|
programVersionBuild = '20246'
|
||||||
programCustomer = 'ZSP Sobolew'
|
programCustomer = 'ZSP Sobolew'
|
||||||
programAuthors = ['Mateusz Skoczek']
|
programAuthors = ['Mateusz Skoczek']
|
||||||
programToW = ['styczeń', '2019', 'wrzesień', '2020']
|
programToW = ['styczeń', '2019', 'wrzesień', '2020']
|
||||||
@@ -32,10 +32,9 @@ class VAR:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# --------------------------- # Import wbudowanych bibliotek Pythona # -------------------------- #
|
# ------------------------------------- # Import bibliotek # ------------------------------------ #
|
||||||
|
|
||||||
|
# Biblioteki główne
|
||||||
# Główne
|
|
||||||
import sys as SS
|
import sys as SS
|
||||||
import os as OS
|
import os as OS
|
||||||
import time as TM
|
import time as TM
|
||||||
@@ -44,7 +43,7 @@ import pathlib as PT
|
|||||||
import shutil as SU
|
import shutil as SU
|
||||||
|
|
||||||
|
|
||||||
# GUI
|
# Biblioteki interfejsu graficznego
|
||||||
import tkinter as TK
|
import tkinter as TK
|
||||||
from tkinter import ttk as TKttk
|
from tkinter import ttk as TKttk
|
||||||
from tkinter import messagebox as TKmsb
|
from tkinter import messagebox as TKmsb
|
||||||
@@ -57,9 +56,9 @@ from PIL import Image as PLimg
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------- # Komunikaty # --------------------------------------- #
|
# -------------------------------------- # Okna dialogowe # ------------------------------------- #
|
||||||
|
|
||||||
|
|
||||||
|
# Lista komunikatów
|
||||||
MSGlist = {
|
MSGlist = {
|
||||||
'E0000' : 'none',
|
'E0000' : 'none',
|
||||||
'E0001' : 'Wystąpił błąd podczas inicjalizacji katalogu z plikami konfiguracyjnymi programu w katalogu %APPDATA%',
|
'E0001' : 'Wystąpił błąd podczas inicjalizacji katalogu z plikami konfiguracyjnymi programu w katalogu %APPDATA%',
|
||||||
@@ -68,13 +67,6 @@ MSGlist = {
|
|||||||
'E0004' : 'Wystąpił błąd podczas ładowania pliku stylu (style.cfg)',
|
'E0004' : 'Wystąpił błąd podczas ładowania pliku stylu (style.cfg)',
|
||||||
'E0005' : 'Niepoprawne dane w pliku stylu (style.cfg)',
|
'E0005' : 'Niepoprawne dane w pliku stylu (style.cfg)',
|
||||||
'E0006' : 'Niepoprawne dane w pliku formatu',
|
'E0006' : 'Niepoprawne dane w pliku formatu',
|
||||||
'A0001' : 'Czy chcesz zapisać? Zostanie utworzony nowy plik',
|
|
||||||
'A0002' : 'Czy chcesz zapisać? Plik zostanie nadpisany',
|
|
||||||
'A0003' : 'Czy chcesz rozpocząć przetwarzanie plików?',
|
|
||||||
'A0004' : 'Czy chcesz zapisać?',
|
|
||||||
'A0005' : 'Czy na pewno chcesz przywrócić domyślne ustawienia ogólne?',
|
|
||||||
'A0006' : 'Czy na pewno chcesz przywrócić domyślne ustawienia wyglądu?',
|
|
||||||
'A0007' : 'Czy na pewno chcesz usunąc zaznaczone format presety?',
|
|
||||||
'E0007' : 'Wymagany przynajmniej jeden plik wejściowy',
|
'E0007' : 'Wymagany przynajmniej jeden plik wejściowy',
|
||||||
'E0008' : 'Nie można odnaleźć jednego z powyższych plików',
|
'E0008' : 'Nie można odnaleźć jednego z powyższych plików',
|
||||||
'E0009' : 'Nie można odnaleźć jednego z powyższych format presetów',
|
'E0009' : 'Nie można odnaleźć jednego z powyższych format presetów',
|
||||||
@@ -83,18 +75,27 @@ MSGlist = {
|
|||||||
'E0012' : 'Nie można przetworzyć danych na format wyjściowy',
|
'E0012' : 'Nie można przetworzyć danych na format wyjściowy',
|
||||||
'E0013' : 'Nie można utworzyć plików wejściowych',
|
'E0013' : 'Nie można utworzyć plików wejściowych',
|
||||||
'E0014' : 'Nie można zapisać plików wejściowych',
|
'E0014' : 'Nie można zapisać plików wejściowych',
|
||||||
'I0001' : 'Operacja ukończona pomyślnie',
|
|
||||||
'I0002' : 'Aplikacja zostanie zamknięta w celu przeładowania ustawień',
|
|
||||||
'E0015' : 'Nie można usunąć wybranych format presetów',
|
'E0015' : 'Nie można usunąć wybranych format presetów',
|
||||||
'E0016' : 'Nie można uruchomić pliku instrukcji (documentation/index.html)',
|
'E0016' : 'Nie można uruchomić pliku instrukcji (documentation/index.html)',
|
||||||
'E0017' : 'Nie można zapisać pliku formatu',
|
'E0017' : 'Nie można zapisać pliku formatu',
|
||||||
|
'A0001' : 'Czy chcesz zapisać? Zostanie utworzony nowy plik',
|
||||||
|
'A0002' : 'Czy chcesz zapisać? Plik zostanie nadpisany',
|
||||||
|
'A0003' : 'Czy chcesz rozpocząć przetwarzanie plików?',
|
||||||
|
'A0004' : 'Czy chcesz zapisać?',
|
||||||
|
'A0005' : 'Czy na pewno chcesz przywrócić domyślne ustawienia ogólne?',
|
||||||
|
'A0006' : 'Czy na pewno chcesz przywrócić domyślne ustawienia wyglądu?',
|
||||||
|
'A0007' : 'Czy na pewno chcesz usunąc zaznaczone format presety?',
|
||||||
|
'I0001' : 'Operacja ukończona pomyślnie',
|
||||||
|
'I0002' : 'Aplikacja zostanie zamknięta w celu przeładowania ustawień',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Funkcja odpowiedzialna za wywoływanie komunikatów dialogowych
|
||||||
def MSG(code, terminate, *optionalInfo):
|
def MSG(code, terminate, *optionalInfo):
|
||||||
try:
|
try:
|
||||||
optionalInfo[0]
|
optionalInfo[0]
|
||||||
except:
|
except:
|
||||||
optionalInfo = ('', '')
|
optionalInfo = ['']
|
||||||
|
|
||||||
# Błędy
|
# Błędy
|
||||||
if code[0] == 'E':
|
if code[0] == 'E':
|
||||||
@@ -2859,7 +2860,7 @@ class mainWindow:
|
|||||||
self.aboutInstructionButton.config(command = self.aboutInstructionButtonAction)
|
self.aboutInstructionButton.config(command = self.aboutInstructionButtonAction)
|
||||||
self.aboutInstructionButton.config(style = 'button1.TButton')
|
self.aboutInstructionButton.config(style = 'button1.TButton')
|
||||||
self.aboutInstructionButton.config(width = GUI.R('aboutInstructionButtonWidth'))
|
self.aboutInstructionButton.config(width = GUI.R('aboutInstructionButtonWidth'))
|
||||||
self.aboutInstructionButton.config(text = 'Instrukcja')
|
self.aboutInstructionButton.config(text = 'Więcej informacji')
|
||||||
self.aboutInstructionButton.pack(side = TK.RIGHT)
|
self.aboutInstructionButton.pack(side = TK.RIGHT)
|
||||||
|
|
||||||
#############################################################
|
#############################################################
|
||||||
|
|||||||