31

semiono⇓ пишет:

А всё это дело через вывод в файл > делается? Или можно исходный файл сразу отредактировать?

да...
может если раскурить ман, то может у утилитки и есть ключик типа sed'овского -i...

95% процентов проблем находятся между клавиатурой и стулом.

32

semiono⇓ пишет:

А всё это дело через вывод в файл > делается? Или можно исходный файл сразу отредактировать?

Если нужно исходный редактировать, могу свой скрипт подправить. Он заработал?

Да, у меня Ubuntu.
Нет, не глючит.

33 (10.03.2013 19:12:34 отредактировано semiono)

-=Serj=- пишет:

Если нужно исходный редактировать, могу свой скрипт подправить. Он заработал?

Да, работает! Давай!
Уточню тогда, ещё важно <obj class="UPoint" name="Size" ID="182564128"> указывать, потому что obj могут дважды в блоке находится.
Пример ещё

<Defaults>
   <list name="Entries" type="list">
      <item>
         <string name="Group" value="PArrangeWindow"/>
         <member name="Values">
           <int name="Show Inspector" value="1"/>
            <obj class="UPoint" name="Size" ID="182564128">
               <int name="H" value="1440"/>
               <int name="V" value="848"/>
            </obj>            
            <int name="Snap Mode" value="0"/>
         </member>
      </item>
            </list>
</Defaults>

Я понял, xpars.exe это скампилированный скрипт у вас, верно же? ab
Интересно, я тогда хочу поставить питон и сам такие писать)
Только надо посмотреть насколько это практически полезно.

sudo включить компьютер

34 (10.03.2013 19:01:40 отредактировано -=Serj=-)

semiono⇓ пишет:

Уточню тогда, ещё важно <obj class="UPoint" name="Size" ID="182564128"> указывать, потому что obj могут дважды в блоке находится.

Опять не понятно, в предыдущем примере значение name="Location"
Уточните критерии.

<item>
         <string name="Group" value="TransportWindow"/>
         <member name="Values">
            <obj class="UPoint" name="Location" ID="215319288">
               <int name="H" value="321"/>
               <int name="V" value="690"/>
            </obj>
         </member>
      </item>

semiono⇓ пишет:

Я понял, xpars.exe это скомпилированный скрипт у вас, верно же?

Скорее, это скрипт и интерпретатор, упакованные в exe.

Да, у меня Ubuntu.
Нет, не глючит.

35

-=Serj=-⇓ пишет:

Опять не понятно, в предыдущем примере значение name="Location"

У меня просто XML большой и там много блоков разных, меня питон уже больше теоретически заинтересовал.
Практически XMLStarlet пойдёт.

sudo включить компьютер

36

Fat-Zer⇓ пишет:

может если раскурить ман, то может у утилитки и есть ключик типа sed'овского -i...

Вот это было бы оочень здорово!

sudo включить компьютер

37 (10.03.2013 19:11:29 отредактировано semiono)

-=Serj=- пишет:

Скорее, это скрипт и интерпретатор, упакованные в exe.

Если не трудно напиши любой пример, я просто погоняю по XML сам поучусь.
Только с перезаписью XML

sudo включить компьютер

38

xml.exe хорош тем что можно находу применять в любой ситуации, однако плохо что его вызывать нужно, да ещё и с копированием в другой файл >
то-есть если нужно исправить несколько параметров в нужном xml, то приходится его каждый раз перезаписывать.


Вот на Fasm что получилось

include '%fasm%/win64ax.inc'
section '.code' executable
start:
        sub rsp,8

        invoke GetSystemMetrics,SM_CXSCREEN
        invoke wsprintf,a,\
               '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''PArrangeWindow'']]/member/obj/int[@name=''H'']/@value" -v %d Defaults.xml> tmp',eax
        invoke ShellExecute,NULL,NULL,'cmd.exe',a,NULL,SW_HIDE
        invoke Sleep,100
        invoke CopyFile,'tmp','Defaults.xml',NULL

        invoke GetSystemMetrics,SM_CYSCREEN
        sub eax,52
        invoke wsprintf,a,\
               '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''PArrangeWindow'']]/member/obj/int[@name=''V'']/@value" -v %d Defaults.xml> tmp',eax
        invoke ShellExecute,NULL,NULL,'cmd.exe',a,NULL,SW_HIDE
        invoke Sleep,100
        invoke CopyFile,'tmp','Defaults.xml',NULL

        invoke GetSystemMetrics,SM_CXSCREEN
        shr eax,1
        sub eax,399
        invoke wsprintf,a,\
               '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''TransportWindow'']]/member/obj/int[@name=''H'']/@value" -v %d Defaults.xml> tmp',eax
        invoke ShellExecute,NULL,NULL,'cmd.exe',a,NULL,SW_HIDE
        invoke Sleep,100
        invoke CopyFile,'tmp','Defaults.xml',NULL

        invoke GetSystemMetrics,SM_CYSCREEN
        sub eax,220
        invoke wsprintf,a,\
               '/c xml ed -S -O -u "/Defaults/list/item[string[@value=''TransportWindow'']]/member/obj/int[@name=''V'']/@value" -v %d Defaults.xml> tmp',eax
        invoke ShellExecute,NULL,NULL,'cmd.exe',a,NULL,SW_HIDE
        invoke Sleep,100
        invoke CopyFile,'tmp','Defaults.xml',NULL

        invoke Sleep,10
        invoke DeleteFile,'tmp'
exit:
        invoke ExitProcess,NULL

section '.data' readable writeable

        a rb MAX_PATH

section '.idata' import readable

        library kernel32,'KERNEL32.DLL',shell32,'SHELL32.DLL',user32,'USER32.DLL'
        include '%fasm%/api/kernel32.inc'
        include '%fasm%/api/shell32.inc'
        include '%fasm%/api/user32.inc'

Всего четыре параметра поправить приходится четыре раза файл переписывать...

sudo включить компьютер

39

semiono⇓ пишет:

Если не трудно напиши любой пример, я просто погоняю по XML сам поучусь.
Только с перезаписью XML

Для перезаписи достаточно в этом варианте XML заменить предпоследнюю строчку

with open('new.xml', 'w') as f:

на

with open(fname, 'w') as f:
Да, у меня Ubuntu.
Нет, не глючит.

40 (11.03.2013 00:05:55 отредактировано semiono)

Fat-Zer пишет:

да...
может если раскурить ман, то может у утилитки и есть ключик типа sed'овского -i...

Там есть -i , но блин даже на форуме никто не отвечает, а в документации нет примеров.
Мне показалось, что без заголовка
<?xml version="1.0" ?>
вставка не работает.
А вот реплика с форума
xml ed -i -t comment -n '' -v 'comment contents here'
тоже не получилось у меня.
Уж лучше копировать ab

ShellExecute() cmd.exe '/c xml ... Defaults.xml> tmp && move /y tmp Defaults.xml && del tmp'

sudo включить компьютер

41

semiono⇓ пишет:

Там есть -i , но блин даже на форуме никто не отвечает, а в документации нет примеров.

«типа -i» это может быть -i, а может что-то аналогичное... X_X

xml ed --help пишет:

<global-options> are:
  -P, or -S           - preserve whitespace nodes.
     (or --pf, --ps)    Note that space between attributes is not preserved
  -O (or --omit-decl) - omit XML declaration (<?xml ...?>)
  -L (or --inplace)   - edit file inplace
  -N <name>=<value>   - predefine namespaces (name without 'xmlns:')
                        ex: xsql=urn:oracle-xsql
                        Multiple -N options are allowed.
                        -N options must be last global options.

semiono⇓ пишет:

Уточню тогда, ещё важно <obj class="UPoint" name="Size" ID="182564128"> указывать, потому что obj могут дважды в блоке находится.

для xmlstarlet'а сам подправить xpath сможешь?
вот примеры, уровня букваря...

95% процентов проблем находятся между клавиатурой и стулом.

42 (21.03.2013 01:10:35 отредактировано semiono)

Так как же всётаки в bc корень n-й степени получить? Я набираю echo 2^(1/7), но это не поддерживается.
Мне уже кажется что это вообще невозможно, только не пугайте меня.

sudo включить компьютер

43

semiono⇓ пишет:

Так как же всётаки в bc корень n-й степени получить? Я набираю echo 2^(1/7), но это не поддерживается.Мне уже кажется что это вообще невозможно, только не пугайте меня.

как-то так если не думая:

 Консоль:
alexander@goblin ~ $ bc -lq
define pow(a,b) {
return e(b*l(a))
}
pow(2,1/7)
1.10408951367381233764

но:
1) реальная точность меньше значения scale.
2) в не каноничном варианте, это тот случай, когда лучше перейти с баша на перловку или питон.

95% процентов проблем находятся между клавиатурой и стулом.

44 (21.03.2013 11:12:42 отредактировано semiono)

1) Мне точность не нужна, где-то до сотых вполне хватит, большое спасибо!

Гы! Даже в Windows работает! Первое что мне GnuWin32 bc нормально выдал ab

sudo включить компьютер

45 (04.04.2013 02:29:50 отредактировано semiono)

-=Serj=- пишет:
semiono⇓ пишет:

А всё это дело через вывод в файл > делается? Или можно исходный файл сразу отредактировать?

Если нужно исходный редактировать, могу свой скрипт подправить. Он заработал?

А я себе Python установил ab
А есть что нибудь интересное из примерчиков? Крутящийся курсор например напечатать?
И как конвертировать py в байткод? Хотя всё это можно почитать, но я только что этим занялся)

Во всех книжках написано print "Helo World", я интуитивно написал print ("Helo World") и был прав, хотя потом узнал, что это в 3-й версии так.
Я в Windows сижу разумеется ab

Я ещё Ruby и Perl поставил, но нифига не понятно))

sudo включить компьютер