![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
![]() Сразу к делу:
Код:
procedure EMNPGraph.LoadFromFile(const FileName: TFileName); var Stream : TStream; Size : Integer; Buffer: TBytes; begin Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite); try Size := Stream.Size - Stream.Position; SetLength(Buffer, Size); Stream.Read(Buffer, 0, Size); // что дальше необходимо делать с Buffer чтобы извлечь из него информацию finally Stream.Free; end; end; Файл, из которого считывается информация имеет следующий вид: Код:
2453 131 2454 137 2455 111 2456 120 2457 127 2458 148 Как грамотно импортировать данные в два "безразмерных массива"? Код:
X : array of longint; Y : array of longint; |
#2
|
|||
|
|||
![]() Лучше тут FileStream не использовать.
читай либо через TStringList, либо через стандартные паскалевские файловые операции. |
#3
|
||||
|
||||
![]() Цитата:
Причина такого "лучше"? У меня файл на от 11к до 65к каналов (т.е. строк) |
#4
|
||||
|
||||
![]() Сложность реализации и отсутствие гибкости.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#5
|
||||
|
||||
![]() Цитата:
на 22к стандартным while not EoF(graphFile) do потрачено 98 секунд. Это никуда не годится. И всё же?... ![]() |
#6
|
||||
|
||||
![]() Проще всего через TStringList. Он сам разнесет на список строк. Сразу же получаешь размер результирующих массивов, выделяешь, в первый кладешь все до пробелов (через POS), во второй - все после. Если вначале есть пробелы - можно вылечить через trim. Или просто поискать первый не пробел.
jmp $ ; Happy End! The Cake Is A Lie. |
Этот пользователь сказал Спасибо Bargest за это полезное сообщение: | ||
Uniq! (05.03.2013)
|