Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/70: Рейтинг темы: голосов - 70, средняя оценка - 4.66
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1

TStream

02.06.2011, 02:06. Показов 13354. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто что знает, о этом чудо-юде, прошу разъяснить как с этим работать, желательно на небольшом примере, Mawrat, спасибо вам за то что дали наводку на это, только я в вашем проекте почти не разобрался, сильно много кода, отвлекало

Интересует, как производится запись, и чтение определенных кусков, как я понял тут есть сходство с тип файлом ?

Добавлено через 7 часов 18 минут
все еще актуально, не сделайте так, чтобы я очередную прогу не доделал
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.06.2011, 02:06
Ответы с готовыми решениями:

TStream
Добрый день народ! У меня возникла проблема с потоками TMemoryStream. Подскажите пожалуйста как загрузить в поток существующий массив...

потоки (TStream)
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,...

TStream в IStream
Добрый день! Столкнулся с проблемой преобразования TStream в IStream. Использую такой код: var out_img:...

30
 Аватар для Mawrat
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
06.06.2011, 12:16
Студворк — интернет-сервис помощи студентам
Если из хранилища надо грузить - перед этим в поле Edit надо ввести номер элемента, который надо загрузить.
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.06.2011, 12:18  [ТС]
так и делаю
0
 Аватар для Mawrat
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
06.06.2011, 12:32
Последовательность такая:
1. Вводим в Edit номер элемента, например: 3.
2. Нажимаем кнопку "Загрузить из хранилища"
3. Откроется диалог открытия файла. Надо перейти в папку Files и выбрать там файл: BitmapVault.bmpv. Затем нажать в диалоге кнопку "Открыть".
В результате этого, компонент Image1 покажет изображение с заданным индексом.
---
Работоспособность программы я проверял. И сам файл хранилища BitmapVault.bmpv создан через эту же программу.

Добавлено через 10 минут
Хех... точно, есть там проблема. Перед самой публикацией я там поменял кое-что. Сейчас подправлю...
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.06.2011, 12:37  [ТС]
руки у меня растут от туда откуда у других ноги... вот делал, сделал скрины что я проделал
так же как писали вы
1 2 3
Миниатюры
TStream   TStream   TStream  

0
 Аватар для Mawrat
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
06.06.2011, 12:40
Это я виноват. Я подправил проект - выложил в том же сообщении.
1
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.06.2011, 12:43  [ТС]
Цитата Сообщение от Mawrat Посмотреть сообщение
Это я виноват.


бывает конечно, не ошибается тот, кто ничего не делает
0
 Аватар для Mawrat
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
06.06.2011, 12:52
Почему-то не отрабатывает метод CopyFrom().
Процедура ReadFromFile().
Первоначально у меня было так:
Delphi
1
2
3
    Ms := TMemoryStream.Create;
    Ms.Size := Size;
    Fs.Read(Ms.Memory^, Size);
Но перед самой публикацией я решил прикрутить CopyFrom():
Delphi
1
2
3
    Ms := TMemoryStream.Create;
    Ms.Size := Size;
    Ms.CopyFrom(Fs, Size);
Оказалось, CopyFrom() не отрабатывает как надо. Пришлось вернуться к прежнему варианту:
Delphi
1
2
3
    Ms := TMemoryStream.Create;
    Ms.Size := Size;
    Fs.Read(Ms.Memory^, Size);
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.06.2011, 13:02  [ТС]
Цитата Сообщение от Mawrat Посмотреть сообщение
Потом можно добавить вставку изображения не в конец файла и замену изображений (перезаписывание).
а что замену нельзя организовать, просто добавкой в определенную позицию ? скажем нам нужно вторую картинку поменять, просто пишем добавить на позицию 2 новый элемент? Или не сработает?
0
 Аватар для Mawrat
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
06.06.2011, 13:05
У нового изображения могут быть другие размеры. При этом придётся выполнять сдвиг всех элементов файла - вправо, если размер увеличился, или влево, если размер уменьшился. Если размер не изменился, то да - можно прямо в ту же позицию изображение сохранить. Сдвиги при этом не понадобятся.
0
 Аватар для Arcor
5709 / 2300 / 466
Регистрация: 20.11.2009
Сообщений: 7,721
Записей в блоге: 1
06.06.2011, 13:08  [ТС]
ага понятно, ну я в принципе так и думал, саму систему понимаю как работает, но когда начинаю писать что-то начинаю забываться, путаться и в результате пишу на форум
0
 Аватар для Mawrat
13117 / 5898 / 1708
Регистрация: 19.09.2009
Сообщений: 8,809
06.06.2011, 13:11
Это нормально - должно пройти некоторое время, чтобы привыкнуть к новому материалу.
---
Смысл потоков, (потомков класса TStream), в том, что они позволяют использовать одинаковые или очень похожие методы при работе с различными хранилищами данных - данные в файле на диске (TFileStream), данные в области оперативной памяти (TMemoryStream), строковые данные (TStringStream) и другие.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2011, 13:11

Работа с потоками TStream
Кто может пояснить почему нужно использовать 2* размер в потоке. var STR:TStringStream; {поток} begin SL:='Stati'; ...

Сохранение данных TMemo в файл с помощью TStream
Народ. Помогите передать данные из TMemo в текстовый файл с помощью Stream. пробовал так, не получается: procedure...

Потоки TStream, параметр функции Out, жизнь потока
И так не могу понять сколько живет поток. Кто может рассказать подробнее: Модуль Zip (Там описан класс для работы с классом TZipFile); ...

Передача Stream:TStream Клиенту через DataSnap Server
Здравствуйте уважаемые. Столкнулся с проблемой . При запросе клиента к серверу. Выходит такая ошибка. Код Сервера прилагаю

Квадратик в первой строке файла при записи с помощью TStream
Добый вечер. При записи строковых данных поля memo1.Lines.Text в текстовый файл stream.txt возникает следующая проблема: в начале первой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
31
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru