Stoper z zapisem wyników w mysql.

Stoper z zapisem wyników w mysql.
Norbert Jaworowski
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:3
0

Witam wszystkich.
Potrzebuje zrobić stoper, który działałby na naciśnięcie spacji, a do tego wszystkie wyniki zapisywał w bazie danych, aby można było wyliczyć średnią, zapisać rekord itp. Jakieś 12 lat temu interesowałem się programowaniem, ale od tamtego czasu zdążyłem nawet zapomnieć HTML :/ Dlatego potrzebuje pomocy. Stoper jest mi potrzebny do układani kostki rubika na czas. W internecie są stopery, ale większość nie ma opcji logowania i zapisywania statystyk, dlatego chciałbym zrobić taki stoper tylko dla siebie. Podejrzewam, że musi być napisany w Javie. Ktoś mógłby jakoś mnie nakierować na materiały, które pomogłyby mi dotrzeć do tego jak mam to zrobić? Lub może ktoś ma kod który mógłby spełniać takie funkcje? Przyznam, że w tej chwili po zapominałem większości z JS, php i html więc mile widziane będą materiały, poradniki z nieco szczegółowym opisem, wtedy szybciej sobie wszystko po przypominam :) Jeśli takich nie ma to najwyżej poświęcę dużo więcej czasu na przypominanie sobie wszystkiego.
Z góry dziękuje.

john_klamka
polecę klasykiem: Java to nie JavaScript
Norbert Jaworowski
Eh... To ja polecę innym klasykiem - Wiem... Ale wszyscy wiedzą o co chodzi...
Norbert Jaworowski
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:3
0

Dzięki za brak pomocy. Poradziłem już sobie sam.... Temat do zamknięcia.

Patryk27
Obrażanie ludzi na forum (dzięki za brak pomocy) zazwyczaj nie jest jednym z tych tekstów, które warto pisać publicznie, jeśli liczysz na jakąkolwiek pomoc w przyszłości. Ktoś mógł zwyczajnie nie zauważyć Twojego tematu - minęły raptem 24 godziny. Więcej pokory, mniej złości - wszyscy tutaj pomagamy za darmo, w naszym wolnym czasie.
czubeka2
  • Rejestracja:około 12 lat
  • Ostatnio:9 miesięcy
  • Postów:53
3

Traktowanie problemu całościowo jest zazwyczaj kiepskim podejściem jeśli chodzi o programowanie.
Zaczynajmy:

  1. Jak pobrać aktualny czas do zmiennej?
    https://stackoverflow.com/questions/1531093/how-do-i-get-the-current-date-in-javascript

  2. Okej, już wiem jak pobrać czas. Ale jak to zrobić po naciśnięciu przycisku na klawiaturze?
    https://stackoverflow.com/questions/24386354/execute-js-code-after-pressing-the-spacebar

  3. Super! Teraz potrzebuję obliczyć różnicę między datami:
    https://stackoverflow.com/questions/13894632/get-time-difference-between-two-dates-in-seconds

  4. No cudo! Mamy już prawie wszystko! Teraz trzeba wynik zapisać w bazie danych... JavaScript jest językiem front-endowym, więc nie połączę się z żadną bazą danych bezpośrednio. Potrzebuję użyć języka backendowego. Hmmm... Znam JavaScript. Czy jest zatem możliwość pisania aplikacji serwerowych w tym języku?
    https://www.hongkiat.com/blog/node-js-server-side-javascript/

  5. Super! Jest coś takiego jak Node.js, czyli mogę tego użyć :) Poprzedni link posiada informacje jak zainstalować Node.js i stworzyć testową aplikację. Dalej nie czytam, bo nie wiem czy będzie mi ten "Creating a HTTP Server" w ogóle potrzebny. Ale jak przesłać dane ze strony www do serwera?
    tutaj dodam od siebie, że stronę www trzeba również umieścić na serwerze, aby działała poprawnie - https://expressjs.com/en/starter/static-files.html
    https://stackoverflow.com/questions/45032412/sending-data-from-javascript-html-page-to-express-nodejs-server

  6. No super! Teraz potrafię wysłać dane ze strony www i odebrać je po stronie serwera! Teraz potrzebuję zapisać ten odebrany wynik (w tytule widzę mysql, więc do niego się odniosę). Jak połączyć się z bazą i coś do niej dodać?
    https://www.w3schools.com/nodejs/nodejs_mysql_insert.asp

  7. Wow! Rekord się dodał! Teraz potrzebuję je odebrać. Hmm... Jak to zrobić?
    https://www.w3schools.com/nodejs/nodejs_mysql_select.asp

  8. Mamy tablicę zapisanych wyników! Teraz wystarczy dla każdego elementu obliczyć różnicę, a następnie to zsumować. Tylko jak to zrobić?
    https://medium.com/@chrisburgin95/rewriting-javascript-sum-an-array-dbf838996ed0

  9. Super! Mamy już sumę! A skąd mam wiedzieć ile wyników pobrałem, abym mógł sumę podzielić przez ilość elementów tablicy?
    https://www.w3schools.com/jsref/jsref_length_array.asp

  10. Jupi! Mam wynik! Jestem super!

PS. Przykład powyżej prezentuje podejście typu "dziel i zwyciężaj" (https://pl.wikipedia.org/wiki/Dziel_i_zwyci%C4%99%C5%BCaj), polecam stosować się do niego, ponieważ na mniejsze problemy ludzie zazwyczaj szybciej udzielają pomocy. Takie złożone problemy wymagają analizy (nawet szybkiej), więc nie należy spodziewać się natychmiastowej pomocy.

Norbert Jaworowski
  • Rejestracja:ponad 6 lat
  • Ostatnio:ponad 6 lat
  • Postów:3
0

Ooo no i za to, to się nawet butelka dobrej whisky należy :) Dzięki wielkie za poświęcenie swojego czasu :) A jakbyś był w przyszłości w okolicy Białegostoku to zapraszam na piwko :)

czubeka2
Narzeczonej koleżanka z tamtych okolic pochodzi, więc to piwko może być bardzo prawdopodobne :P
Norbert Jaworowski
W takim razie czekam na wiadomość :)
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)