Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi|Работа с ярлыками.Типы данных.

Ответить
Настройки темы
Delphi - Delphi|Работа с ярлыками.Типы данных.

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


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

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


Везде в инете один и тот-же пример работы с ярлыками.Поэтому я его сюда включать не буду.Но проблема собственно вот в чем.
Вот это работает:
Код: Выделить весь код
FillChar(LinkInfo, SizeOf(LinkInfo), #0);
LinkInfo.FullPathAndNameOfLinkFile:='С:\Ярлык.lnk';
GetLinkInfo(@LinkInfo);
link:=LinkInfo.FullPathAndNameOfFileToExecute;
А вот это уже нет:
Код: Выделить весь код
FillChar(LinkInfo, SizeOf(LinkInfo), #0);
perem:='С:\Ярлык.lnk';
LinkInfo.FullPathAndNameOfLinkFile:=perem;
GetLinkInfo(@LinkInfo);
link:=LinkInfo.FullPathAndNameOfFileToExecute;
[Error] Unit1.pas(329): Incompatible types: 'Array' and 'String'

Я для perem уже какие только типы ни пробовал.Подскажите пожалуйста !
Заранее благодарен !

Отправлено: 04:57, 17-08-2006

 

редкий гость


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

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


Проблема в том, что у perem тип String, а LinkInfo.FullPathAndNameOfFileToExecute - array of char. Надо преобразовать одно в другое, например так:
Код: Выделить весь код
procedure stringtoarray(ar:PChar; str:string; beg:integer; length:integer);
  var i:integer;
  begin
  inc(ar, beg-1);
  for i:=1 to length do
    begin
    ar^:=str[i];
    inc(ar);
    end;
  end;
Найдено в гугле по запросу Delphi+StringToArray. Наверняка есть стандартная функция, но мне лень с дельфи разбираться.

-------
http://ivank.ru


Отправлено: 13:21, 17-08-2006 | #2



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

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


Аватара для XCodeR

Ветеран


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

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


Crowner
ivank, как всегда прав...
а функция ткаого вида: var.c_str();
посомтри в хелпе по "объекту" String....

Отправлено: 13:39, 17-08-2006 | #3


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


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

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


Не получается преобразовать

Отправлено: 20:19, 19-08-2006 | #4


редкий гость


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

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


Рискну предположить, что StringToArray(LinkInfo.FullPathAndNameOfLinkFile, perem, 1, length(perem)+1); вам поможет. Дельфей не имею, так что никак не проверить. Ещё можно попробовать LinkInfo.FullPathAndNameOfLinkFile := Addr(perem). Но вряд ли поможет. Не знаком я с дельфи

XCodeR
ivank не всегда прав, просто старается молчать, когда не знает что сказать по делу Кстати, c_str() в дельфях нет, её роль выполняет просто преобразование к PChar (через Addr). Это фишка builder'овских String (или AnsiString, или как их там), чтобы более удачно маскироваться под std::string.

-------
http://ivank.ru


Отправлено: 22:37, 19-08-2006 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Delphi|Работа с ярлыками.Типы данных.

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Delphi - Работа с 3D-графикой в Delphi ManHack Программирование и базы данных 8 21-11-2009 19:55
Delphi - Работа с локальными сетями в Delphi Bondurik Программирование и базы данных 2 02-09-2004 03:24
Delphi - Работа с файлами в Delphi Interceptor Программирование и базы данных 3 01-09-2004 15:13
Delphi - Работа с хранилищем(objerpos) в delphi 7 Poma Программирование и базы данных 3 13-06-2004 01:41
Delphi - Подскажите, как работать с ярлыками на Delphi PAS2k Программирование и базы данных 3 06-12-2003 21:43




 
Переход