Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2005-10-27 09:09:14 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-03 00:03:30
карма: 0

0
Ответов: 110
Рейтинг: 9
#2: 2005-10-27 12:07:56 ЛС | профиль | цитата
Примерно так:

Add(Label,4429287,97,56)
{
Width=270
Height=20
Caption="перетащи сюда файл и сохрани его в другом месте"
}
Add(DataToFile,15674270,251,217)
{
link(onGet,86012:doPut,[(400,223)(400,223)])
link(Stream,66235:Stream,[])
}
Add(DropFile,18756,97,133)
{
link(onDropFile,4493258:doEvent1,[])
}
Add(Edit,67751,517,105)
{
Left=50
Top=50
Width=215
Height=21
Font=[Times New Roman,9,0,0,1]
Text="c: est.txt"
}
Add(FileStream,66235,251,140)
{
}
Add(FileStream,54924,517,154)
{
Mode=1
link(FileName,67751:Text,[])
}
Add(Hub,4493258,167,133)
{
OutCount=3
link(onEvent1,54924:doOpen,[(358,139)(358,160)])
link(onEvent2,66235:doOpen,[])
}
Add(Label,7650048,286,91)
{
Left=10
Top=50
Width=40
Height=20
Caption="куда?:"
}
Add(DataToFile,86012,517,217)
{
link(Stream,54924:Stream,[])
}
Add(Button,7354900,167,287)
{
Left=30
Top=20
Caption="start"
link(onClick,9494795:doFor,[])
}
Add(For,9494795,259,287)
{
link(onEvent,9981482:doEvent1,[(302,293)(302,272)])
link(onStop,10359057:doEvent1,[(355,300)(355,314)])
link(End,66235:Size,[(272,237)(264,237)])
}
Add(Hub,9981482,342,266)
{
link(onEvent1,15674270:doGet,[(384,272)(384,258)(241,258)(241,230)])
link(onEvent2,9399235:doText,[(491,279)(491,279)])
}
Add(Beep,13538709,517,315)
{
Duration=200
}
Add(Hub,10359057,419,308)
{
link(onEvent1,54924:doClose,[(484,314)(484,167)])
link(onEvent2,13538709:doBeep,[(473,321)(473,321)])
}
Add(Edit,9399235,608,273)
{
Left=10
Top=90
link(Str,54924:Position,[(614,212)(537,212)])
}
Только отображение текущего кол-ва малость не поспевает (:
карма: 0

0
Ответов: 676
Рейтинг: 5
#3: 2005-10-27 16:30:30 ЛС | профиль | цитата
Что то я не пойму тебе надо просто скопировать данные или ещё зашифровать ???
Если зашифровать то можно так попробывать
Add(MainForm,4490709,21,100)
{
Left=20
Top=105
}
Add(Label,4429287,20,163)
{
Width=270
Height=20
Caption="перетащи сюда файл и сохрани его в другом месте"
}
Add(DataToFile,15674270,174,205)
{
link(onGet,11985150:doOperation,[])
link(Stream,66235:Stream,[])
}
Add(DropFile,18756,118,128)
{
link(onDropFile,66235:doOpen,[])
}
Add(Edit,67751,349,72)
{
Left=25
Top=60
Width=215
Height=21
Font=[Times New Roman,9,0,0,1]
Text="c: est.txt"
}
Add(FileStream,66235,174,128)
{
}
Add(FileStream,54924,349,121)
{
Mode=1
link(FileName,67751:Text,[])
}
Add(Math,11985150,259,205)
{
OpType=6
Op2=5
ResultType=0
link(onResult,86012:doPut,[])
}
Add(For,9494795,182,324)
{
link(onEvent,15674270:doGet,[(224,330)(224,274)(164,274)(164,218)])
link(onStop,54924:doClose,[(327,337)(327,134)])
link(End,66235:Size,[(195,235)(187,235)])
}
Add(DataToFile,86012,349,205)
{
link(Stream,54924:Stream,[])
}
Add(Button,7354900,62,296)
{
Left=25
Top=30
Caption="start"
link(onClick,9419287:doEvent1,[])
}
Add(Hub,9419287,119,296)
{
link(onEvent1,54924:doOpen,[(319,302)(319,127)])
link(onEvent2,9494795:doFor,[(166,309)(166,330)])
}
карма: 1

0
Ответов: 9906
Рейтинг: 351
#4: 2005-10-27 17:05:37 ЛС | профиль | цитата
EvgIg, копирование надо делать в потоке (Thread между Button и For), а вывод от таймера, как в оригинале.

Мне так думается...
карма: 9

0
Ответов: 376
Рейтинг: 1
#5: 2005-10-27 22:11:21 ЛС | профиль | цитата
EvgIg, Цикл со счётчиком мне помог, но скорость возросла всего в 100 раз, т. е. 10 кбайт/с. Это сколько надо ждать, чтобы прогнать 700 м.
А скорость винта 50 мбайт/с.

Может можно другим способом копировать-побыстрее, а не так как у меня. Или просто поменять что-то.
-=Dima=-, Где взять значения арифметических операций из компонента Math (xor, div, mod)? Зашифровал данные, а где обратная операция?
карма: 1

0
Ответов: 9906
Рейтинг: 351
#6: 2005-10-27 22:14:35 ЛС | профиль | цитата
1) Принимать файл в Stream целиком
2) Шифровать в другой Stream по-байтно
3) Сохранять этот другой в файл целиком
карма: 9

