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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в RichView'e вывести строку 
V
    Опции темы
Andreyzpr
Дата 8.4.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



У меня есть RichView
В нем выводяться ссылки типа \\ай_пишник
Тоесть адреса открытых ресурсов по локалке
Как сделать, чтобы при нажатии на этот адрес получить его. Открыть дальше как я знаю но вот как именно мне получить этот адрес, на который нажат курсор? 

PM MAIL WWW ICQ   Вверх
aktuba
Дата 8.4.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Т.е.? Я не понял вопроса, если честно. В чем именно проблема?


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 8.4.2007, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Вот смотри
У меня есть richView
В нем списком выведены ссылки. Например
\\10.0.0.1
\\10.0.0.2
\\10.0.0.3  и т.п.
Чтобы перейти по этому адресу на удаленный компьютер я использую ShellEcecute
Вот мне нада чтобы например если я нажму на 10.0.0.1 то перешло на этот компьютер, если на 10.0.0.2 то на него.
Тоесть чтото типо ссылки чтобы было...
Как вот реализовать??
В крайнем случае есль плохо объяснил (увы с меня плохой оратор) то как реализовать - при нажатии на строчку в RichView'e ShowMessage'm вывелся текст который там в строчке (дальше я ужо догадаюсь  smile  )
PM MAIL WWW ICQ   Вверх
aktuba
Дата 8.4.2007, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Оформляй как ссылку и все. Только у меня один уточняющий вопрос: ты используешь TRichView или TRichEdit?


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 8.4.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Я ж вот и хочу узнать как оформить как ссылку?
Использую RichView
PM MAIL WWW ICQ   Вверх
aktuba
Дата 8.4.2007, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Цитата

Я ж вот и хочу узнать как оформить как ссылку?
Использую RichView 


Тогда, для начала, покажи как добавляешь текст в RichView...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 8.4.2007, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



вот так:
Код

RichView1.AddTextFromNewLine('forum.vingrad.ru', 0);
RichView1.Format;

PM MAIL WWW ICQ   Вверх
aktuba
Дата 8.4.2007, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Попробуй так:
Код

uses
  RVItem;

procedure TForm1.Button1Click(Sender: TObject);
var
  lItem: TCustomRVItemInfo;
begin
  lItem := TCustomRVItemInfo.Create(RichView1.RVData);
  lItem.Tag := Integer(PChar('http://forum.vingrad.ru'));
  lItem.StyleNo := 1;                                                       //<--- Здесь указываем стиль для ссылок.
  RichView1.AddItem('forum.vingrad.ru', lItem);
  RichView1.Format;
end;


В аттаче накидал демо проект. Если не понятно, что я написал выше - посмотри его.


Присоединённый файл ( Кол-во скачиваний: 17 )
Присоединённый файл  RVDemo.rar 5,02 Kb


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 8.4.2007, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Чет я не очь понял.. там же уже готовые надписи....
Вот смотри в чем проблема.
Прога исчет по сети открытые для общего доступа ресурсы = фильимы, музыку и т.п.
Исчет следующим кодом: (RichView переименован в Log)
Код

procedure TForm1.ScanResourse;
var
hNetEnum: THandle;
NetContainerToOpen: NETRESOURCE;
ResourceBuffer: array[1..2000] of TNetResource;
i, ResourceBuf, EntriesToGet: DWORD;
ip:string;
name:string;
f:TextFile;
ii:Integer;
s:Integer;
ini:TiniFIle;
begin
Log.Clear;
NetContainerToOpen.dwScope:=RESOURCE_GLOBALNET;
NetContainerToOpen.dwType:=RESOURCETYPE_ANY;
NetContainerToOpen.lpLocalName:=nil;
NetContainerToOpen.lpRemoteName:= PChar('\\' + name);
NetContainerToOpen.lpProvider:= nil;
WNetOpenEnum (RESOURCE_GLOBALNET, RESOURCETYPE_ANY,
     RESOURCEUSAGE_CONNECTABLE or RESOURCEUSAGE_CONTAINER,
     @NetContainerToOpen, hNetEnum);     
