![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как получить полный путь каталога "Рабочий стол" [D6, Win95/98, WinME, Win2k, WinXP]
officeman © (2005-08-23 10:28:00)как получить полный путь каталога "Рабочий стол", независимо от версии виндовс, и установки виндовса. Возможно из реестра ?
p.s. утилитка проверяет, изменился ли файл по указанному пути.
если 'файл изменился' тогда копирую его СЕБЕ на рабочий стол.
иначе // конец.
Polevi (2005-08-24 15:09:00) [21]тебе шашечки ?
officeman (2005-08-24 14:26:00) [22]to Polevi, типа скрипт для копирования файла? это же неинтересно.
Polevi (2005-08-24 13:57:00) [23]напиши скрипт на вход в домен
officeman (2005-08-24 13:15:00) [24]to Плохиш
при чём тут хакеры? пишу утилитку для своего офиса.
Если можешь помочь, помоги. не откажи...
to dmitry501
действительно оригинальные файлы прайс-листов хранятся на сетевом ресурсе. я нехочу чтобы какойто чайник - менеджер попортил их.
или ком.директор не туда нажал. пусть лучше с копиями работают.
Безопастность данных превыше всего...........
с Уважением, Officeman
dmitry501 (2005-08-24 12:26:00) [25]Храни прайс-листы на специальном сетевом ресурсе, доступном тем, кому нужно. И все твои проблемы отпадут сами...
Плохиш (2005-08-24 12:23:00) [26]
> officeman (24.08.05 08:11) [9]
> begin
> str_from:=' \\Id4\c\Documents and Settings\ Administrator\Рабочий
> стол\'; //из
Начинающие хацкеры
officeman (2005-08-24 12:14:00) [27]эх...жаль..
officeman (2005-08-24 08:11:00) [28]begin
str_from:='\\Id4\c\Documents and Settings\Administrator\Рабочий стол\'; //из
if ShGetSpecialFolderPath(Application.Handle, Path, CSIDL_DESKTOPDIRECTORY, False) then //ShowMessage(Path);
str_to:=Path; //куда
setmask:='_*.xls'; //маска
FindFirst(str_from+setmask, faAnyFile, sr);
if FileExists(str_from+sr.Name) then begin//если файл есть то копируем его, иначе нет.
//showmessage('yes')
OldFile := TFileStream.Create(str_from+sr.Name,fmOpenRead or fmShareDenyWrite);
NewFile := TFileStream.Create(str_to+'\'+DateToStr(Date)+' '+sr.Name,fmCreate or fmShareDenyRead);
NewFile.CopyFrom(OldFile, OldFile.Size);
timer2.enabled:=true;
timer1.Enabled:=false; // закрыть приложение
end else begin
//showmessage('not file');
//...//закрываем приложение
end;
end;
officeman (2005-08-24 08:09:00) [29]утилитка. для копирования файлов с сервера. т.е. после запуска. проверяет "существует" ли файл (\\server\...\рабочий стол\_*.xls)
(в нашем случае - это прайс-лист). если существует, то копируем его - себе на рабочий стол.
уже работает:
определение существует ли файл(по маске '_') в указанном пути*
и его копирование к себе на рабочий стол.
сноски(*)
пути*- путь держу в теле программы. не хочу использовать для этого доп.текстовые файлы.
Не работает. Надо сделать:
хочу определять сетевой путь каталога "Рабочий Стол" - сервера.
Чтобы автоматом брать с раб.стола сервера и копировать на собственный раб.стол (моего компьютера).
p.s. надеюсь понятно объяснил.
Zeqfreed (2005-08-23 21:58:00) [30]officeman (23.08.05 15:50) [4]
А зачем вообще держать путь "от куда"? Опиши задачу более ясно, а то трудно понять, чего же ты хочешь =)(С) Virgo_Style © (23.08.05 21:45) [6]
Virgo_Style (2005-08-23 21:45:00) [31]officeman (23.08.05 15:50) [4]
т.е. файл программа имеет вид например id4-c.exe
это будет обрабатыватся как '\\id4\c'
Узнать имя программы можно из Application.ExeName или ParamStr(0). Выделять различные части из полного пути можно семейством функций ExtractFile... .
Надеюсь, что угадал, чего тебя интересует - честно говоря, из [4] мне трудно понять, чего же ты хочешь =)
officeman (2005-08-23 21:28:00) [32]to "begin...end"
-ау
officeman (2005-08-23 15:50:00) [33]то "begin...end ©"
как получить тоже самое но для сетевого диска. например мне надо получить путь рабочего стола с: '\\id4\c\'
p.s. куда копировать ты мне помог. а держать путь "от куда" в теле программы это не логично. держать отдельный файл типа ini или text
тоже не логично. хочу чтобы имя программы заключало в себе источник 'хранилище'...
т.е. файл программа имеет вид например id4-c.exe
это будет обрабатыватся как '\\id4\c'
ну чтото типо этого вобщем.
спасибо по помощь.
officeman (2005-08-23 12:46:00) [34]Спасибо! Работает!
begin...end (2005-08-23 10:39:00) [35]В список uses нужно добавить модуль ShlObj.
begin...end (2005-08-23 10:38:00) [36]Для текущего пользователя:
var
Path: array [0..MAX_PATH] of Char;
begin
if ShGetSpecialFolderPath(Application.Handle, Path, CSIDL_DESKTOPDIRECTORY, False) then
ShowMessage(Path)
end