| (findfile filename) |
| |
| Argumenty: |
| |
filename
|
- jméno hledaného souboru nebo adresáře |
| |
| Popis: |
| |
- prohledává cesty AutoCADu a hledá specifikovaný soubor nebo
adresář |
| |
| Návratové hodnoty: |
| |
- kompletní cestu a jméno souboru s koncovkou - je-li
nalezen |
| |
- nil - v opačném případě |
| |
| Příklady: |
| |
Hledání souboru xyz.txt, který se nachází v adresáři \acad:
|
| |
(findfile "xyz.txt") |
| |
|
vrací "C:\\Program Files\\ACAD\\xyz.txt" |
|
| |
Hledání adresáře acad, který se nachází v adresáři \acad:
|
| |
(findfile "xyz.txt") |
| |
|
vrací "C:\\Program Files\\ACAD" |
| |
|
| Pozor: |
| |
V AutoCADu R13 poslední příkaz vrátí nil !!! |
| (open filename mode) |
| |
| Argumenty: |
| |
filename
|
- jméno souboru s koncovkou, není-li specifikována cesta je
prohledáván pouze adresář start-up |
| |
mode
|
- způsob otevření souboru: |
| |
|
|
r
|
- otevřen pro čtení |
| |
|
|
w
|
- otevřen pro zápis |
| |
|
|
|
- neexistuje-li otvíraný soubor, je soubor vytvořen |
| |
|
|
|
- existuje-li otvíraný soubor, je soubor přepsán |
| |
|
|
a
|
- otevřen pro přidání |
| |
|
|
|
- neexistuje-li otvíraný soubor, je soubor vytvořen |
| |
|
|
|
- existuje-li otvíraný soubor, jsou data přidána na konec
souboru |
| |
| Popis: |
| |
- otevře soubor pro přístup I/O funkcí AutoLISPu |
| |
| Návratové hodnoty: |
| |
- ukazatel na soubor - vše proběhlo v pořádku |
| |
- nil - v případě, že mód otevírání je "read"
a specifikovaný soubor filename neexistuje |
| |
| Příklady: |
| |
Otevření existujícího souboru: |
| |
(setq
a (open "c:/program files/acad2000/help/filelist.txt" "r"))
|
| |
|
vrací #<file "c:/program files/acad2000/help/filelist.txt"> |
| (read-char [file-desc]) |
| |
| Argumenty: |
| |
file-desc
|
- popisovač souboru vrácený funkcí open |
| |
|
- není-li file-desc specifikován očekává se vstup z
klávesnice |
| |
| Popis: |
| |
- získání ASCII kódu znaku přečteného ze vstupního bufferu
klávesnice nebo z otevřeného souboru |
| |
| Návratové hodnoty: |
| |
- integer - reprezentuje ASCII kód znaku |
| |
- ASCII kód 10 - přečte-li funkce read-char
znak end-of-line |
| |
| Příklady: |
| |
Příkaz read-char bez argumentů - čtení z bufferu klávesnice: |
| |
(read-char) |
| |
|
- jelikož je buffer klávesnice prádný, čeká funkce na vstup
od uživatele: |
| |
ABC |
| |
|
- vrací 65 |
| |
(read-char) |
| |
|
- vrací 66 |
| |
(read-char) |
| |
|
- vrací 67 |
| |
(read-char) |
| |
|
- vrací 10 - buffer klávesnice je prázdný |
| |
(read-char) |
| |
|
- jelikož je buffer klávesnice prádný, čeká funkce na nový
vstup od uživatele |
| (read-line [file-desc]) |
| |
| Argumenty: |
| |
file-desc
|
- popisovač souboru vrácený funkcí open |
| |
|
- není-li file-desc specifikován očekává se vstup z
klávesnice |
| |
| Popis: |
| |
- čte znaky z klávesnice nebo ze souboru do té doby, než je
indikována značka end-of-line |
| |
| Návratové hodnoty: |
| |
- přečtený řetězec (bez značky end-of-line) |
| |
- nil - v případě konce souboru |
| |
| Příklady: |
| |
Otevření souboru pro čtení: |
| |
(setq
f (open
"c:\\my documents\\new.tst" "r")) |
| |
|
vrací #<file "c:\\my documents\\new.tst"> |
| |
Přečtení řádky ze souboru: |
| |
(read-line f) |
| |
|
vrací "To boldly go where nomad has gone before." |
| (vl-directory-files [directory
pattern directories]) |
| |
| Argumenty: |
| |
directory
|
- jméno adresáře |
| |
|
- není-li argument uveden funkce vl-directory-files
použije aktuální adresář |
| |
pattern
|
- maska pro výpis souborů ve formátu DOS |
| |
|
- není-li argument uveden funkce vl-directory-files
použije masku "*.*" |
| |
directories
|
- integer - co se má vypisovat: |
| |
|
|
-1
|
- výpis pouze adresářů |
| |
|
|
0
|
- výpis souborů a adresářů (implicitní nastavení) |
| |
|
|
1
|
- výpis pouze souborů |
| |
| Popis: |
| |
- vypíše všechny soubory v zadaném adresáři |
| |
| Návratové hodnoty: |
| |
- seznam souborů a jmen cest |
| |
- nil - žádný soubor neodpovídá masce |
| |
| Příklady: |
| |
_$ (vl-directory-files "c:/acadwin" "acad*.exe") |
| |
|
vrací ("ACAD.EXE" "ACADAPP.EXE" "ACADL.EXE"
"ACADPS.EXE") |
| |
_$ (vl-directory-files "e:/acadwin" nil -1) |
| |
|
vrací ("." ".." "SUPPORT"
"SAMPLE" "ADS" "FONTS" "IGESFONT"
"SOURCE" "ASE") |
| |
_$ (vl-directory-files "E:/acad13c4" nil -1) |
| |
|
vrací ("." ".." "WIN" "COM"
"DOS") |
| (vl-file-copy source-file destination-file
[append]) |
| |
| Argumenty: |
| |
source-file
|
- zdrojový soubor, není-li specifikována cesta je prohledáván
pouze adresář start-up |
| |
destination-file
|
-cílový soubor, není-li specifikována cesta je prohledáván
pouze adresář start-up |
| |
append
|
- je-li uveden a různý od nil - je zdrojový soubor připojen
za cílový soubor |
| |
| Popis: |
| |
- zkopíruje nebo přidá obsah jednoho souboru do druhého |
| |
| Návratové hodnoty: |
| |
- integer - proběhlo-li kopírování v pořádku |
| |
- nil - v opačném případě |
| |
- typické případy vrácení nil: |
| |
|
- source-file není čitelný (při otevření nutný mód
"r") |
| |
|
- source-file je adresář |
| |
|
- append? - argument append není uveden nebo je rovný
nil a destination-file existuje |
| |
|
- destination-file nemůže být otevřen pro zápis |
| |
|
- source-file je stejný jako destination-file |
| |
| Příklady: |
| |
Zkopírování souboru autoexec.bat na newauto.bat: |
| |
_$ (vl-file-copy "c:/autoexec.bat" "c:/newauto.bat")
|
| |
|
vrací 1417 |
|
| |
Zkopírování souboru test.bat na newauto.bat: |
| |
_$ (vl-file-copy "c:/test.bat" "c:/newauto.bat") |
| |
|
vrací nil - kopírování selže, protože soubor newauto.bat
již existuje a nebyl uveden argument append |
| (vl-file-delete filename) |
| |
| Argumenty: |
| |
filename
|
- jméno souboru, není-li specifikována cesta je
prohledáván pouze adresář start-up |
| |
| Popis: |
| |
- vymaže soubor |
| |
| Návratové hodnoty: |
| |
- T - vše proběhlo v pořádku |
| |
- nil - vymazání souboru selhalo |
| |
| Příklady: |
| |
Vymazání souboru newauto.bat: |
| |
_$ (vl-file-delete "newauto.bat") |
| |
|
vrací nil - vymazání nebylo uskutečněno, protože v
adresáři AutoCAD (start-up) není žádný soubor newauto.bat |
|
| |
Vymazání souboru newauto.bat v adresáři c:\: |
| |
_$ (vl-file-delete "c:/newauto.bat") |
| |
|
vrací T - vymazání bylo uskutečněno, protože v adresáři
c:\ soubor newauto.bat existoval |
| (vl-file-directory-p
filename) |
| |
| Argumenty: |
| |
filename
|
- jméno souboru nebo adresáře, není-li specifikována cesta
je prohledáván pouze adresář start-up |
| |
| Popis: |
| |
- zjistí zda argument filename ukazuje na adresář |
| |
| Návratové hodnoty: |
| |
- T - jméno filename je jméno adresáře |
| |
- nil - v opačném případě |
| |
| Příklady: |
| |
_$ (vl-file-directory-p "sample") |
| |
|
vrací T
|
| |
_$ (vl-file-directory-p "yinyang") |
| |
|
vrací nil |
| |
_$ (vl-file-directory-p "c:/program files/acad2000")
|
| |
|
vrací T |
| |
_$ (vl-file-directory-p "c:/program files/acad2000/vlisp/yinyang.lsp")
|
| |
|
vrací nil |
| (vl-file-systime filename) |
| |
| Argumenty: |
| |
filename
|
- jméno souboru k ověření |
| |
| Popis: |
| |
- zjištění času poslední modifikace specifikovaného souboru |
| |
| Návratové hodnoty: |
| |
- seznam - obsahující datum a čas poslední modifikace |
| |
- seznam obsahuje následující prvky: |
| |
|
year month day-of-week day-of-month
|
| |
|
hours minutes seconds
|
| |
Poznámka: PONDĚLÍ je den číslo 1 atd. |
| |
- nil - soubor nebyl nalezen |
| |
| Příklady: |
| |
_$ (vl-file-systime "c:/program files/acad2000/sample/visuallisp/yinyang.lsp")
|
| |
|
vrací (1998 4 3 8 10 6 52 0) |
| |
|
- hodnota značí, že soubor byl modifikován 10. 4. 1998 ve
čtvrtek v 6:52:0 |
| (vl-filename-mktemp [pattern
directory extension]) |
| |
| Argumenty: |
| |
pattern
|
- řetězec - šablona souboru |
| |
|
- je-li argument rovný nil nebo není uveden použije funkce
vl-filename-mktemp jméno "$VL~~" |
| |
directory
|
- jméno adresáře pro temporary soubory |
| |
|
- je-li argument rovný nil nebo není uveden použije funkce
vl-filename-mktemp vybere z následujících adresářů v následujícím
pořadí: |
| |
|
|
- adresář specifikovaný v argumentu pattern |
| |
|
|
- adresář specifikovaný v proměnné TMP |
| |
|
|
- adresář specifikovaný v proměnné TEMP |
| |
|
|
- v aktuálním adresáři |
| |
extension
|
-jméno koncovky přiřazené k souboru |
| |
|
- je-li argument rovný nil nebo není uveden použije funkce
vl-filename-mktemp vybere z následujících adresářů v následujícím
pořadí: |
| |
| Popis: |
| |
- vypočítá jedinečné jméno souboru použitelné jako temporary
soubor |
| |
| Návratové hodnoty: |
| |
- řetězec - jméno souboru v následujícím formátu: directory\base<.extension>
kde: |
| |
|
base - do 5 znaků vytvořeno z pattern |
| |
|
XXX - 3 znaky, jedinečná kombinace |
| |
- všechny soubory generované funkcí vl-filename-mktemp během
práce ve VLISPu jsou po skončení vymazány |
| |
| Příklady: |
| |
_$ (vl-filename-mktemp) |
| |
|
vrací "C:\\TMP\\$VL~~004" |
| |
_$ (vl-filename-mktemp "myapp.del") |
| |
|
vrací "C:\\TMP\\MYAPP005.DEL" |
| |
_$ (vl-filename-mktemp "c:\\acadwin\\myapp.del") |
| |
|
vrací "C:\\ACADWIN\\MYAPP006.DEL" |
| |
_$ (vl-filename-mktemp "c:\\acadwin\\myapp.del") |
| |
|
vrací "C:\\ACADWIN\\MYAPP007.DEL" |
| |
_$ (vl-filename-mktemp "myapp" "c:\\acadwin") |
| |
|
vrací "C:\\ACADWIN\\MYAPP008" |
| |
_$ (vl-filename-mktemp "myapp" "c:\\acadwin" ".del") |
| |
|
vrací "C:\\ACADWIN\\MYAPP00A.DEL" |
| (write-line string [file-desc])
|
| |
| Argumenty: |
| |
string
|
- řetězec |
| |
file-desc
|
- popisovač souboru vrácený funkcí open |
| |
| Popis: |
| |
- napíše řetězec na obrazovku nebo do souboru |
| |
| Návratov8 hodnota: |
| |
- řetězec |
| |
| Příklady: |
| |
Otevření souboru: |
| |
(setq
f (open "c:\\my documents\\new.tst" "w")) |
| |
|
vrací #<file "c:\\my documents\\new.tst"> |
| |
|
| |
Napsání řádku do souboru: |
| |
(write-line "To boldly go where nomad has gone before."
f) |
| |
|
vrací "To boldly go where nomad has gone before." |
| |
|
| |
Řádek není fyzicky zapsán do souboru dokud není soubor uzavřen: |
| |
(close f) |
| |
|
vrací nil |