Autor Téma: Vlastnosti zvýrazňovačov textu. TextEditory - úvaha  (Přečteno 164 krát)

Offline miroB

  • Guru
  • *****
  • Příspěvků: 510
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Ahoj, som jediný, ktorý si myslí, že textový editor by mohol ponúknuť "aj" schopnosť vlastného zvýraznenia textu?
Tak ako to ponúka RichEdit od Microsoftu? Zvýraznenie na pozadí a potom to celé zobrazí naraz?
Nebolo by nutné učiť sa pravidlá daného editora.
Vlastná analýza textu, by mohla stačiť. Niektoré parsovania sú špecifiké a ťažko sa niekam napasujú.
Ešte ťažšie sa také komplexné nástroje dajú pochopiť/naučiť. Človek má aj iné starosti..
Nestačilo by hotové pole záznamov, ktoré by bolo editoru k dispozícii?
Záznamy by samozrejme rešpektovali určité pravidlá.
Jednoduché oddelenie dvoch vrstiev.
Podotýkam, že značne zložitá analýza súboru cca 100 kB, trvá do pol sekundy?
Možno menej. Čiže reálny čas. A dá sa prerušiť ak treba.

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2285
  • Karma: 101
    • Verze Delphi: D5,D2007, DXE, DXE2 + 2 poslední (Tokyo)
    • O Delphi v češtině
Re:Vlastnosti zvýrazňovačov textu. TextEditory - úvaha
« Odpověď #1 kdy: 29-05-2019, 11:02:03 »
Podle mne nesmysl. SynEdit je editor čistého textu, RTF je formát který obsahuje formátování.

tj. při synedit by jsi to musel zase pracně extrahovat => problémy

Ano jsi jediný :-)
Embarcadero MVP - Czech republic

Online Delfin

  • Padawan
  • ******
  • Příspěvků: 1820
  • Karma: 70
  • SW konzultant
    • Verze Delphi: 2009, Tokyo, Rio
Re:Vlastnosti zvýrazňovačov textu. TextEditory - úvaha
« Odpověď #2 kdy: 29-05-2019, 11:02:52 »
Ahoj, som jediný, ktorý si myslí, že textový editor by mohol ponúknuť "aj" schopnosť vlastného zvýraznenia textu?
Tak ako to ponúka RichEdit od Microsoftu? Zvýraznenie na pozadí a potom to celé zobrazí naraz?

Textovy editor ano, ale editor ke zvyrazneni syntaxe kodu za me ne. Predtav si, ze by sis mohl v IDE (jakemkoliv) vybrat libovolny usek kodu a zmenit mu zvyrazneni (tj. styl fontu a barvy) a tim prijit o zvyrazneni syntaxe.

Rich editory budou IMHO (mohu overit, kdyby byl zajem) jen volat ze smycky GDI funkce (tak se chova i SynEdit). A optimalizace bude nejspis postavena na uzamceni platna editoru, vykresleni vseho potrebneho (ve smycce) a odemceni platna (tak se chova SynEdit). Jiny zpusob by mohl byt vytvoreni pracovniho vlakna, vykresleni vseho potrebneho do off-screen bitmapy s naslednym predanim teto bitmapy do hlavniho vlakna k flushi na platno editoru.

Nestačilo by hotové pole záznamov, ktoré by bolo editoru k dispozícii?

Jiste. Tvuj tokenizer se da ostatne vyuzit i ve vlastnim SynEdit highlighteru. Highlighter SynEdit nemusi text parsovat (a prevazna vetsina z nich to ani nedela, jen zvyraznuji predem definovana slova).
« Poslední změna: 29-05-2019, 11:09:55 od Delfin »
I'm a soldier, so don't panic! I know the underground! I like the WTFPL license! No more Google, go duck, go!

