Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Takedown
3 / 3 / 0
Регистрация: 27.07.2015
Сообщений: 36
1

OpenDialog и Memo

18.12.2015, 16:53. Просмотров 410. Ответов 11
Метки нет (Все метки)

Суть вопроса: в OpenDialog включен мультиселект, надо выбрать 10 файлов, и указать пути в Memo, но добавляет только 1 путь
Delphi
1
Memo1.Lines.Add(OpenDialog1.FileName)
так тоже не получается
Delphi
1
2
3
4
5
6
7
8
9
10
  StrList := TStringList.Create;
      try
        Memo1.Lines.Clear;
        for I := 0 to OpenDialog1.Files.Count - 1 do
        begin
          Memo1.Lines.Add(OpenDialog1.FileName);
        end;
      finally
         StrList.Free;
      end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2015, 16:53
Ответы с готовыми решениями:

OpenDialog и Memo
Здравcтвуйте. Задача - заставить программу записать полный путь к файлу в...

Открытие через OpenDialog в memo
Делаю свой текстовый редактор и никак не могу сделать нормальное открытие через...

Загрузка файла в Memo через OpenDialog
Здравствуйте :) Как загрузить в Memo текстовый файл через OpenDialog?

OpenDialog: как открыть и загрузить в Memo несколько файлов сразу?
Здраствуйте как открыть и загрузить в мемо несколько файлов за 1 клик

Как сделать так, чтобы Memo появлялось поверх остальных Memo?
как сделать так чтобы memo появлялось поверх остальных memo

11
qwertehok
2309 / 2213 / 602
Регистрация: 29.08.2013
Сообщений: 14,796
18.12.2015, 16:57 2
как-то так
Delphi
1
2
3
4
5
6
if opendialog1.Execute then
    for i := 1 to od.Files.Count do
    begin
      ListItem := ListView1.Items.Add;
      Listitem.Caption:=(ExtractFileName(opendialog1.Files[i - 1]));
    end;
0
droider
Universal
Эксперт Pascal/Delphi
4400 / 2447 / 764
Регистрация: 04.10.2012
Сообщений: 8,902
18.12.2015, 17:16 3
Takedown, надо так
Delphi
1
2
3
4
5
...
if not OpenDialog1.Execute then Exit;
Memo1.Lines.Assign(ExtractFilePath(OpenDialog1.Files)); 
//если нужен полный путь с именами файлов, уберите ExtractFilePath()
...
StrList создавать не нужно.
0
Takedown
3 / 3 / 0
Регистрация: 27.07.2015
Сообщений: 36
18.12.2015, 17:19  [ТС] 4
вот так выводит, но название файлов, а еще бы полный путь
Delphi
1
2
for I := 0 to OpenDialog3.Files.Count - 1 do
  Memo1.Lines.Add(ExtractFileName(opendialog3.Files[i]));
Добавлено через 1 минуту
Цитата Сообщение от droider Посмотреть сообщение
Takedown, надо так
Delphi
1
2
3
4
...
if not OpenDialog1.Execute then Exit;
Memo1.Lines.Assign(ExtractFilePath(OpenDialog1.Files));
...
StrList создавать не нужно.
понял щас попробую
0
droider
Universal
Эксперт Pascal/Delphi
4400 / 2447 / 764
Регистрация: 04.10.2012
Сообщений: 8,902
18.12.2015, 17:19 5
Takedown, я Вам написал решение выше. Цикл там вообще не нужен.
0
Takedown
3 / 3 / 0
Регистрация: 27.07.2015
Сообщений: 36
18.12.2015, 17:26  [ТС] 6
Цитата Сообщение от droider Посмотреть сообщение
Takedown, я Вам написал решение выше. Цикл там вообще не нужен.
я понял суть, все вышло
Delphi
1
2
for I := 0 to OpenDialog2.Files.Count - 1 do
  Memo1.Lines.Add(ExtractFilePath(opendialog2.Files[i])+ExtractFileName(opendialog2.Files[i]));
0
droider
Universal
Эксперт Pascal/Delphi
4400 / 2447 / 764
Регистрация: 04.10.2012
Сообщений: 8,902
18.12.2015, 17:33 7
Цитата Сообщение от Takedown Посмотреть сообщение
for I := 0 to OpenDialog2.Files.Count - 1 do
Memo1.Lines.Add(ExtractFilePath(opendialog2.Files[i])+ExtractFileName(opendialog2.Files[i]));
Ничего Вы не поняли. Это чушь!
Вам нужно отобразить в Memo пути к файлам, выбранным в OpenDialog2? Так напишите в обработчике просто две строчки
Delphi
1
2
if not OpenDialog2.Execute then Exit;
Memo1.Lines.Assign(ExtractFilePath(OpenDialog2.Files)); //основная строчка
Все!
0
Takedown
3 / 3 / 0
Регистрация: 27.07.2015
Сообщений: 36
18.12.2015, 17:40  [ТС] 8
Цитата Сообщение от droider Посмотреть сообщение
DelphiВыделить код
1
2
3
if not OpenDialog2.Execute then Exit;
Memo1.Lines.Assign(ExtractFilePath(OpenDialog2.Files)); //основная строчка
Все!
_____
это только пути, но мне еще надо было + полное название файла "D:\***\***.xls" по этому я использовал ExtractFilePath + ExtractFileName
0
droider
Universal
Эксперт Pascal/Delphi
4400 / 2447 / 764
Регистрация: 04.10.2012
Сообщений: 8,902
18.12.2015, 17:44 9
Цитата Сообщение от Takedown Посмотреть сообщение
это только пути, но мне еще надо было + полное название файла... по этому я использовал...
ЗАЧЕМ?? Вы мой комментарий к коду выше прочитали п. #3?
Цитата Сообщение от droider Посмотреть сообщение
//если нужен полный путь с именами файлов, уберите ExtractFilePath()
Напишите тогда
Delphi
1
Memo1.Lines.Assign(OpenDialog2.Files);
0
qwertehok
2309 / 2213 / 602
Регистрация: 29.08.2013
Сообщений: 14,796
18.12.2015, 17:45 10
Takedown, товарищ вам пишет что цикл не нужен
0
Takedown
3 / 3 / 0
Регистрация: 27.07.2015
Сообщений: 36
19.12.2015, 11:12  [ТС] 11
Цитата Сообщение от droider Посмотреть сообщение
Напишите тогда
DelphiВыделить код
1
Memo1.Lines.Assign(OpenDialog2.Files);
Цитата Сообщение от qwertehok Посмотреть сообщение
Takedown, товарищ вам пишет что цикл не нужен
да именно так, одной строкой все работает, спасибо
0
droider
19.12.2015, 13:47     OpenDialog и Memo
  #12

Не по теме:

Цитата Сообщение от Takedown Посмотреть сообщение
все работает
Ура

0
19.12.2015, 13:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.12.2015, 13:47
Привет! Вот еще темы с ответами:

Разбить поровну содержимое Memo между четырьмя другими Memo
Здравствуйте, уважаемые форумчане! Я в delphi новичок совсем, только основы...

Получение номера взятой строки из memo, содержимое которой вставлено рандомно в memo
Вообщем есть текстовый файл, из которого берутся все строки, вставляются в...

Показать один из компонентов memo поверх остальных memo
как сделать так чтобы memo появлялось поверх остальных memo === вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru