Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
05 июл 2022, 09:17

Заполнить поле ввода из текстового документа

Автор Prilforreal, 13 окт 2017, 08:30

0 Пользователей и 1 гость просматривают эту тему.

Prilforreal

Доброго времени суток!
Создал на форме кнопку по которой открывается выбор файла, при выборе текстового файла текст из него отображается в служебных сообщениях, подскажите, как занести этот текст в поле ввода на форме?

Процедура ЗагрузитьТекстИзФайла(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   Перем Стр;
   ДТФ = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   ДТФ.Заголовок = "Выберите файл (*.TXT/.RTF.HTML*)";
   ДТФ.Фильтр = "Текстовый Документ (*.txt;*.doc;*.rtf)|*.txt;*.doc;*.rtf|";
   ДТФ.ПредварительныйПросмотр=Ложь;
   ДТФ.ПроверятьСуществованиеФайла=Истина;
   Если ДТФ.Выбрать() Тогда
      
   ПутьКТфайлу = ДТФ.ПолноеИмяФайла;
КонецЕсли;
   Текст = Новый ТекстовыйДокумент;
   Текст.Прочитать(ПутьКТФайлу);
   КоличествоСтрок = Текст.КоличествоСтрок();
Для Счетчик = 1 по КоличествоСтрок Цикл
    ТекСтрока = Текст.ПолучитьСтроку(Счетчик);
    Сообщить(ТекСтрока);
   КонецЦикла;     
   
       
КонецПроцедуры

Prilforreal

Приравниваю к ТекСтроке, получаю только последнюю строку

Oldman06

Может

ТекСтрока = "";
Для Счетчик = 1 по КоличествоСтрок Цикл
    ТекСтрока = ТекСтрока + Текст.ПолучитьСтроку(Счетчик);
КонецЦикла;
Сообщить(ТекСтрока);

?

Prilforreal

Цитата: Oldman06 от 13 окт 2017, 09:54
Может

ТекСтрока = "";
Для Счетчик = 1 по КоличествоСтрок Цикл
    ТекСтрока = ТекСтрока + Текст.ПолучитьСтроку(Счетчик);
КонецЦикла;
Сообщить(ТекСтрока);

?

Прошу прощения, не дописал, я приравниваю поле ввода ТекстПисьма к текущей строке
Добавлено: 13 окт 2017, 10:01


А таким образом просто дважды выводит в пое ввода последнюю строку

Процедура ЗагрузитьТекстИзФайла(Элемент, ДанныеВыбора, СтандартнаяОбработка)
   
   Перем Стр;
   ДТФ = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
   ДТФ.Заголовок = "Выберите файл (*.TXT/.RTF.HTML*)";
   ДТФ.Фильтр = "Текстовый Документ (*.txt;*.doc;*.rtf)|*.txt;*.doc;*.rtf|";
   ДТФ.ПредварительныйПросмотр=Ложь;
   ДТФ.ПроверятьСуществованиеФайла=Истина;
   Если ДТФ.Выбрать() Тогда
      
   ПутьКТфайлу = ДТФ.ПолноеИмяФайла;
КонецЕсли;
   Текст = Новый ТекстовыйДокумент;
   Текст.Прочитать(ПутьКТФайлу);
   КоличествоСтрок = Текст.КоличествоСтрок();
Для Счетчик = 1 по КоличествоСтрок Цикл
    ТекСтрока = Текст.ПолучитьСтроку(Счетчик);
    Сообщить(ТекСтрока);
   ТекстПисьма = ТекСтрока + Текст.ПолучитьСтроку(Счетчик);
   КонецЦикла;     
           
КонецПроцедуры

Oldman06

А так

Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(ПутьКТФайлу);
ТекстПисьма = Текст.ПолучитьТекст();

не проще?

Prilforreal

Спасибо, это то что нужно!) Все сработало без цикла!

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск