Re: Local Versus Global Command Options

Liste des GroupesRevenir à co vms 
Sujet : Re: Local Versus Global Command Options
De : arne (at) *nospam* vajhoej.dk (Arne Vajhøj)
Groupes : comp.os.vms
Date : 14. Feb 2025, 03:37:04
Autres entêtes
Organisation : SunSITE.dk - Supporting Open source
Message-ID : <67aeac50$0$713$14726298@news.sunsite.dk>
References : 1 2
User-Agent : Mozilla Thunderbird
On 2/13/2025 8:06 PM, Arne Vajhøj wrote:
On 2/13/2025 5:52 PM, Lawrence D'Oliveiro wrote:
What would DCL-style syntax for ffmpeg look like? I suppose one
obvious equivalence would be
>
     ffmpeg -
         «infile-1»/«local-input-options-1»,«infile-2»/«local-input- options-2»,... -
         «outfile-1»/«local-output-options-1»,«outfile-2»/«local- output-options-2»,... -
>
(being very careful about where the commas go), but what about the
syntax for filtergraphs? Would it be something like
>
     /vf=(«filter-name-1»=«filter-params-1»,«filter-name-2»=«filter- params-2»...)
>
Does DCL have provision for this sort of complexity?
 You can do quite a bit with CDU, CLD and CLI$:
 $ type fun.cld
define verb fun
     image "sys$disk:[]fun"
     parameter p1, value(type=$file)
     parameter p2, value(type=$file)
     parameter p3, value(type=$file)
     parameter p4, value(type=$file)
     parameter p5, value(type=$file)
     parameter p6, value(type=$file)
     parameter p7, value(type=$file)
     parameter p8, value(type=$file)
qualifier q1, placement=local
qualifier q2, value(type=a_and_b, list, required), placement=local
define type a_and_b
     keyword a, value(type=$number, required)
     keyword b, value(type=$number, required)
$ type fun.pas
[inherit('sys$library:pascal$cli_routines')]
program fun(input,output);
 type
    pstr = varying [255] of char;
 procedure check(pn : pstr);
 var
    fnm, a, b : pstr;
 begin
    if odd(cli$present(pn)) then begin
       cli$get_value(pn, fnm.body, fnm.length);
       write(pn, '=', fnm);
       if odd(cli$present('Q1')) then begin
          write(' Q1=present')
       end else begin
          write(' Q1=notpresent')
       end;
       if odd(cli$present('Q2')) then begin
          cli$get_value('Q2.A', a.body, a.length);
          write(' A=', a);
          cli$get_value('Q2.B', b.body, b.length);
          write(' B=', b);
       end;
       writeln;
    end;
end;
 begin
    check('P1');
    check('P2');
    check('P3');
    check('P4');
    check('P5');
    check('P6');
    check('P7');
    check('P8');
end.
$ pas fun
$ lin fun
$ set comm fun
$ fun x.dat /q2=(a:1,b:2) y.dat /q1 /q2=(a:3,b:4) z.dat /q2=(a:5,b:6)
P1=x.dat Q1=notpresent A=1 B=2
P2=y.dat Q1=present A=3 B=4
P3=z.dat Q1=notpresent A=5 B=6
Or with a P1 list:
$ type fun2.cld
define verb fun2
     image "sys$disk:[]fun2"
     parameter p1, value(type=$file, list, required)
qualifier q1, placement=local
qualifier q2, value(type=a_and_b, list, required), placement=local
define type a_and_b
     keyword a, value(type=$number, required)
     keyword b, value(type=$number, required)
$ type fun2.pas
[inherit('sys$library:pascal$cli_routines')]
program fun2(input,output);
type
    pstr = varying [255] of char;
var
    fnm, a, b : pstr;
begin
    while odd(cli$get_value('P1', fnm.body, fnm.length)) do begin
       write(fnm);
       if odd(cli$present('Q1')) then begin
          write(' Q1=present')
       end else begin
          write(' Q1=notpresent')
       end;
       if odd(cli$present('Q2')) then begin
          cli$get_value('Q2.A', a.body, a.length);
          write(' A=', a);
          cli$get_value('Q2.B', b.body, b.length);
          write(' B=', b);
       end;
       writeln;
    end;
end.
$ pas fun2
$ lin fun2
$ set comm fun2
$ fun2 x.dat/q2=(a:1,b:2), y.dat/q1/q2=(a:3,b:4), z.dat/q2=(a:5,b:6)
x.dat Q1=notpresent A=1 B=2
y.dat Q1=present A=3 B=4
z.dat Q1=notpresent A=5 B=6
Arne

