![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
чтение массива double с помощью TFileStream [D7]
Alexander123 © (2012-01-17 18:11:00)Имеется текстовый файл с числами. Пытаюсь считать их вот таким способом:
var
fs: TFileStream;
A: array [0..9] of double;
begin
if opendialog1.Execute then
begin
fs:=TFileStream.Create(opendialog1.FileName, fmOpenRead);
fs.Read(A[0], sizeof(A));
...
При дальнейшей работе получаются значения которых не было в файле. Как решить проблему? Или обязательно считывать данные как byte и потом уже переводить в double?
Германн (2012-01-17 18:56:00) [81]
> есть ли более простой способ?
>
Если файл действительно текстовый, то проще Read или Readln ничего не придумано.
Dimka Maslov (2012-01-17 18:52:00) [82]
> Используй тип Текстовый файл.
Для компьютера все файлы суть двоичные. Текстовость файла это проблема интерпретации. Следовательно, при правильной интерпретации массив доубле можно прочесть при помощт тфилестреам.
Alexander123 (2012-01-17 18:52:00) [83]
> Германн © (17.01.12 18:29) [1]
т.е. надо считать данные из файла как массив byte, потом найти в нем символы, соответствующие цифрам (чтобы избавится от пробелов) и далее переводить в double? есть ли более простой способ?
Anatoly Podgoretsky (2012-01-17 18:32:00) [84]> Alexander123 (17.01.2012 18:11:00) [0]
Используй тип Текстовый файл.
Германн (2012-01-17 18:29:00) [85]
> Имеется текстовый файл с числами
Текст нужно читать как текст, а не как числа.