![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Путь к каталогу, в котором установлена 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]Ты апишный хелп читаешь когда-нибудь?