Mój pierwszy nieco większy program edukacyjny.

Mój pierwszy nieco większy program edukacyjny.
A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0

Siema, ostatnio napisałem prostą grę edukacyjną(na razie jest w wersji beta).
Program losuje dwie liczby i trzeba je jak najszybciej do siebie dodać lub odjąć(wybiera to się klikając "Select subtraction"). Gdy się dobrze odpowie, program wyświetli stosowny komunikat i czas w jakim się odpowiedziało. Jeśli się źle odpowie, program wyświetli prawidłową odpowiedź. Rozmiar liczb wybiera się w "Select amount of digits". Przycisk "-" nad dużym przyciskiem służy do decydowania czy wprowadzona liczba jest dodatnia czy ujemna. Zapraszam do oceny :)
http://przeklej.org/file/QcSOrs/What.Number.beta.exe

flowCRANE
Spakuj ten plik do .zip i dodaj do załączników tego posta;
W5
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 4 lata
  • Lokalizacja:Kraków
  • Postów:95
0

U mnie się nie uruchamia. Wychodzi okienko żeby zainstalować i spróbować ponownie.
Windows 8.1

A9
Możesz dać zrzut ekranu z tym okienkiem?
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:3 dni
  • Lokalizacja:Rzeszów
2

A może tak kod źródłowy? Czy mamy tylko oceniać losowego execa od niezaufanej osoby?


A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0

@dzek69 Nie jestem pewien czy będę udostępniał kod, bo nie wiem jaką dokładnie licencję dać. Ale jeśli mi nie ufasz, to zawsze możesz użyć Virustotala: https://virustotal.com/pl/file/370c0a991151b6402592bd6f2d0f7e0d98136d27aaa6ffc1f2401e2be853830f/analysis/1469122760/

edytowany 1x, ostatnio: arkadiusz97
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:3 minuty
  • Postów:8398
1

Źródło źródłem (nie każdy ma ochotę na open source), ale jakiś screenshot / animowany gif / czy filmik prezentacyjny na youtube by się przydał, bo inaczej to zupełny kot w worku. Nawet jak przyjąć, że nie ma tam złośliwego kodu, to dlaczego ktoś miałby to ściągać?


dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:3 dni
  • Lokalizacja:Rzeszów
4

Niektórzy szacują (ja się zgadzam), że skuteczność antywirusów to ok 30%, także nie przekonuje mnie to ;)

Taki drobny projekt to możesz udostępnić na jak najwolniejszej licencji - i tak Ci tego nikt nie ukradnie, o wiele bardziej zaawansowane rzeczy są już w sieci.


dzek69
Dzięki. Chyba czwarty raz w necie ktoś mnie poprawia w sensowny sposób, z którego mogę coś wyciągnąć i gdzie faktycznie popełniłem błąd z niewiedzy.
GregoryI
  • Rejestracja:ponad 9 lat
  • Ostatnio:około 3 godziny
  • Postów:238
2
amb00 napisał(a):

@dzek69 Nie jestem pewien czy będę udostępniał kod, bo nie wiem jaką dokładnie licencję dać.

Pleaseee.<facepalm>
Z tego co napisałeś, to wynika, że programik losuje/dodaje/odejmuje/wyświetla wyniki. Niestety, kalkulator w windows przebija go tysiąc razy w złożoności, więc nie sądzę, że jest to rzecz, z opracowaniem której ludzie by sobie nie poradzili.

Wstaw kod, ponieważ programistów to będzie bardziej interesować i może podpowiedzą Ci jakieś rzeczy albo dadzą konstruktywne uwagi. Udało Ci się już zainteresować kilka osób, a w tym dziale to naprawdę coś. Powodzenia.

flowCRANE
Moderator Delphi/Pascal
  • Rejestracja:ponad 13 lat
  • Ostatnio:2 minuty
  • Lokalizacja:Tuchów
  • Postów:12156
1

Program zawsze można opublikować bez licencji; Przy okazji - http://4programmers.net/Regulamin określa licencję:

§3. Materiały umieszczone w serwisie napisał(a)
  1. Materiały umieszczone w serwisie i dostępne do ściągnięcia (pliki binarne), w tym obrazy i pliki multimedialne rozprowadzane są na zasadzie licencji pozwalającej na darmowe rozpowszechnianie (np. GNU/Freeware/Shareware).

Z automatu "jakaś" licencja zostanie nadana :]


Pracuję nad własną, arcade'ową, docelowo komercyjną grą z gatunku action/adventure w stylu retro (pixel art), programując silnik i powłokę gry od zupełnych podstaw, przy użyciu Free Pascala i SDL3. Więcej informacji znajdziesz na moim mikroblogu.
dzek69
To chyba dotyczy materiałów naukowych z Kompendium?
flowCRANE
§4. tego nie określa, natomiast §3. odnosi się do całego serwisu; Przynajmniej na to wygląda ;)
A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0

@furious programming
@GregoryI
@dzek69
@LukeJL

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:3 dni
  • Lokalizacja:Rzeszów
2
Kopiuj
else if(ComboBox1->Text==1){arg_modulo=pow(9,1);arg2=1;}
	else if(ComboBox1->Text==2){arg_modulo=pow(9,2);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==3){arg_modulo=pow(9,3);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==4){arg_modulo=pow(9,4);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==5){arg_modulo=pow(9,5);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==6){arg_modulo=pow(9,6);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==7){arg_modulo=pow(9,7);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==8){arg_modulo=pow(9,8);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==9){arg_modulo=pow(9,9);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==10){arg_modulo=pow(9,10);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==11){arg_modulo=pow(9,11);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==12){arg_modulo=pow(9,12);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==13){arg_modulo=pow(9,13);arg2=arg_modulo/10;}
	else if(ComboBox1->Text==14){arg_modulo=pow(9,14);arg2=arg_modulo/10;}

Co by było, gdybyś chciał obsłużyć w programie 500 liczb?


A9
Tak, wiem, że to brzydko wygląda i jest złożone ale słabo znam środowisko, na którym pracuję i tak było zwyczajnie szybciej i łatwiej.
LukeJL
To poznaj i przepisz ładniej.
LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:3 minuty
  • Postów:8398
1

I dlatego warto pokazywać kod innym :)

BTW w jakim IDE to pisałeś? Wygląda jak kod z borlandowskiego C++ Buildera (to jeszcze istnieje?)

no i parę uwag do kodu:

  • komentarze po polsku zamiast po angielsku (pół biedy, jeśli dopiero zaczynasz),
  • ale: komentarze z polskimi ogonkami, co już nie powinno mieć miejsca (efekt jest taki, że u mnie widać krzaczki - przypuszczalnie dlatego, że kodowanie jest inne. Nie wiem jak teraz, ale kiedyś w Windowsach domyślnie było CP1250 zamiast uniwersalnego UTF8).
  • niektóre komentarze wynikają z tego, że zmienne zostały źle nazwane albo zadeklarowane w nieprzemyślany sposób. Gdybyś nazwał zmienną bardziej opisowo niż x to by żaden komentarz nie byłby potrzebny. Tak samo gdybyś użył bardziej sensownego dla operation niż bool to nie miałbyś potrzeby dawać komentarza: dodawanie/odejmowanie (bool jest o tyle bez sensu, że jak będziesz chciał dodać mnożenie i dzielenie, to już nie dodasz, bo przewidziałeś tylko 2 operacje - true/false, lepszy byłby pewnie jakiś enum, czy co tam się w C++ daje). Z kolei przy count wiadomo, że jak nazwiesz zmienną count to jest to liczba znaków. Więc komentarz niepotrzebny (ew. możesz nazwać zmienną np. charCount żeby zaznaczyć, że to liczba znaków a nie słoni).

No i ogólnie mam wrażenie, że bardzo słabo znasz elementy języka i środowiska, w którym piszesz (tak jakbyś same ify znał i wszystko rozwiązywał za pomocą ifów, nawet piętnastu naraz), co oznacza, że jeśli chcesz pójść dalej to warto się zatrzymać i poznać mocniej fundamenty (nie pytaj mnie o szczegóły tych fundamentów, bo w C++ pisałem dawno temu już, więc nie poradzę co do książek/źródeł wiedzy/whatever).


edytowany 1x, ostatnio: LukeJL
A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0
LukeJL napisał(a):

I dlatego warto pokazywać kod innym :)
BTW w jakim IDE to pisałeś? Wygląda jak kod z borlandowskiego C++ Buildera (to jeszcze istnieje?)

C++ Builder XE z 2010 roku. I tak, istniej i jest ciągle rozwijane.

LukeJL napisał(a):

Tak samo gdybyś użył bardziej sensownego dla operation niż bool to nie miałbyś potrzeby dawać komentarza: dodawanie/odejmowanie (bool jest o tyle bez sensu, że jak będziesz chciał dodać mnożenie i dzielenie, to już nie dodasz, bo przewidziałeś tylko 2 operacje - true/false, lepszy byłby pewnie jakiś enum, czy co tam się w C++ daje).

Nie przewiduję dodawania mnożenia i dzielenia.

LukeJL napisał(a):

No i ogólnie mam wrażenie, że bardzo słabo znasz elementy języka i środowiska, w którym piszesz (tak jakbyś same ify znał), co oznacza, że jeśli chcesz pójść dalej to warto się zatrzymać i poznać mocniej fundamenty (nie pytaj mnie o szczegóły tych fundamentów, bo w C++ pisałem dawno temu już, więc nie poradzę co do książek/źródeł wiedzy/whatever).

Słabo znam środowisko ale dobrze znam fundamenty języka. I tak, wiem switch by był lepszy do tego zamiast if ale switch mi z tym nie chciał z tym działać. I wiem z czego się uczyć, mam PDFy dwóch książek do C++.

AM
  • Rejestracja:około 12 lat
  • Ostatnio:około 10 godzin
  • Postów:194
2
amb00 napisał(a):
LukeJL napisał(a):

No i ogólnie mam wrażenie, że bardzo słabo znasz elementy języka i środowiska, w którym piszesz (tak jakbyś same ify znał), ...

Słabo znam środowisko ale dobrze znam fundamenty języka.

Muszę Cię zmartwić, ale nie, nie znasz fundamentów. Weź tę książkę co masz i przeczytaj chociaż raz (całą dokładnie).
Wtedy (za jakieś 1-2 lata) sam przyznasz, że mieliśmy racje.

A9
No dobra ale co dokładnie jest w kodzie świadczącego o tym, że nie znam fundamentów?
LukeJL
No właśnie ten dziwny if to wygląda tak jakbyś nie znał funkcji / nie umiał zdefiniować własnej funkcji (poza tymi, które sobie wyklikasz) i dlatego zamiast zrobić funkcję, która bierze jako argument liczbę, którą przekaże dalej do funkcji pow- robisz niepotrzebne ify i twierdzisz, że wiesz, że "switch by był lepszy" (taki sam by był, bo przecież to dalej byłoby ileś niepotrzebnych warunków zamiast jednej funkcji).
1

@amb00 eh, zamiast tych elfów i switchów mogłeś po prostu zrobić funkcję. :)

LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:3 minuty
  • Postów:8398
1

Nie przewiduję dodawania mnożenia i dzielenia.

to znaczy, że myślisz krótkowzrocznie, nie wiem czy jest się czym chwalić...


0

Niektórzy szacują (ja się zgadzam), że skuteczność antywirusów to ok 30%, także nie przekonuje mnie to

Najlepsze z najlepszych znajdują do 60% zagrożeń, a słabsze (komercyjne!) wykrywają zaledwie 15-25%. Czytałem art. chyba w benchmarku.

Poza tym były artykuły, że niektóre antywirusy mają charakter szpiegowski, tzn. wysyłają do siebie różne informacje z naszego dysku (np. listę plików, itp.). Nie tylko windows to spy software :)

LukeJL
Ogólnie antywirusy to takie malware - np. instalują szpiegujące dodatki do przeglądarek, różne toolbary, a także zamulają kompa.
AM
  • Rejestracja:około 12 lat
  • Ostatnio:około 10 godzin
  • Postów:194
1

Pobieżne rzucenie okiem:

  • Nazywanie zmiennych
  • Button1..N nie jako tablica
  • Korzystanie z starych headerow .h?
  • Implementacja funkcji ButtonXClick z wykorzystaniem metody pana Zelenta :P czyli 'uber-copy-paste method' (to wszystko powinno być wyciągnięte do zewnętrznych funkcji)
  • Cala masa dziwnych zmiennych globalnych
  • Zła intendancja kodu
  • Pokrętna logika w TForm1::EnterClick + brak podziału na funkcje
  • Gdy patrze na TForm1::ComboBox1Change to aż oczy bolą
Kopiuj
if(ComboBox1->Text==1)arg_modulo=10;
else if(ComboBox1->Text==1){arg_modulo=pow(9,1);arg2=1;} 

Jesteś pewny, że to działa tak jak chcesz?

Więc sam widzisz problem jest praktycznie w każdym kawałku kodu.

Moim zdaniem po prostu wyklikałeś program w borlandzie + dodałeś trochę kodu od siebie, ale sam do końca nie wiesz jak to tam wszystko działa.

Ten post nie ma na celu Cię demotywować, masz 19 lat, pracuj ciężko i będą z Ciebie ludzie.

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:3 dni
  • Lokalizacja:Rzeszów
2

Nie chcę hejtować za bardzo, ale jak można mówić, że zna się fundamenty jakiegoś języka, ale "switch mi nie chciał działać, więc zrobiłem na ifach". Lepszego przykładu, że fundamentów nie znasz nie dało się chyba podać :)


A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0

@dzek69 @LukeJL @amd Wiem, że trochę to brzydko wygląda ale:
-Po pierwsze, to mój pierwszy większy okienkowy program jaki kiedykolwiek napisałem. Choć ogarniam klasy, dziedziczenie, polimorfizm, itp. to miałem problemy z ogarnięciem interakcji pomiędzy rożnymi elementami programu.
-Po drugie, wiem, że ten fragment kodu z comboboxem słabo wygląda ale robiłem to na szybko aby w ogóle działało i potem miałem zamiar użyć lepszej metody, bo docelowo miałem zamiar publikować tylko binarkę.

BTW. A jak byście ocenili nie sam kod ale gotowy program z punktu widzenia zwykłego użytkownika?

0

Nieprzydatny. Tyle wiem z kodu i opisu.

Sam program nie ma ikony (tj. domyślna ikona), a przy uruchamianiu wywala 4x komunikat, po czym nic się nie dzieje.

Kopiuj
---------------------------
What Number beta.exe - Błąd systemu
---------------------------
Nie można uruchomić programu, ponieważ na komputerze nie znaleziono rtl150.bpl. Spróbuj ponownie zainstalować program, aby naprawić ten problem. 
---------------------------
OK   
---------------------------
A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0

Tutaj jest działająca wersja: hxxp://przeklej.org/file/AMFwep/What.Number.beta.exe ( PLIK POTENCJALNIE NIEBEZPIECZNY - @dzek69 )
Wtedy zapomniałem o dołączeniu potrzebnych bibliotek.

edytowany 3x, ostatnio: dzek69
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:3 dni
  • Lokalizacja:Rzeszów
0

Wklej to na jakiś NORMALNY hosting, bo przeklej.org albo dokleja trojany albo pokazuje jakieś fałszywe przyciski z downloadem. Wrzuć jako załącznik do posta np.


A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0

Już.

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:3 dni
  • Lokalizacja:Rzeszów
1

Ok. Więc

  1. Program jest brzydki, ekstremalnie. Ot kilka kontrolek porozrzucanych byle jak, teksty nawet marginesów od brzegu okna nie mają. Nie zachęca to do korzystania z niego.
  2. Nie można korzystać z klawiatury do wprowadzania odpowiedzi. Po co w ogóle te kontrolki wyjęte z kalkulatora?
  3. Przycisk "Random" nie sugeruje, że tym rozpoczyna się "rozgrywkę".
  4. Niejasny do pewnego momentu "+" przy wpisywaniu odpowiedzi. Z początku myślałem, że będzie on sugerował operację, której mam dokonać, a okazuje się, że nie. Sam zaznaczony checkbox to za mało. Dodaj w drugim wierszu znak operacji, a przy wyniku daj =, przy dodatnim wyniku nie wyświetlaj tego plusa, dopiero minus przy ujemnym.
  5. Podpis z aż trzema wariacjami Twojego nicku na połowę szerokości okna programu. Demaskuje to informację, że autor jest totalnym amatorem, który pierwsze co wrzuca do programu to swój podpis, który musi być widoczny cały czas, a jeżeli nie cały czas to na pewno na powitanie, zakończenie i czasem po środku wykonywania programu. Ta namiętność występuje niezależnie od języka, ale kojarzy się z klasykiem: Mamo, mamo, umiem PHP!

No i najważniejsze: Nawet piękne i wygodne sumowanie/odejmowanie liczb, żeby dowiedzieć się, że zrobiłem to w 6 sekund jest zwyczajnie nudna. Program nie niesie za sobą żadnej wartości. W przypadku takich programów lepiej pytaj o ocenę kodu, bo ten jeszcze może mieć jakąś wartość.


A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0

@dzek69
2. Słyszałem sugestię, że ludzie z reguły wolą używać myszki.
3. Co innego sugerujesz?
5. No wiem, że to średnio wygląda ale miałem zamiar to zmienić w finalnej wersji.
Co do przydatności, to program edukacyjny, który ma uczyć szybkiego liczenia w pamięci, więc nie zainteresuje on wielu osób. Chciałem zrobić coś oryginalnego. Dzięki za opinie :)

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:3 dni
  • Lokalizacja:Rzeszów
0
  1. Do wpisywania danych/cyfr? To dlaczego komputery w ogóle mają fizyczną klawiaturę, jak można zrobić ekranową? Wolą używać, tam, gdzie ma to sens, czyli np. do szybkiego przemieszczania się pomiędzy elementami interfejsu - np. ekran z 50 kontrolkami, gdzie z klawiatury musiałbyć 50 razy pacnąć "TAB", żeby dostać się do ostatniej. Ale np. do przełączania okien w systemie operacyjnym to nawet nietechniczni ludzie używają czasem ALT+TAB.

  2. "Start"?

  3. Czekamy na nią :)

Programy edukacyjne mogą być ładne i dające więcej przyjemności niż "zsumuj dwie wyświetlone pod sobą liczby" :) Losowe przykłady:
http://www.topmarks.co.uk/maths-games/5-7-years/addition-and-subtraction
http://www.topmarks.co.uk/maths-games/7-11-years/addition-and-subtraction

Twój program jest zupełnie nieoryginalny, bo takich rzeczy jest masa - są jednak zbyt proste i nudne, żeby siedziały wysoko w google, więc musiałbym za nimi grzebać, żeby znaleźć, no ale takie rzeczy też widziałem, tyle, że ładniejsze (i nie chodzi mi o wrzucanie żabek i latających ptaszków, tylko o oprawę będącą czymś więcej niż zwykłym tekstem na zwykłej formie).


A9
  • Rejestracja:ponad 8 lat
  • Ostatnio:7 miesięcy
  • Postów:408
0

Porzucam program, bo robienie go po prostu nie ma sensu, zajmuję się obecnie innymi projektami. Jakieś 2 miesiące temu powtórzyłem sobie jeszcze raz wszystko od podstaw w pewnej książce do C++, przejrzałem też na szybko książkę "Język ANSII C", drugą edycję. I okazało się, że nie prawie miałem braków w wiedzy, jeśli chodzi o składnię, instrukcje, operatory, itp. przynajmniej jeśli chodzi o programowanie strukturalne. Po prostu nie przemyślałem tego jak dokładnie ma działać ten program.

dzek69 napisał(a):

Nie chcę hejtować za bardzo, ale jak można mówić, że zna się fundamenty jakiegoś języka, ale "switch mi nie chciał działać, więc zrobiłem na ifach". Lepszego przykładu, że fundamentów nie znasz nie dało się chyba podać :)

Zapomniałem wtedy, że switch nie działa ze stringiem. Chciałem wspomnieć o tym aby uratować swój honor :D

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)