CopyMem

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

CopyMem

Сообщение Faust » 06.08.2004 (Пт) 19:47

Людь, подкиньте пример использования CopyMem с массивами. Дело обстоит так: я считываю файл в бинарном режиме в массив байтов. Потом из оного пытаюсь с помощью CopyMem нарезать стрингов. Как?
Листинги не горят!

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 06.08.2004 (Пт) 20:43

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 16:49, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.08.2004 (Пт) 21:17

EvilCoder писал(а):Тебе нужно массив Байт закинуть в Строку с Ипользованием CopyMem? :)

То ... может так 8)


Код: Выделить всё
    Dim ByteS() As Byte      '--- массив байтов
    Dim ByteString As String   '-- строка

    ByteString = Space$(UBound(ByteS) + 1)
    CopyMemory ByVal ByteString, ByteS(0), Len(ByteString)

А может, просто ByteS = ByteString? ;-)

PS: ты ReDim забыл :-P

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 06.08.2004 (Пт) 21:33

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 16:56, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 06.08.2004 (Пт) 21:46

EvilCoder писал(а):так ведь он через CopyMem просил... :)

Redim ? Где?... это пускай он разбирается :)

:-))))) ROTFL

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 08.08.2004 (Вс) 11:00

2EvilCoder: Спасибо, попробую.
2tyomitch:
А может, просто ByteS = ByteString? ;-)

Не может - мне нужно записать в строку только часть массива. Но все равно спасибо.
Листинги не горят!

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 08.08.2004 (Вс) 12:12

:arrow: <DELETE> :arrow: 8)
Последний раз редактировалось EvilCoder 12.05.2007 (Сб) 16:56, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.08.2004 (Пн) 10:16

Байтовый массив и стринг имеют разную структуру (из-за Unicode), лучше просто назначать (sData = bData()) или использовать функцию StrConv.
Lasciate ogni speranza, voi ch'entrate.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.08.2004 (Пн) 10:26

alibek писал(а):Байтовый массив и стринг имеют разную структуру (из-за Unicode), лучше просто назначать (sData = bData()) или использовать функцию StrConv.

Faust писал(а):2tyomitch:
А может, просто ByteS = ByteString? ;-)

Не может - мне нужно записать в строку только часть массива. Но все равно спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList