Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.27;
Скачать: CL | DM;

Вниз

Путь до папки windows   Найти похожие ветки 

 
mao ©   (2003-08-01 07:05) [0]

Подскажите, как получить путь до папки windows. Попытался использовать GetWindowsDirectory, что-то не получается (не могу нормально вызвать). :о(


 
andrey_pst ©   (2003-08-01 07:18) [1]

http://www.sources.ru/delphi_system.shtml#2


 
Vlad25   (2003-08-11 20:10) [2]

>Подскажите, как получить путь до папки windows. Попытался >использовать GetWindowsDirectory, что-то не получается (не могу >нормально вызвать). :о(

GetWindowsDirectory вполне можно использовать. Единственная сложность заключается в преобразовании типа String в PChar, который используется API Win32.

unit Dir;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
lb: TLabel;
procedure RealizeLength(var S: String);
procedure Button1Click(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
begin
SetLength(S,256);
GetWindowsDirectory(Pchar(S),256);
RealizeLength(S);
lb.Caption := S;
end;

procedure TForm1.RealizeLength(var S: String);
begin
SetLength(S, StrLen(PChar(S)));
end;

end.


 
clickmaker ©   (2003-08-11 20:18) [3]

Можно проще

var
Buffer: array[0..1023] of Char;

SetString(Result, Buffer, GetWindowsDirectory(Buffer, SizeOf(Buffer)));


 
Anatoly Podgoretsky ©   (2003-08-11 20:39) [4]

Еще проще
SetLength(S,MAX_PATH);
GetWindowsDirectory(S,MAX_PATH);
S := PChar(S);


 
TheOldMen   (2003-08-13 16:05) [5]

Для этого можно воспользоваться API функцией GetWindowsDirectory.

Для системной директории используется API функция GetSystemDirectory().

Пример:

{$IFNDEF WIN32}
const MAX_PATH = 144;
{$ENDIF}

procedure TForm1.Button1Click(Sender: TObject);
var
a : Array[0..MAX_PATH] of char;
begin
GetWindowsDirectory(a, sizeof(a));
ShowMessage(StrPas(a));
GetSystemDirectory(a, sizeof(a));
ShowMessage(StrPas(a));
end;



Страницы: 1 вся ветка

Текущий архив: 2003.10.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
11-89192
vosogop
2003-01-31 17:00
2003.10.27
TKOLTCPClient


1-89341
Star
2003-10-16 02:59
2003.10.27
Вопрос по RichEdit-у...


7-89596
IGORYOK
2003-08-14 10:01
2003.10.27
Мне надо без помощи OnMessage получать сообщения на поток


7-89598
uno crezo
2003-08-13 03:58
2003.10.27
регистр и данные dialup-соединения


1-89367
Anatoliy2003
2003-10-10 23:14
2003.10.27
TreeView in Delphi6