Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2017, 10:43   #1
svtvts
 
Регистрация: 21.12.2016
Сообщений: 6
По умолчанию Можно ли загрузить файл через путь в Richedit?

Добрый день!
Имею в программе 2 RichEditа и FileListBox. Во втором RichEdite через FileListBox и регулярку получаю путь к обработанному файлу и строку из этого файла.

Код:
procedure TForm1.SpeedButtonClick(Sender: TObject);
  var
    i:integer;
    RegExpr: TRegExpr;
    begin
    for i:=0 to FileListBox1.Items.Count-1 do begin
    FileListBox1.ItemIndex:=i;
    // обработка файлов
    RichEdit1.Perform(EM_LIMITTEXT,{1000000} 10000000,0);
    RichEdit1.Lines.LoadFromFile(FileListBox1.Filename);
    RegExpr := TRegExpr.Create;
    RegExpr.Expression:=ComboBox1.Text;
     if RegExpr.Exec(RichEdit1.Text) then
  repeat
    RichEdit2.Lines.Add(FileListBox1.FileName);
    RichEdit2.Lines.Add((RegExpr.Match[0]));
    until not RegExpr.ExecNext;
    Application.ProcessMessages;
    end;
     RichEdit2.Lines.SaveToFile('F:/have_ing');
    end;

Во втором RichEdit выделяю строку через код:

procedure TForm1.RichEdit2Click(Sender: TObject);
var
   Line : integer;
begin
   with RichEdit2 do
   begin
     Line := Perform(EM_LINEFROMCHAR, SelStart, 0) ;
     SelStart := Perform(EM_LINEINDEX, Line, 0) ;
     SelLength := Length(Lines[Line]) ;
end;
end;
Можно ли загрузить в RichEdit1 файл через путь, указанный в RichEdit2, и указать местонахождения полученной строки в загруженном файле?

Последний раз редактировалось Аватар; 20.01.2017 в 11:13.
svtvts вне форума Ответить с цитированием
Старый 20.01.2017, 11:07   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Можно. Путь к файлу это строка, в ричедите то же...
p51x вне форума Ответить с цитированием
Старый 20.01.2017, 11:20   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А в ричэдит в цикле загружаются файлы для того, чтобы дольше работало? Или они в rtf-формате? TStringList для этого есть, если не rtf
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 20.01.2017 в 11:22.
Аватар вне форума Ответить с цитированием
Старый 20.01.2017, 17:41   #4
svtvts
 
Регистрация: 21.12.2016
Сообщений: 6
По умолчанию

Спасибо за вопрос. Обрабатываются текстовые файлы. Мне нужно. чтобы я через добавленные в RichEdit2 строки мог в RichEdit1 загружать содержащие их файлы и в них смотреть, что было до строки, и что после. Я не уверен, что этого можно добиться через TStringList, опыта слишком мало.
svtvts вне форума Ответить с цитированием
Старый 20.01.2017, 17:51   #5
svtvts
 
Регистрация: 21.12.2016
Сообщений: 6
По умолчанию

Если можете помочь, помогите. У меня практически нет опыта программирования. Может, еще подскажите, что можно использовать в моем случае вместо RichEdit2 для ускорения процесса. Пробовал использовать AdvRichEdit из TMS: работает он гораздо медленнее.
svtvts вне форума Ответить с цитированием
Старый 21.03.2017, 00:02   #6
svtvts
 
Регистрация: 21.12.2016
Сообщений: 6
По умолчанию

Спасибо, разобрался. После приведенного кода нужно добавить строку:

RichEdit1.Lines.LoadFromFile(RichEd it2.Lines[Line]);

ScrollBars же нужно поставить в ssBoth.
svtvts вне форума Ответить с цитированием
Старый 21.03.2017, 00:06   #7
svtvts
 
Регистрация: 21.12.2016
Сообщений: 6
По умолчанию

Через StringList действительно получается быстрее. Спасибо!
svtvts вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сервис в инете где можно загрузить и запустить php файл существует? Ципихович Эндрю Общие вопросы Web 49 13.11.2016 20:24
Как в Stringgrid загрузить файл через OpenDialog Doni1 Помощь студентам 24 14.06.2016 01:40
Загрузить файл через всплывающее окно загрузки. Yoh C# (си шарп) 4 29.01.2015 13:14
как загрузить путь к файл в БД sql server при помощи C# Samsung100 C# (си шарп) 2 13.05.2014 11:29
Загрузить файл через WebBrowser navalih Работа с сетью в Delphi 2 01.07.2012 13:04