Wyswietlanie wartosci w drugiej formatce

Wyswietlanie wartosci w drugiej formatce
0

Mam problem mianowicie tego typu ze mam dwie formatki(Form1 i Form2). No i chce zrobic tak aby po wcisnieciu buttona(w Form2) tekst w Edicie(Form1) ulegal zmianie ... w jaki sposob mam skonstruowac taka funkcje?? szczerze nie mam nawet pomyslu jak dotad jak to zrobic ...
Prosze o pomoc i z gory dziekuje.

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
0

Jedno z:

  1. Konstruktor Form2 przyjmuje i zapisuje w składowych wskaźnik na Form1.
  2. Form2 wysyła komunikat WM_APP+1 z parametrem określającym zmiany.
  3. (Form1*)(Application->MainForm)->Edit1->Text="xxx";
  4. Wyszukać w (Screen->Forms[i]->ClassName=="TForm1")

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
_13th_Dragon
Jest jeszcze sporo innych bardziej zawiłych metod.
0

Hm... w jaki sposob to zrobic aby to mialo miejsce i nogi? bo szczerze nie rozumiem za bardzo z tym wskaznikiem. gdzie do czego go okreslic?

_13th_Dragon
Jak nie rozumiesz odpowiedzi to albo mów wprost jakiego słowa nie rozumiesz albo przechodź do następnej opcji.
0
_13th_Dragon napisał(a):

Jedno z:

  1. Konstruktor Form2 przyjmuje i zapisuje w składowych wskaźnik na Form1.
  2. Form2 wysyła komunikat WM_APP+1 z parametrem określającym zmiany.
  3. (Form1*)(Application->MainForm)->Edit1->Text="xxx";
  4. Wyszukać w (Screen->Forms[i]->ClassName=="TForm1")

otoz jak zrobic to co opisales w pierwszym punkcie? bo chcilbym miec jakis przyklad bo tak w locie nie lapie
z tym komunikatem w drugim punkcie ogolnie wcale nie rozumiem reszte mniej wiecej ogarniam i wydaje mi sie ze sobie poradze ... No ale musze wiedziec co z tym wskazniikiem i przede wszystkim gdzie...
Prosze o odpowiedz

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
0
Kopiuj
//---------------------------------------------------------------------------

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
 TEdit *Edit1;
 TButton *Button1;
 void __fastcall Button1Click(TObject *Sender);
private:	// User declarations
public:		// User declarations
 __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Kopiuj
//---------------------------------------------------------------------------

#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
class TForm1;                                                                             // <= BARDZO WAŻNE
//---------------------------------------------------------------------------
class TForm2 : public TForm
{
__published:	// IDE-managed Components
 TButton *Button1;
 void __fastcall Button1Click(TObject *Sender);
private:	// User declarations
  TForm1 *Frm;
public:		// User declarations
 __fastcall TForm2(TComponent* Owner,TForm1 *frm);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
//---------------------------------------------------------------------------
#endif
Kopiuj
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"                                                                       // <= BARDZO WAŻNE
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
 : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
 TForm2 *f=new TForm2(Application,this);
 f->ShowModal();
 delete f;
}
//---------------------------------------------------------------------------
Kopiuj
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"                                                                       // <= BARDZO WAŻNE
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner,TForm1 *frm)
 : TForm(Owner), Frm(frm)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm2::Button1Click(TObject *Sender)
{
Frm->Edit1->Text="xxx";
}
//---------------------------------------------------------------------------

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 2x, ostatnio: _13th_Dragon
0

Probowalem w ten sposob i wyskakuje mi

Kopiuj
//---------------------------------------------------------------------------

#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <fstream.h>
TForm1 *Form1; //DECLARATION SYNTAX ERROR
//---------------------------------------------------------------------------
class TForm2 : public TForm
{
__published:	// IDE-managed Components
        TButton *Button1;
        TLabel *Label1;
        TLabel *Label2;
        TLabel *Label3;
        TButton *Button2;
        TButton *Button3;
        TButton *Button4;
        TButton *Button5;
        void __fastcall Button1Click(TObject *Sender);
        void __fastcall Button2Click(TObject *Sender);
        void __fastcall Button3Click(TObject *Sender);
        void __fastcall Button4Click(TObject *Sender);
        void __fastcall Button5Click(TObject *Sender);
private:
        TForm1 *Frm; 	// TYPE NAME EXPECTED
public:
 	// User declarations
     
        __fastcall TForm2(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
//---------------------------------------------------------------------------
#endif 

i nie moge nawet skompilowac przez te dwa bledy a nie wiem co z tym zrobic

MajQel
Do TForm1 *Frm; pojawia sie jeszcze Declaration missing
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
0
Kopiuj
TForm1 *Form1;

zamieniamy na:class TForm1;

Kopiuj

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
MajQel
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 9 lat
  • Postów:92
0
Kopiuj
void __fastcall TForm2::Button5Click(TObject *Sender)
{
  Frm->Edit1->Text = "tT";
}

Edit1 is not member of TForm1 because type is not yet defined

:s

_13th_Dragon
I po kiego przykład robiłem ... Dopisałem w komentarzach co trzeba koniecznie dodać, bo zaraz się okaże że trzeciego nie zrobiłeś.
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
0

Zapomniałeś do Unit2.cpp dołączyć: #include "Unit1.h"


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon
MajQel
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 9 lat
  • Postów:92
0

Nie kompiluje mi sie teraz a blad jest okreslony jako:
[Linker Error] Unresolved external '_Form1' referenced from C:/....?Projekt1.obj

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
1

Pewnie usunąłeś wiersz:

Kopiuj
TForm1 *Form1;

z Unit1.cpp


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
MajQel
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 9 lat
  • Postów:92
0

No faktycznie ... nie wiem po co ale przypadkiem musialem usunac przez pomylke.
Koniec koncow zaczelo dzialac.
Teraz chcialbym przejsc do sedna sprawy mianowicie funkcji ktora ma zawartosci okreslonych editow kopiowac do editow z Form1

Kopiuj
 void przenies (int x)
{
     int a=1*x;
     int b=17*x;
     int p=1;
          for ( a; a<b ; a++)
           {
                dynamic_cast<Frm->TEdit *>(FindComponent("Edit" + (String)p))->Text = dynamic_cast<TEdit *>(FindComponent("Edit" + (String)a))->Text;        		// User declarations
          p++
 }
}

Funkcja ma działac w ten sposob, że pobiera x i na podstawie tego z okreslonych editow przyporzadkowuje wartosci dla editow w Form1... Da sie to jakos przyporzadkowac za pomoca dynamic casta? funkcja zadeklarowac jest w unti3.h i w unit3.cpp ma byc wywolywana.

Moj kod wyglada tak ... kombinowalem jeszcze z tym jakos ale jak dotad nie chce mi sie skompilowac.... w ktorym miejscu jest blad?

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
0

Czy dobrze rozumiem że masz na Form1 Edit1, Edit2, ... Edit17
Zaś na drugiej formatce Edit1, Edit2, ... Edit17, Edit18, Edit19, ... Edit34 lub może więcej
I chcesz przepisać z paczki 17 szt (1..17) lub (18..34) do Form1 (1..17) ?


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
MajQel
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 9 lat
  • Postów:92
0

Otoz to ... chce uzyc do tego jednej funkcji zeby bylo szybciej uzyc dynamic_casta ktorego wielokrotnie stosowalem przy pracy z plikiem.
Ma to wygladac tak ze przy wybraniu okreslonego RadioButtona(jest ich 12 - miesiace), i zatwierdzeniu Buttonem, kopiuje wartosci z jednej kolumny (Edity poustawiane sa w GroupBoxach w kolumny) do Editow w Form1. Jak juz zdazyles zauwazyc jest ich faktycznie 17. program jest zrobiony tak ze kolejnosc jest dobra i nie przypadkowa tzn. Edit1 w Form3 odpowiada Edit1 w Form1 itd. a przy 18 cykl sie powtarza( Edit18 w Form3 odpowiada Edit1 w Form1)...
No i wlasnie chce te wartosci moc spokojnie kopiowac. pozostanie pewnie jak rozroznic RadioButtony zeby kazdy przybieral wartosci int, ale to mozna zrobic recznie (choc niezbyt estetycznie to bedzie wygladac) natomiast z ta funkcja to za bardzo nie mam pomyslu.

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
0
  1. Na formatkę Form1 wrzuć Panel na ten panel przerzuć wszystkie Edit1..Edit17 tylko te 17 kontrolek i nic więcej, inne rzeczy muszą być poza Panelem.
  2. Na formatkę Form2 wrzuć Panel na ten panel przerzuć wszystkie Edit1..Edit17 tylko te 17 kontrolek i nic więcej, inne rzeczy muszą być poza Panelem.
  3. Na formatkę Form2 wrzuć drugi Panel na ten panel przerzuć wszystkie Edit18..Edit34 tylko te 17 kontrolek i nic więcej, inne rzeczy muszą być poza Panelem.

Do funkcji przekazujesz wskaźnik na Panel z Form1 i wskaźnik na jeden z Paneli z Form2
(TPanel F1,TPanel F2)
Kopiowanie całości:
for(unsigned i=0;i<F1->ControlCount;++i) ((TEdit
)(F1->Controls[i]))->Text=((TEdit
)(F2->Controls[i]))->Text;

  1. Zamiast TPanel może być np GroupBox
  2. Jak masz tak potworne ilości kontrolek to zastanów się nad zmianą tego na np StringGrid'a lib TListView lub najlepiej na VirtualTreeView.

Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
MajQel
Ta petla z tego co widze jest problem bo to ma byc tak zeby funkcja wczytywala wartosc int a nastepnie na podstawie tej wartosci decydowala ktore Edity sa kopiowane do Form1(moze kopiowane Edity nie wlasciwe slowo ale wiesz chyba o co mi chodzi)
_13th_Dragon
Tu są kopiowane Edit'y z całego panelu, do funkcji przekazujesz z jakiego panelu.
MajQel
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 9 lat
  • Postów:92
0

No w Form2 jest ponad 200 editow ktore znajduja sie w groupboxach(musza tam byc bo Caption groupboxa jest uzywany jako wczytywana nazwa miesiaca - z pliku ) i w tychze groupboxach sa tez labele opisujace poszczegolne eidty. W Form1 Edity sa bez panela bez niczego i znajduje sie tam jeden GroupBox z podliczeniami (Labele). Nie da rady tego zrobic tak aby nie trzeba bylo w Form1 ograniczac Editow panelem lub groupboxem?
Bo bym musial caly program zmieniac w okolicznosci gdybym uzywal innych metod zamiast tych editow. koniec koncow i tak to zapewne zrobie ale poki co jest mi potrzebne wlasnie takie przerzycanie informacji.

Zobacz pozostały 1 komentarz
MajQel
Sadze ze moze i jest ... ale poki co takie wymogi musi spelniac ten program
_13th_Dragon
Przecież Panel możesz zrobić niewidocznym.
MajQel
Racja, sprobuje w ten sposob chociaz petle chce calkiem inaczej zrobic bo decyzja z ktorego groupboxa bierze Edity jest zalezna od radiobuttonow
_13th_Dragon
Radiobuton decyduje z którego panela będą kopiowane dane, więc odpowiednio wywołuje funkcje. Możesz zrobić drugą funkcje która pobiera wartość z Radiobuton i na podstawie tego wywoła wywoła tą funkcje z odpowiednim drugim parametrem.
_13th_Dragon
Czy możesz pokazać obrazek tej TForm2 ?
_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:2 miesiące
1

To zrób to tak, w klasie TForm1
TEdit *Tb[17];
W konstruktorze TForm1
Tb[0]=Edit1;
Tb[1]=Edit2;
...
Tb[16]=Edit17;
W klasie TForm2
TEdit *Tb[NieWiemIle][17];
Tb[0][0]=Edit1;
Tb[0][1]=Edit2;
...
Tb[0][16]=Edit17;

Tb[1][0]=Edit18;
Tb[1][1]=Edit19;
...
Tb[1][16]=Edit34;

Jak kopiować to chyba się domyślisz.
Z tym ze przy takich ilościach editbox'ow przy potrzebie dodatkowych opisów koniecznie trza przejść na VirtualTreeVew

Wg mnie musisz stworzyć odpowiedni Frame i wstawiać na formatki na Form1 jednego a na Form2 kilka takich Frame'ów.
We Frame zrobić to dynamicznie.
przed klasą:

Kopiuj
const char *Names[]={'Nazwa1','Nazwa2',...,'Nazwa17'};
const unsigned NameCount=sizeof(Names)/sizeof(*Names);

W klasie:

Kopiuj
TEdit EditTb[NameCount];

W konstruktorze:

Kopiuj
for(unsigned i=0;i<17;++i)
  {
   TLabel *Lbl=new TLabel(this);
   Lbl->Name=AnsiString("Lb")+IntToStr(i);
   Lbl->Caption=Names[I];
   Lbl->Layout=tlCenter;
   Lbl->BoundsRect=Bounds(4,4+25*i,50,21);
   Lbl->Parent=GroupBox1;
   TEdit *Edt=new TEdit(this);
   Lbl->Name=AnsiString("Ed")+IntToStr(i);
   Edt->Text='0';
   Edt->BoundsRect=Bounds(54,4+25*i,50,21);
   EditTb[i]=Edt;
  }

Oraz przyda się metoda kopiująca z innego Frame'a ale masz ulatwione bo wszystkie Edit'y siedzą grzecznie w tablicy.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
edytowany 1x, ostatnio: _13th_Dragon
MajQel
Skoro takie to zagmatwane na Editboxach to jestem otwarty na jakies propozycje. bo jak widze jakiego zapisu rozleglego trzeba uzyc to to troche obszerne i nie estetyczne a program prawdopodobnie bedzie rozbudowany jeszcze
_13th_Dragon
Dodałem alternatywne rozwiązanie w poście wyżej.
MajQel
  • Rejestracja:prawie 13 lat
  • Ostatnio:ponad 9 lat
  • Postów:92
0

To wszystko opiera sie na tym ze trzeba w cholere kodu pisac a mi zalezy na przejrzystosci.... nie dalo by rady zrobic tak zeby funkcja zwracala wskazniki na Edity w Form1, druga funkcja ktora by pobierala wartosc(indeks) z Radiobuttona. i ze wzgledu na to robila wskazniki do poszczegolnej paczki wskaznikow a nastepna funkcja by podporzadkowala wskaznikom jednej funkcji wartosci wskaznikow drugiej. Jest w ogole cos takiego mozliwe czy to co psize to calkowita herezja??

_13th_Dragon
Będzie mniej kodu i na pewno przejrzyściej. Oczywiście że takie manipulacje jak piszesz są możliwe, ale zajmie to znacznie więcej czasu niż zrobienie tych poprawek o których mówię.
MajQel
Wydaje mi się, że takie coś zajmie góra dwie sekundy. A nawet jeśli do z jednej strony dość dobrze bo bym mial możliwość dołaczenie progressbara... tylko nie za bardzo wiem jak napisac funkcje zwracajaca wskazniki ... czy to ma byc void czy co ...
_13th_Dragon
Zrób tak jak napisałem w pierwszej części poprzedniego postu. To przynajmniej bezpieczne rozwiązanie. Jak znasz Excel'a lub jego odpowiednika w dowolnym offisie to wygenerujesz potrzebny kod w minutę.
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)