Převod

Odpovědět
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

12. 2. 2015, 10:51

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 474 x
program stará.txt
(19.89 KiB) Staženo 410 x
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

12. 2. 2015, 12:48

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.
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

12. 2. 2015, 12:54

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
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

12. 2. 2015, 1:02

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.
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

12. 2. 2015, 2:01

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
HonzaCh
Příspěvky: 289
Registrován: 21. 11. 2006, 8:57
Bydliště: Ostrava

14. 2. 2015, 12:30

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...
Přílohy
cvt.txt
Skript
(2.64 KiB) Staženo 371 x
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

14. 2. 2015, 7:21

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
tompa
Příspěvky: 20
Registrován: 8. 11. 2013, 5:06

14. 2. 2015, 12:06

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.
Přílohy
navijecka.tar
(230 KiB) Staženo 343 x
Uživatelský avatar
packa
Příspěvky: 6935
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

14. 2. 2015, 12:27

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
tompa
Příspěvky: 20
Registrován: 8. 11. 2013, 5:06

14. 2. 2015, 2:10

sz
Odpovědět

Zpět na „editory“