Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2010, 23:50   #1
Владимир1988
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 25
По умолчанию неверный формат при записи потока в файл

Подскажите пожалуйста, какой нужен формат, чтобы поток нормально читался в тестовом файле. Во вложении скриншот файла.

Код:
unit TEST1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ToolWin, ComCtrls, ActnMan, ActnCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
   private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  i:integer;
  n: array[1..10] of integer;
  k: array[1..10] of string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  p: TStream;
  begin
   for i:= 1 to 10 do //заполним массив
    n[i]:= (i)*(2);
    for i:=1 to 10 do
    k[i]:=inttostr(n[i]);
      p := TFileStream.Create('D:\тест\file34.txt', fmCreate or fmOpenRead or fmOpenWrite);
       try
         p.Seek(0,soBeginning);
         p.WriteBuffer(k[low(k)], Length(k)* SizeOf(integer));
         //p.writebuffer(n[1],Length(n)*sizeof(integer));
       finally
    p.Free;
  end;
end;

end.
Изображения
Тип файла: jpg Безымянный.JPG (27.3 Кб, 131 просмотров)
Владимир1988 вне форума Ответить с цитированием
Старый 01.02.2010, 00:39   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Применяя поток (stream) мы никогда не получим текстового представления чисел. Поток пишет в файл числа так как они расположены в памяти. Здесь что важнее: читать записанные числа в виде текста или применение потока.
Скандербег вне форума Ответить с цитированием
Старый 01.02.2010, 11:24   #3
Владимир1988
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 25
По умолчанию

Здесь обязательно применение потока, но нужно куда нибудь выводить данный поток для проверки того , что мы туда записали
Владимир1988 вне форума Ответить с цитированием
Старый 01.02.2010, 11:50   #4
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Сразу не заметил, но вот эта конструкция совсем не корректная:
Код:
p.WriteBuffer(k[low(k)], Length(k)* SizeOf(integer));
В k хранятся строки, а строки представляющие числа, в общем случае переменной длины и применять к ним SizeOf(integer) для определения их размера за пределами разумного.
Массив n отправляется в поток, а массив k можно отправлять, например, в Memo или StringList (в этих случаях применяется цикл), чтобы записать его затем в отдельный файл. Из него и читать.
Приоритеты задачи не понятны, что в итоге нужно на самом деле.
Скандербег вне форума Ответить с цитированием
Старый 01.02.2010, 12:38   #5
Владимир1988
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 25
По умолчанию

У меня есть массив, состоящий из целых отрицательных и положительных чисел. Этот массив я записываю в поток.
И для контроля того, что я записываю в поток, необходимо его просмотреть: или записать в текстовый файл или вывести в Memo.
Владимир1988 вне форума Ответить с цитированием
Старый 01.02.2010, 12:45   #6
Владимир1988
Пользователь
 
Регистрация: 10.11.2009
Сообщений: 25
По умолчанию

Но просмотреть нужно именно поток а не массив
Владимир1988 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при работе с canvas "Неверный дескриптор" Алекс Ялта Gamedev - cоздание игр: Unity, OpenGL, DirectX 17 13.06.2011 22:32
Неверный формат файла vetal74 Microsoft Office Excel 1 28.10.2009 21:54
Сохранение из файлового потока в файл. Uomo Общие вопросы Delphi 5 25.10.2007 16:31
Ошибка при записи в файл txt Alex_Ku Помощь студентам 2 28.04.2007 12:15