Prośba o doradzenie systemu/języka przemysłowego

Prośba o doradzenie systemu/języka przemysłowego
FR
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 7 lat
  • Postów:24
0

Hejka,

bardzo bym prosił by pomógł mi ktoś wybrać (doradził) język programowania, który by pasował do moich oczekiwań i gdyby ktoś mógł odpowiedzieć na parę pytań.

  1. Zastanawiające jest dla mnie programowanie mikrokontrolerów np AVR (chociaż bardziej plc, które zawsze dobrze mi szło) i wiem, że opiera się on na języku programowania "C", czy ucząc się c++ (ponieważ ogólnie bardziej mi się podoba), będę jednocześnie potrafił zwykły język "C" ? Teoretycznie opiera się na "C", ale czy nie ma dużej różnicy, czy jednak spora?

2.Szukam jeszcze jednego programu (języka) do nauki, generalnie moim celem jest stworzeni firmy, która będzie zajmować robieniem programów dla przemysłu oraz tworzeniem stron internetowych. Poszukiwałbym czegoś takiego, co daje duże możliwości, w miarę rozsądny czas tworzenia itd. Zależy mi by można było w tym programowaniu (dziedzinie itd) móc osiągnąć profesjonalizm. Myślałem tutaj o 2 językach
a) C#
b) Java
Szukałem dużo na internecie, ale porównanie dotyczy tylko robienia aplikacji smartfonowych, co w ogóle nie jest w polu moich zainteresowań.

  1. Ogólnie do powyższych obszarem moich zainteresowań jest automatyka i przemysł, dobrze znam programowania (PLC) w firmowych developerach, programowanie typu FBD (bramki logiczne), a juz najbardziej LAD, czyli taka wizualna drabinka, było dla mnie czymś super i sama logika programowania strasznie mi się podobała, fajnie by było, żeby ten język miał podobną logikę programowania.
atmal
  • Rejestracja:prawie 8 lat
  • Ostatnio:2 dni
  • Postów:913
0

Jeżeli chciałbyś programować AVR (czy inne) w C to po co uczyć się C++ jak może skończyć się na tym, że nie użyjesz 90% funkcjonalności C++ w uC?
Co prawda jest Arduino który jest oparty C++ ale więcej się tu nie wypowiem bo nie znam tej platformy.


Failure of one test is a tragedy, failure of fifty is a statistic.
FR
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 7 lat
  • Postów:24
0

Programowanie AVR to nie jest to, do czego chciałbym się ograniczyć, a wydaje mi się, że teraz się stopniowo już od zwykłego "C" odchodzi.

A mógłby ktoś się wypowiedzieć w temacie tych dwóch języków, na którym skupiając się czułbym się usatysfakcjonowany ?

atmal
  • Rejestracja:prawie 8 lat
  • Ostatnio:2 dni
  • Postów:913
0
Frekz napisał(a):

wydaje mi się, że teraz się stopniowo już od zwykłego "C" odchodzi.

W AVR'ach nadal króluje C.
Chyba, że myślisz o architekturze ARM na których będzie Embedded Linux co da Ci już więcej możliwości co do wyboru języka - z tego co wyczytałem da się programować w Pythonie właśnie na takim systemie.


Failure of one test is a tragedy, failure of fifty is a statistic.
Pieter24
  • Rejestracja:około 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:90
2

Zadałeś pytanie, które wywoła wiele burzy :P Czy lepsze C czy C++. Mogę się tylko wypowiedzieć jak to z mojego punktu widzenia wygląda. Ogólnie programując mikrokontrolery takie jak avr itd. nie ma sensu pchać się w c++. Programy w C++ są nieco większe a korzyści z użycia języka obiektowego są niewielkie. Dodatkowo zwykle 75% pracy to czytanie dokumentacji jaki to rejestr masz skonfigurować, co gdzie wpisać i sam C Ci do tego wystarczy. Pozostałe 25% to właśnie ta Twoja logika programu.
Dodam jeszcze od siebie, ze jak dopiero zaczynasz przygodę z mikrokontrolerami to avr jest jak najbardziej odpowiednie bo jest prosty w swoim działaniu i wiele się nauczysz jednak biznesowe projekty w 99% korzystając z mikrokontrolerów arm. O ich zaletach znajdziesz mnóstwo informacji w internecie. Jak będziesz chciał się pobawić arm'em to polecam zacząć od mikrokontrolerów STM32. Posiadają one bardzo dobrą dokumentację i pisanie aplikacji pod nimi jest bezproblemowe. Dodatkowo STM wprowadził sobie tzw. biblioteki HAL. Stanowią one wysokopoziomowy interfejs do części sprzętowej mikrokontrolera. W praktyce oznacza to, że zamiast wpisywać do rejestrów pojedyńcze bity wykorzystujesz jedną z funkcji z biblioteka HAL, która to robi za Ciebie.
Mogę przytoczyć jeszcze jedną zaletę języka C. Jakiś czas temu miałem spotkanie z firmą, która to jest podwykonawcą dla Amerykańskiego DARPA. Zajmowali się właśnie częścią programową mikrokontrolerów i używali czystego C (dla większego bezpieczeństwa, mniejszego kodu, itp.) oraz bibliotek także napisanych w C w celu zapewnienia wielowątkowości.
Trochę inaczej ma się sprawa gdy stawiasz sobie na tym mikrokontrolerze jakieś system operacyjny jak np. RTOS. Wtedy programowanie w języku C++ jest trochę łatwiejsze bo zaczynasz pisać program trochę jakbyś pisał do wykonywania na komputerze.
Jeżeli postawisz sobie jakiegoś linuxa to twój problem się rozwiązuje bo wtedy piszesz już w czym tylko dusza zapragnie.
Podsumowując myślę, że powinieneś się skupić na języku C a jeżeli będziesz musiał napisać coś w C++ to wtedy dość prosto (mając podstawy z C) przejdziesz na niego.

Jako drugi język do nauki polecam java. Jest ona dość prosta, bardzo duże wsparcie programistów więc jak będziesz miał problem na pewno znajdziesz rozwiązanie. Choć w temacie wyższości jednego języka nad drugim nie chce się wypowiadać bo każdy z nich ma swoje zalety.
Uf ale się rozpisałem. To jeszcze w temacie PLC coś powiem :P Także na nie pisałem. Wiele firm wykorzystuje właśnie ten język drabinkowy (LD) ze względu na jego prostotę i sposób w jaki przedstawia on wykonywanie zadań. Patrząc na taką (prostą) drabinkę nawet niedoświadczona osoba (czyli np. elektryk w zakładzie) będzie wiedział mniej więcej jak to działa i jak to zwykle w bywa samemu coś poprawić jak się zepsuje :P Pamiętaj tylko, że oprócz LD mamy też SFC, FBD, St, IL oraz jak mnie pamięć nie myli ASTOR umożliwia robić wstawki w języku C (widzisz, kolejna zaleta C ). Zostają jeszcze panele HMI do oprogramowanie ale jak ogarniesz komunikację miedzy PLC a HMI co zwykle sprowadza się do "wyklikania" ustawień to samo projektowanie wizualizacji panelu zwykle opiera się na metodzie drag'n'drop

Mam nadzieję, że Ci choć trochę pomogłem i nie zamieszałem zbyt :P

edytowany 2x, ostatnio: Pieter24
PI
Mikrokontroler to nie komputer, a śledź to nie ryba ;)
FR
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 7 lat
  • Postów:24
0

Dzieki za dluga odpowiedz :D, a powiedz mi, uzywaja jeszcze ludzie jezyka "C" ? Bo tak ogladajac wszystkie statystyki to raczej wyglada jakby popularnosc tego jezyka malala, a tez troche uczyc sie jezyka, ktory "odchodzi do lamusa" byloby jak strzal w kolano w przypadku prowadzenia firmy i proby jako tako wyczucia rynku. O tyle o ile uczyc sie 2 jezykow programowania nie byloby dla mnie problemem o tyle proba nauki 3 jednoczesnie mogloby sie skonczyc bolem glowy, ty bardziej, ze mam dosyc napiety grafik.

Dlatego tez tak dopytuje, bo w sumie mam od jakiegos czasu zakupiona ksiazke Szkola Programowania C++ jak dobrze kojarze i zastanawiam sie, czy uczenie sie z tego duzo odbiega np od zwyklego "C" i czy lepiej jednak zakupic ksiazke do "C" i tego sie uczyc? Pytam z tego powodu, ze inwestycja pieniedzy nie jest dla mnie az takim problemem, ale inwestycja czasu w cos ,co tak naprawde w chwili gdy sie naucze bedzie powiedzmy juz troche bolesna. Bo trzeba wziac pod uwage, ze nauczenie sie programowania na poziomie, gdzie moge to "sprzedac" to licze sobie 4-5 lat, a boje sie, ze to tego czasu sie wycofaja z "C"

edytowany 1x, ostatnio: Frekz
Pieter24
  • Rejestracja:około 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:90
0

Te statystyki, które widziałeś pewnie dotyczyły ogólnie wszystkich języków programowania (tam pewnie java była na pierwszym miejscu). W wypadku mikrokontrolerów w większości przypadków spotkasz się z językiem C, którego popularność na tych platformach jest bardzo duża. Możesz sobie też pooglądać różne projekty na np. github dotyczące avr, arm itp. i sam sobie porównasz ile z nich jest w C a ile w C++. Nie chcę Cię martwić ale jak chcesz to sprzedawać to niestety musisz poznać zarówno C jak i C++ a najlepiej jakbyś jeszcze asemblera (ale to na końcu w wolnej chwili) do tego dorzucił bo jak Ci coś nie będzie działać to już jest niskopoziomowa zabawa :/
Musisz tylko znać różnice między takim standardowym proceduralnym pisaniu kodu, wymianie danych między peryferiami itp. (czyli prawie 95% to C) a wysokopoziomowym programowanie (czyli tak jak programujesz na komputerze) gdzie stawiasz sobie linuksa albo coś podobnego na klocku i tam już dusza wolna w czym będziesz pisał (choć i tak jak będziesz chciał sterować peryferiami podłączonymi do mikrokontrolera będzie to C, rzadziej C++ czasem też java bądź python albo jeszcze inny framework jak np. LUA). Podsumowując ja i tak uważam, że warto zacząć od C ale może jeszcze poczekajmy jak ktoś inny się wypowie. Fajnie byłoby gdybyś sobie znalazł jakiś staż w firmie, która zajmuje się właśnie embeddami i tam na żywo zobaczysz jak to wygląda, jak się wybiera język, technologie, sprzęt itp. Na pewno nauczysz się więcej niż z książki a dodatkowo pozwoli Ci to poznać rynek.
Jeżeli chodzi Ci o sam rynek IT i język C to jest on bardzo rzadko używany. Pytają o niego głownie na rekrutacji bo fajnie jak go znasz i jak trafi do was jakiś kod w C to sobie poradzisz. A tak to króluje (jako back-end) Java, C++, C# itd. Zresztą co chwile są udostępniane w necie nowe statystyki, który to język jest teraz na topie.
Jeszcze dodam tylko, że ta książka która kupiłeś owszem nauczy Cię podstaw C++ ale niewiele o embeddach. Jak chcesz się bawić w embeddy to znajdź coś innego bo programowanie ich jest troszkę bardziej skomplikowane niż pisanie programów na komputer. Tam prócz wykonywania cześć logicznej kodu (czyli np. wyliczanie jakieś wartości) sterujesz też licznymi peryferiami, które to musisz umieć skonfigurować i obsłużyć.

edytowany 3x, ostatnio: Pieter24
PI
Mikrokontroler to nie komputer, a śledź to nie ryba. ;)
Pieter24
Zawsze mnie na studiach ganiali wykłądowcy za takie stwierdzenia :P Jakby na to spojrzeć to mikrokontroler jest to monolityczny układ scalony posiadający wbudowaną pamięc, procesor, peryferia, itd. itp. a w wypadku komputera masz (choć połączone ze sobą) wiele scalaków. Choć nie upieram się przy swojej def. :D
PI
@Pieter24: ENIAC w ogóle nie miał scalaków, a był komputerem. ;)
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
0

Warto poznać gołe C ze względu na to że jest to bardzo prosty język a jednocześnie często wykorzystywany w projektach sprzętowo-programowych.
Ale jest jeszcze kilka domen w których C jest stosowane, np. HPC.
Polecam przerobić przynajmniej jedną książkę o tym języku.
A potem co będziesz się uczył to powinno zależeć głównie od tego czym się będziesz interesował.
Java czy C++ to języki o wielu zastosowaniach, ale też raczej są to zastosowania różne.
Być może będziesz chciał je poznać potem oba. Java jest łatwiejsza, ale C++ jest bardziej zbliżony do C (jest jego nadzbiorem).
W C++ szybciej znajdziesz robotę na mikrokontrolery (czy SoC) niż w Javie.
Java obecnie na tego typu maszynkach zdarza się, ale to chyba niszowe rozwiązania (odbiorniki satelitarne, WebSphere Liberty na Raspberry Pi, możliwe że telewizory - smart TV).

Tu np. okazuje się że Smart TV można programować w JavaScript:
http://blog.atena.pl/platforma-developerska-samsung-smarttv

edytowany 1x, ostatnio: vpiotr
PI
  • Rejestracja:prawie 13 lat
  • Ostatnio:5 miesięcy
  • Postów:227
0
  1. C jest na drugim miejscu . https://www.tiobe.com/tiobe-index/
  2. Mikrokontroler to komputer.
edytowany 1x, ostatnio: pioflor
Zobacz pozostałe 3 komentarze
PI
@vpiotr : Dlaczego mylący? VBA to również programowanie. A USA są również na świecie i ich wkład też powinien się liczyć do globalnych statystyk.
vpiotr
@pioflor: bo miesza liczbę ofert pracy, aktualnych pytań na SO i zainteresowanie tematem. Czyli (tak przerysowując) języki które są przestarzałe i nikt się nimi nie interesuje, ale mają dużą masę kodu i ofert pracy konkurują z językami których mało kto używa w pracy ale wszyscy się nimi jarają.
Pieter24
Mikrokontroler to nie do końca komputer. Def. według wiki masz następującą: scalony system mikroprocesorowy, zrealizowany w postaci pojedynczego układu scalonego zawierającego jednostkę centralną (CPU), pamięć RAM oraz rozbudowane układy wejścia-wyjścia i na ogół pamięć programu jako FRAM, MRAM, ROM lub Flash. Czyli mikorokontroler ma jakby w jednej kostce scalone wiele elementów/peryferiów. W wypadku komputera (choć są one połączone) masz je "rozrzucone". Zresztą na studiach zawsze mnie uczyli mikrokontroler to NIE komputer :P ale to pewnie kwestia prowadzącego.
PI
@Pieter24: W ENIAC nie ma żadnych układów scalonych.
Pieter24
@pioflor: Hahahaha, dobra wygrałeś :D
FR
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 7 lat
  • Postów:24
0

Ja niestety niemam mozliwosci znalezienia sobie stazu w w.w branzy. Ogolnie ja mam parace na etacie jako specjalista od automatyki, ale nie jest to strikte praca, ktora chce wykonywac zawsze, a przynajmniej nie zarabiac na kogos. Do tego dochodza studia automatyczne, gdzie moge co prawda posmakowac troche zycia (programowanie i projektowanie), ale abstrachujac od tego jak patrza chlopcy na dziennych, niestety wiem, ze ta technologia i sposob, ktore nauczaja na studiach jest malo spojna z zyciem i normalna praca (mimo nawet dobrej uczelni). Najlepszy przyklad mialem po elektronice, gdzie pan po 30, doktor specjalista w swojej dziedzinie opowiadal o najnowszej technologii, ktora w prawdziwym swiecie jest juz o 50 lat przestarzala...

Co do zarobkowego posiadania firmy jesli chodzi o programowanie mysle, ze raczej bym bazowal na tworzeniu stron internetowych. Bardzo fajnie mozna zarabiac na przerabianiu sterowan maszyn produkcyjnych, gdzie koszty sa w tysiacach a zyski w setkach tysiecy, ale nie jest to najlepszy rynek na poczatek niestety, jedyne co wystarczy znac to sterownia siemensa, mitsuishi i haidenhaina zazwyczaj, poniewaz sa najpopularniejsze, chyba , ze Fanuca po kosztach xD.

Co do tego co pisales o plc ja generalnie potrafie dosc dobrze LAD, SFC, FBD, z IL jest duzo gorzej, poniewaz nigdy mi nie byl potrzebny, jedynie gdzie te rodzaj kodu spotkalem to na maszynach 40 letnich, ale nawet tutaj, zeby ktos zalaczyl program PLC bywa ciezko (zazwyczaj robia z tego tajemnie), weic znajomosc IL zawsze byla dla mnie tabu :).

Co do "C" to sprobuje :), w sumie z C++ jestem na samym poczatku (50 strona), wiec zle nie bedzie :D, ale mam tez takie moze dosc glupie pytanie, czy sam "C" da sie sprzedac? Tzn czy jest na to popyt jesli chodzi o projekty czy jakies inwestycje?

W sama jave chce wejsc bardziej ze wzgledu na robienie stron internetowych, moze tez jakies pomniejsze programy gdyby bylo zapotrzebowanie.

Mam tez takie pytanie troche z innej beczki. Gdybym chcial stworzyc program, ktory wyswietla mi "mape" i opis maszyn na hali, zrobic dla kazdej stan czesci, naprawy, przeglady itd itd w ramach programu, nie zeby sie wyswietlala lista jak w notatniku, tylko zebym mogl sobie z menu wybrac itd itd. Czy jest mozliwosc robienia podobnych programow np w C lub Javie (warto sobie ulatwiac prace :D ) ?

Ahh i jeszcze jaka ksiazka do tego "C" bedzie fajna? Podpowiem Od razu, ze probowalem juz jakis czas temu C++ z "Symfonia" jak dobrze pamietam tytul i kompletnie nie podeszlo to do mnie.. jak mi nawali 40 petli jedna po drugiej to uznalem, ze ten pan chce mnie chyba oszalec :).

edytowany 1x, ostatnio: Frekz
vpiotr
  • Rejestracja:ponad 13 lat
  • Ostatnio:prawie 3 lata
0
Frekz napisał(a):

Mam tez takie pytanie troche z innej beczki. Gdybym chcial stworzyc program, ktory wyswietla mi "mape" i opis maszyn na hali, zrobic dla kazdej stan czesci, naprawy, przeglady itd itd w ramach programu, nie zeby sie wyswietlala lista jak w notatniku, tylko zebym mogl sobie z menu wybrac itd itd. Czy jest mozliwosc robienia podobnych programow np w C lub Javie (warto sobie ulatwiac prace :D ) ?

Jeśli chodzi o GUI to w Javie zrobisz to raz na kilka systemów.
W C++/Qt zrobisz to raz, ale będziesz musiał przekompilować na każdy system osobno.
W C to raczej jakieś tylko proste interfejsy (w rodzaju kasy fiskalnej czy panelu sterowania maszyny).

Do C polecam:

  • Język ANSI C. Programowanie. Wydanie II, Brian W. Kernighan, Dennis M. Ritchie (klasyka)
  • Język C. Szkoła programowania. Wydanie VI, Stephen Prata

Ew. możesz spróbować książki "łączonej":

  • "Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji", Tomasz Francuz (nie czytałem)

Tu masz więcej: http://helion.pl/kategorie/programowanie/c

