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ů :
Převod
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.
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.
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 ![Very Happy :D](./images/smilies/icon_biggrin.gif)
![Very Happy :D](./images/smilies/icon_biggrin.gif)
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
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
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
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
![Confused :?](./images/smilies/icon_confused.gif)
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 376 x
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
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
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 348 x
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.2tompa 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.
dík packa