🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.os.advocacy
Article #2624

Re: Word strony (nie)parzyste

#2624
From: Qrczak
Date: Mon, 19 Jan 1998 22:50
133 lines
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!qrczak

Show 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