Date Sujet#  Auteur
13 Feb 25 * Local Versus Global Command Options53Lawrence D'Oliveiro
14 Feb 25 +* Re: Local Versus Global Command Options2Arne Vajhøj
14 Feb 25 i`- Re: Local Versus Global Command Options1Arne Vajhøj
14 Feb 25 +* Re: Local Versus Global Command Options49Simon Clubley
14 Feb 25 i+* Re: Local Versus Global Command Options44Arne Vajhøj
14 Feb 25 ii`* Re: Local Versus Global Command Options43Simon Clubley
15 Feb 25 ii `* Re: Local Versus Global Command Options42Arne Vajhøj
15 Feb 25 ii  `* Re: Local Versus Global Command Options41Arne Vajhøj
15 Feb 25 ii   +* Re: Local Versus Global Command Options2Arne Vajhøj
18 Feb 25 ii   i`- Re: Local Versus Global Command Options1Arne Vajhøj
15 Feb 25 ii   `* Re: Local Versus Global Command Options38Lawrence D'Oliveiro
16 Feb 25 ii    +- Re: Local Versus Global Command Options1Arne Vajhøj
16 Feb 25 ii    `* Re: Local Versus Global Command Options36Mark Berryman
17 Feb 25 ii     `* Re: Local Versus Global Command Options35Lawrence D'Oliveiro
17 Feb 25 ii      `* Re: Local Versus Global Command Options34Mark Berryman
17 Feb 25 ii       +* Re: Local Versus Global Command Options2bill
17 Feb 25 ii       i`- Re: Local Versus Global Command Options1Robert A. Brooks
17 Feb 25 ii       `* Re: Local Versus Global Command Options31Lawrence D'Oliveiro
18 Feb 25 ii        +* Re: Local Versus Global Command Options4jayjwa
18 Feb 25 ii        i+- Re: Local Versus Global Command Options1Arne Vajhøj
18 Feb 25 ii        i+- Re: Local Versus Global Command Options1Lawrence D'Oliveiro
18 Feb 25 ii        i`- Re: Local Versus Global Command Options1Lawrence D'Oliveiro
18 Feb 25 ii        +* Re: Local Versus Global Command Options2Arne Vajhøj
18 Feb 25 ii        i`- Re: Local Versus Global Command Options1Lawrence D'Oliveiro
18 Feb 25 ii        `* Re: Local Versus Global Command Options24Mark Berryman
19 Feb 25 ii         `* Re: Local Versus Global Command Options23Lawrence D'Oliveiro
19 Feb 25 ii          `* Re: Local Versus Global Command Options22Arne Vajhøj
19 Feb 25 ii           +* Re: Local Versus Global Command Options20Dan Cross
19 Feb 25 ii           i`* Re: Local Versus Global Command Options19Robert A. Brooks
19 Feb 25 ii           i `* Re: Local Versus Global Command Options18Arne Vajhøj
19 Feb 25 ii           i  +* Re: Local Versus Global Command Options16Dan Cross
21 Feb 25 ii           i  i`* Re: Local Versus Global Command Options15Stephen Hoffman
21 Feb 25 ii           i  i `* Re: Local Versus Global Command Options14Lawrence D'Oliveiro
22 Feb 25 ii           i  i  +* Re: Local Versus Global Command Options10Arne Vajhøj
22 Feb 25 ii           i  i  i`* Re: Local Versus Global Command Options9Lawrence D'Oliveiro
22 Feb 25 ii           i  i  i `* Re: Local Versus Global Command Options8Arne Vajhøj
22 Feb 25 ii           i  i  i  +* Re: Local Versus Global Command Options6Dave Froble
22 Feb 25 ii           i  i  i  i`* Re: Local Versus Global Command Options5Arne Vajhøj
22 Feb 25 ii           i  i  i  i `* Re: Local Versus Global Command Options4Arne Vajhøj
22 Feb 25 ii           i  i  i  i  +* Re: Local Versus Global Command Options2Dave Froble
22 Feb 25 ii           i  i  i  i  i`- Re: Local Versus Global Command Options1Arne Vajhøj
22 Feb 25 ii           i  i  i  i  `- Re: Local Versus Global Command Options1Lawrence D'Oliveiro
22 Feb 25 ii           i  i  i  `- Re: Local Versus Global Command Options1Lawrence D'Oliveiro
22 Feb 25 ii           i  i  `* Re: Local Versus Global Command Options3Dave Froble
22 Feb 25 ii           i  i   `* Re: Local Versus Global Command Options2Dan Cross
22 Feb 25 ii           i  i    `- Re: Local Versus Global Command Options1Chris Townley
20 Feb 25 ii           i  `- Re: Local Versus Global Command Options1Lawrence D'Oliveiro
20 Feb 25 ii           `- Re: Local Versus Global Command Options1Lawrence D'Oliveiro
22 Feb 25 i`* Re: Local Versus Global Command Options4Brian Schenkenberger
22 Feb 25 i +* Re: Local Versus Global Command Options2Lawrence D'Oliveiro
22 Feb 25 i i`- Re: Local Versus Global Command Options1Dave Froble
24 Feb 25 i `- Re: Local Versus Global Command Options1Simon Clubley
5 Mar 25 `- Re: Local Versus Global Command Options1Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal