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

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

Путь к каталогу, в котором установлена Windows


KIR ©   (2002-06-25 13:28:00) 

Народ, как узнать сабж?


Игорь Шевченко   (2002-06-25 15:35:00) [1]

DeMoN-777 © (25.06.02 15:02)

А так точно нельзя. Потому что s нигде не используется.
И кроме того, преобразование StrPas имеет смысл только для ShortString. Для AnsiString это преобразование происходит неявно при присваивании переменной типа string переменной типа PChar


DeMoN-777   (2002-06-25 15:02:00) [2]

Procedure FindWinDir
var
apchar:array [0..255]of char;
s:string;
begin
GetWindowsDirectory(apchar,sizeof(apchar));
s:=strpas(apchar);
end;


Может так.


Игорь Шевченко   (2002-06-25 14:38:00) [3]

Path:=StrPas(szPath); Лишняя строка


stupid   (2002-06-25 14:19:00) [4]


procedure TForm1.Button1Click(Sender: TObject);
var
szPath : Array[0..max_path-1] of Char;
Path : String;
begin
GetWindowsDirectory(szPath,max_path);//Каталог Windows
Path:=StrPas(szPath);
Label4.Caption:=Path;
end;



Skier   (2002-06-25 14:15:00) [5]

> Wild
Тоже вариант...


Wild   (2002-06-25 14:08:00) [6]

>Skier
А я завожу переменную string
...
var Str: string;
...
GetWindowsDirectory(PChar(Str),...)
....


только перед вызовом функции надо определить длину стринга
SetLength(S,255) //например так


Skier   (2002-06-25 14:02:00) [7]

> KIR
StringVar := PChar(lpBuffer);


KIR   (2002-06-25 13:59:00) [8]

Если я все правильно понял, то lpBuffer и есть путь к каталогу, но только в формате PChar. А как его перевести в String.


Wild   (2002-06-25 13:35:00) [9]

Если из батника надо узнать....ну там проге параметром передать, так это системная переменная %WINDIR%


KIR   (2002-06-25 13:33:00) [10]

Читал. Мне раньше этого небыло нужно. А сейчас нужно, причем срочно, по-моему для этого и придумали форумы. Я прекрасно понимаю, что эта информация есть в АПИшном хэлпе, но "быстрый" поиск не помог.


Wild   (2002-06-25 13:33:00) [11]

Там же все по-русски написано:
The GetWindowsDirectoryfunction retrieves the path of the Windows directory. The Windows directory contains such files as Windows-based applications, initialization files, and Help files.

UINT GetWindowsDirectory(

LPTSTR lpBuffer, // address of buffer for Windows directory
UINT uSize // size of directory buffer
);


Wild   (2002-06-25 13:30:00) [12]

Ты апишный хелп читаешь когда-нибудь?


Наверх

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