int21h
SetEdit
Jaký používáte v DOSu textový editor?
Většina lidí asi klasický Edit. Až do MS-DOSu 6.22 to byla dost hrůza. A přitom je to vlastně integrované vývojové prostředí QBASICu!
Od verze 7.00 (tedy od windows 95) je přiložena novější verze editoru, který už v sobě ovšem žádný QBASIC neobsahuje.
Je potěšitelné, že umí dlouhé názvy souborů, ale přesto je vidět, že je beznadějně zastaralý a dost neohrabaný.
Hodně lidí proto preferuje IDE turbo pascalu. A to nejen na psaní pascalovských programů, ale i pro běžné použití.
A ať už si o překladači Borland pascal 7 myslíme cokoli, tak IDE je nepochybně vydařené.
Nicméně položme si otázku: "Je něco lepšího?"
Ano!
Já používám program
SetEdit.
Pokud klepnete na odkaz, tak zjistíte, že existuje pro mnoho platforem. Já používám DOSovou verzi (jak jinak) a budu dále psát o ní.
SetEdit ideově vychází právě z IDE Turbo/Borland pascalu nebo C++ 3.1. Dokonce je psané v otevřeném portu Turbo vision do DJGPP.
Prostředí je tedy důvěrně známé. Jenže SetEdit toho nabízí mnohem víc.
+ perfektní zvýrazňování syntaxe pro spoustu jazyků
+ spolupráce se schránkou Windows
+ pseudomakra
+ nezvykle mocný makrojazyk SLISP a dobrá podpora maker obecně
+ spoustu podporovaných textových videomódů včetně VESA
...atd.
Program je prostě nabitý funkcemi a je skvěle propracovaný. Já ho dokonce srovnávám s editorem PsPad. Jediné co postrádám je podpora unicode, ale to je v textovém módu nemožné principiálně, takže to v žádném případě není výtka.
Já ho napřed začal používat jako HTML editor. Tady mimochodem hodně potěší funkce překódování znakové sady...
Teď si možná říkáte: "Dobře, ale takových programů je víc. Umí to ještě něco?"
Ano. Kromě jiného jsou tu skvělá makra.
Zkuste spustit program.
Otevřít nějaký soubor. (pokud je to známá přípona, tak se zvýrazní syntaxe)
V menu vyberte
Macro -->
Choose -->
Test RunProgram
Jako program zadejte třeba "DIR /B"
Úžasné ne?
A koukněte, kolik tam těch maker ještě je. A navíc si můžeme psát vlastní!
Protože SetEdit je totálně konfigurovatelný. Dá se tu nastavit k obrazu svému naprosto všechno!
Počínaje barvami, přes klávesové zkratky a vlastní definici meníček až k vlastním pseudomakrům a makrům.
Něco se dá přenastavit přes položky menu (barvy, přiřazení kláves, přidání vlastních slov pro zvýrazňování syntaxe a možná jetě něco)
A zbytek se změní ruční editací příslušných souborů v SETEDITSHARESETEDIT
Proč si nezměnit definici zvýrazňování syntaxe pro pascal?
A nebo pseudomakro?
Pseudomakro je funkce nahrazení krátkého textu (stačí jedno písmeno) jiným libovolně dlouhým.
Například není problém nadefinovat, že napíšete "P" a zmáčknete CTRL-mezera a písmeno "P" se rázem změní na
Program PRG;
uses Dos;
var i:integer;
begin
end.
Nebo na jakýkoliv jiný text.
Nejlepší ze všeho ovšem je, že SetEdit můžeme integrovat s překladačem pascalu (nebo čehokoliv jiného) a plně jím nahradit defaultní IDE.
K tomu využijeme makra.
- Otevřete soubor SETEDITSHARESETEDITmacros.slp
- doplňte někam podobné sLisp makro:
(defmacro 'Compile by TP for real mode'
(eval
(setv "program" (+ "c:\tp\spust " "c:\tp\tp7\bin\tpc " (strxlt (WhichEditor) "/" "\" )))
(RunProgram program (| edfRunNoRedirect edfRunUserScreen))
)
)
Takhle jsem napsal makro já. Volá dva programy:
TPC.EXE - to je samozřejmě řádkový překladač turbo pascalu. Cestu si upravte podle vašeho umístění. Všimněte si akorát, že místo jednoho zpětného lomítka se musí napsat dvě. (jako v céčku, nebo se pletu?)
SPUST.EXE - si musíme napsat v pascalu sami. Zdroják může být třeba:
uses Dos;
var s:string;
begin
s:=ParamStr(2);
SwapVectors;
Exec(GetEnv('COMSPEC'),'/C '+ParamStr(1)+' '+s);
Exec(GetEnv('COMSPEC'),'/C '+Copy(s,1,Length(s)-4)+'.exe > con');
SwapVectors;
end.
Teď SetEdit restartujte a uvidíte, že v menu MACRO ->CHOOSE... se objevilo nové makro "Compile for real mode"
Zkuste to na nějakém pascalovském zdrojáku. Dobrý, ne?
Ještě by bylo užitečné přiřadit k tomu klávesovou zkratku. Třeba CTRL-F9 jako v TP IDE.
Jděte v menu do
Tool&Ops -->
Options -->
Keyboard -->
Key assignment
Klepněte na "Add"
V zaškrtávadle vyberte, že chcete přiřazovat k makru a znovu klepněte na "Add"
Teď vás program vyzve, abyste zmáčkl zamýšlenou aktivační klávesu, a je to.
Máte nahrazené IDE pascalu.
Jediné, co bude chybět bude integrovaný debugger. To je zajisté nepříjemné, ale dá se s tím žít.
Hodně štěstí se SetEditem!