powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Открыть сслыку двойным кликом.
7 сообщений из 7, страница 1 из 1
Открыть сслыку двойным кликом.
    #39942656
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Делаю по курсовой работе базу данных. Сделала приложение, где у меня есть список статей и авторов. Их можно просматривать, добавлять, удалять, редактировать. Также у меня есть окошко с информацией о статьях, и в нем есть ссылка, где лежат эти статьи. Сделала так,что при нажатии на эту ссылку, открывается статья. Преподаватель сказал чтобы я изменила так, чтобы ссылка открывалась при двойном клике и сообщать что ссылка не работает, если вдруг статьи такой нет. Не могу никак понять, что нужно еще дописать.

Прикладываю код и скриншот.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
string name;
string First_ = "", Second_ = "";
name = dw_list.object.source_link[dw_list.GetRow()];
First_ = replace(name , 4, Len(name ), '')
Second_ = replace(name,1,3,'')
name = "";
//name = First_ + '"' + Second_ + '"';
name = First_ +  Second_ ;
//messagebox ('',xpos);
//messagebox ('',ypos);
if xpos >= 75 and xpos <= (2240) and ypos>= 152 and ypos <= 168 then
	Run("cmd /c start " + char(34) + "pdf" + char(34) + " " + char(34) + name+ char(34),Minimized!);
end if
...
Рейтинг: 0 / 0
Открыть сслыку двойным кликом.
    #39942657
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это получается даже не ссылка, а просто подчеркнутый текст. И по координатам происходит открытие.
...
Рейтинг: 0 / 0
Открыть сслыку двойным кликом.
    #39942697
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если честно, я не очень люблю [dot notation] я давно не пробовал, но на сколько помню, ошибка в [dot notation] выносит всю апликацию.

/*
Что представляет из себя правое (details) dw? Cubes of concepts..., Sebastian Ferre ... , 27.08.2018, D:\Papers ... и т.д. это дата из индивидуальных колонок?
Похоже на то, если ответ да - то
*/

в событие DoubleClicked правого dw

string s_doc_name
boolean b_doc_exists
int i_rc


if not row > 0 then
return
end if

s_doc_name = this.getitemstring(row, 'name')

// дальше я бы проверил если этот файл сушествует:
b_doc_exists = FileExists(s_doc_name)

if not b_doc_exists then
messagebox(this.title, 'Document: ' + s_doc_name + ' is not exists, or you don't have an access to it.', exclamation!)
return
end if

if dwo.name = 'name' then
// запускай свой файл, я пользую:
i_rc = ShellExecuteW(0, 'open', s_doc_name+ Char(0), '', '', 1)
end if

// если хочеш попробовать ShellExecute(), сначала задекларируй функцию в окне как local external function:
FUNCTION long ShellExecuteW( ulong hWnd, string Operation, string lpFile, string lpParameters, string lpDirectory, int nShowCmd ) LIBRARY "shell32.dll"
...
Рейтинг: 0 / 0
Открыть сслыку двойным кликом.
    #39942896
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
voronk,

Оказалось все совсем просто, я перенесла код, который написала из события clicked в событие doubleclicked. И все заработало. Но все равно спасибо за подсказку!
...
Рейтинг: 0 / 0
Открыть сслыку двойным кликом.
    #39943025
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и отлично :up_thum:
...
Рейтинг: 0 / 0
Открыть сслыку двойным кликом.
    #39943133
PolinaB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
voronk,

А вот еще такой вопросик. У меня также есть поиск по статьям, все хорошо ищется, вот только не по первым буквам. Не подскажите как сделать так, чтобы искал только по первым буквам?

Вот кусочек кода кнопки "Найти"

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
w_navigation_article.dw_1.SetTrans(sqlca);
w_navigation_article.dw_1.Retrieve();

string str_search = "";
string name_table = "(";
string str_end = "%')";

if (cbx_1.checked) then
	if (str_search <> '') then
		str_search += " and " + name_table + "date = date('" + dp_1.text + "')" +   ")";
	else
		str_search += name_table + "date = date('" + dp_1.text + "')" +  ")";
	end if;
end if;
//поиск по названию
if (sle_name.Text <> '') then
	if (str_search <> '') then
		str_search += " and " + name_table + "lower(name) LIKE '%" + lower(sle_name.Text) + str_end;
	else
		str_search += name_table + "lower(name) LIKE '%" + lower(sle_name.Text) + str_end;
	end if;
else
	if (str_search <> '') then
		str_search += " and " + name_table +  "name LIKE '"+ str_end;
	end if;
end if;
...
Рейтинг: 0 / 0
Открыть сслыку двойным кликом.
    #39943142
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolinaB,
просто уберите в начале поисковой строки символ %. Подробнее применение Like см. help в РВ.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Открыть сслыку двойным кликом.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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