powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Открытие статьи по ссылке
13 сообщений из 13, страница 1 из 1
Открытие статьи по ссылке
    #39951521
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Я снова хотела обратится за помощью. Дело в том, что преподаватель дал чужую БД, и попросил доработать ее, я вот все сделала, и у меня осталось последнее. У меня есть главное окно, и в нем статьи и информация о них, в информации расположены: названия, имена авторов, и ссылка на статью(ссылка выглядит в виде обычной строки, сделана синим цветом и подчеркнутой). Вот он попросил чтобы дважды кликая на эту ссылку, открывалась статья в pdf или word. Я сделала конечно(взяла код из кнопки "Открыть"),но добавила условие туда, чтобы сcылка открывалась по координатам. И проблема в том, что у меня все открывается, а у него нет, так как координаты не совпадают, а больше я не знаю как мне сделать.
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951522
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951523
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951574
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,
не надо привязываться к координатам, надо привязываться к вашему "source_link":
Код: sql
1.
2.
3.
4.
if row < 1  or isnull(dwo.name) then return
if dwo.name = "source_link" then
   Run(...)
end if



P.S. и "GetRow()" вызывать не обязательно, т.к. есть параметр события "row" - это одно и тоже.
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951593
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,

Получается только этот кусочек вместо того что у меня есть? И просто вставить еще одну строку кода для запуска? То есть вот так:

Код: sql
1.
2.
3.
4.
if row < 0  or isnull(dwo.name) then return
if dwo.name = "source_link" then
   Run("cmd /c start " + char(34) + "pdf" + char(34) + " " + char(34) + dwo.name+ char(34),Minimized!);
end if
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951601
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,
нет, вот так:
Код: sql
1.
2.
3.
4.
if row < 1  or isnull(dwo.name) then return
if dwo.name = "source_link" then
   Run("cmd /c start " + char(34) + "pdf" + char(34) + " " + char(34) + dw_list.object.source_link[row] + char(34),Minimized!);
end if


обратите внимание на различия...
ну, и протестируйте...
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951603
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,

поняла,я протестировала, но не открываются статьи.
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951617
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,
ну, тогда измените код в сторону своего работающего варианта, например так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
string name

if row < 1  or isnull(dwo.name) then return
if dwo.name = "source_link" then
   name = dw_list.object.source_link[row]
   Run("cmd /c start " + char(34) + "pdf" + char(34) + " " + char(34) + name  + char(34),Minimized!);
end if


P.S. поставьте точки остановки выполнения сценария перед "if" и посмотрите значения "row" и "dwo.name", а далее "name", чтобы понять почему не работает.
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951625
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,

все теперь заработало! У меня еще вопросик, а вы не могли бы объяснить что в этой строке мы проверяем
Код: sql
1.
if row < 1  or isnull(dwo.name) then return


и вот здесь
Код: sql
1.
name = dw_list.object.source_link[row]


С остальным я разобралась.
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951633
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,
1. если нет текущей строки или столбца, то прерываем выполнение.
2. здесь не проверяем, а получаем значение столбца "source_link" в строке "row". В параметрах события есть уже значение выбранной строки (row), поэтому "GetRow()" вызывать это лишнее, т.к. она выдает тоже значение, что и у "row".
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951637
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,

все поняла, спасибо большое за помощь!
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951690
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AIS,

у меня тут еще кое-что, статьи открываются, только одна и та же, та которая первая в списке стоит. То есть если открываю другую, то открывается только первая
...
Рейтинг: 0 / 0
Открытие статьи по ссылке
    #39951787
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,
если Вы слева выбираете строку, то должны меняться данные слева (по принципу - мастер\детально), где Вы и кликаете дважды на нужной ссылке.
Если это не так, то и статья не будет меняться.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Открытие статьи по ссылке
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]