Struktura pliku, edycja jego właściwości


(master of disaster) #1

Witam.

Potrzebuje napisać program, który będzie zmieniał nazwę pliku oraz jego właściwości (iProperties).

Sama idea wydaje się być banalna, jednak nie jest tak do końca. Będzie to plik Autodesk Inventor, (*.ipt), który posiada w/w iProperites które wyglądają tak:

autodesk.png

I teraz w jaki sposób, znaleźć te informacje w pliku i manipulować nimi ?

Wszystko mam napisać w AutoIT, jednak ta funkcja mogłaby być np. w c++ a potem bym ją zaimplementował. Jednak na razie jetem ciekawy chociaż samego sposobu jak otworzyć plik i znaleźć w nim te iProperties.

Pozdrawiam.


(Jacunia) #2

Zazwyczaj informacje o pliku to są pierwsze bajty pliku, lub ostatnie. Jeśli nie znalazłeś odpowiedzi w google, prawdopodobnie sam będziesz musiał dokonać testów, które bajty odpowiadają tym tagom.


(master of disaster) #3

A w ogóle przeglądać zawartość pliku?


(Jacunia) #4

W c++ możesz posłużyć się biblioteką fstream. Tworzysz sobie obiekt fstream ob(“nazwa_pliku.ipt”, std::ios::in | std::ios::binary), i za pomocą metod typu seekg, read, itd poruszasz się wsród bajtów i je czytasz. Problemem dla mnie by było odgadnięcie ile bajtów jest przewidzaine na daną informację o pliku. Robota naprawdę trudna i żmudna, ale nie znam innego sposobu.


(master of disaster) #5

A ma ktoś może jakiś inny pomysł?


(Enterbios) #6

Jeżeli format pliku jest zamknięty i nie znajdziesz w google analizy formatu zrobionej przez kogoś będziesz musiał jej dokonać sam. Przyda Ci się jakiś edytor w którym wyświetlisz wartość pliku w postaci hexadecymalnej. Następnie korzystając z informacji które masz dostępne np. że numer części to P-12z1 musisz rozpoznać format pliku. Weź też pod uwagę że informacje to mogą być skompresowane lub zaszyfrowane aby utrudnić analizę formatu.


(Grzelix) #7

Daj zapytanie do google ze słowami:

Using iProperties with Inventor VBA

w pierwszych linkach pojawia się kilka pdf-ów, które (jak sądzę) mogą się przydać