Вверх ↑
Этот топик читают: Гость
Ответов: 12
Рейтинг: 0
#1: 2008-12-15 17:31:13 ЛС | профиль | цитата
Подскажите пожалуйста, а то никак не допру, такое:
Нужно из файла доставать по одному байты, проводить над ними операции (математические или битовые). и потом в таком-же порядке сохранять в другой файл.
Файл я уже открываю, новый сохраняю.... но все это происходит пакетом!!!! Вычитывать по одному байту из файла не получается!!! Как это можно реализовать?
Заранее спасибо!


карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#2: 2008-12-15 18:00:57 ЛС | профиль | цитата


Add(DataToFile,2840155,868,399)
{
}

карма: 27
0
Ответов: 12
Рейтинг: 0
#3: 2008-12-16 09:02:26 ЛС | профиль | цитата
Мммм.... И что это такое?
Я имел ввиду, как с помощью компонентов HiAsm можно из произвольного файла доставать по одному байты, последовательно:!

карма: 0

0
Ответов: 1397
Рейтинг: 50
#4: 2008-12-16 09:12:38 ЛС | профиль | цитата
Это компонент который тебе нужен ;)
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 12
Рейтинг: 0
#5: 2008-12-16 09:48:36 ЛС | профиль | цитата
Ну компонент DataToFile я использую, но не могу заставить его выдавать данные побайтово!
А что это за цифры: 2840155,868,399 ???
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#6: 2008-12-16 09:51:32 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 19:27:58
карма: 0

0
Ответов: 12
Рейтинг: 0
#7: 2008-12-16 09:54:36 ЛС | профиль | цитата
А! Допер что за цифры!!!!
У меня сейчас такое:


Add(DataToFile,2840155,210,285)
{
link(Stream,9833339:Stream,[(216,221)(202,221)])
}
Add(FileStream,9833339,196,138)
{
Point(doPosition)
link(FileName,5972:Text,[(202,105)(193,105)])
}
Add(Edit,5972,187,39)
{
Left=85
Top=5
Width=270
Height=21
Text=""
}
Add(ODialog,31869,129,39)
{
Filter="WAVE|*.wav"
link(onExecute,5972:doText,[])
}
Add(Button,47479,73,39)
{
Left=5
Top=5
Width=75
Caption="Open"
link(onClick,31869:doExecute,[])
}


Так вот не хочет по одному!!!!!
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#8: 2008-12-16 11:28:41 ЛС | профиль | цитата
Samodelkin2001 писал(а):
У меня сейчас такое:

Samodelkin2001, это что пример рабочей схемы приведен чтоли Или остальное нам предлагается самим додумать? У меня например после использования кнопки все замечательно читает
code_10963.txt

карма: 27
0
файлы: 1code_10963.txt [539B] [233]
Ответов: 12
Рейтинг: 0
#9: 2008-12-17 15:33:42 ЛС | профиль | цитата
Да, спасибо. Действительно работает. Видимо у меня не работало потому что формат стоял AnsiString.
Тогда, если не возражаете, еще вопросик.
Вот я достаю из одного файла по одному байты, переставляю там биты, и загружаю в другой файл. Все работает!
Но процесс пытаюсь отобразить на прогресс-баре. Так вот пока идет работа с байтами и файлами, прогресс-бар и вообще окно программы не перерысовывается.... И прогресс бар начинает работать только когда все заканчивается!!!! А как сделать так чтобы оно все работало одновременно. Такое вроде можно сделать если разделить их в разные потоки. Но как?????
Заранее спасибо!

P.S. Код слишком большой, обрезается этой страницей, а файл приложить не получается, пишит что недостаточно прав!


карма: 0

0
Ответов: 2060
Рейтинг: 28
#10: 2008-12-17 16:02:30 ЛС | профиль | цитата
Samodelkin2001,


Add(Thread,12373575,266,147)
{
}

карма: 1

0
Ответов: 12
Рейтинг: 0
#11: 2008-12-17 16:21:29 ЛС | профиль | цитата
Да. Я пробовал его использовать. Глухо. Может я неправильно его пользую:

познаем Код

Но это не помогает. И все окно всеравно не перериовывается.


карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#12: 2008-12-17 16:31:47 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 19:27:58
карма: 0

0
Ответов: 12
Рейтинг: 0
#13: 2008-12-17 16:37:00 ЛС | профиль | цитата
Гм. Получилось схему прицепить!

code_10974.txt

Вот в этой схеме я достаю из одного файла по одному байты, переставляю там биты, и загружаю в другой файл. Все работает!
Но процесс пытаюсь отобразить на прогресс-баре. Так вот пока идет работа с байтами и файлами, прогресс-бар и вообще окно программы не перерысовывается.... И прогресс бар начинает работать только когда все заканчивается!!!! А как сделать так чтобы оно все работало одновременно. Такое вроде можно сделать если разделить их в разные потоки. Но как????? Компонент Thread использовать пытался, но что-то не получается! Поэтому пока отключил. А стоял он между математическим парсером, и прогрессБаром!
Заранее спасибо!

карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#14: 2008-12-17 16:52:01 ЛС | профиль | цитата
в потоки ничего вставлять надо. А надо всего лишь дать форме отрисовать изменившееся состояние панели. Для этого используется элемент Application и его точка doProcessMessages
карма: 27
0
Ответов: 12
Рейтинг: 0
#15: 2008-12-18 14:57:39 ЛС | профиль | цитата
Спасибо! Все заработало. Премного благодарен!!!


карма: 0

0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)