while TRUE do
  begin
    ResourceBuf := sizeof(ResourceBuffer);
     EntriesToGet:=2000;
    if (NO_ERROR <> WNetEnumResource(hNetEnum, EntriesToGet,
              @ResourceBuffer, ResourceBuf)) then
          begin
           WNetCloseEnum(hNetEnum) ;
           exit;
          end;
          for i := 1 to EntriesToGet do
              Log.AddTextFromNewLine(string(ResourceBuffer[i].lpRemoteName), 0); //Вот я добавляю в RichView все найденые
              Log.Format; 
             end;


Оно добавить в него все найденые.. а как их теперь сделать в виде ссылок?
PM MAIL WWW ICQ   Вверх
aktuba
Дата 8.4.2007, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Код

procedure TForm1.ScanResourse;
var
  hNetEnum: THandle;
  NetContainerToOpen: NETRESOURCE;
  ResourceBuffer: array[1..2000] of TNetResource;
  i, ResourceBuf, EntriesToGet: DWORD;
  ip:string;
  name:string;
  f:TextFile;
  ii:Integer;
  s:Integer;
  ini:TiniFIle;
  lItem: TCustomRVItemInfo;
begin
  Log.Clear;
  NetContainerToOpen.dwScope:=RESOURCE_GLOBALNET;
  NetContainerToOpen.dwType:=RESOURCETYPE_ANY; 
  NetContainerToOpen.lpLocalName:=nil;
  NetContainerToOpen.lpRemoteName:= PChar('\\' + name);
  NetContainerToOpen.lpProvider:= nil;
  WNetOpenEnum (RESOURCE_GLOBALNET, RESOURCETYPE_ANY,
     RESOURCEUSAGE_CONNECTABLE or RESOURCEUSAGE_CONTAINER,
     @NetContainerToOpen, hNetEnum);     
  while TRUE do
  begin
    ResourceBuf := sizeof(ResourceBuffer);
     EntriesToGet:=2000;
    if (NO_ERROR <> WNetEnumResource(hNetEnum, EntriesToGet,
              @ResourceBuffer, ResourceBuf)) then
          begin
           WNetCloseEnum(hNetEnum) ;
           exit;
          end;
          for i := 1 to EntriesToGet do
            begin
              lItem := TCustomRVItemInfo.Create(RichView1.RVData);
              lItem.Tag := Integer(ResourceBuffer[i].lpRemoteName);
              lItem.StyleNo := 1;                                                       //<--- Здесь указываем стиль для ссылок.
              RichView1.AddItem(string(ResourceBuffer[i].lpRemoteName), lItem);
            end;
  end;
  Log.Format; 


Добавь в Uses RVItem. Насчет стиля не забудь...

P.S.: код не проверял.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 8.4.2007, 23:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



aktuba вообще пусто
ничего не показывает
я для страховки под конец добавил RichView.Format но оно тоже ниче не показывало..
PM MAIL WWW ICQ   Вверх
aktuba
Дата 9.4.2007, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Выложи проект - посмотрю... или скинь мне.


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 9.4.2007, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Дело в том что там большая программа...
Там остальное нас не интересует.
Главное это тот код что я тебе выложил.
Смари: у меня на форме RichView и Style для него, и кнопка и едитом
В обработчике события кнопки идет код тот что я тебе выше указал
Можешь взять тот код что я тебе написал, только заместо riuchView.AddTextFromNewLine напиши Memo1.Lines.Add
И кинь мемо на форму
В едите пишешь IP адрес того, у кого буиш шарить ресурсы
А там все увидишь....
--------------------------------
А если уже не углубляться в подробности:::
У меня в richView'e  НАПРИМЕР такие ссылки, которые каждые три секунды меняються на другие цифры:
\\10.0.0.1
\\10.0.0.2
\\10.0.0.3
тоесть эти айпишники не постоянны
Первые три секунды например
\\10.0.0.1
\\10.0.0.2
\\10.0.0.3
через три секунды уже
\\10.0.0.4
\\10.0.0.5
\\10.0.0.6
Как его превратить в ссылки
Мне кажеццо там надо работать с обработчиком OnJump но я не знаком с RichView'om поэтому не знаю толком этого обработчика.

Добавлено через 11 минут и 32 секунды
aktuba  впринцепях я проблему решил следующим образом:
Код

var
  lItem: TCustomRVItemInfo;
  i:Integer;
begin
for i:=0 to memo1.Lines.Count do
  begin
    if Memo1.Lines[i] <> '' then begin
  lItem := TCustomRVItemInfo.Create(RichView1.RVData);
  lItem.Tag := Integer(PChar(Memo1.Lines[i]));
  lItem.StyleNo := 1;
  RichView1.AddItem(Memo1.Lines[i], lItem);
  RichView1.Format;
  end;
  end;
end;

Тоесть вначале оно в мемо віведет а потом в RichView
Только появилась другая проблема
На какую бы я ссылку не нажимал, хоть на \\10.0.0.1  хоть на http://forum.vingrad.ru ничего не происходит
Как сделать чтобы оно переходило по ссылке?????

PM MAIL WWW ICQ   Вверх
aktuba
Дата 9.4.2007, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Тот код, который я привел в начале - прекрасно работает. Скачай аттач и посмотри. Раз у тебя ничего не выводится - скорее всего ты неправильно устанавливаешь стили! Я в каждом коде указал на это. В моих примерах стили жестко фиксированны. Скачай пример и посмотри. Если так не получится/не понятно - сделай текстовый пример: форма с RVStyle, RVEdit и кнопку, по которой добавляются строки. Выложишь сюда - я доделаю и выложу обратно... Обращай внимание на стили - это главное!!!

P.S.: скачай аттач - там все предельно ясно и понятно!!!

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Цитата

aktuba  впринцепях я проблему решил следующим образом:


Гвозди можно забивать и микроскопом, но для этого предназначен молоток. Так зачем ты идешь обходным путем???

Это сообщение отредактировал(а) aktuba - 9.4.2007, 09:49


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 9.4.2007, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Ну вот я скачал аттач.
С выводом текста то понятно
А как сделать чтобы оно исче переходило по той ссылке!!
Я нажимаю и у мну ничего не происходит!
PM MAIL WWW ICQ   Вверх
aktuba
Дата 9.4.2007, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Цитата

Ну вот я скачал аттач.
С выводом текста то понятно
А как сделать чтобы оно исче переходило по той ссылке!!
Я нажимаю и у мну ничего не происходит! 


Странно. У меня вроде работало. Ок, попробую объяснить на словах. В OnJump тебе необходимо получить текст из тега текущего (или выделенного, не помню) итема и перейти по ней самостоятельно. Потестить и ответить точнее смогу только вечером или ночью...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 9.4.2007, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Во я ж и написал что незнаю что  в OnJump е писать 
Ну тада если можно вечером глянешь smile
зараннее спасибо ;)
PM MAIL WWW ICQ   Вверх
aktuba
Дата 9.4.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Держи готовый пример. Заметь - в нем нет никаких мемо и т.д. Обращай внимание на то, какой стиль присваивается и почему так...

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  RVDemo.rar 5,54 Kb


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Andreyzpr
Дата 10.4.2007, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Отлично с OnJump все работает
Спасибо  smile 

А что такое аттач?

PM MAIL WWW ICQ   Вверх
aktuba
Дата 10.4.2007, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


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

Репутация: 7
Всего: 38



Цитата

А что такое аттач?


Аттач = приложение (приложено). К комментарию я приложил проект, это и есть аатач. Ты бы показал, как сделал...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
alesumkin
Дата 29.8.2018, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А не подскажите как добавить строку или несколько между двумя другими, у меня задача, есть текст к примеру
1
2
{code}
3
4
5

должно получиться

1
2
новая строка 1
новая строка 2 
новая строка 3
3
4
5
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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