Указатели и API

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

Указатели и API

Сообщение Twister » 04.08.2005 (Чт) 11:35

Есть указатель на строковую (можно и на числовую) переменную. Как с помощью API вытащить саму строку (или число)?... :?:
А я все практикую лечение травами...

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 04.08.2005 (Чт) 11:36

CopyMemory

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 04.08.2005 (Чт) 11:40

Спасибо.
А узнать длинну переменной, которая хранится по указателю?
А я все практикую лечение травами...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 04.08.2005 (Чт) 11:50

Если это число, ты знаешь его длину исходя из его типа.
Если строка, то Private Declare Function lstrlen Lib "kernel32.dll" Alias "lstrlenA" (ByVal lpString As Long) As Long
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 04.08.2005 (Чт) 11:59

Если это число, ты знаешь его длину исходя из его типа.
Угу, знаю...
lstrlen
Не знал, спасибо. :salut:
Последний раз редактировалось Twister 05.08.2005 (Пт) 7:44, всего редактировалось 1 раз.
А я все практикую лечение травами...

AlexBlack
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 18.07.2005 (Пн) 19:14
Откуда: Киефф, Юкрейн...

Сообщение AlexBlack » 04.08.2005 (Чт) 13:20

GSerg писал(а):Если это число, ты знаешь его длину исходя из его типа.
Если строка, то Private Declare Function lstrlen Lib "kernel32.dll" Alias "lstrlenA" (ByVal lpString As Long) As Long


Если даные находяться в Ansi тo конечно будет так:
Private Declare Function lstrlen Lib "kernel32.dll" Alias "lstrlenA" (ByVal lpString As Long) As Long

А вот если в уникоде то нужно:
Private Declare Function lstrlen Lib "kernel32.dll" Alias "lstrlenW" (ByVal lpString As Long) As Long

Если будешь пробовать получить размер текста в уникоде, то первая апишка возвратит ноль.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 04.08.2005 (Чт) 13:28

Учту, спасибо. Сейчас как-раз этим занимаюсь... :study:
А я все практикую лечение травами...


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

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

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

    TopList