Stránka 1 z 1

Převod

Napsal: 12. 2. 2015, 10:51
od packa
Zdravím , řeším v práci takový problém , dočasně nám statomat zapůjčil navíječku výměnou za rozbitý kus než jej opraví , problém je že formát programu není kompatibilní
můžete mě někdo poradit jak by šly programy převést , je to v podstatě texták . , mám těch programů cca 150ks a nechce se mi to tam ručně datlovat.
ukázka programů :
program nová.txt
(70.99 KiB) Staženo 481 x
program stará.txt
(19.89 KiB) Staženo 415 x

Re: Převod

Napsal: 12. 2. 2015, 12:48
od Mex
Pokud by šlo jenom o změnu formátu, tak to by asi nebylo složité. Možná by se to dalo napsat i jenom jako nějaké makro (regulární výraz) do nějakého editoru, takže bys editorem otevřel soubor, pustil makro a uložil v novém formátu. Samozřejmě by se to ale dalo napsat i jako běžný program nebo jako skript pro streamový editor typu sed.
Ale problém je, že ten nový formát obsahuje víc informací než starý, navíc pracuje i na desetinná místa, což ten starý ne.

Re: Převod

Napsal: 12. 2. 2015, 12:54
od packa
jo to je právě ten problém , no tu " hlavičku jsem vyhodil prohnal jsem to excelem , a nakopíroval hlavičku zpátky , kde jsem upravil názvy a podobně a ručně upravil desetiná místa , zítra to prubnu , jsem zvědavej :D

Re: Převod

Napsal: 12. 2. 2015, 1:02
od Mex
Já bych udělal pokus bez těch hlaviček, nebo je nechat prázdné.
Je možné, že je ten stroj nepotřebuje, že je to jenom dodatečná informace, kterou tam (spíš pro použití člověkem) přidává nějaký SW, který pro ten stroj připravuje data.

Re: Převod

Napsal: 12. 2. 2015, 2:01
od packa
asi jo , asi to tam bude zbytečný , ale myslím že si to z toho tahá název typu , tak ten by tam být měl , to je taky jediná věc kterou jsem v té hlavičce upravil

Re: Převod

Napsal: 14. 2. 2015, 12:30
od HonzaCh
Ahoj,
spíchnul jsem ti skriptík v Perlu (activestate.com), ktery to zkusi zkonvertovat.

Vycházím z toho, že [%.0fd][1,00] a [%.1fd][0,10] jsou formátovací řetězce (žádné/jedno desetinné místo) plus nějaká odpovídající konstanta (třeba rozlišení?) a že by tomu mohlo stačít všechno na celá čísla.

Z původní hlavičky se to nějak pokusí udělat novou, patička (epilog) je vždy stejná.

Pokud máš nějaké informace (jako třeba že je vždy stejný počet řádků a na určitých je vždy fromát %.1f, nebo něco o tom epilogu), dej vědět.

Netuším, zda to projde. Nový soubor je ve formátu UNICODE (2 bajty na znak), je to opravdu potřeba? (zatím jsem nechal výstup nativní ASCII)

Když, tak se s tím skriptem dá zkusit ještě něco podělat.

Jo, a je to "filtr", co se spouští "v DOSu" (příkazový řádek) a který čte vstup a píše výstup, takže vyvolání bude vypadat nějak

Kód: Vybrat vše

perl cvt.pl <jméno_starého_souboru >jméno_nového
včetně těch "skobek" < a >.

Podobně by to bylo i případně v Linuxu, ale to asi není ten případ.

I to spuštění přes 150 souborů by šlo nějak zautomatizovat... (příkaz for v DOSu)

HTH,
H.

PS: Musel jsem ho přejmenovat na .txt :?

PPS: A tohle z toho vypadlo

Kód: Vybrat vše

###[MainHeading]
FileType        =       Preselection data
Saved           =       06.02.15 09:56
Version         =       1.0
ProjectName     =       STA_PF1
###[MainHeading]

###[TypeHeading]
MachineType     =       Winder
MachineName     =       Wickler
ValueNr         =       1050
DataType        =       Preselection data
TypeName        =       12569-2CIV-P35-OCKO-0,2GR2
TargetNr        =       1
###[TypeHeading]

###[Value]
[0000] [         0][%.0fd][1,00]
[0001] [         1][%.0fd][1,00]
[0002] [         1][%.0fd][1,00]
[0003] [         1][%.0fd][1,00]
[0004] [        99][%.0fd][1,00]
[0005] [        12][%.0fd][1,00]
[0006] [         0][%.0fd][1,00]
[0007] [       220][%.0fd][1,00]
[0008] [      1311][%.0fd][1,00]
...atd...

Re: Převod

Napsal: 14. 2. 2015, 7:21
od packa
Ahoj , s těmi desetinými čísly to je jak píšeš , vlastně se to bud násobí jedničkou nebo 0,1 jedna , ve starém systému se zapisovalo třeba otočení o 90° jako 900
a nový zápis je jen 90.

Já jsem si stím hrál v excelu kde jsem nakopíroval všude 1 a pak jsem tam nakopčil ty parametry a znova v textáku vložil hlavičku a konec a jede to , ale je to zdlouhavý proces , tohle vypadá parádně , odpoledne to prubnu , v práci na kompu mi to nedovolí nedostatečná práva .
Dík a dám vědět

Re: Převod

Napsal: 14. 2. 2015, 12:06
od tompa
Ahoj, zkusil jsem to sesmolit v pythonu, ale vyzaduje linux, vyuziva iconv pro prevod kodovani na novy format. Prevede vsechny soubory ze slozky 'stare' do slozky 'nove'. Problem muze byt u jinych typu civek (pocet polu), kdy by nemuseli souhlasit desetinne hodnoty pro ty same kroky jako v prikladu 'program nova.txt', pak by si to chtelo vytvorit vytazek desetinnych kroku pro kazdy typ zvlast.

Re: Převod

Napsal: 14. 2. 2015, 12:27
od packa
tompa píše:Ahoj, zkusil jsem to sesmolit v pythonu, ale vyzaduje linux, vyuziva iconv pro prevod kodovani na novy format. Prevede vsechny soubory ze slozky 'stare' do slozky 'nove'. Problem muze byt u jinych typu civek (pocet polu), kdy by nemuseli souhlasit desetinne hodnoty pro ty same kroky jako v prikladu 'program nova.txt', pak by si to chtelo vytvorit vytazek desetinnych kroku pro kazdy typ zvlast.
ahoj velice děkuji za prográmek , jen nemám na notasu linux , myslíš že by se to dalo nějak rozjet na widlích ? python mám nainstalovaný - 3.2
dík packa

Re: Převod

Napsal: 14. 2. 2015, 2:10
od tompa
sz