iReklama  |  PC Svět  |  vyhledávací centrála  |  Diskuzní fórum  |  WWW katalog  |  Guestbook  |  MailForm  |  kontakt: pcsvet@pcsvet.cz - čte si nás 32 čtenářů
 
PC Svět
Hlavní stránka
ASP
Aktuality
Assembler
C,C++
Cracking
Delphi
Diskuze
Grafika
Hardware
Hry a zábava
HTML
Internet
JavaScript
Komunikace
Literatura
Linux
Microsoft Office
Turbo Pascal
Perl
PHP
Software
Tiskové zprávy
Visual Basic
Windows
WWW katalog

Knihovna zdr. kódů

Nabídka skriptů aj.

Homepage autora
Služby
Guestbook
  kniha návštěv pro
  každého
MailForm
  zasílání výsledků
  formulářů na e-mail
Programy
DOS Commander
WinMan
Windows Tools
Informace
O PC Světě
Přehled rubrik
Reklama
Výsledky anket
Přehled novinek


ISSN 1213-6042

šéfredaktor
Petr Šťastný
admin@pcsvet.cz

zástupce šéfredaktora
Pavel Rauš
raus@pcsvet.cz

Stránka je optimalizo-
vána pro prohlížeč
Internet Explorer 5.0
při rozlišení 800x600

 © Petr Šťastný 2002
   All rights reserved

PC Svět
ikonka PC Světa



Linux - zdarma a legálně



TOPlist

Vytisknout   Poslat   Komentáře (0)   Přidat komentář

Napište si svůj vlastní poznámkový blok (2.)

aneb jak na to pro úplné začátečníky - práce se schránkou, uložení při ukončení, zalamování

V minulém díle jsem popsal základní procedury pro načítání, ukládání a tisk souboru, teď bych se zaměřil na záložku Upravit. Tu lze zase samozřejmě vytvořit v MainMenu1.

Zpět: Zde bych jen uvedl, že procedura Undo komponenty Tmemo vrátí všechny změny provedené v komponentě Tmemo od posledního volání ClearUndo.

procedure Tzakladni.Zpt1Click(Sender: TObject);
begin
  editor.undo;
end;

 

Vyjmout: Vloží do schránky a odstraní označený text.

procedure Tzakladni.Vyjmout1Click(Sender: TObject);
begin
  Editor.CutToClipboard;
end;

 

Kopírovat: Zkopíruje označený text do schránky. K označenému textu se dá přistupovat i přes proměnné SelStart(označuje číslem začátek), SelLenght(číslem udává počet označených písmen) a SelText(samotný označený text).

procedure Tzakladni.Koprovat1Click(Sender: TObject);
begin
  Editor.CopyToClipboard;
end;

 

Vložit: Vloží text ze schránky na aktuální pozici.

procedure Tzakladni.Vloit1Click(Sender: TObject);
begin
 Editor.PasteFromClipboard;
end;

 

Odstranit: Odstraní označený text.

procedure Tzakladni.Odstranit1Click(Sender: TObject);
begin
   Editor.ClearSelection;
end;

 

Vybrat vše: Označí celý dokument.

procedure Tzakladni.Vybratve1Click(Sender: TObject);
begin
  Editor.selectall;
end;

 

Vložit datum a čas: Na aktuální pozici, nebo místo označeného textu vloží aktuální datum a čas.

procedure Tzakladni.Vloitdatumaas1Click(Sender: TObject);
begin
  editor.Seltext:=datetostr(now)+' '+timetostr(now)+' ';
end;

 

Zalamování: Komponenta Tmemo má vlastnost Scrollbars, která udává, které posuvníky mají být zobrazeny. Buď ssBoth (oba),ssVertical (pouze svislý), ssHorizontal (pouze vodorovný) nebo ssNone (ani jeden). A podle toho, které posuvníky jsou zobrazeny, se automaticky formátuje text v Tmemo. Tuto vlastnost je dobré nastavit na ssBoth a vlastnost Checked komponenty Tmenuitem na False.

procedure Tzakladni.Zalamovndk1Click(Sender: TObject);
begin
  Zalamovndk1.checked:=not Zalamovndk1.checked;
  if not Zalamovndk1.checked then Editor.scrollbars:=ssBoth
   else Editor.scrollbars:=ssVertical;
end;

 

Nakonec bych chtěl uvést ještě jednu proceduru, na kterou jsem v minulém díle zapomněl. Jde o to, že když ve svém dokumentu provedete nějaké změny a pak třeba náhodou kliknete na Konec, nebo zmáčknete ALT+F4, tak se program zavře, ale neuloží se změny. Proto se dá využít Eventu OnCloseQuery, který je volán vždy, když je program uzavírán. Má proměnnou Canclose, se kterou můžete v této proceduře pracovat. Pokud je na konci procedury v této proměnné hodnota True, program se zavře, pokud False program pracuje dál a nic se neděje (jako byste ani neklikli na Konec). A toho zde využívám:

procedure Tzakladni.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if Editor.Modified then
   { soubor nebyl ulozen }
   case MessageDlg( 'Soubor '+Caption+' není uložen. Uložit?',
                     mtConfirmation, [mbYes, mbNo, mbCancel], 0) of
   mrYes: { preje si ulozit }
          begin
             Uloit1Click( NIL );
             CanClose := not Editor.Modified
                { pokud neulozil ani ted, nedovolime zavrit okno }
          end;
   mrNo:  ;{ nechce ulozit => mohu skoncit }
   else
      CanClose := FALSE
   end { case }
end;

Využívá se zde také vlastnosti Modified, která udává, zda byl dokument změněn. A proto jsme tuto proměnnou při ukládání a načítaní souboru nastavovali na False (viz první díl). Také je zde procedurou MessageDlg volána hláška (spíše dotaz), zda má být dokument uložen, a podle toho na které tlačítko (Ano, Ne, Storno) uživatel klikne, se buď spustí procedura Uložit nebo se povolí skončení (proměnná Canclose je automaticky na začátku procedury True) anebo se skončení nepovolí.

Autor: Aleš Kresta, ales.kresta@seznam.cz, informace a seznam článků


Komentáře k článku

Žádné komentáře k tomuto článku

Přidat komentář


Poslední články ze stejné rubriky
Napište si svůj vlastní poznámkový blok (4.)
OpenDelphiGL (6.)
OpenDelphiGL (5.)
Napište si svůj vlastní poznámkový blok (1.)
OpenDelphiGL (4.)
Provozovatel:
PES.cz
Příbuzné články
•  Napište si svůj vlastní poznámkový blok (1.)
Poslední články
Nové chipsety Intelu
Co je JPEG?
Napište si svůj vlastní poznámkový blok (4.)
Třikrát o PHP
Seznamka v PHP a MySQL (4.)
Hodnocení článku
nejlepší <----> nejhorší
    
Zatím nehodnoceno
Informace o článku
Datum 14.10.2002
Čtenářů 301
Autor Aleš Kresta
Rubrika Delphi - funkce
Nový redaktor
  Chcete psát články
  pro PC Svět či se
  stát redaktorem?

Články honorovány!

  Informace zde
EInfo
  Chcete být informováni
  o každém novém článku
  na PC Světě?

Zadejte svůj e-mail:

MSN.ATLAS.CZ
Hladat.sk

hlavní stránka  |  vyhledávací centrála  |  Diskuze  |  WWW katalog  |  Guestbook  |  MailForm  |  kontakt: pcsvet@pcsvet.cz

Se svými dotazy či problémy se obracejte na diskuzní fórum, věci týkající se PC Světa směřujte na e-mail pcsvet@pcsvet.cz

Šíření obsahu tohoto serveru nebo jeho části je bez souhlasu redakce zakázáno.
(c) PC Svět 2002 - Všechna práva vyhrazena.