Zobrazit plnou verzi příspěvku: dialog pro otevření více souborů najednou
Dobrý den,potřeboval bych otevřít v lispu více souborů najednou. Ze souborů něco čtu, nejedná se ale o DWG, jde o textové soubory. Pokud chci otevřít pouze jeden soubor, použiji funkci (getfiled)v tomto dialogu jde vybrat pouze jeden soubor. Já bych ale potřeboval vybrat z jednoho adresáře více souborů. Něco jako je u funkce [CMD]OTEVŘI[/CMD] (_OPEN) - zde lze vybrat více souborů najednou.Procházím nápovědu, zkouším hledat na netu, ale marně...
IMHO v lispu je příkaz Open a můžete si otevřít, kolik souborů chcete
(setq i (open "soubor.txt" "r"))
(setq x (read-line i))
(close i)Seiner2009-03-20 09:34:47
Vidím, že jsem nezformuloval dotaz dobře. Nejde mi o funkci (open)Ale o otevírací dialog, kde je možné vybrat více souborů najednou. Něco jako je (getfiled) ale s možností výběru více souborů. Podobný dialog je v cadovské funkci na otevření souboru DWG (se SHIFTEM vyberu na otevření více souborů), ale mě nejde o DWG a potřebuji to v lispu...getfield vrátí jeden string s plným jménem souboru (včetně cesty - např: "c:\adresář\soubor.txt").U funkce kterou hledám bych si představoval, že vrátí list, který bude obsahovat stringy s názvy vybraných souborů. Např. ("c:\adresář\soubor-1.txt" "c:\adresář\soubor-2.txt" ... "c:\adresář\soubor-XX.txt")
Aha - omlouvám se za nechápavost.
Pak se ale obávám, že GETFILED multiselect neumí (aspoň jsem nenašel) a budete to muset někudy obejít (VB + common dialog ?)
Bohužel VisualBasic vůbec, ale vůbec neovládám...Nedá se nějak kousek kódu z VBA spustit z LISPu?
VBA v AutoCADu jsem nějak minul. Kvůli použitelnosti v LT spíš tvořím externí prográmky ve VB. Asi by nebyl problém napsat jednoduché exe, které by otevřelo pomocí API CommonDialog a do dočasného textového souboru zapsalo vybrané soubory. To by se spouštělo z lispu pomocí STARTAPP. Ale přijde mi to takové překombinované. Třeba někoho napadne něco jednoduššího...
V nejhorším to vyřeším na stejném principu, ale víc manuálně. Ručně si vytvořím seznam souborů - do textového souboru a v AutoCadu si ho pak snadno načtu.Vypadá to, že skutečnost multivýběru v dialogu pro otevření souboru DWG mi dala marnou naději, že to bude umět i Visual Lisp...
pavelstyl
20.03.2009, 12:08
[QUOTE=alfred]Nedá se nějak kousek kódu z VBA spustit z LISPu? [/QUOTE]
Toto spustí makro EditRaz z souboru D:\Attrib1.dvb
[CODE](command "_-vbarun" "D:\\Attrib1.dvb!Module1.EditRaz")[/CODE]
Pavel Štyl
Zaslaný soubor jsem odebral - byl to nepodařený nedodělek a omlouvám se za něj.
VSSeiner2009-03-20 14:37:45
Vladimír Michl
20.03.2009, 13:14
Lepší bude myslím použít knihovnu DOSlib a funkci dos_getfilem.
Děkuji,přesně to jsem hledal...