Удалить лишние символы

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

Удалить лишние символы

Сообщение Kovu » 21.11.2005 (Пн) 12:58

Есть такой код
Код: Выделить всё

Dim StrFileExe As String * 255
FindExecutable strTemp, "C:\temp", StrFileExe

В результате него в строковой переменной StrFileExe оказывается имя нужного файла, которое естественно меньше 255 символов(в большинстве случаев) :) Как убрать эти лишние символы?
P.s. Чему равна константы ASSOCSTR_FRIENDLYAPPNAME и ASSOCSTR_EXECUTABLE
Если всё делать своими ручками, они скоро отвалятся !

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

Сообщение alibek » 21.11.2005 (Пн) 13:42

StrFileExe это null-terminated строка, т.е. обрезаешь до первого символа Null. Кроме того, API-функции часто возвращают длину текста, если для FindExecutable это справедливо, то обрезаешь по возвращаемой длине.
Lasciate ogni speranza, voi ch'entrate.

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 21.11.2005 (Пн) 16:05

alibek писал(а):StrFileExe это null-terminated строка, т.е. обрезаешь до первого символа Null. Кроме того, API-функции часто возвращают длину текста, если для FindExecutable это справедливо, то обрезаешь по возвращаемой длине.

А можно мне тупому объяснить как этот самый первый Null символ найти :)
P.S. Длину ф-я не возвращанет
Если всё делать своими ручками, они скоро отвалятся !

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

Сообщение alibek » 21.11.2005 (Пн) 16:11

Left$(strFileExe, InStr(strFileExe & vbNullChar, vbNullChar))
Lasciate ogni speranza, voi ch'entrate.

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 21.11.2005 (Пн) 16:48

Пасиба :)
Если всё делать своими ручками, они скоро отвалятся !

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 21.11.2005 (Пн) 20:23

alibek писал(а):Left$(strFileExe, InStr(strFileExe & vbNullChar, vbNullChar))
А разве не
Код: Выделить всё
Left$(strFileExe, InStr(strFileExe & vbNullChar, vbNullChar)-1)
:?: :lol:
Никогда не откладывай на завтра то, что можно ... отложить на послезавтра!

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

Сообщение alibek » 22.11.2005 (Вт) 8:41

Ну да, -1 забыл.
Lasciate ogni speranza, voi ch'entrate.


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

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

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

    TopList  
cron