0
Ответов: 676
Рейтинг: 5
#7: 2005-10-27 22:56:06 ЛС | профиль | цитата
Зашифровал данные, а где обратная операция

Все очень просто с помощью xor фаил шифруется и расшифровывается соответственно
ничего менять не надо просто кидаеш зашифрованный файл и получаеш расшифрованный
карма: 1

0
Ответов: 376
Рейтинг: 1
#8: 2005-10-28 07:59:39 ЛС | профиль | цитата
Galkov,
1) Принимать файл в Stream целиком
2) Шифровать в другой Stream по-байтно
3) Сохранять этот другой в файл целиком


А как это сделать? Что-то не доходит.
Можно с примером.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#9: 2005-10-28 20:36:50 ЛС | профиль | цитата
Вот так, к примеру
Add(MainForm,4490709,28,224)
{
Left=20
Top=105
}
Add(Label,4429287,28,168)
{
Left=25
Width=340
Height=30
Caption="перетащи сюда файл и сохрани его в другом месте"
AutoSize=1
Alignment=2
}
Add(DataToFile,15674270,427,182)
{
link(Stream,3484989:Stream,[(433,167)(202,167)])
}
Add(DropFile,18756,28,42)
{
link(onDropFile,66235:doOpen,[])
}
Add(Edit,67751,371,21)
{
Left=25
Top=60
Width=340
Height=21
Font=[Times New Roman,9,0,0,1]
Text="c: est.txt"
}
Add(FileStream,66235,84,42)
{
link(onLoad,5210381:doEvent1,[])
}
Add(FileStream,54924,371,70)
{
Mode=1
AutoCopy=0
Point(doCopyFromStream)
link(FileName,67751:Text,[])
}
Add(Math,11985150,427,231)
{
OpType=6
ResultType=0
link(onResult,86012:doPut,[])
link(Op1,15674270:Data,[])
}
Add(For,9494795,196,231)
{
IncludeEnd=1
link(onEvent,11138163:doRandom,[])
link(onStop,16183104:doStop,[(242,244)(242,195)])
link(End,3484989:Size,[(209,132)(209,132)])
}
Add(DataToFile,86012,476,231)
{
link(Stream,14238277:Var3,[(482,156)])
}
Add(Hub,9419287,119,238)
{
OutCount=4
link(onEvent1,12701105:doClear,[(166,244)(166,125)])
link(onEvent2,983694:doData,[])
link(onEvent3,9494795:doFor,[(180,258)(180,237)])
link(onEvent4,9052587:doWork3,[(305,265)])
}
Add(Edit,7458677,322,196)
{
Left=25
Top=100
Width=150
Text="123"
DataType=2
}
Add(Random,11138163,378,231)
{
Max=255
Point(doRandSeed)
link(onRandom,11985150:doOperation,[])
}
Add(DoData,983694,322,245)
{
link(onEventData,11138163:doRandSeed,[])
link(Data,7458677:Text,[])
}
Add(Thread,9208520,252,77)
{
Delay=0
FastStop=0
link(onExec,9419287:doEvent1,[(300,83)(300,177)(111,177)(111,244)])
link(onSyncExec,12887657:doData,[])
}
Add(Label,16118894,378,182)
{
Left=205
Top=100
Width=155
Height=20
Color=65280
Caption=""
AutoSize=1
link(Text,12701105:Size,[])
}
Add(Timer,16183104,259,182)
{
Interval=100
Enable=1
link(onTimer,9052587:doWork2,[])
}
Add(HubEx,9052587,301,175)
{
link(onEvent,16118894:doText,[])
}
Add(Hub,5210381,133,42)
{
OutCount=6
link(onEvent1,3484989:doClear,[(185,48)(185,62)])
link(onEvent2,3484989:doCopy,[])
link(onEvent3,66235:doClose,[(175,62)(175,32)(74,32)(74,55)])
link(onEvent4,3484989:doPosition,[])
link(onEvent5,16183104:doTimer,[(176,76)(176,188)])
link(onEvent6,9208520:doStart,[])
}
Add(MemoryStream,3484989,196,49)
{
Point(doPosition)
}
Add(MemoryStream,12701105,371,112)
{
}
Add(DoData,12887657,315,84)
{
link(onEventData,54924:doCopyFromStream,[])
link(Data,14238277:Var1,[(321,68)(359,68)(359,156)])
}
Add(GetDataEx,14238277,364,147)
{
link(Data,12701105:Stream,[])
}


