Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 19.11.2006, 08:19   #1
PAVEL315
Форумчанин
 
Аватар для PAVEL315
 
Регистрация: 18.11.2006
Адрес: NOWHERE
Сообщений: 172
Репутация: 50

icq: 328034086
Вопрос как определить название жёсткого диска???

Мне нужно в программе для обновления найти в папке Programm Files папочку, но я не знаю, у кого как жёсткий диск называется. Как мне можно решить эту проблему??? Это нужно для реализации отображения версии программы при обновлении. То есть если в этой папке файл Version.ini есть, считываем версию, если нет, говорим что Программа не установлена... Если не трудно, напишите кодик пожалуйста...
__________________
дык!

Последний раз редактировалось PAVEL315; 19.11.2006 в 08:36.
PAVEL315 вне форума   Ответить с цитированием
Старый 19.11.2006, 09:03   #2
zetrix
Delphi/C++/C#
Профессионал
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,973
Репутация: 589
По умолчанию

в смысле название жёсткого? C:\ или D:\ ? или метку тома? так метка тебе тут не поможет. а не проще версию в реестре прописывать?
zetrix вне форума   Ответить с цитированием
Старый 19.11.2006, 09:42   #3
PAVEL315
Форумчанин
 
Аватар для PAVEL315
 
Регистрация: 18.11.2006
Адрес: NOWHERE
Сообщений: 172
Репутация: 50

icq: 328034086
По умолчанию

Именно C:\ или D:\... Установка идет в папку Programm Files... Ну допустим, что это не очень удобно... Как сделать так, что бы он при установленной программе находил её версию, а при не установленной писал что нибудь, типа "Программа не установлена"?
__________________
дык!
PAVEL315 вне форума   Ответить с цитированием
Старый 19.11.2006, 11:53   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Адрес: Химки
Сообщений: 13,166
Репутация: 2677
По умолчанию

нужно использовать зарезервированные слова, есть такие, как только найду я или кто-то другой скинем.
Alar на форуме   Ответить с цитированием
Старый 19.11.2006, 14:51   #5
X=Vitamin=X
Пользователь
 
Аватар для X=Vitamin=X
 
Регистрация: 18.11.2006
Адрес: Украина
Сообщений: 32
Репутация: 50

icq: 276040525
По умолчанию

во первых, если у тебя имеется дорожка куда по идее должна быть установлена программа, то отсеки от нее первых два символа, и это и будет название воего диска....
но зачем маятся такой ерундой, когда можно использовать реестр, что гораздо удобнее и лутше ! ! !
__________________
Незнание - рабство, знание - свобода ! ! !
X=Vitamin=X вне форума   Ответить с цитированием
Старый 19.11.2006, 17:14   #6
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Адрес: Солнечное Тбилиси
Сообщений: 4,807
Репутация: 1974
По умолчанию

uses ........,shlobj,.....;

Код:

function GetSpecialFolder(ID:DWORD):string;
var
  str:array[0..499] of char;
begin
  SHGetSpecialFolderPath(0,@str,ID,False);
  Result:=str;
end;

потом
ProgramFilesDIR:=GetSpecialFolder($ 00000026);

в результате в переменной ProgramFilesDIR путь к програмной папке текущей системы папка порграм файлез может называться и по другому не обязательно Program Files но и по другому....... смотря как утсанавливать систему
rpy3uH вне форума   Ответить с цитированием
Старый 20.11.2006, 19:07   #7
PAVEL315
Форумчанин
 
Аватар для PAVEL315
 
Регистрация: 18.11.2006
Адрес: NOWHERE
Сообщений: 172
Репутация: 50

icq: 328034086
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
uses ........,shlobj,.....;

Код:

function GetSpecialFolder(ID:DWORD):string;
var
  str:array[0..499] of char;
begin
  SHGetSpecialFolderPath(0,@str,ID,False);
  Result:=str;
end;

потом
ProgramFilesDIR:=GetSpecialFolder($ 00000026);

в результате в переменной ProgramFilesDIR путь к програмной папке текущей системы папка порграм файлез может называться и по другому не обязательно Program Files но и по другому....... смотря как утсанавливать систему
А как использовать папку в Programm files? Мне надо допустим Programm Files\Data\1.exe
__________________
дык!
PAVEL315 вне форума   Ответить с цитированием
Старый 20.11.2006, 21:27   #8
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Адрес: Солнечное Тбилиси
Сообщений: 4,807
Репутация: 1974
По умолчанию

не понял
yourprogramfilename:=ProgramFilesDI R+'\Data\1.exe';
if fileexists(yourprogramfilename) then //
begin
//твоя программа установлена
end;
rpy3uH вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определить тактовою частоту процессора и узнать название активной видеокарты и объём памяти SalasAndriy C++ Builder 7 14.04.2012 16:17
Как изменить название темы? veter_s_morya О форуме и сайтах клуба 1 24.06.2008 09:17
Среди 20 введёных чисел определить чётные, распечатать их, определить min Spade Помощь студентам 4 15.06.2008 18:39
название для кода Romuald Microsoft Office Excel 2 25.03.2008 10:52
Как определить букву диска? Борис2 Паскаль 2 06.12.2007 23:16


15:47.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru