Недавно добавленные исходники

•  TDictionary Custom Sort  523

•  Fast Watermark Sources  884

•  3D Designer  1 816

•  Sik Screen Capture  1 461

•  Patch Maker  1 470

•  Айболит (remote control)  1 393

•  ListBox Drag & Drop  1 168

•  Доска для игры Реверси  21 464

•  Графические эффекты  1 343

•  Рисование по маске  1 284

•  Перетаскивание изображений  1 094

•  Canvas Drawing  966

•  Рисование Луны  807

•  Поворот изображения  764

•  Рисование стержней  807

•  Paint on Shape  492

•  Генератор кроссвордов  756

•  Головоломка Paletto  665

•  Теорема Монжа об окружностях  848

•  Пазл Numbrix  613

•  Заборы и коммивояжеры  839

•  Игра HIP  553

•  Игра Go (Го)  525

•  Симулятор лифта  544

•  Программа укладки плитки  507

•  Генератор лабиринта  562

•  Проверка числового ввода  521

•  HEX View  597

•  Физический маятник  524

•  Задача коммивояжера  557

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Чтение из файла длинной строки



Автор: LazyMan

Для решения этой задачи на помощь можно призвать потоки (TFileStream, TMemoryStream). Для поиска конца строк нужно искать пары CR/LF, но это делается очень легко, приблизительно так (я сегодня вечером слишком ленивый для реального кода):


Start := Stream.Position;
End := Start;
Repeat

Stream.Read(Buffer^, 1024);
CRPos := FindCR(Buffer^);   { где FindCR возвращает 0..1023 для CR,
и 1024, если он не найден}
Inc(End, CRPos);
Until CRPos < 1024;
GetMem(MyPChar, End - Start);  { Здесь может быть +-1 -- мне лень сегодня проверять! }
Stream.Seek(Start);
Stream.Read(MyPChar^, End - Start)

Затем установите CR в конце MyPChar в 0, и сделайте Seek в конец (End + 1), или что-то еще, чтобы пропустить LF.





Похожие по теме исходники

Чтение PSD файлов

Разбиение файла на части

Текст внутри файла




Copyright © 2004-2022 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram