przesyłanie danych - rozróżnianie

0

witam
mam 3 typy danych

type 
      dana1=record
          jakasdana1:integer;
          jakasdana2:integer;
          jakasdana3:integer;
       end;

     dana2=record
          jakasdana1:integer;
          jakasdana2:integer;
          jakasdana3:integer;
       end;

     dana3=record
          jakasdana1:integer;
          jakasdana2:integer;
          jakasdana3:integer;
       end;

dane sąbyle jakie bo to nie o nie tu chodzi
zastanawiam się czy podczas zdarzenia OnClientWrite (TServerSocket) można w jakiś sposób sprawdzić jakiego typu daną nam klient przysyła
wiadomo, że jakiś rekord, ale który? mam 3

da się to sprawdzić??

0

Ja widze 2 opcje: Albo po rozmiarze, albo pole z informacją:
np.: id : byte; (tylko wtedy rozmiary muszą być takie same)

0

po rozmiarze chyba odpada
dodatkowe pole? hm przy wczytywaniu Socket.ClientWrite(dana_rekordowa, sizeof(dana_rekordowa)) podaję przecież jakiś rekord? np powinienem tam wstawić jakąś zmienną typu dana1, dana2 lub dana3 ??

0

Ty w kodzie widzisz rekord podczas gdy komputer widzi ciag bajtow, w wynikowym programie do gniazdek podawany jest wskaznik do danych, rozmiar i to wszystko, pojmij to, to na pewno cos wymyslisz.

0

pojąłem i pięknie działa :)

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