|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
|||||||||||
Считывание с txt и запись в ado27.11.2014, 20:54. Показов 2430. Ответов 38
Метки нет (Все метки)
Добро всем!
![]() в тхт файле у меня порядка 1000 строк с шапкой, вот в таком виде:
Хочу по новой этот код переделать, очень грузит систему
0
|
|||||||||||
| 27.11.2014, 20:54 | |
|
Ответы с готовыми решениями:
38
Запись в Excel поcредством ADO Считывание текста у txt файла.Прoблема с кириллицой(с кодировкой)(консоль) считывание и запись в файл |
|
Модератор
|
|
| 28.11.2014, 07:36 | |
|
А файл хоть как-то структурирован? Я имею в виду тот момент, как расположены поля в файле.
Например, поле сумма занимает позиции с 1 по 15 поле ФИО - с 16 по 50 и т.д. Или, может быть, поля разделены не пробелами, а табуляцией? ничего такого в файле не наблюдается? Или полный хаос?
1
|
|
|
Модератор
|
||||||
| 28.11.2014, 08:55 | ||||||
Сообщение было отмечено SatanaXIII как решение
Решение
Вот так попробуй...
1
|
||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||
| 28.11.2014, 09:53 | |||
|
Samrisbe, программисты-старообрядцы считают, что, если к коде какой-то кусок полностью повторяется пятьсот раз подряд, то его стоит вынести в функцию. По крайней мере подумать об этом. Ну или на крайний случай просто сочинить хокку из этих строк.
И очень хорошо, что вы к этому пришли. Вообще алгоритм ужасающий. Как я понял, нужно просто распарсить строки, и положить каждый элемент каждой строки в отдельную переменную, да? Почему бы тогда не использовать старый индейский подход с двумя стринглистами? В первый заносится весь текст, разбитый построчно. Организуется цикл по его строкам. А во второй каждый раз новая строка из первого. Таким образом каждый элемент внутреннего стринглиста будет содержать одно слово строки. И никаких сотен циклов. Если там пробелы, тогда худо. P.S. str обычно это строка типа String.
1
|
|||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
||||||||||||
| 28.11.2014, 11:26 | ||||||||||||
|
D1973, не. Была б табуляция, то элементы внутреннего стринглиста разделились бы так:
Но, если там просто пробелы, то получим:
1
|
||||||||||||
|
Модератор
|
||||||
| 28.11.2014, 11:29 | ||||||
|
Не по теме: SatanaXIII, твои любимые таблички? :) Именно это я и учитывал в этой вот строке
1
|
||||||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|||
| 28.11.2014, 11:31 | |||
|
Не по теме:
1
|
|||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 28.11.2014, 11:44 | |
|
D1973, прочитайте внимательно в моих табличках фамилию. Ви думаете можете так просто прийти и распарсить строку с произвольно расставленными пробелами таки?
На самом деле два ключевых слова: магия и числа. Что означает либо численная магия, либо магические числа. И то, и то за гранью разумения точной науки, коей является программирование. И вообще мы все умрем. Спасибо за внимание. А так ваш код конечно удовлетворяет частному случаю. Все хорошо.
2
|
|
| 28.11.2014, 11:50 | |
|
0
|
|
|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
|
| 28.11.2014, 11:52 [ТС] | |
|
0
|
|
|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
|
| 28.11.2014, 11:53 [ТС] | |
|
0
|
|
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 28.11.2014, 11:56 | |
|
P.S. Samrisbe, а вы этот файл создаете изначально или он вам дан откуда-то? Можно сразу прям и второго зайца прихлопнуть.
1
|
|
|
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
|
||
| 28.11.2014, 12:02 [ТС] | ||
|
0
|
||
|
Почетный модератор
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
|
|
| 28.11.2014, 12:12 | |
|
Samrisbe, если вы кстати пишете софт, то надо учесть этот момент. Вдруг поменяется формат столбцов, все дела. Но это только при условии, если вы не планируете в дальнейшем сопровождать эту программу. Лезть руками в код каждый раз, когда изменится один пробел это худо.
Добавлено через 3 минуты
0
|
|
|
Модератор
|
|
| 28.11.2014, 12:24 | |
|
Не по теме: SatanaXIII, жестокость по отношению к коту или к окружающим, кто его слушает? Samrisbe, Вы в курсе, откуда получается этот файл? Может быть, есть возможность ограничить кавычками потенциально небезопасные поля типа "ФИО" или "Адрес"?
0
|
|
| 28.11.2014, 12:28 | |
|
Не по теме: D1973, короче понеслась. Сейчас мы научим Samrisbe получать файлы. Х)
0
|
|
| 28.11.2014, 12:28 | |
|
Помогаю со студенческими работами здесь
20
Считывание и запись в COM порт Считывание данных с базы и запись в Label Считывание ячеек из StringGrid и запись их в динамический массив C++
Запись в StringGrid из .txt файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|