--------------------- | DaNiElSoFt Editor | --------------------- Toto je editor pod M$ Window$ určený výhradně pro práci s čistým textem. Napsal jsem ho kvůli tomu, že jsem potřeboval v DOS/Win editor, který by reagoval na více věcí z příkazové řádky než jen určení jména souboru. (potřeboval jsem, aby to skočilo na řádku textu zadanou na příkazové řádce). Protože dělat v DOSu editor se mi nechtělo ;-) , napsal jsem jej we Woknech za použití Delphi. Postupně jsem tam začal přidávat další funkce, až jsem se rozhodl, že editor dám k dispozici na Internet jako freeware. FUNKCE EDITORU °°°°°°°°°°°°°° Myslím, že některé funkce v menu jsou samo-se- vysvětlující (...nebo jak byste VY počeštili "selfexplain"). Zmíním jenom ty funkce, které tak jasné nejsou: (1) menu Soubor: *"Další okno editoru" v podstatě znovu spouští editor v novém okně (zkuste si to) *znovunačtení souboru se hodí zejména při přepínání formátu češtiny *při otevírání souboru v DOSových kódováních (tj. PC Latin 2 a Kamenících) se provádí autodetekce, zda je soubor ve formátu T602 (DOSové verze). Pak jsou nabídnuty možnosti konverze souboru na čistý text nebo HTML. Tabulky T602, vytvořené pomocí funkce T602 Rámečky (ALT-G), se nekonvertují na HTML tabulky (to by snad vyžadovalo umělou inteligenci integrovanou do DanielSoft Editoru), ale na tabulky tvořené znaky "+", "-" a "|", protože jiné "tabulkotvorné" znaky nejdou ve Woknech zobrazit :(. Konvertují se takto samozřejmě i při konverzi do čistého textu. *nově ve versi 5.5 editor při načítání detekuje, zda je soubor DOSový nebo UNIXový text. Viz indikátor na spodní liště. Podle toho editor soubor ukládá na disk. (2) menu Úpravy: *do schránky je možno i přidávat (text, který tam již byl, zůtane zachován) *"SuperVýběr" je výběr bloku pomocí dvou značek (Začátek a Konec bloku), které si editor stále pamatuje. (i pokud pohnete kurzorem a blok graficky zmizí). Stačí na začátku zvoleného textu stisknout CTRL+B, na konci CTRL+E a blok se nám vyznačí. Potom s ním můžeme normálně manipulovat pomocí kopíruj/vystřihni/přilep (3) menu Formát: *mazání řádku Alt+Del je občas velice užitečné *zalamování řádků určuje, zda se text, který se nevleze do wokna editoru, objeví na dalším řádku, nebo zda bude dole scrollovací pruh. *je zde možnost přidat něco na začátek či konec každého řádku textu *font se pamatuje v .INI souboru a použije se i při dalších spuštěních editoru *"Dos <--> Unix" určuje, zda se soubor bude ukládat jako DOSový nebo UNIXový text. (4) menu "čeština" určuje kódování, které se používá při ukládání či načítání souboru. Interně je čeština vždy ve formátu cp1250, konverze probíhá pouze při diskových operacích. Tj. pokud uživatel načte soubor, zjistí, že je v jiném kódování češtiny a přepne kódování v menu, text na obrazovce zůstane stále stejný až do té doby, než se provede znovunačtení souboru (nejlépe pomocí klávesové zkratky Ctrl+Alt+N). Má to svůj důvod, program tak nic neprovádí "za zády" uživatele a je možná jednoduchá konverze souborů z jednoho kódování do jiného. Konverze se provede nejlépe takto: i. Zaškrtnu kódování, ve kterém je soubor na disku. ii. Otevřu soubor. Měl bych vidět češtinu OK. iii.Zaškrtnu kódování, ve kterém soubor chci mít. (nyní se hodí, že to nedělá samo znovunačtení) iv. Uložím soubor Z tohoto postupu je jasně vidět, že menu "čeština" se týká diskových operací a nikoli okamžitého vzhledu souboru v editoru. Pokud nevíte, ve kterém kódování soubor je, je nejlepší jej načíst a postupně experimentovat pomocí opakovaného "zatrhnout položku + Ctrl+Alt+N". Není podporováno kódování KOI8-ČS (protože je natolik zastaralé, že nevěřím, že by ho někdo používal) a kódování Macintosh (nemám na něj kódovací tabulku - pokud mi ji někdo pošle, možná bude v příští verzi editoru) . Pro texty neobsahující diakritiku (např. anglické) je nejefektivnější použít nativní kódování cp1250, soubory se potom načítají i ukládají nejrychleji. *položka Klávesnice přepíná mezi českou a anglickou klávesnicí. Normální přepínání Alt+Shift bohužel nepracuje tak, jak by mělo, proto jsem musel napsat vlastní (viz povídání O programování tohoto editoru). Pokud vám chování Alt+Shift vyhovuje, můžete ho samozřejmě i nadále používat. (5) menu Jdi na: *DaNiElSoFt Editor má vestavěnou historii: Pokud jste již pracovali s více soubory, můžete mezi nimi přepínat alt+šipka vlevo/vpravo, či pomocí menu. Soubor se vždy před tímto přepnutím uzavře a otevře se soubor z historie. U každého souboru v historii si editor pamatuje i jeho kódování češtiny, které při nahrání z historie mění. (6) menu Zobraz: *Soubor je možno také zobrazit ve formátu HTML. Při zobrazení se používá ten program, který je ve Window$ nastaven k prohlížení HTML. Klávesové zkratky, pokud existují, jsou vždy napsány v menu.(plus standardní klávesové zkratky Window$). "Left" v menu značí levou kurzorovou šipku a "Right" pravou. To se netýká speciálních klávesových kombinací pro označování deseti důležitých míst v textu pro pozdější použití. Pomocí ALT+číslice se nastavuje značka, pomocí CTRL+číslice se znovu vyvolá pozice. (mnemotechnická pomůcka: ALT=ALTernuji značku, CTRL=KONTROLuji text, kde jsem již byl). Dřívější verze editoru měly malou kapacitu (kvůli problémům s Micro$oftí komponentou TRichEdit, použitou právě na editaci textu, viz text "O programování DanielSoft editoru" ). Nyní by měl editor být schopen otevírat soubory do velikosti 200 mega. Extra tip: soubory s kódováním cp1250 a s DOSovým (tj. ne UNIXovým) formátem textu jsou pro Window$ nativní čili přirozené. Takové soubory se ukládají i načítají NEJRYCHLEJI, protože při načítání/ukládání není třeba provádět žádné konverze a editor se může spolehnout na standardní funkce Delphi LoadFromFile a SaveToFile.V tomto formátu je i tento soubor s nápovědou. SPODNÍ LIŠTA °°°°°°°°°°°° Spodní lišta editoru je rozdělena na sedm sekcí, poslední sedmá je zatím nevyužitá. V jednotlivých sekcích se zobrazuje: 1) zda byl text modifikován od posledního uložení 2) zda je přehozeno Y a Z 3) kódování, ve kterém se text bude načítat a ukládat 4) zda je text pouze pro čtení (RO) nebo i zapisovatelný (RW) 5) zda jsou konce řádků DOSové nebo UNIXové 6) na kolikátém řádku je kurzor PŘÍKAZOVÝ ŘÁDEK °°°°°°°°°°°°°°° Pokud je někde na příkazové řádce jméno souboru, je tento soubor otevřen. Dále je možno uvést tyto parametry (parametry je možno poznat podle znaku = a editor u nich kontroluje pouze první písmeno názvu, čili line=20 a l=20 znamenají totéž). Parametry editor interpretuje v tom pořadí, v jakém jsou na řádku - je tedy možné nějakou volbu přepnout, pak nahrát soubor (stále na řádku) a přepnout ji zpět - viz příklady. l=<číslo> editor přejde po otevření souboru na řádek specifikovaný číslem f= editor přejde na první řádek souboru obsahující slovo r=, editor nahradí všechny výskyty prvního slova v textu druhým slovem k= změní kódování češtiny podle této tabulky: význam c nebo w cp1250 (Win) k Kameničtí (DOS) i nebo 2 iso-8859-2 (Unix) l nebo p PC Latin 2 (DOS,OS/2) název souboru musí být uveden ZA tímto příkazem (je pak možná konverze např. ded kod=latin2 soubor.txt kod=iso command=quit nebo ekvivalentní ded k=l soubor.txt k=i c=q konvertuje soubor z latin2 do iso-8859-2 ) 6= při autodetekci formátu T602 se bude používat: příslušná akce h konverze do HTML t,c konverze do čistého textu n,z žádná konverze ? zeptat se pokaždé uživatele (default) v=<číslo> změní výšku editoru na zadaný počet pixelů s=<číslo> to stejné pro šířku x=<číslo> y=<číslo> x-ová a y-ová souřadnice editoru vzhledem k levému hornímu rohu obrazovky (což je tedy bod 0,0) c= editor provede zadaný příkaz (u příkazů je také důležité jen první písmeno) Zatím jsou podporovány příkazy : q ukončení editoru + uložení souboru h spuštění prohlížeče HTML s otevíraným souborem. z zapne zalamování řádků y zapne prohazování y a z r zapne "read-only bit" - text do vypnutí "Pouze pro čtení" v menu "Úpravy" nelze měnit u pokud se načetl UNIXový soubor, bude se ukládat DOSově a naopak (stejné jako Formát --> "Dos <--> UNIX"} n= pod tímto jménem se uloží soubor, pokud později zadáte c=q (implicitně je to stejné jméno, jako pod kterým byl načten) příklady : ded soubor.txt editor otevře soubor.txt ded soubor.txt line=100 editor otevře soubor.txt a přejde v něm na řádek 100 ded soubor.txt find=DOS editor otevře soubor.txt a najde v něm slovo "DOS". ded kod=l2 soubor.txt kod=iso command=quit konvertuje soubor z latin2 do iso-8859-2 ded soubor.txt replace=Basic,Pascal command=quit editor otevře soubor.txt, změní v něm všechny výskyty slova "Basic" na "Pascal" a ukončí se (tj. neobjeví se okno, ale pouze se provede záměna slov) ded soubor.txt r=Basic,Pascal c=q totéž stručněji ded soubor.txt command=unix command=quit funguje jako obousměrný konvertor mezi DOSovými a UNIXovými texty ded soubor.txt command=ro pouze prohlížení souboru "soubor.txt" bez editace ded kod=l2 602=text soubor.txt command=quit konvertuje soubor z T602 do čistého textu K editoru jsou dodány i pomocné prográmky pro konverzi mezi kódováními apod. Jsou to .BAT soubory, které pouze volají DanielSoft Editor s různými parametry. Mohou sloužit též jako další příklady použití příkazového řádku. KONTAKT NA DANIELSOFT °°°°°°°°°°°°°°°°°°°°° e-mail: xnovotn3@fi.muni.cz nebo dan.novotny@post.cz web: http://www.fi.muni.cz/~xnovotn3/ aktuální verze editoru je vždy k dispozici na webu jako http://www.fi.muni.cz/~xnovotn3/ded.zip HISTORIE VERZÍ EDITORU °°°°°°°°°°°°°°°°°°°°°° (význam značek: + přidáno - odebráno * změněno) v 1.0 původní verze, pozná se podle toho, že v položce Nápověda-> O aplikaci žádné číslo verze není napsáno. (A také podle toho, že funguje i v 16bitových Windows) v 2.0 *přechod win16->win32 *změněna kapacita editoru z 32k na 63k +přidána volba Zalamování řádků *některé interní záležitosti editoru přeprogramovány v 2.1 +navíc je tu možnost přidat do schránky +editor si nyní pamatuje jaký typ souboru byl naposledy při otvírání zvolen +přidána tato historie verzí v 3.0 +přidána konverze kódování češtiny +přidána položka "znovu načíst soubor" (v podstatě kvůli češtině) +opravena chyba týkající se analýzy příkazové řádky +opravena drobná "kosmetická vada" v menu *změněna ikonka v 3.1 *příliš dlouhé menu Úpravy rozděleno +přidána práce s bloky (Posuň blok, Srovnej blok...) +přidáno otevírání ve WordPadu pro příliš velké soubory v 3.2 *v dialozích se nyní ukazuje, ve kterém kódování editor soubor otevírá/ukládá +přidána podpora formátu T602 -zrušena nutnost přípony .HTM/.HTML pro zobrazení v HTML browseru v 4.0 +nové parametry příkazového řádku (automatická konverze T602 a změna velikosti okna editoru) *trochu jinak zformátována tato nápověda +opravena chyba, že editor "natvrdo" předpokládal existenci adresáře C:\WINDOWS\TEMP +přidána možnost výběru fontu +přidán INI soubor pamatující si např. použitý font a rozměry editoru +přidáno prohození "z" a "y" +zdokumentována funkce pro zapamatování si důležitého místa v textu, na jejíž existenci jsem zapomněl (funkce objevena pročítáním zdrojového kódu editoru :-) v 4.1 +zvětšena kapacita editoru z 63k na 200m (protože byl vyřešen jeden závažný problém spojený s otevíráním velkých souborů) +opraveny některé chybky při otevírání UNIXových souborů v jiném kódování češtiny v 4.2 +opraveny chyby způsobené přechodem na vyšší kapacitu (vyskytly se nepředvídatelné problémy) v 4.3 +opravena chyba při konverzi isol2 <-> win (špatná konverze písmena "ť") +opravena drobná chyba týkající se příkazové řádky (kterou stejně nikdo nepoužívá :( ) +přidány .BAT soubory pro konverzi češtiny a T602 v 5.0 +ke konverzi T602 přidána podpora tabulek +přidán shortcut Ctrl+Alt+P pro přehození y a z +přidána spodní informační lišta s informacemi o modifikování souboru od uložení, o přehození Y a Z, o aktivním kódování češtiny pro ukládání/nahrávání souborů a o tom, zda je text pouze pro čtení (RO) nebo i pro zápis (RW) +přidáno povídání "O programování tohoto editoru" +oprava drobné chybky v konverzi T602 do textu +přidána možnost "Pouze pro čtení" *nápověda se nyní zobrazuje pouze pro čtení *provedeny optimalizace v celém kódu v 5.01 *opraven bug týkající se otevírání read only souborů v 5.5 +přidána podpora UNIXových textových souborů (tj. autodetekce formátu při otevření, dále ukládání souborů UNIXově a konverze DOS <---> UNIX) Protože UNIX je UNIX, zvýšila se tímto verze editoru rovnou na 5.5 +konečně vyřešena klávesnice, kterou RichEdit (součást Window$, kterou editor využívá) stále přepínal na českou. Nyní funguje jako všechny ostatní programy, tj podle toho, která klávesnice je ve Winech nastavena jako výchozí (u mě je to totiž anglická a na tu jsem zvyklý). Konečně. v 5.51 *opravena chyba týkající se vyhledávání v souborech větších než 64k (pozůstatek ze staré 16bitové první verze editoru. v 5.6 +pokud je výchozí klávesnice anglická, přepne se na anglickou i poté, co načtu soubor z příkazové řádky (to nebylo opomenutí, avšak těsně při startu editoru, kdy se natahují soubory z příkazové řádky, přepínání klávesnice nefungovalo - Windows jsou prostě Windows). (Mimochodem - existuje vůbec někdo kromě mě kdo chce a potřebuje mít výchozí klávesnici anglickou? Ozvěte se mi.) +přepínání klávesnice už nemění pozici textu +položka Klávesnice v menu Čeština je nyní vidět :-) +opravena "znovu-se-objevivší" chyba týkající se konverze češtiny do DOSových kódování (přidávalo se tam
, protože si editor "myslel", že konvertuje z T602 do HTML) v 5.7 +přidána schopnost pamatovat si polohu, ne pouze velikost (nevím, proč jsem to neudělal už dávno...) +přidány související parametry x a y na příkazovém řádku v 6.0 +editor lze ukončit též stiskem ESC +opravena chyba při zobrazování HTML stránek CTRL+H (stránka se měla ukládat do TEMPu a odtam zobrazit jen pokud nebyla dosud nikam uložena a ne vždy) *Klávesová zkratka pro znovunačtení souboru je nyní Ctrl+Alt+N +čísla řádků se zobrazují ve spodní liště +při znovunačtení neexistujícího souboru to upozorní na chybu místo "I/O error 103" +již funguje Ctrl+R jako Nahraď (Replace) *změnila se horká klávesa pro Znovu načíst, protože Ctrl+Z znamená ve Woknech Zpět *dialog "chcete uložit změny?" počeštěn +zde v helpu přibylo povídání o spodní liště editoru +opraveno "Úpravy - Přilep ze souboru" které od přechodu z Mema na Richedit nefungovalo správně v 6.1 +opraveno to, že nebyla definovaná DOSovost/UNIXovost souboru při tvorbě nového souboru +přidána možnost tisku souboru +přidána funkce Přidej na začátek/konec každého řádku