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

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

Как правильно запросить имя пользователя? [D5, Win2k, WinXP]


Страницы:   1 2

Eugem ©   (2006-11-12 01:30:00) 

Не получается запросить имя пользователя в программе.
Делаю так:
GetUserName(buf,lbuf);// получение имени пользователя

Имя пользователя записывается в buf. НО! Как только я пытаюсь обработать переменную buf или вывести её в текстовом виде в Edit-поле, то возникает ошибка при работе функции GetUserName.

Что не так. Подскажите, пожалуйста


Ketmar   (2006-11-12 14:30:00) [21]

>[18] Джо(c) 12-Nov-2006, 14:28
>Неужели ты ответы не читаешь?
нет, видимо. оно не умеет читать, только писать. чукча-программист.


Джо   (2006-11-12 14:28:00) [22]

:-|
Неужели ты ответы не читаешь?


Eugem   (2006-11-12 14:21:00) [23]

TT:=sbuf[1];- эта строка. Если её нет -код работает нормально, ошибок не возникает.

Как только пытаюсь сделать что-то с buf или sbuf, то возникают ошибки во время выполнения программы. Да, sbuf:string, а buf:PChar.

Помогите, плиз


Ketmar   (2006-11-12 13:18:00) [24]

>[15] Anatoly Podgoretsky(c) 12-Nov-2006, 13:16
>А я с утра уже 5 кб текста на форумы отправил, 15 сообщений.
а я матерюсь злобно. без кофию жизни нет.


Anatoly Podgoretsky   (2006-11-12 13:16:00) [25]

> Ketmar  (12.11.2006 13:14:14)  [14]

А я с утра уже 5 кб текста на форумы отправил, 15 сообщений.


Ketmar   (2006-11-12 13:14:00) [26]

>[13] Anatoly Podgoretsky(c) 12-Nov-2006, 13:13
>Рано еще. Там же неудобно будет.
что-то я поутру снисходительный. %-)


Anatoly Podgoretsky   (2006-11-12 13:13:00) [27]

> Ketmar  (12.11.2006 13:11:11)  [11]

Рано еще. Там же неудобно будет.


Джо   (2006-11-12 13:12:00) [28]

> [10] Anatoly Podgoretsky ©   (12.11.06 13:10)
> > Джо  (12.11.2006 13:08:07)  [7]
>
> Правильное, память под Переменную выделена.

Ну, я уже поправился. :)


Ketmar   (2006-11-12 13:11:00) [29]

>[10] Anatoly Podgoretsky(c) 12-Nov-2006, 13:10
>Правильное, память под Переменную выделена.
смени личность, перекинь ветку, а? ведь щаз запинаем беднягу. %-)


Anatoly Podgoretsky   (2006-11-12 13:10:00) [30]

> Джо  (12.11.2006 13:08:07)  [7]

Правильное, память под Переменную выделена.


Джо   (2006-11-12 13:09:00) [31]

> Eugem ©

Тип PChar — это указатель на область памяти. Кою необходимо выделить самостоятельно. Например, функциями работы с димнамической памятью.


Anatoly Podgoretsky   (2006-11-12 13:09:00) [32]

> Ketmar  (12.11.2006 13:05:06)  [6]

Так я уже поправился, я сначал прочитал это как часть параметров. Оформление то кода далеко от идеального.


Джо   (2006-11-12 13:08:00) [33]

> Переменную вроде описал, значит память под нее выделяется.

Неверное умозаключение. За разьяснениями, действительно, к Пушкину.


Ketmar   (2006-11-12 13:05:00) [34]

>[4] Anatoly Podgoretsky(c) 12-Nov-2006, 12:58
>В данном коде явных ошибок не наблюдается
"как это?" (ц)

var name,TT:string; buf:PChar ;lbuf,i:cardinal;
  GetUserName(buf,lbuf);

LVT совершенно верно протелепатировал. а товарищу автору надо в "надмозги", там ему надмозг отполируют.


Anatoly Podgoretsky   (2006-11-12 12:59:00) [35]

> Eugem  (12.11.2006 12:51:03)  [3]

Ой, уродски отформатировано, еще как есть, это Пушкин виноват.


Anatoly Podgoretsky   (2006-11-12 12:58:00) [36]

> Eugem  (12.11.2006 12:51:03)  [3]

В данном коде явных ошибок не наблюдается, но у тебя еще есть код.


Eugem   (2006-11-12 12:51:00) [37]

procedure TForm1.FormActivate(Sender: TObject);
var name,TT:string;buf:PChar;lbuf,i:cardinal;
begin
    CoolTrayIcon1.IconVisible:=true;
    assignfile(setf,SetFile);
    reset(setf);
    while not(Eof(setf)) do begin  //чтение настроек программы из файла
    readln(setf,name);
    readln(setf,number) end;
    closefile(setf);

    GetUserName(buf,lbuf);// получение имени пользователя
    sbuf:=buf;
    if sbuf='0' then application.Terminate;

    TT:=sbuf[1];

    fname:=name;
    gloA:=0;
    numa:=StrToInt(number);
    gloss:=0;

end;

Вот так написал. Переменную вроде описал, значит память под нее выделяется. Подскажите может по-другому выделять надо?


Anatoly Podgoretsky   (2006-11-12 12:35:00) [38]

> Eugem  (12.11.2006 1:30:00)  [0]

Лучше вежливо.
У тебя ошибка в 17 строке.


Leonid Troyanovsky   (2006-11-12 02:13:00) [39]


> Eugem ©   (12.11.06 01:30)  

> Что не так. Подскажите, пожалуйста


А память для buf будет Пушкин выделять.

--
Regards, LVT.


Страницы:   1 2

Наверх

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