Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2012, 00:53   #1
fed@n
Пользователь
 
Регистрация: 05.08.2010
Сообщений: 11
По умолчанию Как правильно подставить значение из edit1.text?

Добрый день! Пытаюсь создать ярлык на рабочем столе.
Убил день на то, чтобы разобраться как указать путь из edit1.text? но так и не получилось. Подскажите как это можно правильно сделать? Спасибо за помощь!
Вот кусок кода:


procedure MakeNotepad;
const
// NOTE: Assumed location for Notepad:
AppName = 'c:\windows\notepad.exe'; <-- как правильно подставить
сюда значение из edit1.text????

Необходимо чтобы путь из edit1.text подставлялся вместо 'c:\windows\notepad.exe';

delphi ругается на чем свет стоит.
fed@n вне форума Ответить с цитированием
Старый 21.02.2012, 04:47   #2
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,206
По умолчанию

Код:
Application = Edit1.Text;
Что за вопрос-издевка я не понял?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 21.02.2012, 07:51   #3
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

На всякий случай
Код:
:=
phomm вне форума Ответить с цитированием
Старый 21.02.2012, 08:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
delphi ругается на чем свет стоит.
Ну и на чем свет стоит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.02.2012, 10:20   #5
fed@n
Пользователь
 
Регистрация: 05.08.2010
Сообщений: 11
По умолчанию

вот код самой процедуры:

Код:
procedure MakeNotepad;
const
  // NOTE: Assumed location for Notepad:
  AppName ='C:\windows\notepad.exe');
var
  SL: IShellLink;
  PF: IPersistFile;
  LnkName: WideString;
   Data: string;
 w:BOOL;

begin
  OleCheck(CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER,
    IShellLink, SL));
  { IShellLink implementers are required to implement IPersistFile }
  PF := SL as IPersistFile;
  OleCheck(SL.SetPath(PChar(AppName))); // set link path to proper file
  { create a path location and filename for link file }
  LnkName := GetFolderLocation('Desktop') + '\' +
    ChangeFileExt(ExtractFileName(AppName), '.lnk');
  PF.Save(PWideChar(LnkName), True); // save link file
end;


Проблема заключается в том, что в строчке
AppName ='C:\windows\notepad.exe');
у меня не получается изменить путь к файлу. Необходимо чтобы сам путь брался из edit1.text, а название приложения добавлялось автоматически.
Например, вот так: AppName =edit1.text + 'notepad.exe'); Только так выдает ошибку((

Последний раз редактировалось artemavd; 21.02.2012 в 16:55.
fed@n вне форума Ответить с цитированием
Старый 21.02.2012, 10:31   #6
fed@n
Пользователь
 
Регистрация: 05.08.2010
Сообщений: 11
По умолчанию

Все, разобрался! всем спасибо за помощь!


Вот правильное решение:

Код:
procedure MakeNotepad;
const
// NOTE: Assumed location for Notepad:
AppName ='notepad.exe';
var
SL: IShellLink;
PF: IPersistFile;
LnkName: WideString;
Data: string;
w:BOOL;

begin
OleCheck(CoCreateInstance(CLSID_She llLink, nil, CLSCTX_INPROC_SERVER,
IShellLink, SL));
{ IShellLink implementers are required to implement IPersistFile }
PF := SL as IPersistFile;
OleCheck(SL.SetPath(PChar(Form1.Edit1.text+AppName)) ); // set link path to proper file
{ create a path location and filename for link file }
LnkName := GetFolderLocation('Desktop') + '\' +
ChangeFileExt(ExtractFileName(Form1.Edit1.text+AppNa me), '.lnk');
PF.Save(PWideChar(LnkName), True); // save link file
end;

Пользуйтесь! Тема закрыта!



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 21.02.2012 в 11:27.
fed@n вне форума Ответить с цитированием
Старый 22.02.2012, 10:16   #7
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Код:
AppName ='notepad.exe';
.......
......
.........

ChangeFileExt(ExtractFileName(Form1.Edit1.text+AppName), '.lnk');
вот это место мне особенно понравилось)
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать чтоб вместо file.txt было значение Edit1.text quarty Общие вопросы Delphi 2 22.10.2010 16:54
Максимальное значение edit1.text KoBRaAndrey Общие вопросы Delphi 7 07.10.2009 05:40
[Делфи]Как удалить последний символ в edit1.text? zotox Помощь студентам 3 05.08.2009 12:05
Числа из edit1.text в массив..как? yaquake Помощь студентам 6 01.03.2009 14:09
Как узнать в Edit1.Text у меня информация Integer Shaitan63 Общие вопросы Delphi 11 29.01.2009 11:20