0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 59

Как загрузить информацию через opendialog на другую форму

18.06.2017, 13:26. Показов 1683. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток!
Есть ли возможность загрузить информацию при нажатии кнопки на form1 (через opendialog) в memo на form2? И если можно, то как?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.06.2017, 13:26
Ответы с готовыми решениями:

Как загрузить несколько файлов в Tstringlist через OpenDialog
Всем привет) как загрузить 10-20 Text файлов в Tstringlist через OpenDialog обычно можно выбирать только 1 тхт файл а как выделить...

Tstringlist как загрузить в другую форму
У меня есть функция: HTML.LoadFromStream(http.Document); Как сделать чтобы он загружал в другую форму, а не в ту в которой этот код ?

Как скопировать выбранное пользователем изображение через OpenDialog в другую папку
как скопировать выбранное пользователем изображение через OpenDialog в другую папку Помогите пожалуйста, чо-то не получается(((( пишу...

14
Модератор
 Аватар для D1973
9785 / 6333 / 2444
Регистрация: 21.01.2014
Сообщений: 27,000
Записей в блоге: 3
18.06.2017, 13:32
Лучший ответ Сообщение было отмечено vote как решение

Решение

1. В модуле Unit1 в самом начале раздела inplementation, после директивы {$R *.dfm} пропишите
Delphi
1
uses Unit2;
2.
Delphi
1
2
3
4
procedure TForm3.Button1Click(Sender: TObject);
begin
 Form2.Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
1
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
18.06.2017, 13:39
Delphi
1
2
3
4
5
procedure TForm1.Button1Click(Sender: TObject);
begin
  if not OpenDialog1.Execute then Exit;
  Form2.Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
Добавлено через 2 минуты
Надо обновлять страницу перед добавлением поста.
1
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 59
18.06.2017, 13:42  [ТС]
А можно ли проделать то же самое, только в стринглист?
0
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
18.06.2017, 13:46
Цитата Сообщение от vote Посмотреть сообщение
А можно ли проделать то же самое, только в стринглист?
Да, точно так же только:
Delphi
1
2
3
var s: TStringList;
...
s.LoadFromFile(OpenDialog1.FileName);
Соответственно он должен быть предварительно создан.
1
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 59
18.06.2017, 13:58  [ТС]
Перенёс
Кликните здесь для просмотра всего текста

Delphi
1
2
otv:=tstringlist.create;
otv.LoadFromFile('путь к файлу');

на вторую форму, поменял на
Кликните здесь для просмотра всего текста
Delphi
1
2
3
if opendialog2.Execute then
otv:=tstringlist.create;
otv.LoadFromFile(opendialog2.FileName);

Начало выдавать ошибку Adress violation at adress ****** in module 'project1.exe'. Read of adress 00000000. Что делать?
0
 Аватар для Animalia
225 / 80 / 35
Регистрация: 01.04.2017
Сообщений: 182
18.06.2017, 14:09
Цитата Сообщение от vote Посмотреть сообщение
Перенёс
а про begin end забыли...
0
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 59
18.06.2017, 14:11  [ТС]
Нет, не забыл. Я обозначил только ту часть, которую изменил.
Кликните здесь для просмотра всего текста
begin
Delphi
1
2
3
4
if opendialog2.Execute then
otv:=tstringlist.create;
otv.LoadFromFile(opendialog2.FileName);
end;
0
 Аватар для Animalia
225 / 80 / 35
Регистрация: 01.04.2017
Сообщений: 182
18.06.2017, 14:18
а я говорю забыли.
Delphi
1
2
3
4
5
6
7
begin
  if opendialog2.Execute then
  begin
    otv:=tstringlist.create;
    otv.LoadFromFile(opendialog2.FileName);
  end;
end;
а иначе вне зависимости от того создали вы tstringlist или нет, будет попытка загрузить его из файла.
0
Модератор
 Аватар для D1973
9785 / 6333 / 2444
Регистрация: 21.01.2014
Сообщений: 27,000
Записей в блоге: 3
18.06.2017, 14:21
Цитата Сообщение от vote Посмотреть сообщение
Что делать?
Проект показывать... Где чего и как объявлено, откуда, что и когда вызывается... По тем обрывкам, что Вы предоставили, судить проблемно.
0
500 / 346 / 200
Регистрация: 20.10.2016
Сообщений: 1,101
18.06.2017, 14:22
Если стринглист у вас глобальный то так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var
  s: TStringList;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  s:=TStringList.Create;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  if not OpenDialog1.Execute then Exit;
  s.LoadFromFile(OpenDialog1.FileName);
end;
 
procedure TForm1.FormDestroy(Sender: TObject);
begin
  FreeAndNil(s);
end;
.
0
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 59
18.06.2017, 14:28  [ТС]
Заменил, ошибка осталась.

Добавлено через 5 минут
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var
  Form1: TForm1;
  otv:tstringlist;
 
implementation
 
{$R *.dfm}
 
uses Unit1, Unit4;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
otv:=TStringList.Create
end;
 
procedure TForm1.Button2Click(Sender: TObject);
var otv:tstringlist;
begin
if opendialog2.Execute then
begin
otv.LoadFromFile(opendialog2.FileName);
end;
end;
Всё ли я делаю правильно?
0
Модератор
 Аватар для D1973
9785 / 6333 / 2444
Регистрация: 21.01.2014
Сообщений: 27,000
Записей в блоге: 3
18.06.2017, 14:32
Цитата Сообщение от vote Посмотреть сообщение
uses Unit1, Unit4;
Зачем тут Unit1??? Это модуль текущей формы...

Добавлено через 1 минуту
И где этот самый OpenDialog2 у Вас находится, на этой же самой форме? Тогда проблем быть не должно...
0
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 59
18.06.2017, 14:36  [ТС]
Цитата Сообщение от D1973 Посмотреть сообщение
Зачем тут Unit1??? Это модуль текущей формы...
Модуль, на котором расположены диалоги идёт под номером 3.
Цитата Сообщение от D1973 Посмотреть сообщение
И где этот самый OpenDialog2 у Вас находится, на этой же самой форме?
Да, на этой же.
0
Модератор
 Аватар для D1973
9785 / 6333 / 2444
Регистрация: 21.01.2014
Сообщений: 27,000
Записей в блоге: 3
18.06.2017, 14:46
Цитата Сообщение от vote Посмотреть сообщение
var Form1: TForm1;
Но форма-то Form1!!! Т.к. Вы не озаботились тем, чтобы дать формам осмысленные наименования и сохранить их в модулях с уникальными именами, оставили все, как есть, с именами по умолчанию, поэтому форма Form1 описана у Вас в модуле Unit1... И где там у Вас диалоги лежат - только Вам и Богам ведомо...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.06.2017, 14:46
Помогаю со студенческими работами здесь

Как открыть одну форму через другую форму в winforms?
Как мне сделать так, что при выборе какой-либо опции из списка одна форма закрывалась, а другая - открывалась? Такой код полностью...

Загрузить данные из файла Excel в StringGrid через OpenDialog
Доброго времени суток! Нужно загрузить данные из Excel файла в StringGrid через OpenDialog. Из StringGrid в Excel получилось...

Загрузить информацию из БД в форму
Имеется БД в MySQL в которой храниться каталог статей. Таблица состоит из 3 полей: page_id, page_title,code. В page_title храниться...

Как добавить данные в Datagridview через другую форму?
Подскажите, как добавить данные в Datagridview из другой формы используя локальную базу данных? В качестве примера я нашел видео C#...

Как через форму передать текст на другую страницу?
Интересует метод, который будет использовать сессии. Форма уже есть, переменная, которая отправляется - $name Как сохранять ее в...


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

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

Новые блоги и статьи
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
Реализация конвейеров машинного обучения с Python и Scikit-learn
AI_Generated 23.04.2025
Мир данных вокруг нас растёт с каждым днём, и умение эффективно обрабатывать информацию стало необходимым навыком. Специалисты по машинному обучению ежедневно сталкиваются с задачами предобработки. . .
Контроллеры Kubernetes Ingress: Сравнительный анализ
Mr. Docker 23.04.2025
В Kubernetes управление входящим трафиком представляет собой одну из ключевых задач при построении масштабируемых и отказоустойчивых приложений. Ingress — это API-объект, который служит вратами. . .
Оптимизация кода Python с Cython и Numba
py-thonny 23.04.2025
Python прочно обосновался в топе языков программирования благодаря своей простоте и гибкости. Разработчики любят его за читабельность кода и богатую экосистему библиотек. Но у этой медали есть и. . .
Микросервис на Python с FastAPI и Docker
ArchitectMsa 23.04.2025
В эпоху облачных вычислений и растущей сложности программных продуктов классическая монолитная архитектура всё чаще уступает место новым подходам. Микросервисная архитектура становится фаворитом. . .
Создаем веб-приложение на Vue.js и Laravel
Reangularity 23.04.2025
Выбор правильного технологического стека определяет успех веб-проекта. Laravel и Vue. js формируют отличную комбинацию для создания современных приложений. Laravel — это PHP-фреймворк с элегантным. . .
Максимальная производительность C#: Span<T> и Memory<T>
stackOverflow 22.04.2025
Мир высоконагруженных приложений безжалостен к неэффективному коду. Каждая миллисекунда на счету, каждый выделенный байт памяти может стать причиной падения производительности. Разработчики на C#. . .
JWT аутентификация в Java
Javaican 21.04.2025
JWT (JSON Web Token) представляет собой открытый стандарт (RFC 7519), который определяет компактный и самодостаточный способ передачи информации между сторонами в виде JSON-объекта. Эта информация. . .
Спринты Agile: Планирование, выполнение, ревью и ретроспектива
EggHead 21.04.2025
Спринты — сердцевина Agile-методологии, позволяющая командам создавать работающий продукт итерационно, с постоянной проверкой гипотез и адаптацией к изменениям. В основе концепции спринтов лежит. . .
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru