Article View: pl.comp.os.advocacy
Article #2624Re: Word strony (nie)parzyste
From: Qrczak
Date: Mon, 19 Jan 1998 22:50
Date: Mon, 19 Jan 1998 22:50
133 lines
7793 bytes
7793 bytes
On 18 Jan 1998, Slawomir Bialek wrote:
> :>:>for a in *.ps; do psselect -e $a |lpr; done
> :>:># Jak się wydrukują, to wkładam papier drugą stroną i:
> :>:>for a in `ls *.ps |tac`; do psselect -o -r $a |lpr; done
>
> : O jeśli o piwo chodzi to chętnie. Z tym, że musiałbyś podać w jakiej
> : wersji Worda oraz o co dokładnie chodzi no i ile litrów tego napoju.
> cholera... myślałem, że Qrczak tam wyżej pisał o drukowania
> po dwie strony na jednej tak, żeby po złożeniu wychodziła książeczka
> (wiem, nudzę z tym tematem, ale mi to ciągle powraca)....
No tak... Przepraszam za mimowolne wprowadzenie w błąd.
Nie zażądałem teraz książeczki, bo wiem, że to niemożliwe :-)
Tym razem chodziło mi raczej o możliwość i łatwość automatyzacji
powtarzanych czynności. Uważam, że Win95 + Word są tutaj do tyłu w
stosunku do Linuxa - ogólnie da się zrobić mniej, a to, co się da, jest
bardziej skomplikowane.
On Mon, 19 Jan 1998, Marcin Wieczorek wrote:
> Sub Druk()
> '
> ' Druk Makro
> ' Makro zapisane 97-01-19 przez Marcin Wieczorek
> '
> With Application.FileSearch
> .NewSearch
> .LookIn = "c:\Temp\Doc\"
> .FileType = msoFileTypeWordDocuments
> If .Execute > 0 Then
> For I = 1 To .FoundFiles.Count
> Documents.Open FileName:=.FoundFiles(I), Format:=wdOpenFormatAuto
> Application.PrintOut FileName:="", PageType:=wdPrintOddPagesOnly
> Application.PrintOut FileName:="", PageType:=wdPrintEvenPagesOnly
> Documents.Close (wdDoNotSaveChanges)
> Next I
> End If
> End With
> End Sub
>
[...]
> Mam nadzieje, ze o to Ci chodzilo...
Zgadza się, mniej więcej o to.
Teraz chyba nikogo nie zdziwi, że uważam linuksowe rozwiązanie za
prostsze, prawda? Porównajny oba rozwiązania - które wygląda prościej?
Na dodatek to powyżej jest naprawdę rozwiązaniem nieco łatwiejszego
zadania, które pod Linuxem można zrobić tak:
for a in *.ps; do { psselect -o $a; psselect -e $a } |lpr; done
Jest to prostsze nie tylko z obiektywnego punktu widzenia, porównując
same skrypty. Ale przede wszystkim pod Linuxem jeśli chcę sobie
wydrukować postscripta, to zrobię to w pewien sposób - i _tego samego_
sposobu użyję w skrypcie, który to skrypt mogę wywołać _w ten sam_
sposób co każdy inny program. Uczę się drukować dokument tylko raz i
jest to IMHO wystarczająco proste, żeby używać tego na co dzień do
drukowania z palca, a zarazem daje się wykorzystywać w bardziej
nietypowych okolicznościach bez dodatkowej nauki (pomijając oczywiście
naukę ogólnej budowy skryptów, która jest jednak bardzo uniwersalna i
też wystarczy się tego nauczyć tylko raz).
Natomiast wordowe ustawianie opcji drukowania w okienku dialogowym ma tę
wadę, że bezpośrednio nie nadaje się do automatyzacji - do makr trzeba
się uczyć nowych metod. Drukowanie interakcyjne może i jest w miarę
wygodne, ale jest _tylko_ interakcyjne. Osobne komendy drukujące do
użycia w makrze są mniej wygodne niż ta jedyna metoda pod Linuxem (i
przy okazji dające mniej możliwości) - mniej wygodne po pierwsze pod tym
względem, że są trudniejsze do napisania, a po drugie, że mniej ogólne w
użyciu (bo nie jest to program, który uruchamiam jak inne programy,
tylko wewnętrzne makro Worda).
Zresztą pod Linuxem najpierw piszę to jako program, a potem, jeśli mam
na to wielką ochotę, to mogę to sobie dołączyć do graficznego menu w
okienkach.
Drukowanie to tylko przykład! To samo dotyczy np. podstawowych operacji
na plikach (kopiowanie, wyszukiwanie, konwersje) albo chociażby samego
uruchamiania programów, a na nieco innym poziomie również konfigurowania
programów (tutaj widzę, jak wygląda tekstowy plik konfiguracyjny, więc
teoretycznie mogę go tworzyć i obrabiać dowolnymi narzędziami - z
drugiej strony, pod Windowsami inaczej wygląda ustawianie opcji w
okienku dialogowym, a zupełnie inaczej bezpośrednie grzebanie w
Rejestrze). W Linuxie jest jeden postawowy sposób wykonania danej
czynności, dobry do użycia z palca i ze skryptu, wygodny i z dużymi
możliwościami dodatkowych usprawnień (bash jest Wielki). A w Windowsach
odpowiednikiem uruchamiania komend z palca jest klikanie po okienkach i
menusach, które bywa średnio wygodne _nawet_ w używaniu bezpośrednim
(jeśli chcemy np. zrobić jeszcze raz prawie to samo co wczoraj), a już
zupełnie nie nadaje się do użycia w inny sposób (skrypt nie poprosi
przecież Eksploratora o przeniesienie pliku), oprócz tego istnieje
niesamowicie ubogi język skryptów DOSowego command.coma, oprócz tego
jest wyspecjalizowany WordBasic - a mimo że jest wyspecjalizowany do
podobnych czynności, wydrukowanie parzystych stron zbioru plików jest
IMHO prostsze pod Linuxem! a i tak do nieco bardziej skomplikowanych
problemów trzeba pisać program np. w C++, który z kolei będzie miał
kłopoty z dogadaniem się z Wordem, żeby wydrukował nieparzyste strony od
końca.
Oczywiście nie wszęszie sytuacja wygląda dokładnie tak samo. Na przykład
w przypadku wysyłania listów pod Linuxem są osobne programy do
interakcyjnych manipulacji listami i osobny do użycia ze skryptu
(zresztą program mail teoretycznie może być też użyty interakcyjnie, ale
jest do tego bardzo niewygodny). Czasem i tutaj trzeba się uczyć różnych
metod do różnych warunków. Co z tego, skoro pod Windowsami w ogóle nie
ma (a przynajmniej nigdy o czymś takim nie słyszałem) programu
umożliwiającego automatyczne wysłanie listu o treści wziętej np. z pliku
albo właśnie wygenerowanego przez program? Linux jak zwykle górą!
Popatrzmy na ogólną modułowość. Pod Linuxem wszystko (no, prawie...
chodzi mi o każdą niemal czynność) jest programem i jedne programy
używają innych (np. skrypt drukujący zbiór plików używa programu
wybierającego strony parzyste). A pod Windowsami część czynności to
programy, część to makra w Wordzie, część nie jest dostępna jako osobne
programy, tylko wyłącznie jako funkcje API, część może być uruchamiana
tylko z menu (np. szukanie plików), część polega na interakcyjnym
ustawieniu opcji w dialogach... I jednego nie użyje się w innym - z
batcha nie wykona się wordowego makra, z wordowego makra nie wyśle się
listu, z własnego programu napisanego np. w C++ trudno będzie
skonfigurować opcje zupełnie innego programu (których format w Rejestrze
nie jest oczywiście opisany, bo po co, skoro wszystko można ustawić w
okienku dialogowym, prawda?), z batcha nie wykorzystam mechanizmu
szukania plików przez Eksplorator. Niepotrzebne rozdzielanie i
komplikacje, te same rzeczy trzeba za każdym razem pisać w inny sposób,
bo brakuje wystarczająco uniwersalnych środowisk.
--
QRCZAK
__("< Marcin Kowalczyk
\__/ qrczak@knm.org.pl
^^ http://qrczak.home.ml.org/
Technical Details
Message-ID:
<Pine.LNX.3.96.980119224520.5516B-100000@qrnik.knm.org.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczakShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!qrnik.knm.org.pl!qrnik.knm.org.pl!qrczak From: Qrczak <qrczak@knm.org.pl> Newsgroups: pl.comp.os.advocacy Subject: Re: Word strony (nie)parzyste Date: Mon, 19 Jan 1998 23:50:06 +0100 Organization: Klub Nieszkodliwych Manjaków Lines: 134 Message-ID: <Pine.LNX.3.96.980119224520.5516B-100000@qrnik.knm.org.pl> Reply-To: Qrczak <qrczak@knm.org.pl> NNTP-Posting-Host: ppp2-cst73.warszawa.tpnet.pl Mime-Version: 1.0 In-Reply-To: <69u1mk$fe3$1@rhino.silesia.linux.org.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit