|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
|
|||||||||||
Запись и чтение из файла строковой переменной22.04.2013, 14:29. Показов 3698. Ответов 16
Метки нет (Все метки)
Перехожу и Builder6 на XE. исправил кучу ошибок. в одном не могу развобраться.
вот пример: одна кнопка пишет файл, другая читает.
Пробовал так писать:
0
|
|||||||||||
| 22.04.2013, 14:29 | |
|
Ответы с готовыми решениями:
16
Запись/чтение переменной из файла Чтение строковой переменной и числа из строки Запись строковой переменной в файл |
|
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
|
|
| 23.04.2013, 06:35 | |
|
т.е. вы считываете в music1 количество байт равное длине music1?) как то масло маслено получается, не находите?)
не лучше ли для этого вычислить размер файла?) а вообще FileRead не прочитает в AnsiString, используйте char*
0
|
|
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
|
|
| 23.04.2013, 10:58 [ТС] | |
|
>>не лучше ли для этого вычислить размер файла?)
в файле может же быть не одна переменная. >>т.е. вы считываете в music1 количество байт равное длине music1?) использовал и функцию sizeof(), но результат тот же. >>а вообще FileRead не прочитает в AnsiString, используйте char* в 6м билдере FileRead читал же AnsiString.
0
|
|
|
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
|
|||
| 23.04.2013, 11:22 | |||
|
в FileRead третьим параметром передается кол-во байт, которые надо считать, а это известно лишь вам, т.к. только вы знаете сколько байт вы записали в файл) тут надо с самим собой договариваться) вообще судя по всему вам проще использовать метод LoadFromFile класса TStringList либо fopen/fputs/fgets
0
|
|||
|
|
||
| 23.04.2013, 12:10 | ||
После объявления переменной она пуста, длина содержащейся в ней строки равна нулю - следовательно, метод Length() вернет ноль - следовательно, функция FileRead() прочитает ноль байт.
1
|
||
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
|
|||||||||||
| 23.04.2013, 12:48 [ТС] | |||||||||||
|
Действительно с этим я что-то ступил.
Хорошо, отойдем пока от размера заменим в запись:
0
|
|||||||||||
|
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
|
||||||||||||
| 23.04.2013, 13:35 | ||||||||||||
|
обманываете вы однако, товарищ sachem, даже на запись не пройдет такой фокус с AnsiString и даже на bcb6
поверю еще, что можно корректно записать так
про AnsiString читаем тут выдержка
поэтому если только сначала забить AnsiString, то получится:
0
|
||||||||||||
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
|
|||||||||||
| 24.04.2013, 09:48 [ТС] | |||||||||||
|
что-то так и не получается.
записываю:
0
|
|||||||||||
|
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
|
|||||||||||
| 24.04.2013, 09:56 | |||||||||||
|
sachem, вы уже в который раз не улавливаете сути, о чем я говорю.
я написал
этой строкой мы выделяем память под 5 символов, куда будем считывать из файла. но вообще это неправильный подход, если решили использовать AnsiString. заметьте, если у вас в файле уже записано "00000", и вы выполните
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
|
|
| 24.04.2013, 10:03 [ТС] | |
|
понятно теперь.
Какой же тип применить вместо AnsiString? потому как такой подход не устраивает. я же не знаю сколько мне нужно считать из файла. нужна строка, но сколько в ней будет символов не известно
0
|
|
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
|
|||
| 24.04.2013, 15:58 [ТС] | |||
Или может перед считыванием строки заполнять ее, например 30ю символами, а потом разбирать где заканчиваются мои данные... Или еще есть какой-то способ?
0
|
|||
|
|
||
| 24.04.2013, 17:19 | ||
|
Еще зачастую используются заголовочные структурки для описания типа и размера данных, но тут надо помнить про выравнивание структур. Добавлено через 2 минуты А вообще, можешь использовать TIniFile - там и строковые, и числовые данные, и потоки, и массивы легко читать\записывать.
0
|
||
|
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
|
|||
| 25.04.2013, 05:15 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 12
|
|
| 26.04.2013, 12:08 [ТС] | |
|
а что если использовать ShortString? там, на сколько я понимаю, фиксированная длинна строки?
0
|
|
|
|
|
| 26.04.2013, 13:48 | |
|
Да, память там статическая - просто массив char внутри класса. Размер массива 256 байт, первый байт отвечает за длину строки, остальные под строку. Только вот смысла использовать ShortString я не вижу. Удобных методов для работы с текстом в этом классе нет, по сути там вообще почти ничего нет, это просто законспирированный char arr[255];.
0
|
|
| 26.04.2013, 13:48 | |
|
Помогаю со студенческими работами здесь
17
Чтение переменной из файла и занесение данных определенной переменной в combobox Чтение файла, чтение названия папки где находится файл, запись данных на PHP
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|