edytowany 1x, ostatnio: vpiotr
Pieter24
dorzucę: Mikrokontrolery STM32 w praktyce oraz STM 32. Aplikacje i ćwiczenia w języku C
Pieter24
  • Rejestracja:około 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:90
0

Z tym IL masz rację, też się raz w życiu tylko z nim spotkałem :P ale talk z rozpędu napisałem. Samo C sprzedasz jak będziesz programował army itp. Jeżeli będziesz robił bardziej w IT to z samym C raczej się nie sprzedasz. Zobacz sobie oferty pracy tam masz przede wszystkim języki obiektowe wymagane i frameworki. Nie mówię, że nie ma sensu w C się pchać bo może Ci się trafić w nim jakieś zastany kod. Usiądź sobie na spokojnie, zobacz co najbardziej Cie interesuje czy front-end (czyli tworzenie stron internetowych) i tu masz HTML,css, bootstrap, javascript, angular, js, php, bower i setkę innych języków/frameworków czy bardziej back-end (odpowiadający za logikę,sterowanie itp.) i w tym wypadku masz tą Jave, C#, C++, Spring i inne frameworki i wszystkie takie języki. I trzecia opcja full-stack połączenie oby dwóch.
Co do tej mapy to tu już polecam języki wysokopoziomowe bo wprowadzając abstrakcje dużo łatwiej się to pisze więc możesz sobie wybrać jaki dokładnie chcesz. Od siebie jak zwykle mogę polecić Jave (bo ją uwielbiam :D) a tak poważnie zakładam, że do tej mapy chciałbyś aby miał dostęp każdy na hali aby móc wrzucać nowe informacje, zmieniać statusy itp. więc najlepiej byłoby to zrobić właśnie w formie strony internetowej. Jako back-end możesz wykorzystać Jave/Spring framework a front-end to już sam wybierzesz.
Dodam jeszcze, że dla takich celów jak Ty chcesz jest stworzony specjalny język SAP/ABAP (tworzysz za jego pomocą "program", który to służy właśnie do planowania napraw, zgłaszanie zapotrzebowań na części, planowań zatrzymania maszyny, przeglądów, generowania raportów, zarządzanie zasobami ludzkimi i całe mnóstwo innych rzeczy zależnie jaki moduł dodasz) ale to już wyższa szkołą i bez zatrudnienia się w jakiejś firmie raczej sam się tego nie nauczysz (ze względu na koszty samych licencji itp.)
Najlepiej będzie jak usiądziesz na spokojnie i zastanowisz się co chcesz robić bo widzę, że jesteś rozdarty co Ty chcesz robić w przyszłości :P

edytowany 3x, ostatnio: Pieter24
0

Z systemem Linux, Unix związany jest bardzo blisko język Python. Praktycznie jest wszędzie.

FR
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 7 lat
  • Postów:24
0

A moglibyście jeszcze coś podać (książki) pod Jave? I jaki język byłoby w miarę rozsądnie połączyć z "C" lub "Java" pod ten cały front-end?

0

Lua lub Python, do tego JS.

FR
  • Rejestracja:prawie 8 lat
  • Ostatnio:ponad 7 lat
  • Postów:24
0

Czy bylby ktos w stanie podac jakies fajne ksiazki do javy? Thinking in java czytalem, ze najlepsza, ale nie dla kompletnego zera w programowaniu. Sa tutaj ludzie majacy wyprobowane tytuly i zmierzone z realiami?

Pieter24
  • Rejestracja:około 8 lat
  • Ostatnio:prawie 7 lat
  • Postów:90
0

Tak jak mówisz, Thinking in Java. Możesz też spróbować Java Podstawy i choć jest ona dość fajnie napisana to na początek może być dla Ciebie nuda. Myślę, że najlepiej będzie jak spróbujesz Java Rusz głową. Książka ta napisana jest w mało profesjonalny sposób (w sensie, rozdziały pt. wymyślmy superfotel......) ale jeżeli nic nie umiesz to na początek będzie Ci się najłatwiej czytało (wszystko wyjaśnione bardzo prostym językiem). Po niej już te co podałem

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)