Offline miroB

  • Guru
  • *****
  • Příspěvků: 510
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Vlastnosti zvýrazňovačov textu. TextEditory - úvaha
« Odpověď #3 kdy: 29-05-2019, 11:45:00 »
To Radek. Prikladám obrázok. Také a podobné úlohy, ako sú na obrázku riešim zatiaľ v RichEdit.
Je ich veľa a sú rôzne. Nielen tento typ.
Má to byť určené aj pre výuku, preto chcem všemožne vyjsť v ústrety budúcemu užívateľovi.
Nemôžem sa obmedziť na schopnosti zvýrazňovača.
Mimochodom slová a slovné spojenia a iné predpisy mám v tabuľkách. Nemôžem pri každej zmene vyrábať nový Syn*.pas súbor.
OK, môžem zostať u RichEditu, ak iná cesta nie je.
Ako tak skúšam, ani nie je pomalší než ten SynEdit.

..
Textovy editor ano, ale editor ke zvyrazneni syntaxe kodu za me ne. Predtav si, ze by sis mohl v IDE (jakemkoliv) vybrat libovolny usek kodu a zmenit mu zvyrazneni (tj. styl fontu a barvy) a tim prijit o zvyrazneni syntaxe.
  • Netvrdím, že by sa text mal dať zmeniť z UI. To by malo ísť len programom
  • V RichEdit to doteraz robím a aj potrebujem. Zmeny písma v texte nemôže robiť užívateľ
  • Ten postup z RichEdit má nezanedbateľnú výhodu, že Copy Paste do rtf, alebo do Shape v MS Excel zachová zvýraznenú syntax
..
Jiste. Tvuj tokenizer se da ostatne vyuzit i ve vlastnim SynEdit highlighteru. Highlighter SynEdit nemusi text parsovat (a prevazna vetsina z nich to ani nedela, jen zvyraznuji predem definovana slova).
Tak toto rád čítam. Ale ako? Prosím pozri aj obrázok.
« Poslední změna: 29-05-2019, 11:46:53 od miroB »

Offline JaroB

  • Guru
  • *****
  • Příspěvků: 948
  • Karma: 26
    • Verze Delphi: XE8, Seattle
Re:Vlastnosti zvýrazňovačov textu. TextEditory - úvaha
« Odpověď #4 kdy: 29-05-2019, 12:19:22 »
 ;)
mně by třeba jenom stačilo, kdyby MS Word uměl zvýraznit při editaci stejná slova jako to, na kterém zrovna stojí kurzor (jako to umí CNWizard nebo vyhledávač Wordu se zvýrazněním)
:)

Offline miroB

  • Guru
  • *****
  • Příspěvků: 510
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Vlastnosti zvýrazňovačov textu. TextEditory - úvaha
« Odpověď #5 kdy: 29-05-2019, 12:27:22 »
;)
mně by třeba jenom stačilo, kdyby MS Word uměl zvýraznit při editaci stejná slova jako to, na kterém zrovna stojí kurzor (jako to umí CNWizard nebo vyhledávač Wordu se zvýrazněním)
:)
Dobrý nápad. Viem dorobiť, možno sa zíde:) Vo vyhľadávaní to už mám...
Mimochodom Word používa tiež TOM (Text Object Model), rovnako ako RichEdit. Samozrejme sa programuje cez COM. Štandardný RichEdit v Delphi tú COM vrstvu nevyužíva. Preto nevie Shapes a pod..

Offline miroB

  • Guru
  • *****
  • Příspěvků: 510
  • Karma: 17
    • Verze Delphi: D1,2,3,4,7,2005,2009, XE8,S,B,T10.2.2 Pro
Re:Vlastnosti zvýrazňovačov textu. TextEditory - úvaha
« Odpověď #6 kdy: 29-05-2019, 13:21:19 »
Podle mne nesmysl. SynEdit je editor čistého textu, RTF je formát který obsahuje formátování.

tj. při synedit by jsi to musel zase pracně extrahovat => problémy

Ano jsi jediný :-)
VirtualStringTree pre uzivatela vyplna strom. To od neho potrebujeme.
Jednoducho by som uvital, keby zvyraznovac spravil na podobnej baze zvyraznenie.
Ako VST vyplna strom. Dam mu recordy a on sa postara.
Farbit text a vyuzivat bold predsa vie. Technicky by to nemal byt problem.