|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
Как правильно открыть TXT файл для чтения, например чтобы запихнуть в TextBox или просто загрузить в массив строк17.09.2023, 18:23. Показов 3369. Ответов 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 и записать в него полученный массив, закрыть файл Как открыть файл для чтения?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|