22. 4. 2014
Méně známé klávesové zkratky Delphi IDE
Méně známé klávesové zkratky Delphi IDE, které jsem se nově naučil:
Je jasné, že pro efektivní práci v IDE je potřeba používat klávesové zkratky. Mnohé jsou notoricky známé - viz např. zde: Delphi - klávesové zkratky v IDE. IDE má ale zkratek ještě mnohem více. A ne všechny jsem znal a používal.
Toto je seznam, které jsem nově zavedl do svého repertoáru:
- Ctrl+klik v Ctrl+Space dialogu mě pošle na implementaci metody aniž bych měnil kód
- Ctrl+Alt+F12 - otevře menu s aktuálně otevřenými unitamy (kde funguje inkrementální hledání a mohu případně rychle šipkami přepnout)
- Ctrl+Alt+Shift+↑ nebo ↓ - posouvá obsah aktuální řádky nahoru nebo dolů
- Alt+Shift+B - obalí označený text begin..end
- Alt+Shift+I - obalí označený text if..then begin..end
Zdroj:
Povětšinou http://stackoverflow.com/questions/102254/hidden-features-of-the-delphi-ide
Pozn.: jsem na Delphi XE3 a přecházím na XE6.
London Grammar
Dlouho se mi to už nestalo. Dechberoucí na první poslech. Úplně náhodu jsem narazil na toto video:
London Grammar - Live on KEXP Seattle
A objevil London Grammar. A hlavně Hannah Reid. Takový hlas se jen tak nepotká. Ale oceňuju i oba kluky. Mají za sebou teprve první desku. Nemá smysl o tom psát, to se musí poslouchat...
21. 4. 2014
Plain text z HTML textu
Funkční fragment kódu, který umí vzít HTML kód a "vytáhnout" z něj očištěný text. Je jasné, že se ztratí všelijaké formátování typu barvy, bold, italic atd. atd.
Je závislé na instalaci jádra Microsoft Internet Exploreru. Tedy nebude fungovat na OS X, iOS, Androidu apod.
Testováno v Delphi XE3 a XE6, ale mělo by fungovat v libovolné verzi.
uses
System.Variants, System.Win.ComObj, Winapi.ActiveX, MSHTML;
function GetPlainText(const AHtml: string): string;
var
LDocument: IHtmlDocument2;
LVariantArray: Variant;
begin
LDocument := CreateComObject(CLASS_HTMLDocument) as IHtmlDocument2;
LVariantArray := VarArrayOf([AHtml]);
LDocument.write(PSafeArray(TVarData(LVariantArray).VArray));
LDocument.close;
Result := (LDocument.body as IHTMLBodyElement).createTextRange.text;
end;
Štítky: Delphi