Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] WPI

Ответить
Настройки темы
Delphi - [решено] WPI

Аватара для NickDang

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: NickDang
Дата: 22-01-2012
Я делаю что-то похожее на WPI, только на много проще. при нажатии у меня открывается папка с данной программой ну или сама программа. так вот я хочу этот так называемый WPI записать на диск вместе с файлами. Но там в кнопках speedbuton я указал путь.
ShellExecute(Self.Handle,'open','D:\My Files.1.0\Soft\Corel.Painter.X.v10.0.046.Cracked-ARN',nil,nil,SW_SHOWNORMAL);
Как мне сделать чтобы буква совпадала всегда с диском?

Отправлено: 17:06, 22-01-2012

 

Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Необходимо получить имя диска, с которого запущено приложение.
Информация о полном пути хранится в свойстве Application.ExeName.
Диск, с которого запущено приложение:
Код: Выделить весь код
driveName = ExtractFileDrive(Application.ExeName);
В driveName будет имя диска.

Отправлено: 17:25, 22-01-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для NickDang

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


И будет работать не зависимо от того будь это J или D диск?

Отправлено: 17:28, 22-01-2012 | #3


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Ну разумеется нужно подставить driveName вместо D.
Код: Выделить весь код
ShellExecute(Self.Handle,'open',driveName + '\My Files.1.0\Soft\Corel.Painter.X.v10.0.046.Cracked-ARN',nil,nil,SW_SHOWNORMAL);

Отправлено: 18:28, 22-01-2012 | #4


Аватара для NickDang

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


итак, ещё раз. Можете объяснить что куда вписывать и как подробнее. извините я в Delphi новичок)

Отправлено: 18:44, 22-01-2012 | #5


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


Ваш код
Код: Выделить весь код
ShellExecute(Self.Handle,'open','D:\My Files.1.0\Soft\Corel.Painter.X.v10.0.046.Cracked-ARN',nil,nil,SW_SHOWNORMAL);
следует заменить на
Код: Выделить весь код
driveName = ExtractFileDrive(Application.ExeName);
ShellExecute(Self.Handle,'open',driveName + '\My Files.1.0\Soft\Corel.Painter.X.v10.0.046.Cracked-ARN',nil,nil,SW_SHOWNORMAL);
Не забудьте описать переменную driveName как string.

Я вам могу только подсказать идею, я на делфи на писал давно.
Если что не так, думаю, форумчане подправят.
Если снова не понятно, прикрепляйте исходник, будем смотреть дальше.

Skype не пользую.

Последний раз редактировалось PhilB, 22-01-2012 в 22:03.


Отправлено: 21:55, 22-01-2012 | #6


Аватара для NickDang

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добавляю исходник, извините что ссылка на другой сайт, т. к. исходник выше 650 кб нельзя выложить, а у меня он на 1 мб. наверно из-за картинок.
вот: delphi.zip

Отправлено: 22:07, 22-01-2012 | #7


Старожил


Сообщения: 198
Благодарности: 51

Профиль | Отправить PM | Цитировать


В файле Unit1.pas
procedure TForm1.Button1Click(Sender: TObject); переписана так:
Код: Выделить весь код
procedure TForm1.Button1Click(Sender: TObject);
var driveName:string;
begin
driveName := ExtractFileDrive(Application.ExeName);
ShellExecute(Self.Handle,'open',driveName + '\',nil,nil,SW_SHOWNORMAL);
end;
Должно работать, хотя не компилировал - нечем.
Остальные - по аналогии.

Отправлено: 22:25, 22-01-2012 | #8


Аватара для NickDang

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


не работает. ошибка при запуске. может есть что то проще? можно ли сделать чтобы при загрузке диск менял букву наприм на K?

Отправлено: 17:58, 23-01-2012 | #9


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата NickDang:
ошибка при запуске »
Запуск вашей программы? Если да, то как событие нажатия клавиши может на это влиять? Ошибка в чем то другом... Желательно указать ошибку, тут не гадалки.
Цитата NickDang:
может есть что то проще? »
Цитата NickDang:
загрузке диск менял букву наприм на K? »
И действительно, проще чем получить путь до программы

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}


Отправлено: 18:31, 23-01-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] WPI

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Вопросы По WPI DenchikK Автоматическая установка Windows 2000/XP/2003 2342 15-06-2024 11:10
[решено] создал WPI икону / WPI.ico / для него и файл Autorun.inf tim75 Хочу все знать 7 25-02-2013 06:48
WPI dorset Автоматическая установка приложений 1 25-02-2011 07:27
7 / 2008 R2 - Seven+WPI(помогите) gjai Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 7 22-02-2010 19:53
wpi-wpi d2201 Автоматическая установка Windows 2000/XP/2003 11 13-04-2005 10:19




 
Переход