|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
Как правильно открыть TXT файл для чтения, например чтобы запихнуть в TextBox или просто загрузить в массив строк17.09.2023, 18:23. Показов 3379. Ответов 82
Метки нет (Все метки)
Я ещё раньше не занимался этим вопросом с помощью API-функций, так как всегда работал с помощью стандартных методов VB6. А теперь, поняв фундаментальный недостаток VB6-метода (отсутствие поддержки юникода в именах файлов), я хочу научиться открывать/загружать стандартный текстовый файл с помощью API.
Итак, за это отвечает у нас функция ReadFile, но уважаемый The Trick, я посмотрел, загружает файлы каким-то странным, другим способом, через функции CreateFileMapping и MapViewOfFile, я если честно в этом ничего не понимаю. Смотрел описание этих функций так толком и не понял зачем их использовать вместо стандартного ReadFile.
0
|
|
| 17.09.2023, 18:23 | |
|
Ответы с готовыми решениями:
82
GDI+ как освободить файл или открыть только для чтения Как открыть доступ для чтения файла 'output.txt'? Как поток чтения (или записи) запихнуть в класс? |
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 17.09.2023, 21:23 [ТС] | |
|
The trick, хорошо, спасибо)))
Добавлено через 1 час 35 минут Осталось только написать код здесь для загрузки TXT файла
0
|
|
|
Модератор
|
||
| 17.09.2023, 21:26 | ||
|
0
|
||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||
| 17.09.2023, 21:34 [ТС] | ||
|
Осталось только написать код здесь для загрузки TXT файла
Добавлено через 6 минут У тебя может и по лучше бы определило, без BOM!?
0
|
||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 18.09.2023, 10:53 [ТС] | |
|
testuser2, и чё? это работает что ли?
Добавлено через 7 минут testuser2, попробовал твой код, написал: WriteToTextFileUTF8 "C:\123.txt", "12345р" ну вродебы всё хорошо, но файл с сохраняется без записи BOM поэтому ни блокнот ни что либо ещё не понимает русский символ "р" Добавлено через 2 минуты но скриптик интересный очень конечно надо бы его ещё в XP проверить Добавлено через 51 секунду хотя вообще я приверженец API так как WMI не всегда работает
0
|
|
| 18.09.2023, 11:27 | ||||||
|
HackerVlad, попробуй так
1
|
||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|||||||||||
| 18.09.2023, 13:20 [ТС] | |||||||||||
|
testuser2, да, так работает, вместе с записью BOM получается! и кода кстати гораздо меньше:
Сейчас ещё в XP проверим! Добавлено через 5 минут Да, и в икспи работает тоже! Только что проверил! Добавлено через 3 минуты Но я всё равно сейчас пользуюсь кодом на API, я всё же доверяю больше API
0
|
|||||||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 18.09.2023, 13:54 [ТС] | |
|
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|||
| 18.09.2023, 14:26 [ТС] | |||
|
Добавлено через 3 минуты Остаётся только вопрос: на всех ли компьютерах есть ActiveX Data Objects чтобы так смело им пользоваться
0
|
|||
| 18.09.2023, 14:57 | |
|
ADODB это же библа для работы с базами данных. Вот, допустим, тема за 2005 год, по первой ссылке описание создания базы данных с помощью ado/dao (dao более раний вариант). Распространеная вещь.
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||||||
| 20.09.2023, 20:35 [ТС] | ||||||
|
Я наконец-то изобрёл код для загрузки TXT файла в кодировке UTF8
0
|
||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 20.09.2023, 21:59 [ТС] | |
|
The trick, мне тут не критично, в конечном итоге можно просто проверить пустая результатирующая строка или нет
Добавлено через 42 секунды прям каждую-каждую API-функцию проверять не хочу Добавлено через 51 секунду плюс API в том, что программа не падает из-за ошибки, а продолжает дальше себе спокойненько работать :-)
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 20.09.2023, 22:09 [ТС] | |
|
The trick, да может можно и улучшить/оптимизировать этот код, я лишь привёл пример рабочего куска кода, который я сегодня набросал для себя. Больше никто не привёл рабочий кусок кода.
Добавлено через 4 минуты Может можно оптимизировать типа так: Может проще указать будет StrPtr(stringbuffer) + 3 если есть запись BOM, чтобы потом строку не отрывать через MidB я не знаю тут подумать можно Добавлено через 1 минуту В любом случае конечно лучше сразу начинать с четвёртого байта... Добавлено через 35 секунд А два раза ReadFile не хочется как-то и позиционировать чтение типа сначала три байта а потом всё остальное...
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|||||||
| 21.09.2023, 12:42 [ТС] | |||||||
|
The trick, вот переделал как ты просил:
Добавлено через 10 минут Так должно быть чуть быстрее теперь, по идее
2
|
|||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||||||||||||||||||||||
| 21.09.2023, 17:07 [ТС] | ||||||||||||||||||||||
|
Добавлено через 3 минуты testuser2, сам посмотри, если не веришь:
testuser2, ты же сам можешь в этом убедиться ну:
Если люди обычно во всех своих кодах пишут для выделения строки код типа:
Добавлено через 5 минут testuser2, сам убедись:
0
|
||||||||||||||||||||||
| 21.09.2023, 17:07 | |
|
Открыть файл и загрузить содержимое в TextBox Как расшифровать файл dat или просто открыть его и вывести на экран Открыть для записи текстовый файл data.txt и записать в него полученный массив, закрыть файл Как открыть файл для чтения?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|