Только пароль шифровки не забывай.
А то я не очень представляю, как его расшифровать, если позабыть....
карма: 9

0
Ответов: 376
Рейтинг: 1
#10: 2005-10-29 08:26:07 ЛС | профиль | цитата
Galkov, Либо ты не понял, либо я дурак (скорее второе ).
В твоём примере скорость осталась такой же, а именно 10 кбайт/с. А МНЕ НАДО БОЛЬШЕ
Вот я и спросил, как можно эту скорость повысить.
Например: winrar архивирует 700м за несколько минут.
Clone CD делает образ за столько же. Так почему нельзя сделать это на HiAsm.
Я и создавал этот топик для того, что-бы скорость увеличить, а с шифрованием я сам разберусь.
А теперь посчитаем, сколько будут шифроваться 700м в проге со скоростью 10 кбайт/с. 100*700/3600=20часов. А что? Совсем немного. Вот только если-бы clone cd делал образ диска 20 часов я бы повесился .

Если кто-то понял, что я тут наплёл ПОМОГИТЕ ПОЖАЛУЙСТА!!!
Может Dilma что подскажет.
Надо скорость.
А то я повешусь на шнуре от клавы.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#11: 2005-10-29 09:16:45 ЛС | профиль | цитата
botan, видимо второе
У меня идет 1М/сек

Запускать не разобравшись - методика интересная...
На вопрос "можно ли" - ответ: можно.
Но это, в твоей методике, тебе никак не поможет, ИМХО

Ты же просил пример, поясняющий принцип - ты его получил. Именно пример, а не законченную программу.
Извини, но что бы что-то получилось, надо что-то делать. В данной тематике - думать.
Непонятно - поможем, а с законченным продуктом - это вряд-ли. Думается.

=============================================
P.S. Неужто трудно понять, что на 700М-файлы просто оперативки нехватает...
Если думать нехочется - можно увеличить ее до 4Г, скажем
карма: 9

0
Ответов: 376
Рейтинг: 1
#12: 2005-10-30 07:40:54 ЛС | профиль | цитата
Galkov,
Всё посмотрел, во всём разобрался.
Но до меня не доходит.
Почему скорость маленькая???
Почему же у тебя 1М/с, а у меня 10к/с.
Возможно дело в цикле со счётчиком. Пример данные загружает моментально, сохраняет моментально, но там где работает цикл всё и застопоривается.
карма: 1

0
Ответов: 3655
Рейтинг: 69
#13: 2005-10-30 14:28:18 ЛС | профиль | цитата
botan,

P.S. Неужто трудно понять, что на 700М-файлы просто оперативки нехватает...
Если думать нехочется - можно увеличить ее до 4Г, скажем
Все данные хранятся в ОП(компонент Memory) обрабатываются тоже в ОП и сколько ОП у тебя осталось.А у Galkovа, ОП гораздо больше.
карма: 0

0
Ответов: 9906
Рейтинг: 351
#14: 2005-10-31 20:46:07 ЛС | профиль | цитата
Вообще-то я не кидал 700М-файлы. Ну типа, сначала думаю, а потом кидаю....
Но затыки проверил - где-то на 300М
Но если понятно, как увеличить скорость еще в 100 раз для 10М-файла (скажем), то полный вариант - дело техники. ИМХО
карма: 9

0
Ответов: 676
Рейтинг: 5
#15: 2005-10-31 21:16:39 ЛС | профиль | цитата
У меня тоже медленно работает фаил 5 метров обрабатывает секунд 20 оперативки у меня 512mb
карма: 1

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