![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Эта функция возвращает имя пользователя текущего компьютера:
Код:
function GetCurrentUserName: string; const cnMaxUserNameLen = 254; var sUserName: string; dwUserNameLen: DWORD; begin dwUserNameLen := cnMaxUserNameLen - 1; SetLength(sUserName, cnMaxUserNameLen); GetUserName(PChar(sUserName), dwUserNameLen); SetLength(sUserName, dwUserNameLen); Result := sUserName; end; судя по этой строчке function GetCurrentUserName: string; это строка, но.... если я хочу к этой строке прикрепить ещё текст, работает только в начале, а в конце нет. Пример: ShowMessage ('text' + GetCurrentUserName); // такой вариант работает. ShowMessage (GetCurrentUserName + 'text'); // такой вариант НЕ РАБОТАЕТ. Пожалуйста объясните почему не работает, и подскажите как сделать чтоб работал. Спасибо Последний раз редактировалось Admin, 08.03.2013 в 12:40. |
#2
|
||||
|
||||
![]() Добавь переменную
Код:
var St : String; begin ... St := GetCurrentUserName + 'text'; ShowMessage(St); ... Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#3
|
|||
|
|||
![]() Через переменную не работает тоже (получается просто имя пользователя без текста).
Единственное нашёл способ пока что, это назначь свойству какому нибудь элементу (скрытому например) потом делать конкатенацию этого свойства с текстом и уже выводить. А по нормальному не получается. Я предполагаю что функция может возвращает не совсем строку, а какой то другой тип и может быть по этому не работает конкатенация ? |
#4
|
||||
|
||||
![]() Не правильно задаётся размерность строки, конечный #0 в ней остаётся, надо так
Код:
... SetLength(sUserName, dwUserNameLen - 1 ); ... Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
![]() Цитата:
Остался вопрос почему (-1) не перешёл в переменную dwUserNameLen ? |
#6
|
||||
|
||||
![]() Цитата:
![]() Я не понял Вашего вопроса, но всё же Вам на него отвечу! |