Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.01.2011, 15:16
Аватар для Hack M
Hack M Hack M вне форума
Прохожий
 
Регистрация: 20.01.2011
Сообщения: 26
Репутация: 10
Стрелка Проблема с переменными

Надо узнать имя юзера, накопал такую ф-цию:

Код:
function GetUserFromWindows: string;
var
  UserName : string;
  UserNameLen : Dword;
begin
  UserNameLen := 255;
  SetLength(userName, UserNameLen);
  if GetUserName(PChar(UserName), UserNameLen) then
    Result := Copy(UserName,1,UserNameLen - 1)
  else
    Result := 'Unknown';
end;


Но мне надо как то это дело вставить в путь, например C:\Document and Setting\сюда имя юзера вставить надо\1.txt


подскажите плиз, было бы на php или cmd я бы уже сделал, а так только знакомлюсь с делфи

Последний раз редактировалось Hack M, 20.01.2011 в 18:40.
Ответить с цитированием
  #2  
Старый 20.01.2011, 15:41
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

Код:
uses
  ActiveX,
  ShlObj,
...
function GetSpecialFolderLocation(Folder: Integer): String;
var
  ppidl: PItemIDList;
begin
  Result:='';
  ppidl:=nil;
  try
    if SHGetSpecialFolderLocation(0, Folder, ppidl)=S_OK then
    begin
      SetLength(Result, MAX_PATH);
      if SHGetPathFromIDList(ppidl, PChar(Result)) then Result:=StrPas(PAnsiChar(Result));
    end;
  finally
    if ppidl<>nil then CoTaskMemFree(ppidl);
  end;
end;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  Edit1.Text:=IncludeTrailingPathDelimiter(GetSpecialFolderLocation($28));
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 20.01.2011, 16:04
Аватар для Hack M
Hack M Hack M вне форума
Прохожий
 
Регистрация: 20.01.2011
Сообщения: 26
Репутация: 10
По умолчанию

И где путь указывать ? как узнанное имя юзера в путь вставить ?
Я с переменными по Delphi плохо общаюсь =((
Ответить с цитированием
  #4  
Старый 20.01.2011, 16:32
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Предложенное выше сразу дает путь к папке юзера (например, "C:\Users\ADMIN\"). А в переменной:
Код:
S:= IncludeTrailingPathDelimiter(GetSpecialFolderLocation($28)) + '1.txt';
__________________
Помогаю за Спасибо
Ответить с цитированием
  #5  
Старый 20.01.2011, 16:38
Аватар для Hack M
Hack M Hack M вне форума
Прохожий
 
Регистрация: 20.01.2011
Сообщения: 26
Репутация: 10
Стрелка

Цитата:
Сообщение от v1s2222
Предложенное выше сразу дает путь к папке юзера (например, "C:\Users\ADMIN\"). А в переменной:
Код:
S:= IncludeTrailingPathDelimiter(GetSpecialFolderLocation($28)) + '1.txt';


Спасибо вам большое. родина вас не забудет.
Мне надо попасть в C:\Documents and Settings\username\Application Data\file.txt

то есть мне в кнопке надо будет выставить над begin:

Var: S:= IncludeTrailingPathDelimiter(GetSpecialFolderLocat ion($28)) + '\Application Data\file.txt';

верно ?
Ответить с цитированием
  #6  
Старый 20.01.2011, 16:46
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Не совсем. В варе переменные объявляются.
Код:
var s: String;
begin
  S:=IncludeTrailingPathDelimiter(GetSpecialFolderLocat ion($28)) + '\Application Data\file.txt';
__________________
Помогаю за Спасибо
Ответить с цитированием
  #7  
Старый 20.01.2011, 16:32
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

в Edit1.Text путь будет!
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #8  
Старый 20.01.2011, 16:34
Аватар для Konrad
Konrad Konrad вне форума
Эксперт
 
Регистрация: 19.03.2009
Сообщения: 1,261
Репутация: 45834
По умолчанию

Очередной хaкир, незнающий как вичислить 2+2=?

Уже который по счету?

Хaктим?) Ню ню...
Ответить с цитированием
  #9  
Старый 20.01.2011, 16:47
Аватар для Hack M
Hack M Hack M вне форума
Прохожий
 
Регистрация: 20.01.2011
Сообщения: 26
Репутация: 10
По умолчанию

Цитата:
Сообщение от Konrad
Очередной хaкир, незнающий как вичислить 2+2=?

Уже который по счету?

Хaктим?) Ню ню...



насчет хактима то просто попросил под ник нарисовать чё нить нормальное в зеленом стиле буквоцифр мне нарисовали)))
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:46.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025