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

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

как получить полный путь каталога "Рабочий стол" [D6, Win95/98, WinME, Win2k, WinXP]


Страницы:   1 2

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


Страницы:   1 2

Наверх

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