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

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.

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.

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

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.

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

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.

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ć