Zálohování dat
Možná vás překvapí možnosti, které nám v současnosti poskytují staré známé příkazy z dob MS-DOSu. Pokusme se jednoduše vytvořit každodenní zálohu dat. Důležité ale je, že potřebujeme aby se zálohy:
- | date/T | vrátí čt 23.08.2001 |
- | for /F | zpracuj to, co vrátil tento příkaz |
- | "eol=; tokens=1-4 delims=./ " %%i | rozděl tento řádek podle znaků "." a "/" (pro české nebo anglické datum) do 4 proměnných %%i %%j %%k %%l |
- | zip | voláme freewareový kopresní program INFO-ZIP (aplikace WIN32, podpora dlouhých jmen, ) |
- | "\\SERVER\diskCQuas\Záloha dat %%l%%k%%j %%i" | vytváříme archív "Záloha dat 20010823 čt.zip" na serveru |
- | "\\PC\diskF\Milan\Data\*.*" | archív bude obsahovat data z uživatelského PC |
Přenesení Syntax Coloring na jiný počítač
Cílem bude uložit informaci z registrů o nastavení barev VFP 7.0 *) do souboru tak, abychom byli schopni jednoduše nastavit tyto barvy na jiném počítači. Do nadpisu jsem to ale takhle nenapsal, protože tady si ukážeme postupy použitelné i jinde **). Příkazový soubor obsahuje (příliš dlouhé řádky jsou opět odsazeny na další řádek):
start/wait regedit /ea VFPSave7Colors.tmp HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualFoxPro\7.0\Options
findstr /R "^REGEDIT4 ^\[HKEY_.*Options\] .Editor" VFPSave7Colors.tmp>VFPSave7Colors.reg
del VFPSave7Colors.tmp
Opět si všechny příkazy postupně probereme:
- | start/wait | spustíme program a čekáme, až tento program skončí |
- | regedit /ea VFPSave7Colors.tmp HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualFoxPro\7.0\Options | spustíme program regedit. Parametr /e požaduje export větve HKEY_CURRENT_USER\ V tomto případě by ale soubor VFPSave7Colors.tmp obsahoval znaky v kódování Unicode. Přepínač /ea zajistí, že se bude jednat o normální textový soubor. |
- | Nyní máme k dispozici soubor VFPSave7Colors.tmp, který obsahuje například: REGEDIT4 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualFoxPro\7.0\Options] "EditorCommentColor"="RGB(0,128,0,255,255,0), Auto, NoAuto" "EditorKeywordColor"="RGB(0,0,255,255,255,255), NoAuto, Auto" . "LastProject"="1" "Talk"="ON" . |
|
- | Příkazem findstr /R "^REGEDIT4 ^\[HKEY_.*Options\] .Editor" VFPSave7Colors.tmp>VFPSave7Colors.reg z tohoto souboru vybereme některé řádky. Přepínač /R nám dovolí používat k výběru požadovaných řádků regilérní výrazy, což je nesmíně silná věc dobře známá všem programátorům pracujícím s libobvolnou verzí operčních systémů UNIX/Linux/ Do uvozovek zadáme požadovanou masku: řádek začínající REGEDIT4 ^REGEDIT4 - znak ^ označuje začátek řádku řádek [HKEY_ Options] ^\[HKEY_.*Options\] - \[ a \] označují přímo závorky všechny řádky obsahující od 2. znaku text Editor .Editor - . označuje 1 znak (jako ? v MS-DOSu) |
|
- | Pomocí >VFPSave7Colors.reg vytvoříme nový soubor s příponou REG. Tento soubor stačí spustit na libovolném počítači a jeho obsah se uloží do registrů, takže máte k dispozici stejné barvy ve VFP jako na svém počítači. |
Poslání zprávy v síti z VFP
Aby v tomto článku byl i nějaký program program ve VFP, ukážeme si, jak můžeme z programu rozeslat jednomu uživateli či skupině uživatelů nějakou zprávu, například:
LOCAL lnhndl,llOK DECLARE INTEGER GetDesktopWindow In User32.Dll DECLARE INTEGER ShellExecute IN Shell32.Dll INTEGER nWinHandle,STRING cOperation,; STRING cFileName, STRING cParameters, STRING cDirectory, INTEGER nShowWindow lnhndl = GetDesktopWindow() && Tím získáme handle na desktop llOK=.F. DO CASE CASE NOT ShellExecute(lnhndl,.NULL.,"NET","SEND * Jdeme na čaj!","",0)>=32 CASE NOT ShellExecute(lnhndl,.NULL.,"NET","SEND igor Je to Lyons' Centenary Blend!","",0)>=32 OTHERWISE llOK=.T. ENDCASE IF ! llOK =MESSAGEBOX("Nepodařilo se odeslat všechny zprávy!") ENDIF
A to je vše. Mějte se krásně
Milan Kosina, kosina@vol.cz
Pozn. *) přepis.: | Téhož lze dosáhnout i pro verze VFP 5.0 a VFP 6.0 jenom tím, že v řetězci indentifikující místo v registry se "7.0" nahradí "5.0" nebo "6.0". | |
Pozn. **) přepis.: | A to zase já jo. Mít v hlavičce článku "Další tip" by nemělo žádnou informativní hodnotu. |