Train Driver 2

Dział ogólny => Wasza Twórczość => Pozostała twórczość / Warsztaty => Wątek zaczęty przez: nitro w 28 Września 2016, 01:56:07

Tytuł: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 28 Września 2016, 01:56:07
WARSZTAT PROGRAMISTYCZNY BY NITRO


1. OBCIĄŻENIE STACJI LIVE I HISTORYCZNIE

Spoiler: pokaż

Jest to strona WWW, która pokazuje aktualne lub historyczne obciążenie danej stacji na TD2 wyrażonej w procentach.


I. Aktualne obciążenie stacji

Link: http://cloud.webnitro.eu/td2/obciazenie_stacji.html

Opis: Z górnego lewego paska wybieramy stację, która jest online. Po wybraniu stacji co minutę strona będzie zaznaczała kolejne obciążenia na wykresie przez przeładowywania strony. Te dane są tylko wyświetlane w przeglądarce użytkownika, nie są one nigdzie zapisywane.
Po przeładowywaniu strony strona ponownie będzie kreślić wykres.
Co 20 nowy punkt  - poprzedni punkt z lewej strony "znika".

II. Historyczne obciążenie stacji

Link: http://cloud.webnitro.eu/td2/obciazenie_stacji_historia.html

Opis: Dane są odczytywane z bazy danych.
Z górnego lewego paska wybieramy stację, której chcemy wyświetlić dane. Następnie poniżej zakładki wybieramy dzień, z którego mają być wyświetlane dane.
Domyślnie wyświetlany jest wykres z całego dostępnego dnia.
Można dobrać zakres godzin.
W lewym dolnym rogu można zobaczyć średnie obciążenie dla stacji.



Obie strony pozwalają na eksport wykresu do odpowiedniego formatu (wygląd ikonki menu z prawej strony wykresu)


Dane techniczne
- technologie wykonania: JavaScript, jQuery, HTML, PHP, SQLite (baza podstawowa) przez PDO, highcharts (rysowanie wykresów w JS)
- korzysta z oficjalnego API opisanego na : http://td2.info.pl/index.php/topic,156.0.html
- Sposób dodawania stacji i szlaków do BD: dynamiczne (generowane na podstawie wyników z API)
- Zużywany transfer (wersja pesymistyczna):
->30 KB / min.
-> 1,76 MB / h
-> 42,24 / dobę
-> 1,24 GB / miesiąc


Uwagi
- baza sqlite jest powolna przy odczytywaniu i selekcji danych zaleca się przeniesienie bazy do MySQL
- skrypt zbierający dane z API jest obecnie uruchomiony na serwerze autora: wykonywany codziennie, w godzinach 10-23, co 5 minut (na razie uruchomiony  w celach testowych i pokazowych).
- najlepiej co 2-5 dni skasować zawartość BD (przez skrypt). Chyba, że kogoś interesuje jakie było obciążenie stacji w dalekiej przeszłości.


TODO Lista
- dodanie obciążenie szlaków
- dodanie linków przekierowujących do live <-> historyczne między stronami
- przy live wszystkie stacje online na jednym wykresie
- spróbować poprawić wybór dat i godzin w danych historycznych -> przerzucić do selecta
- dodać warstwę LOADING podczas pobierania danych historycznych, teraz nie za bardzo wiadomo czy pobiera, czy jest błąd, czy się zaciął


Wersje
0.1.0 - 28.01.2016 - publikacja projektu
0.1.1 - 28.01.2016 - mały fix przy listingu stacji w danych historycznych
0.1.2 - 29.01.206 - fix dla daty - strefy czasowej, poprawnie powinien pokazywać czas, przerzucenie danych z SQLITE do MYSQL, widoczne zwiększenie wydajności przy pracy nad danymi



2. NITROSWDR

Spoiler: pokaż

NitroSWDR to zintegrowany program do uniwersalnego wystawiania rozkazów pisemnych, stosowanych w transporcie kolejowym.
Oprócz tego pozwala na:
- wyszukiwanie odległości pomiędzy danymi obiektami znajdującymi się na torze
- autokontrolę wykolejnic


(https://img.ttsk.ngo/images/2016/11/25/nitroswdr10f8c.th.png) (https://img.ttsk.ngo/image/xuLC)
(https://img.ttsk.ngo/images/2016/11/25/nitroswdr3.th.png) (https://img.ttsk.ngo/image/x9Q0)
(https://img.ttsk.ngo/images/2016/11/25/nitroswdr2.th.png) (https://img.ttsk.ngo/image/x11s)
(https://img.ttsk.ngo/images/2016/11/25/nitroswdr4.th.png) (https://img.ttsk.ngo/image/x7ak)

=================================================

DOWNLOAD:

v1.0.0
https://dl.dropboxusercontent.com/u/37726726/NitroSWDR-v100.zip

=================================================

Historia:
2016.11.25 - wersja 1.0.0

=================================================

Hashe (ZIP):
v1.0.0

MD5 - F24A8D152C52DB727B7D4F219CE83F64
SHA-1 - A7601EC8918F27E58140F68FC1EAD5DB1148C3F9
SHA256 - 136E789FB4E42FF5FB4B0728D41CE9593475F512AFABC5B55CEB21273A3ADDDA
SHA512 - 8E681708643C955F07AC20183E17B817E04B82320692DFD2BB183686919C8361C06C7C6C4A912B6D41712E4A5609E5A9C44235A2370BCC366DD607CF12C8DBE9
=================================================
Raport z VirusTotal:

v1.0.0

VT wykrył, że w nitroswdr.exe (https://www.virustotal.com/pl/file/01651711e721d1ef95274ae669d2af17fef86abc63860f568b34fdd126a9dc63/analysis/1480075717/) w 1/57 wykryto malware. Na podstawie artykułów o tym silniku, można stwierdzić false positive. Być może wynika to z tego, że program niektóre pliki modyfikuje bezpośrednio.


Plik ZIP czysty (https://www.virustotal.com/pl/file/136e789fb4e42ff5fb4b0728d41ce9593475f512afabc5b55ceb21273a3addda/analysis/1480075985/)

=================================================

TODO Lista:

- próbować przyśpieszyć proces sprawdzania licencji
- próba przerzucenia licencji tylko do wystawiania RP
- ładowanie danych RP do WWW w celu tamtejszej generacji PDF -> gdy jest to Linux
- paski postępów podczas ładowania danych + jakaś chwilowa blokada formularzy
- skrócenie czasu spr. licencji i danych
- WWW ze wszystkimi wystawionymi RP z odnośnikami do PDF
- Odkurzacz starych RP + przerzucanie starych licencji trial do blokad
- napisanie narzędzia do wykrywania użytkowników-szkodników

=================================================
FAQ, czyli jakie pytania sam sobie chciałbym zadać w waszym imieniu ;)

1. Po co ta cała licencja?

Długo się zastanawiałem czy wprowadzić licencjonowanie programu. Licencja jest ze względu bezpieczeństwa. Użytkownicy korzystają z jednej wspólnej bazy danych. Jeżeli pojawi się użytkownik, który będzie szkodził, będzie można go łatwo zablokować.

2. Komu przysługuje licencja pełna?

Pełna wersja programu do zastosowań niekomercyjnych -> prywatnych dla użytkownika z forum TD2 przysługuje, gdy ten:
- wyprawił min. 100 pociągów LUB przejechał min. 200 km w grze TD2
- w ostatnich 30 dniach w swojej kartotece nie ma żadnych rażących łamań regulaminu

Warunki nie są stosowane w odniesieniu do administratorów i moderatorów

Licencja jest przyznawana dożywotnio

3. Co jeżeli nie spełniam warunków do licencji pełnej?

Można skorzystać z licencji 7-dniowej trial. Klucz można uzyskać przez wysłanie pustej wiadomości na adres: nitroswdrtrial@webnitro.eu po 15-20 minut powinien przyjść klucz.

4. Co oferuje program:

- wystawianie rozkazów pisemnych
- kopiowanie danych z już wystawionego RP
- podgląd wystawionych RP
- autopodpowiedź przy polach odnośnie stacji, szlaków, dyżurnych ruchu
- generowanie RP w formie tekstowej i PDF
- formę tekstową RP można skopiować do schowka przez wciśnięcie przycisku
- PDF RP można wydrukować lub wysłać na zewnętrzny serwer, a link do RP na serwerze przekazać maszyniście
- czyszczenie folderu ze starych RP
- masowe obliczanie odległości obiektów na torze
- kontrola automatyczna wykolejnic

5. Jak zmienić klucz

z menu wybrać Pomoc -> O programie -> zmień klucz lic.

6. Program nie chce się uruchomić

Spróbuj uruchomić ubijproces.bat aby ubić wszystkie instancje programu i spróbuj ponownie uruchomić program. Program po 60 sek. powinien wyświetlić komunikat wystąpienia błędu.


7. Podczas dodawania RP wyświetla się komunikat, że RP będzie miało inny numer, o co chodzi?

Po prostu ktoś przed nami dodał już RP który miał mieć numer podany na formularzu, RP się wygeneruje ze starym numerem, jednakże w bazie danych będzie mieć nowy numer.

8. Dlaczego nie widzę RP w danej tabeli?

Najpierw należy wystawić dowolny RP, po dodaniu tabela będzie pokazywała RP dla danej stacji lub DR.

9. Czy program jest zintegrowany z SWDR TD2?

Nie. Działa jako osobna aplikacja.

10. Mam pomysł...

Pomysły i rady są zawsze w cenie, ale nie wiadomo kiedy zostaną zrealizowane...

11. Formularz RP nie chce przyjąć numeru pociągu...

Numerem pociągu może być wyłącznie liczba całkowita... jeżeli błąd pojawia się po zaznaczeniu nr pociągu jako liczby z listy, należy wprowadzić nr pociągu ręcznie

12. W jaki sposób wystawić ten sam RP (ze zmianą konkretnych danych)

Z menu wybieramy odpowiedni rozkaz pisemny i klikamy na pokazywanie RP w formie tabelki. Przy danym wierszu konkretnego RP klikamy 2x lewym przyciskiem myszy. Formularz skopiuje wcześniej zapisane dane.

13. Skróty klawiaturowe

W głównym oknie programu
- Ctrl + O - wystaw RP typu O
- Alt + O - pokaż tabelę wystawionych RP typu O
- Ctrl + S - wystaw RP typu S
- Alt + S - pokaż tabelę wystawionych RP typu S
- Ctrl + N - wystaw RP typu N
- Alt + N - pokaż tabelę wystawionych RP typu N
- Ctrl + R - wystaw RP typu Nrob
- Alt + R - pokaż tabelę wystawionych RP typu Nrob

Z poziomu dowolnego formularza RP
- Ctrl + S - zapisz RP


Strona projektu: https://github.com/nitro2010/nitroswdr


=================
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: koliber2 w 28 Września 2016, 10:14:20
dla mnie bomba:] gratuluje :)
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: shafter w 28 Września 2016, 10:43:03
1. Wyciągnąłbym wszystkie uruchomione stacje na jednej panel, bez wybierania o która chodzi. Wtedy powstanie taki "command center' z podglądem na całego TD2.
2. Wybór dat i godzin lekko nieintuicyjny.
3. Przełączenie miedzy aktualne-historyczne.

Ale już ci wczoraj mówiłem, że ekstra !
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 28 Września 2016, 11:02:42
1. Rzeczywiście da się tak zrobić, że wszystkie stacje online są na jednym wykresie... wtedy nie trzeba byłoby się przełączać
2. W następnej wersji spróbuję coś zaradzić... przerzucenie tego do listy rozwijalnej myślę że będzie dobrym pomysłem
3. To już mam w TODO Liście

ok, dzięki za rady shafter
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 04 Października 2016, 14:15:20
Testowa wersja formularza Rozkazu Pisemnego typu "O"

- technologia wykonania: JQuery, JavaScript, HTML, CSS, PHP (odbiór danych z API TD2)

1. Zapamiętywanie i odczytywanie przez ciasteczka w przeglądarce:
- ostatniego numeru rozkazu (następny numer = poprzedni + 1)
- obsługiwanej stacji
- nazwy DR
2. Wybieranie nr pociągu z dostępnej listy pociągów online
3. Autopodpowiadanie w polach:
- "Na posterunku/Na szlaku"
- Stacja
- Posterunek
- Dyżurny ruchu

dla punktu 1. i 2. tymczasowo wyświetlane są wszystkie pociągi, DR i stacje (online/offline)

4. Generowanie "live" RP po naciśnięciu przycisku:
- możliwość skopiowania tekstu do schowka przez naciśnięcie przycisku "Skopiuj do schowka"
- po naciśnięciu "OK" następuje przeładowanie formularza (dodanie kolejnego numeru RP)

4. Walidacja formularza za pomocą JS, czuły jest na punkcie:
- nr rozkazu, wymagany, tylko liczby całkowite
- od/do kilometra, max. prędkość - nie wymagane, tylko liczby całkowite
- stacja, DR, wymagane

W przypadku wystąpienia błędu/błędów, na górze strony ukaże się informacja o tym, po kliknęciu na dany punkt, przenosi nas do danego miejsca, gdzie ten błąd powstał.



Rzeczy do zrobienia:
- dodać przycisk odświeżający listę pociągów (na wszelki wypadek)
- walidacja czy nr pociągu jest różny od "---" (brak przypisanego pociągu)




Poza tym pytanie: czy od/do km normalnie w RP O są liczby z miejscami dziesiętnymi?


TEST: http://cloud.webnitro.eu/td2_swsk/rpo.htm

Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: Kacper9 w 04 Października 2016, 14:30:52
Działą jak natura chciała (czekam na pozostałe).
Cytuj
Poza tym pytanie: czy od/do km normalnie w RP O są liczby z miejscami dziesiętnymi?
Tak i zmniejsz trochę informacje o błędach jak możesz ;)
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: erap2 w 04 Października 2016, 14:44:22
Co do kilometraża, to zdarzają się z dokładnością do 1 metra. Szczególnie w przypadku awarii przejazdów :P
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 04 Października 2016, 15:52:57
mały update

- teraz kilometraże przyjmowane są z miejscami dziesiętnymi (rozmiar/długość liczby z miejscami dziesiętnymi nie dłuższy niż 9 pozycji)
- zmniejszono literki przy wyskakujących błędach
- walidacja czy nr pociągu jest różny od "---" (brak przypisanego pociągu)
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 15 Października 2016, 21:30:36
Projekt z Rozkazami pisemnymi kończę, wiem, że w SWDR 2 ma się niby pojawić... z obecnego zrobię uniwersalne formularze do wypisywania danych do RP, a nóż - widelec, gdzieś przydadzą



Program do obsługi wykolejnic przez GUI created by Nitro


Środowisko: C# .NET Framework 3.5+
Wersja: alfa, beta i omega (czyli testowy)

Program został utworzony na szybko zanim pojawi się nowy SCS Pawła, oficjalnie na forum.

Przestawianie wykolejnic odbywa się ręcznie z poziomu wygodnego programu.
Program obsługuje max. 18 wykolejnic.



1. Wypakujemy archiwum ZIP
2. Otwieramy katalog TD2DerailerGUIControl
3. Uruchamiamy aplikację TD2DerailerGUIControl.exe
4. Przygotowujemy sobie plik tekstowy (o ile nie został utworzony przez nas wcześniej) z nazwami wykolejnic - każda w osobnej linii, np.

WK1
WK2
WK3

Plik zapisujemy jako plik tekstowy, z dowolną nazwą (myślę że najlepiej aby była to nazwa stacji)

5. Klikamy na przycisk 'Read file' i w oknie dialogowym wskazujemy nasz plik tekstowy z wypisanymi nazwami wykolejnic.
6. W tabeli pokażą się wszystkie wykolejnice wczytane z pliku.
7. Wybieramy port z listy, a następnie klikamy na 'Connect', statusy wykolejnic powinny się zmienić, a po prawej stronie tabeli pojawią się dodatkowe przyciski.

Przyciski te pozwalają na otwieranie/zamykanie wykolejnic. Przycisk jest opisany poprzez nazwę wykolejnicy oraz kolor tła (patrz poniżej znaczenia kolorów).


Co 3 sekundy stan wykolejnic w programie będzie automatycznie odświeżany.


ZAWARTOŚĆ PACZKI

1. Program
2. Przykładowa mapka z wykolejnicami, SCS (w zasadzie niepotrzebny), plik z nazwami wykolejnic
3. Parę plików z wykolejnicami dla kilku stacji


FAQ



1. Statusy i kolory:
(żółty)      Uknown    - stan wykolejnicy jest nieznany, na 100% wykolejnica nie występuje na danej scenerii, nie będzie brana pod uwagę podczas pobierania statusu wykolejnicy z gry
(zielony)    Closed   - wykolejnica zamknięta, żeberko jest chronione (ufff)
(czerwony)   Open - wykolejnica otwarta

2. Komunikat: "Nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia (...)"

Stacja nie jest podłączona i nie udostępnia interfejsu 127.0.0.1:port

3. W SCS czy w PUTTY widzę dziwne komendy TDNITROBEGINT i TDNITROENDT, przecież SCS je nie obsługuje

Tak wiem, nie wiedziałem jak zmusić program aby pobrać to co trzeba i zakończył połączenie, też nie lubię takiego czegoś, dlatego przed i po komendzie dodaję znaczniki, pozwalają one programowi na szybkie wyszukiwanie danych. Dlatego trochę też  będzie śmiecił :-(

4. SCS łączy się z mapą, ale program twój nie

Nie wiem co zrobić, jest jakiś błąd którego nie potrafię wykryć w kodzie swojego programu... po prostu olać to, albo na nowo przeładować mapę lub grę




Dodano: 17 Października 2016, 19:14:18


Update 1 programu do obsługi wykolejnic z poziomu wygodnego GUI


1. Zaleca się przebudowanie pliku tekstowego:
- wygląd każdej linii to teraz:
nazwa_wykolejnicy nazwa_semafora odcinek_izolacyjny1 odcinek_izolacyjny2 ... odcinek_izolacyjnyn
2. Wygląd tabelki:
a. Derail - nazwa wykolejnicy
b. State - status wykolejnicy:
- Close [zielony] - zamknięta
- Open [czerwony] - otwarta
c. Track Busy - zajętość sumaryczna odcinków izolacyjnych
- kolor czerwony  - zajęty
- kolor zielony - wolny
d. Semaphore - stan i nazwa semafora na żeberku
- kolor niebieski - wskazuje na sygnał stój "S1" lub "Ms1"
- kolor zielony - manewr podany

kolor żółty - oznacza stan nieznany, brak pobranej informacji o stanie semafora...


e. CheckTracks - lista odcinków izolacyjnych, które będą sprawdzane na zajętość

3. Przyciski po prawej stronie tabelki wskazują na obsługę ręczną wykolejnic, kolory takie same jak w tabelce z kolumną 'State'
4. etykieta AutoControl, stan:
- [OFF] - wyłącz autokontrolę wykolejnic
- [ON] - włącz autokontrolę

Program ustawi wykolejnice w stan otwarcia, gdy dany semafor będzie wskazywał sygnał inny niż S1 lub Ms1 oraz tory izolacyjne będą zajęte przez pociąg, w inny wypadku wykolejnice będą zamykane


W przypadku wysłania pociągu na żeberko należy wyłączyć autokontrolę i ręcznie ustawić wykolejnicę w stan otwarcia

Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: Kacper9 w 20 Października 2016, 08:40:18
Nitro, a dałoby radę zrobić coś takiego jak pod wykolejnice, ale dla zestawu Semafory kształtowe i Świetlne tarcze ostrzegawcze?
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 20 Października 2016, 17:24:14
nie wiem, trzeba byłoby zbadać jakie komunikaty wysyłają do SCS przez PUTTY
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: bartek0107 w 20 Października 2016, 18:04:03
nie wiem, trzeba byłoby zbadać jakie komunikaty wysyłają do SCS przez PUTTY
[Semafor]:[Sygnał]
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 20 Października 2016, 18:18:46
no co ty nie powiesz, tyle sam wiem
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: Radmorek w 20 Października 2016, 19:33:42
Semaforami kształtowymi nie da się sterować ani sprawdzać stanu przez Socket (PuTTy)
Da się
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: _Marcin w 20 Października 2016, 19:43:06
Semaforami kształtowymi nie da się sterować ani sprawdzać stanu przez Socket (PuTTy)
Kolego, a tak się zapytam ty umiesz czytać ze zrozumieniem? Nie chodzi o semafory kształtowe tylko tarcze ostrzegawcze świetlne do nich.
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: erap2 w 20 Października 2016, 19:44:37
I jak się nie da, skoro przez Putty sterowałem kształtowymi?
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: Kacper9 w 20 Października 2016, 19:57:20
Semafor:? np A:? zwraca stan semafora ;) Czyli mamy linijki:
A:?
A:Sr1
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 20 Października 2016, 22:25:01
Pewnie się da, ale ja nie mam weny do tworzenia teraz programów...

Dodano: 24 Października 2016, 15:37:00


Uporządkowałem trochę wątek ze swoimi programami, publikacja wszystkich będzie w 1. poście

Dodano: MASOWE OBLICZANIE ODLEGŁOŚCI POMIĘDZY OBIEKTAMI NA TORACH
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 25 Listopada 2016, 14:18:25
---------------------------
25.11.2016
---------------------------
- Dodano program NitroSWDR (info w 1. poście na 1. stronie)
- Usunięto Testową wersję formularza RP typu O
- Usunięto masowe obliczanie odl. między obiektami na torze w PHP
- Usunięto program do obsługi wykolejnic (sam załącznik jako archiwum zachowuję tak na wszelki wypadek)
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: _Marcin w 25 Listopada 2016, 15:25:50
Moje pytanie jak uzyskać klucz normalny, a nie trial? Te wymagania co są w FAQ spełnia to mogę dostać? :D
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 25 Listopada 2016, 15:39:05
Jeżeli ktoś na TD2 spełnia warunki do otrzymania pełnej wersji programu, wystarczy że wyśle do mnie PW przez forum, w treści należy wpisać adres email.

Klucze do pełnej wersji generuję (niestety) ręcznie.

W odpowiedzi zwrotnej przesyłam klucz.

Dodano: 26 Listopada 2016, 16:18:24


=================
Aktualizacja NitroSWDR

+ w RP typu S, w rubryce 3, poprawiono OD DO - zamiast km wpisywane są teraz stacje, włączone też dla tych pól autopodpowiedź

NOWY DOWNLOAD jak zawsze w pierwszym poście
Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 01 Stycznia 2017, 23:29:56
NOWA WERSJA NITROSWDR o numerze 20170101230033

CO NOWEGO W NITROSWDR?
===================
+ Sprawdzanie poprawności licencji oraz nowej wersji programu przerzucono do oddzielnych wątków, przez co program wczytuje się szybciej,
+ poprawa niektórych rozkazów pisemnych RP
+ możliwość generowania RP przez WWW (zachowane dla systemów nie Windowsowych, ale program nie działa na Linuxie :-( )
+ możliwość edycji konfiguracji programu
+ możliwość utworzenia skrótu do programu na pulpicie (także przez skrót Ctrl + Shift + S)
+ część do obsługi wykolejnic została pozbawiona automatyzacji, gdzieś źródła kodu mi się zawieruszyły :( na wszelki wypadek daję w oddzielnym folderze jego ostatnią, pełną wersję
+ poprawiono wzór na obliczanie odległości obiektów znajdujących się na torze
+ usprawniono szukajkę w części dotyczącej obliczania odległości obiektów na torze
+ aktualizator programu
+ wprowadzono nowy typ licencji: ograniczona - dla tych, którzy nie korzystają z RP lub innych części programu licencjonowanych
+ zaktualizowano licencję, zmiany raczej mało istotne
+ w folderze z programem dostępna jest dokumentacja programu oraz skrócona instrukcja instalacji programu
+ pliki projektu w wersji binarnej będą trzymane na: https://github.com/nitro2010/nitroswdr tam też można pobrać nową wersję programu
+ zmiana sposobu wersjonowania programu, format to:
RRRRMMDDGGmmSS,

gdzie :
RRRR - rok w postaci 4-cyfrowej,
M - miesiąc w postaci 2-cyfrowej,
D - dzień w postaci 2-cyfrowej,
G - godzina w postaci 2-cyfrowej,
m - minuta w postaci 2-cyfrowej,
S - sekunda w postaci 2-cyfrowej,

np. 20170101002410 oznacza, że program został utworzony 1 stycznia 2017 r. o godz. 00:24:10

+ strona na której zobaczymy wszystkie wystawione RP z szukajką: http://cloud.webnitro.eu/nitroswdr/
- z forum TD2 zostają skasowane linki do starszych wersji programu


ZAINSTALOWANIE NOWSZEJ WERSJI PROGRAMU JEST KONIECZNE, STARSZE WERSJE NIE BĘDĄ MOGŁY PODŁĄCZYĆ SIĘ DO BAZY DANYCH


MAM LICENCJĘ JAK ZAKTUALIZOWAĆ PROGRAM
===================
1. Ściągnij instalator stworzony w 7zip - https://github.com/nitro2010/nitroswdr/raw/master/nitroswdr.install.exe
2. 2x lewym przyciskiem myszy klikamy na plik instalatora
3. W polu podaj od razu (dopisz lub wskaź na dysku) folder do którego mają zostać wypakowane pliki.
4. Skopiuj stary plik konfiguracji Configuration.ini do tego nowego folderu
5. Uruchom program nitroswdr.exe
6. Od razu bez wachania odśwież konfigurację -> Wybierz "Inne" => "Edycja konfiguracji programu", tutaj wybierz swoje opcje programu, jeżeli chcesz i zapisz. Program się ponownie uruchomi.
7. To Wszystko!


CHCE AKTYWOWAĆ PROGRAM => Zajrzyj do dokumentacji PDF nitroswdr.dokumentacja.pdf pod tytułem "O programie"


Problemy i zgłoszenia proszę o robienie na stronie GitHub https://github.com/nitro2010/nitroswdr














Tytuł: Re: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 15 Stycznia 2017, 18:04:56
NitroANP - wersja 20170115 ALFA
=======================

NitroANP to program, który pozwala wygodnie dodawać wpisy automatycznych przebiegów pociągów do pliku ANP.

Obecna wersja: wersja testowa, błędy z opisem i screenem proszę wysyłać na PW lub dodać jako odpowiedź w tym temacie.

Jeżeli nie będzie błędów i program zostanie doszlifowany, zostanie włączony do programu NitroSWDR jako osobny program.


Jak to działa? (instrukcja na szybko)
=============
1. Uruchamiamy program
2. Na karcie 'Opcje' wybieramy, czy chcemy:
A) odczytać już plik ANP
B) zapisać nowy plik ANP

Jeżeli wybierasz A, wskaż plik ANP na dysku, program wczyta wpisy, wszelakie zmiany w programie będą widoczne też w wybranym pliku
Jeżeli wybierasz B, wskaż plik ANP na dysku do zapisu,  wszelakie zmiany w programie będą widoczne też w wybranym pliku

Na poszczególnych kartach możesz zarządzać poszczególnymi grupami wpisów

[Szczegółowa filmowa instrukcja na YT, jak program będzie stabilny]



Dokumentacja ANP, z programem SCS Pawła, pkt 2.4. Automatyczne nastawianie przebiegów

Do poprawy
========
+ Ikonka bo mi się nie podoba :(



Download
======
Link na DropBoxie: https://dl.dropboxusercontent.com/u/37726726/nitroanp_alfa.zip

Dodano: 15 Stycznia 2017, 21:45:55


Tytuł: Odp: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 13 Lutego 2017, 21:15:37
NitroANP - wersja 20170214 BETA
===========
- poprawiono zapis definicji i przebiegów
- zmiana ikonki
- poprawa wyłączania przebiegów w pliku

download - plik zip do rozpakowania w załączniku
Tytuł: Odp: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 26 Lutego 2017, 16:23:34
NITROSWDR ver. 20170224145251
========================
+ nowa wersja instalatora
+ możliwość zainstalowania NitroANP - graficzny interfejs do zarządzania ANP
+ kasacja starego kodu odnośnie wykolejnic -> dodano możliwość uruchomienia zewnętrznego programu do wykolejnic


OBCIĄŻENIE STACJI LIVE I HISTORYCZNIE - wyczyszczono tabele z danymi
Tytuł: Odp: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 28 Marca 2017, 12:53:12
NitroANP wersja 20170328
==================
+ możliwość kopiowania definicji i przebiegów
+ nazwy torów i odcinków izolacyjnych są generowane z pliku SCS

Aktualizacja jak zawsze możliwa przez NitroSWDR.

Wersja osobna: https://github.com/nitro2010/nitroswdr/raw/master/anp.exe


Dalszy kierunek prac - wstawianie komentarzy, rozszerzanie okna w dół...
Tytuł: Odp: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: greg86 w 04 Kwietnia 2017, 16:15:18
Aktualizacja automatyczna NitroSWDR zwraca błąd CRC.
Tytuł: Odp: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 04 Kwietnia 2017, 18:09:54
poproszę o screen
Tytuł: Odp: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: greg86 w 04 Kwietnia 2017, 18:56:52
Na razie Ci go nie podeślę, bo zrobiłem już aktualizację ręcznie. Następnym razem wrzucę.

Update: W popranej najnowszej wersji uruchomiłem NitroSWDR.Update.Force.bat i zadziałał bez błędu.
Tytuł: Odp: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: greg86 w 13 Lipca 2017, 20:43:20
Aktualizacja Windows 10 unieważniła klucz aktywacyjny NitroSWDR.
Tytuł: Odp: Programistyczny Warsztat Nitro
Wiadomość wysłana przez: nitro w 13 Lipca 2017, 21:08:54
Witam,


proszę o kontakt przez Prywatną Wiadomość, jak podasz email to podam Tobie nowy klucz.