Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];




Вниз

Пути 


Room 666   (2002-04-21 15:29) [0]

Нужно ли указывать полные пути в программулинах, например, C:\DOS, C:\Windows и т.д?
А если у кого-то все файлы, операционка на другом диске, например E:\, что тогда?



777   (2002-04-21 15:34) [1]

GetWindowsDir



Anatoly Podgoretsky   (2002-04-21 15:40) [2]

Указывать можно, но если там не окажется, то дело швах



Room 666   (2002-04-21 15:49) [3]

Как же тогда быть?
Что делать?



Anatoly Podgoretsky   (2002-04-21 15:52) [4]

Тогда не указывать, плохой это метод.



Room 666   (2002-04-21 15:56) [5]

Ясно. Но мне нужно реализовать обращение к файлу, который находиться в корневом каталоге жесткого диска. Как реализовать это. И, если можно, на примерах. Заранее благодарен.
Я пишу НЕ вирус !



Song   (2002-04-21 16:00) [6]

И какие проблемы? Диск "C" у всех есть.



Room 666   (2002-04-21 16:03) [7]

Вы уверены?
Но возможно обозвать его по-другому или нет, и есть ли такие любители?



Biorobot   (2002-04-21 16:06) [8]

function TForm1.GettingWinDirectory: string;
var
Len: Cardinal;
pStr: PChar;
begin
pStr:=nil;
Len:=256;
try
pStr:=StrAlloc(Len);
GetWindowsDirectory(pStr,Len);
Result:=pStr;
finally
if pStr<>nil then StrDispose(pStr);
end;
end;


Вот так получаешь директорию винды.
Потом делаешь Copy(Form1.GettingWinDirectory, 1, 2);{Первая буква пути директотрии - это диск}
Если нужен доступ к файлу пишешь:
AssignFile(Copy(Form1.GettingWinDirectory, 1, 2)+":\Dos\aaaa.txt",F);{Незабудь обьявить F:Textfile);



Biorobot   (2002-04-21 16:10) [9]

2Room 666:
Я любитель!
На диске ЦЭ у меня Вин98 - я им не пользуюсь(я пользую ХР и W2k на дисках ДЭ и ЕЭ=> твоя программа мне не поможет. Юзай способ.



Anatoly Podgoretsky   (2002-04-21 16:19) [10]

Room 666 (21.04.02 15:56)
Корневой каталог на диске есть всегда, называется "\"



Room 666   (2002-04-21 16:26) [11]

Т.е. можно указать так, например:

\File.exe

и будет ясно, что файл расположен в корневом каталоге?
Я правильно Вас понял?



Song   (2002-04-21 16:28) [12]

2Room 666 (21.04.02 16:03)
Первая буква жёсткого диска - это всегда "С". Может не быть "D", "C" есть всегда.



777   (2002-04-21 16:28) [13]

2 Anatoly Podgoretsky ©
"\" - это же текущий диск...



Anatoly Podgoretsky   (2002-04-21 16:31) [14]

Room 666 (21.04.02 16:26)
Правильно, в головном каталоге диска. Но будет ли у тебя работать это другой вопрос

777 © (21.04.02 16:28)
Да именно текущего, а что?

Song © (21.04.02 16:28)
Не всегда диск С это первый жёсткого диск, это может оказаться вообще на сети



Song   (2002-04-21 16:32) [15]

2777 © (21.04.02 16:28)
Текущий диск не указывается.
.. - надкаталог
\ - корневой



Anatoly Podgoretsky   (2002-04-21 16:33) [16]

Да еще дополнительно, хранить программы или файлы в голове диска это еще более дурной тон, особенно учитывая ограничение на количество записей в голове диска.



777   (2002-04-21 16:33) [17]


> Да именно текущего, а что?

А вдруг текущий не тот, который нужно?



Song   (2002-04-21 16:34) [18]

2Anatoly Podgoretsky © (21.04.02 16:31)
Интересно.... а ОС должна откуда-то загрузиться? Поэтому сначала будет как минимум "С", а только лишь потом сетевые диски.



Room 666   (2002-04-21 16:43) [19]

Вот !
Речь как раз и идет о корне загрузочного диска.

Думаю, советом Biorobot © я и воспользуюсь.

Если у кого-то есть какие-то другии решения, пожалуйста, поделитесь.



Anatoly Podgoretsky   (2002-04-21 16:57) [20]

777 © (21.04.02 16:33)
Ну это его проблема, не так ли, вопрос то был про голову.

Song © (21.04.02 16:34)
Не обязательно, что есть вообще дисковод в компьютере, но даже если есть, то после заглузки не обязательно он С, а например не сетевой диск, все в наших руках, без всякого хака, у меня часто локальный диск С не виден, вместо него виден сетевой, но стем же именем.

Room 666 (21.04.02 16:43)
Что бы тебе что то посоветовать, надо знать что ты хочешь сделать, вот с этим напряженка. Крутишь постоянно, вместо того что бы четко объяснить задачу.



Room 666   (2002-04-21 17:05) [21]

> Anatoly Podgoretsky © (21.04.02 16:57)

Мне нужно получить доступ к файлу Msdos.sys для чтения его некоторых данных.
И прежде, чем просто прописывать C:\Msdos.sys, захотел посоветоватся с Мастерами.



Anatoly Podgoretsky   (2002-04-21 17:10) [22]

If FileExists, но там не таких данных, которые бы представляли интерес.



Room 666   (2002-04-21 17:20) [23]

> Anatoly Podgoretsky © (21.04.02 17:10)

Тогда проверку мне прийдеться организовать примерно так:

If FileExists {здесь ищем на диске С} then
If FileExists { здесь - на диске Е} then
If FileExists { и т.д. } then

Не думаю, что это хороший выход.



Anatoly Podgoretsky   (2002-04-21 17:25) [24]

Ну тогда не проверяй, какой то ты привередливый :-)
Зачем тебе вообще нужно читать этот файл, он системный, а не пользовательский.



Room 666   (2002-04-21 17:31) [25]

> Anatoly Podgoretsky © (21.04.02 17:25)

Но мне то нужно проверить.
Например, хотя бы режим запуска ScanDisk и т.д.



Anatoly Podgoretsky   (2002-04-21 17:34) [26]

Ну так читай, кто мешает?



Room 666   (2002-04-21 17:39) [27]


Ну. Обсуждение, думаю, завершено.
Огромное спасибо товарищу Biorobot © за исчерпующий ответ на мой вопрос, ну и всем остальным учасникам данного осуждения.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.05.02;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.76 MB
Время: 0.032 c
7-2697            Mr.Death              2001-11-22 08:31  2002.05.02  
Как из под Win получить данные из BIOS a?


1-2578            Satirus               2002-04-18 23:19  2002.05.02  
Создание множества


3-2499            vitnt2000             2002-04-10 13:18  2002.05.02  
Как подключиться к базе InterBase


3-2454            valievrf              2002-04-10 19:57  2002.05.02  
Не могу обнаружить ошибку


1-2535            Delph                 2002-04-18 16:54  2002.05.02  
Вопрос про событие OnClick и OnDblClick