Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

как открыть браузер из StringGrid?Builder C

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> как открыть браузер из StringGrid?Builder C
Имя
Сообщение << Старые топики   Новые топики >>
как открыть браузер из StringGrid?Builder C - 2009-06-29 13:34:44.716666   
61.masquit

Сообщений: 64
Оценки: 0
Присоединился: 2009-02-13 12:49:23.920000
короче 2 вороса
№1как сделать 2 колонку стринга не редактируемой??
№2 сделать так чтоб при нажатии на кокойто текст во 2 колонке открывался эксплоер и запускал страницу котора там указана

Ps можно не давать прямого решения просто посоветуйте ф-ции методы и тд..далше постораюсь сам
Post #: 1
RE: как открыть браузер из StringGrid?Builder C - 2009-06-29 20:23:04.436666   
Hateman

Сообщений: 62
Оценки: 0
Присоединился: 2009-06-06 20:22:22.040000
1. Свойство FixedCols должно быть равно единице. FixedCols = 1.
2. Как пример: OnSelectCell - сохраняешь где-то номер ряда (ARow).
Затем, в OnClick прописываешь запуск ссылки через ShellExecute (как вариант, через COM, напрямую),
если ряд = 1.
Post #: 2
RE: как открыть браузер из StringGrid?Builder C - 2009-06-30 14:35:59.590000   
61.masquit

Сообщений: 64
Оценки: 0
Присоединился: 2009-02-13 12:49:23.920000
да! спс вроде что-то пелучается. тока не совсем. подскажите при нажатии на Fixed row ничего не происходит а если нажимаю обычну сторку то получается почему?
ПРИМЕР строка xakep.ru pass login. если нажать сюда "xakep.ru" (Fixed row) то ничего не происходит ,если сюда pass то открывается htpp://pass/
вот код void __fastcall TForm1::StringGrid1Click(TObject *Sender) { int a; a=StringGrid1-&gt;Row; AnsiString astr =StringGrid1-&gt;Cells[0][a]; char string[25]="http:"; char *str=astr.c_str(); strcat(string,str); ShellExecute(Handle, "open",string, 0, 0, SW_SHOWNORMAL); } как исправить ибо обчные строки нужны для ридоктирования пасов логов.а фиксы для перехода на линк указанных в них.
Post #: 3
RE: как открыть браузер из StringGrid?Builder C - 2009-06-30 19:31:58.790000   
Zmaster

Сообщений: 930
Оценки: 0
Присоединился: 2007-02-09 19:02:43.500000
61.masquit, что-то я не совсем понял, т.е. ты хочешь чтобы при нажатии кнопки мыши на каком-либо столбце Грида, запускался IE с адресом, который там указан? Ага, но, в какой строке должен быть записан адрес? Например:

..____1_____2_ 3_ 4_
1 _________|__|__|__|
2 xakep.ru__|__|__|__|
3 _________|__|__|__|
4 _________|__|__|__|

Как видим, в первой колонке есть текст "xakep.ru". Нажимаем на вторую колонку. И вот вопрос, С какой строки надо считывать адрес сайта? В нашем случае со второй. Так что нужно знать не только столбец, но и строку. Можно конечно проверять строку следующим образом:
1. Взять первую строку.
2. Если она не пустая, то открыть IE с текстом, который в ней.
3. Иначе перейти к другой строке.

Ага, с этим решили. а теперь я прото скажу алгоритм, по которому нужно делать:
—–Начало функции обработки события клик на Гриде——
1. Записать в переменную A номер нажатой колонки.
2. Если A равно колонке, которая обрабатывается, то
3. Записать в переменную B текст этой колонки (строка высчитывается способом выше).
4. Открыть браузер с помощью ShellExecutе, параметр которого переменная B.
————————-Конец функции——————————–

Вот. Насчет строки:
Можно строку не высчитывать, можно просто считать строку, на которой сделан клик.
Вот в принципе все, что хотел написать, будут вопросы, задавай.
Post #: 4
RE: как открыть браузер из StringGrid?Builder C - 2009-06-30 20:10:19.126666   
61.masquit

Сообщений: 64
Оценки: 0
Присоединился: 2009-02-13 12:49:23.920000
вопрос! надо чтоб браузер открыл строку с адресом который я виберу например Cells[0][5] ибо в 0 колонке названия страниц и в низ идёт перечесление.как это сделать обробадчик события??
Post #: 5
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> как открыть браузер из StringGrid?Builder C







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.