Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Завтра :

День славянской письменности и культуры


Ошибка


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Пол:Муж FIDO
Я живу тут....


Возраст: 24
Знак зодиака: Рыбы
Зарегистрирован: 21.03.2007
Сообщения: 483
Откуда: г. Тверь
СообщениеВт, 15-Май-2007 8:51    Заголовок сообщения: Ошибка
Цитата

Здравствуйте! Значит, пишу программу-шутку, которая закидывает рабочий стол ярлыками... Не могу понять, почему CreateShotCut высвечивает как необъявленная переменная...
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ShlObj, ActiveX, ComObj, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
WorkTable: String;
P:PItemIDList;
C:array [0..1000] of char;
i: integer;
begin
if SHGetSpecialFolderLocation(Handle,CSIDL_DESKTOP,p)=NOERROR then
begin
SHGetPathFromIDList(P,C);
WorkTable:=StrPas(C);
end;
for i:=0 to 20 do
CreateShotCut(Application.ExeName, WorkTable + '\' + ExtractFileName(Application.ExeName),'');

end;

end.

_________________
Существуют три вида лжи: бахвальство, вранье и отчетность.
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Муж orlov_ds
Модератор


Возраст: 31
Знак зодиака: Рак
Зарегистрирован: 14.04.2004
Сообщения: 1723
Откуда: Новосибирск
СообщениеВт, 15-Май-2007 9:37 
Цитата

Потому что нет в delphi CreateShotCut

Добавлено спустя 4 минуты 59 секунд:

delphi:
  1.  { **** UBPFD *********** by delphibase.endimus.com ****
  2. >> Создание ярлыка для конкретного файла (2)
  3. Процедура создает ярлык к файлу FilePath,
  4. располагает ярлык в папке ShortcutPath,
  5. заносит в ярлык поля: рабочей директории WorkDir,
  6. текстового описания Description,
  7. параметров запуска Params.
  8. Зависимости: ShlObj, ActiveX, ComObj
  9. Автор:  lipskiy, lipskiy@mail.ru, ICQ:51219290, Санкт-Петербург
  10. Copyright: Из FAQ
  11. Дата:  10 мая 2002 г.
  12. ***************************************************** }
  13.  
  14.  procedure CreateShortcut(const FilePath, ShortcutPath,
  15.  WorkDir, Description, Params: string);
  16.  var
  17.  obj: IUnknown;
  18.  isl: IShellLink;
  19.  ipf: IPersistFile;
  20.  begin
  21.  obj := CreateComObject(CLSID_ShellLink);
  22.  isl := obj as IShellLink;
  23.  ipf := obj as IPersistFile;
  24.  with isl do
  25.  begin
  26.   SetPath(PChar(FilePath));
  27.   SetArguments(PChar(Params));
  28.   SetDescription(PChar(Description));
  29.   SetWorkingDirectory(PChar(WorkDir));
  30.  end;
  31.  ipf.Save(PWChar(WideString(ShortcutPath)), False);
  32.  end;
  33.  
  34. Пример использования:
  35.  
  36.  
  37.  // пример создания ярлыка на рабочем столе
  38.  var
  39.  UserDesktop: string;
  40.  R: TRegIniFile;
  41.  begin
  42.  R := TRegIniFile.Create('');
  43.  with R do
  44.  begin
  45.   RootKey := HKEY_CURRENT_USER;
  46.   UserDesktop :=
  47.   ReadString('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',
  48.   'desktop', '');
  49.   Free;
  50.  end;
  51.  
  52.  CreateShortcut(Application.ExeName, UserDesktop +
  53.   '\Название ярлыка.lnk', '', '', '');
  54.  end;

_________________
Хорошо излагает, зараза! Учитесь, Киса!
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Пол:Муж FIDO
Я живу тут....


Возраст: 24
Знак зодиака: Рыбы
Зарегистрирован: 21.03.2007
Сообщения: 483
Откуда: г. Тверь
СообщениеВт, 15-Май-2007 10:06 
Цитата

R: TRegIniFile; Теперь здесь ошибку дает компилятор...
_________________
Существуют три вида лжи: бахвальство, вранье и отчетность.
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Пол:Муж orlov_ds
Модератор


Возраст: 31
Знак зодиака: Рак
Зарегистрирован: 14.04.2004
Сообщения: 1723
Откуда: Новосибирск
СообщениеВт, 15-Май-2007 10:34 
Цитата

*Александр* вам в help от delphi посмотреть вера не позволяет?
_________________
Хорошо излагает, зараза! Учитесь, Киса!
В начало
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100