Форум программистов, компьютерный форум, киберфорум
1С
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/112: Рейтинг темы: голосов - 112, средняя оценка - 4.78
 Аватар для Moshik
22 / 22 / 2
Регистрация: 28.01.2012
Сообщений: 52

Обработка текстового документа в таблицу значений

02.06.2012, 16:57. Показов 24025. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Скажу сразу, опыта нету, поэтому вопросы могут звучать глупо. Учусь самостоятельно, но упорно.

Итак, идея такова:

Имеем текстовый файл (.txt), содержимое:
45;Московская 38
46;Кулибина 15

Первое значение это "Номер подразделения", второе "Адрес".
Необходимо сделать обработку загрузки этого файла в справочник "Места хранения".

На форме имеется поле ввода "ВыборФайла" и его обработчик:

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
&НаКлиенте
Процедура ВыборФайлаОткрытие(Элемент, СтандартнаяОбработка)
 
        СтандартнаяОбработка = Ложь;
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = "";
    Текст = "ru = ""Текст""; en = ""Text""";
    Фильтр = НСтр(Текст)+"(*.txt)|*.txt";
    ДиалогОткрытияФайла.Фильтр = Фильтр;
    ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
    ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
    Если ДиалогОткрытияФайла.Выбрать() Тогда
        МассивФайлов = ДиалогОткрытияФайла.ВыбранныеФайлы;
        Для Каждого ИмяФайла Из МассивФайлов Цикл
            ВыбФайл = Новый Файл(ИмяФайла);
            Текст = "ru = ""; Размер = ""; en = ""; Size = """;
            Предупреждение(ИмяФайла+НСтр(Текст)+ВыбФайл.Размер());
        КонецЦикла;
    Иначе
        Текст = "ru = ""Файл(ы) не выбран!""; en = ""File(s) not selected!""";
        Предупреждение(НСтр(Текст));
    КонецЕсли;
        ВыборФайла = ИмяФайла;
КонецПроцедуры
Файл выбрал, теперь хочу считать его в таблицу значений "ТЗДанныеФайла" в которой 2 колонки "Номер подразделения" и "Адрес подразделения", чтобы посмотреть чего загрузилось и если что, то что-то поправить. И вот тут на меня напал ступор, я понимаю что нужно в цикле перебрать все строки и занести их в таблицу значений, но как это сделать и как заставить программу воспринять разделитель ";" за разделитель колонок, я не могу.

Хватило только на то чтобы это запустить в цикл:
1C
1
2
3
4
5
6
7
8
9
10
11
&НаКлиенте
Процедура ЗаполнитьТЗДанныеФайла(Команда, ВыборФайла)
 
    Текст = Новый ЧтениеТекста(Элементы.ВыборФайла.ТекстРедактирования);
    Стр = Текст.ПрочитатьСтроку();
    Пока Стр <> Неопределено Цикл
        Сообщить(Стр);
        Стр = Текст.ПрочитатьСтроку();
    КонецЦикла;
    
КонецПроцедуры
Знаю, что новичков не любят, но прошу помощи в реализации этого, по возможности как можно подробнее, хочу не просто решение задачи, но и понимание этого решения.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2012, 16:57
Ответы с готовыми решениями:

Чтение текстового документа, обработка, запись нового
Задача: есть текстовый документ типа: 36745 375294567456 80293455906 ... Нужно прочитать отбросить домашние телефоны,...

Обработка текстового документа с выводом данных в директорию
Добрый день, первый день на баше, пока изучаю Есть одна задачка : Например, в текстовом файле есть запись &quot;My ID is 23456578...

Как сделать в Deiphi внесение данных из текстового документа в таблицу?
Не могу сделать внесение данных в таблицу из текстового документа через батон. Что подскажите ?

22
900 / 877 / 11
Регистрация: 15.03.2012
Сообщений: 2,680
03.06.2012, 18:55
Студворк — интернет-сервис помощи студентам
Вы не понимаете, что при текущей реализации, после нажатия на кнопку выбора файла, Вы теряете адрес файла во временном хранилище? А потом пытаетесь получить файл не зная его адреса?
1
 Аватар для Moshik
22 / 22 / 2
Регистрация: 28.01.2012
Сообщений: 52
03.06.2012, 19:01  [ТС]
Цитата Сообщение от Fenomen Посмотреть сообщение
Вы не понимаете, что при текущей реализации, после нажатия на кнопку выбора файла, Вы теряете адрес файла во временном хранилище? А потом пытаетесь получить файл не зная его адреса?
Как раз это я и понимаю, но нет понимания почему. Можете кратко объяснить? И как в данной ситуации реализовать то, что надо реализовать?
0
 Аватар для duk337
2956 / 1768 / 84
Регистрация: 03.11.2011
Сообщений: 8,280
03.06.2012, 19:37
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
&НаКлиенте
Перем АдресВременногоХранилища
...
&НаСервере
Процедура ЗаполнитьТЗДанныеФайлаНаСервере(ф)
Файл = ПолучитьИзВременногоХранилища(ф);
КонецПроцедуры
 
&НаКлиенте
Процедура ЗаполнитьТЗДанныеФайла(Команда)
ЗаполнитьТЗДанныеФайлаНаСервере(АдресВременногоХранилища);  
КонецПроцедуры
 
&НаКлиенте
Процедура ВыборФайлаОткрытие(Элемент, СтандартнаяОбработка)
....
        АдресВременногоХранилища = "";
        ПоместитьФайл(АдресВременногоХранилища,ИмяФайла,,Ложь,);
        ЗаполнитьТЗДанныеФайлаНаСервере(АдресВременногоХранилища);
КонецПроцедуры
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.06.2012, 19:37

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

Обработка формы и вывод значений в таблицу
Задание: Пользователь вводит число в форму на странице и нажимает кнопку «Ввод». После этого на страницу выводится таблица. В первом...

Обработка: заполнение реквизита документа реквизитом другого документа
делаю обработку.В документе ПТУ в ТЧ товары есть Заказы, но в ТЧ товары нету Проекта, поэтому на основании одного заказа создается документ...

Заполнение из текстового документа
Здравствуйте. У меня вопрос: Выбираю из текстового файла фамилию например: &quot;Иванов Иван Иванович&quot; ФИОЗалоговыйБилет =...

Изменение текстового документа
Уважаемые программисты помогите написать программу которая изменяет текстовый документ в котором есть строка «Номер»(это номер документа),...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru