Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Гиперссылка в таблице MS Access, Открыть гиперссылку в таблице 
V
    Опции темы
Novichek27
Дата 16.5.2010, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 24.4.2010

Репутация: нет
Всего: 1



Доброго времени суток всем участникам форума.
Столкнулся с такой проблемой: не могу открыть гиперссылку  в поле таблицы MS Access с типом данных "Гиперссылка" с помощью Delphi7.

Пробовал так: 

procedure TForm1.BitBtn2Click(Sender: TObject);
var s:string;
begin
s:=AdoQuery1.FieldValues['Reference'];
ShellExecute(Handle,nil,pchar(s),'' ,'',SW_SHOWNORMAL);
end;

В ответ никакой реакции...

А вот это работает
procedure TForm1.Label1Click(Sender: TObject);
begin
ShellExecute(handle,'open','C:\data\d1.bmp',nil,nil,SW_SHOW);
end;
но мне нужно именно выдергивать из таблицы.
Прошу поделиться опытом

PM   Вверх
Данкинг
Дата 16.5.2010, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Вроде как я уже отвечал тут на этот вопрос. Там мы сошлись на том, что следует выделить адрес из текстовой переменной S (т.е. из значения поля). 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Novichek27
Дата 16.5.2010, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 24.4.2010

Репутация: нет
Всего: 1



Адрес выделен и отображен в Label'e как путь к файлу, дальше та же песня.

Данкинг
  если знаешь как этот вопрос решить подскажи пожалуйста.
PM   Вверх
Данкинг
Дата 16.5.2010, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Novichek27 @  16.5.2010,  11:41 Найти цитируемый пост)
Адрес выделен и отображен в Label'e как путь к файлу, дальше та же песня.

Что именно отображается в Label'е ? smile Т.е. в каком виде адрес?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Novichek27
Дата 16.5.2010, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 24.4.2010

Репутация: нет
Всего: 1



и не важно к какой теме он относится...

Добавлено через 5 минут и 52 секунды
отображен в Label'e как путь к файлу т. е. : C:\data\pictures\first.dwg#   // c решеткой чето

Добавлено через 11 минут и 48 секунд
I'am sorry ни в Label а DBText'e
PM   Вверх
Данкинг
Дата 16.5.2010, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Novichek27 @  16.5.2010,  11:44 Найти цитируемый пост)
отображен в Label'e как путь к файлу т. е. : C:\data\pictures\first.dwg#

При чём здесь гиперссылка тогда? Вроде речь шла о ссылке как таковой, т.е. www.ya.ru и т.п.
Если надо убрать знак #, то:
Код

s:=trim(stringreplace('C:\data\pictures\first.dwg#','#',' ',[rfReplaceAll]));

Цитата(Novichek27 @  16.5.2010,  11:44 Найти цитируемый пост)
и не важно к какой теме он относится...

Для кого неважно?

Добавлено через 2 минуты и 2 секунды
Цитата(Novichek27 @  16.5.2010,  11:44 Найти цитируемый пост)
I'am sorry 

Ты хотел сказать "I am ... ' или "I'm...' ? smile Но суть не в этом: значение в переменной S, вот оттуда мы его и берём.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Novichek27
Дата 16.5.2010, 11:10 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 24.4.2010

Репутация: нет
Всего: 1



Да не важно где че отображается, мне просто нужно нажать на ГИПЕРССЫЛКУ находящуюся БД Access через мою форму в Delphi так чтобы она открылась(т.е. конечный файл) и все...
PM   Вверх
Данкинг
Дата 16.5.2010, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Novichek27, в общем, сам определись, что хочешь, а потом уже чётко сформулируй вопрос. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
former
Дата 16.5.2010, 13:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


MEMS Expert
***


Профиль
Группа: Завсегдатай
Сообщений: 1166
Регистрация: 1.3.2006
Где: Россия

Репутация: 4
Всего: 17



Для начала пусть правила форума прочтет и перестанет темы дублировать в разных разделах! smile 


--------------------
Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами.
PM MAIL   Вверх
Данкинг
Дата 16.5.2010, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



former, и это тоже. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Novichek27
Дата 16.5.2010, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 24.4.2010

Репутация: нет
Всего: 1



Господа, Я хочу открыть файл(любой) пройдя через гиперссылку в MS Access таблице средствами Delphi.

С помощью ADO было создано подключение к базе данных MS Access.

В одной из таблиц есть поле с типом данных "Гиперссылка", и соответственно сама гиперссылка на определенный файл.

В самой таблице можно открыть файл просто нажав на гиперссылку.

Как сделать так чтобы он открывался при нажатии Кнопки или Метки в программе созданной в Delphi?
 

Думаю что вопрос понятен и сформулирован четко.  

Все что пробовал см. выше.
PM   Вверх
Данкинг
Дата 16.5.2010, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Novichek27, значит, подумать так и не хочешь. smile Тогда объясняю: путь к файлу (c:\aaa.txt) в поле "гиперссылка" отображается с диезами по краям (#c:\aaa.txt#). Я этого не знал до сегодняшнего дня (равно как и ты) и специально посмотрел в специально созданной базе. Соответственно, чтобы получить "чистый" путь, следует диезы убрать. Если ты не удосужился прочитать моё сообщение, то я его повторю и даже расширю:
Код

var s:string;
...
s:=adotable1.FieldValues['поле1'];
s:=trim(stringreplace(s,'#',' ',[rfReplaceAll]));

На выходе получаем: 
Было: #c:\aaa.txt#
Стало: c:\aaa.txt

Если что снова непонятно, могу объяснить в третий раз. smile 

Это сообщение отредактировал(а) Данкинг - 16.5.2010, 14:52


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Novichek27
Дата 16.5.2010, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 24.4.2010

Репутация: нет
Всего: 1



К цели приближаюсь.

Я сделал так, чтобы был виден путь:

begin
s:=AdoQuery1.FieldValues['shell'];
s:=trim(stringreplace(s,'#',' ',[rfReplaceAll,rfIgnoreCase]));
Label3.caption := s;
end;

В Label3 отображается текст:  C:\data\pic1\fff.txt pic1\fff.txt а не C:\data\pic1\fff.txt что опять-таки мешает.

Как это исправить?

PM   Вверх
Данкинг
Дата 16.5.2010, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Меняем процедурку:
Код

var s,s_new:string;
i:integer;
begin
 s_new:=''; 
 s:=AdoQuery1.FieldValues['shell'];
  for i:=2 to length(s) do
   if s[i]<>'#' then s_new:=s_new+s[i] else break;
Label3.caption := s_new;
end;


Это сообщение отредактировал(а) Данкинг - 16.5.2010, 21:27


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Novichek27
Дата 16.5.2010, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 24.4.2010

Репутация: нет
Всего: 1



Красавчик  : smile  smile  smile 

ВСЕ работает так как я хотел, и ты помог мне в этом Данкинг

Огромное СПАСИБО!!!




"Мало знать, куда ведет дорога, ее еще нужно пройти".
                                                            
                                                                              Морфей
PM   Вверх
Закрытая темаСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0747 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.