Sprawdzenie typu danych w pliku

0

Mam jakiś plik. Nietekstowy. Czy mogę jakoś prawdzić w danym bajcie typ danych? Tzn. czy ten typ to np byte, czy string?

Powiedzmy plik wygląda tak:

abcdŚ632

I teraz chcę sprawdzić, czy w piątym bajcie pliku jest zmienna typu STRING, czy typu BYTE. Można?

0

nie

0

Juhas, prawde powiedziawszy to to Twoje pytanie nie bardzo ma sens. Mianowicie, jesli w owym piatym bajcie jest 8 bitow odpowieadajacych powiedzmy znakowi o numerze 9 to czytajac to do zmeinnej byte bedzie miał bajt a czytajac tak:
s:string;
setlength(s,1); s[1]:=#9
będziesz mial stringa.

P.S. String to nie jest typ danych odpowiadający wyłącznie znakom "textowym" wprowadzanym bezposrednio z klawiatury, string to "tablica" dowolnych znaków.

0

Chodzi o to, ze np Char, Byte etc moga reprezentowac jedno, dlatego mozna je rzutowac. Plik to zbior bajtow (czyli danych) a poza tymi danymi niczego nie ma, wiec o ile nie zapiszesz se w jakims naglowku co jest w pliku nie bedziesz tego wiedzial.

0

Chodzi o to, ze np Char, Byte etc moga reprezentowac jedno, dlatego mozna je rzutowac. Plik to zbior bajtow (czyli danych) a poza tymi danymi niczego nie ma, wiec o ile nie zapiszesz se w jakims naglowku co jest w pliku nie bedziesz tego wiedzial.

Wiem. Zwróciłem się z tym pytaniem, ponieważ ma ono związek z błahym jak się wydaje ID3Tag v 1.
Chodzi o to, że dla każdego pola(no oprócz roku i typu muzyki) jest przydzielone 30 bajtów. Ale. Jeśli komentarz nie przekracza 28 bajtów, to wtedy znajduje się jeszcze pole(zaraz za komentarzem) - numer ścieżki(zmienna typu byte)

I chodziło mi o to, czy jakoś to można rozpoznać, bo to np. by wyglądało tak:

oto końcówka komentarza 54

oto końcówka komentarza - kawałek komentarza, który nie jest dłuższy niż 28 znaków
5 - numer ścieżki
4 - typ muzyki.

Cały tag zawiera się w 128 ostatnich bajtach pliku. Komentarz powinien zawierać się w tym kawałku w 98 - 127 bajtach. Jeśli natomiast nieprzekracza 28 bajtów, to w 127 bajcie znajduje się numer ścieżki, a zawsze w 128 jest rodzaj muzyki.

I chodzi mi o to, jak rozpoznać, że komentarz nie ma więcej niż 28 znaków.
(w id3tagv1, pole dopełnia się spacjami albo pustymi znakami. Tego nie wiem, bo tego nigdzie nie ma opisanego). Więc jeśli pole jest dopełniane pustymi znakami to nie ma problemu(wystraczy sprawdzić, czy znak = #0. Ale jeśli spacjami to już nie wiem, jak to zrobić.

0

A nie lepiej do odczytu Tagów użyć komponentu?

0

A nie lepiej do odczytu Tagów użyć komponentu?

Może i lepiej, ale jaka z tego satysfakcja? :)

0

Taka, ze mozesz zobaczyc jak on to robi ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1