На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
  
> Определение системных папок , Windows,Temp, и т.д.
    Здрасте всем!
    Подскажите пожалуйста как мне определить расположение системной папки временых файлов в WinXp текущего пользователя и папку временых файлов Windows!
    (с учетом того что винда может стоять не на диске С);
    Заранее очень благодарен !))))
        фпоиск... :)
        темп
        Цитата

        ExpandedWrap disabled
          function c_GetTempPath: String;
          var
          Buffer: array[0..1023] of Char;
          begin
          SetString(Result, Buffer, GetTempPath(Sizeof(Buffer)-1,Buffer));
          end;

        этот код так же можно использовать для:
        GetCurrentDirectory
        GetSystemDirectory
        GetWindowsDirectory

        http://www.drkb.ru/
          посмотри SHGetSpecialFolderPath в модуле ShlObj
            функция на получения пити

            ExpandedWrap disabled
              function pathDir(num:integer):string;
              var
                Allocator: IMalloc;
                SpecialDir: PItemIdList;
                FBuf: array[0..MAX_PATH] of Char;
              begin
                if SHGetMalloc(Allocator) = NOERROR then
                begin
                  SHGetSpecialFolderLocation(Form1.Handle, num, SpecialDir);
                  SHGetPathFromIDList(SpecialDir, @FBuf[0]);
                  Allocator.Free(SpecialDir);
                  result:=(string(FBuf));
                end;
              end;

            а вт константы для ее
            Цитата
            CSIDL_DESKTOP
            CSIDL_INTERNET
            CSIDL_PROGRAMS
            CSIDL_CONTROLS
            CSIDL_PRINTERS
            CSIDL_PERSONAL
            CSIDL_FAVORITES
            CSIDL_STARTUP
            CSIDL_RECENT
            CSIDL_SENDTO
            CSIDL_BITBUCKET
            CSIDL_STARTMENU
            CSIDL_DESKTOPDIRECTORY
            CSIDL_DRIVES
            CSIDL_NETWORK
            CSIDL_NETHOOD
            CSIDL_FONTS
            CSIDL_TEMPLATES
            CSIDL_COMMON_STARTMENU
            CSIDL_COMMON_PROGRAMS
            CSIDL_COMMON_STARTUP
            CSIDL_COMMON_DESKTOPDIRECTORY
            CSIDL_APPDATA
            CSIDL_PRINTHOOD
            CSIDL_ALTSTARTUP
            CSIDL_COMMON_ALTSTARTUP
            CSIDL_COMMON_FAVORITES
            CSIDL_INTERNET_CACHE
            CSIDL_COOKIES
            CSIDL_HISTORY


            Добавлено
            и незабудь повесить два модуля
            ActiveX, ShlObj
              Цитата ViktorXP @
              и незабудь повесить два модуля
              ActiveX, ShlObj
              :D Функция GetTempPath, и вообще никаких модулей добавлять не надо (Windows всегда добавлен) ;)
                Цитата Testudo @
                Функция GetTempPath, и вообще никаких модулей добавлять не надо (Windows всегда добавлен)

                но зато у моей функции больше возможностей :P
                не а канешно непротив твоей если там кроме одной етой папки ничево ненадо, сам зото чем меньше тем лудше
                  Непомню где, видел такие функции, может помогут:

                  ExpandedWrap disabled
                      function WinDir: string; // Определение папки Windows
                      var
                        intLen:integer;
                        strBuffer:string;
                      begin
                        SetLength(strBuffer,1000);
                        intLen:=GetWindowsDirectory(PChar(strBuffer),1000);
                        WinDir:=Trim(Copy(strBuffer,1,intLen));
                      end;
                     
                      function SysDir: string; // Определение системной папки
                      var
                        intLen:integer;
                        strBuffer:string;
                      begin
                        SetLength(strBuffer,1000);
                        intLen:=GetSystemDirectory(PChar(strBuffer),1000);
                        SysDir:=Trim(Copy(strBuffer,1,intLen));
                      end;
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0316 ]   [ 16 queries used ]   [ Generated: 21.06.25, 16:42 GMT ]