Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перекинуть данные из переменной в структуру (record)


Страницы:   1 2 3

Ingwar ©   (2006-10-26 12:47:00) 

Задали такую задачку: Есть переменная типа string и есть структура(record).
Нужно перекинуть данные из переменной в структуру. Можно перекинуть по байтам или чем-то подобным, но возможно есть какая-то функции для таких операций. Подскажите Мастера! Спасибо.


Сергей М.   (2006-10-26 13:10:00) [41]


> где-нить байта с 200го.


CopyMemory(@MyRecord, @MyString[200], SizeOf(MyRecord));


Ingwar   (2006-10-26 13:09:00) [42]

Нет, структура на 600 байт. В основном разнообразные массивы char, есть так же типы byte.


Anatoly Podgoretsky   (2006-10-26 13:07:00) [43]

А что структура
b1: Byte
...
bN: Byte


Ingwar   (2006-10-26 13:05:00) [44]

И еще вопрос. А если надо брать данные не с самого начала строки?
То есть MyString допустим имеет размер около 1К у нее есть заголовок который мне не нужен, а меня интересует информация где-нить байта с 200го.


Сергей М.   (2006-10-26 13:03:00) [45]


> Ingwar ©   (26.10.06 13:01) [3]


Ну как же не критично ?

Если, скажем,  

Length(MyString) = 4
SizeOf(MyRecord) = 3

куда, спрашивается, девать разницу ?)


Ingwar   (2006-10-26 13:01:00) [46]

ТО Сергей М.: А если размер MyString > MyRecord - это не критично?


Сергей М.   (2006-10-26 12:55:00) [47]


> есть какая-то функции для таких операций


Угу, есть)

var
 MyString: string;
 MyRecord: TSomeRecord;

..

//подразумевается что Length(MyString) = SizeOf(MyRecord)

 CopyMemory(@MyRecord, PChar(MyString), SizeOf(MyRecord));


Джо   (2006-10-26 12:47:00) [48]

Что значит "перекинуть данные"? Какова структура этой записи (record)?


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо