Вверх ↑
Этот топик читают: Гость
Ответов: 841
Рейтинг: 17
#1: 2023-08-14 10:33:53 ЛС | профиль | цитата
не могу понять как реализовать ,задача открыть файл весом от 1 до 4.7 гигов разбить на куски и отправить по тцп на сервер, но у меня он даже не открывает файл 3 гигабайтный(

Add(MainForm,2953706,259,182)
{
Width=489
Height=623
Align=4
Enabled=1
Position=1
link(onCreate,2912608:doEvent1,[])
}
Add(TCP_Client,52372,1603,196)
{
Port=8180
IP="192.168.0.196"
DataType=3
Point(onProgress)
Point(onError)
link(onRead,8589194:doConvert,[])
link(onDisconnect,11276158:doWork3,[(1666,216)(1666,160)])
}
Add(FileStream,66235,770,455)
{
link(onLoad,9393684:doOperation,[(822,461)(822,504)(765,504)(765,587)])
link(FileName,8169398:Value,[])
}
Add(BlockFind,9205534,630,266)
{
IncludeBlock=1
StartBlock="[ip="
EndBlock="]"
Point(onNotFind)
link(onSearch,9540971:doValue,[])
link(onNotFind,2816553:doEvent2,[])
}
Add(StreamConvertor,8058428,819,266)
{
Mode=7
Point(Data)
link(onResult,10046247:doCopy,[])
link(Data,9540971:Value,[(825,254)(776,254)(776,310)(727,310)])
}
Add(Application,5614446,504,203)
{
}
Add(Hub,9898870,413,203)
{
link(onEvent1,5614446:doProcessMessages,[])
link(onEvent2,5900418:doEnum,[(441,216)(441,272)])
}
Add(Hub,2912608,371,196)
{
link(onEvent1,52372:doOpen,[])
link(onEvent2,9898870:doEvent1,[])
}
Add(Memory,8169398,770,385)
{
link(onData,66235:doOpen,[(814,391)(814,426)(758,426)(758,461)])
}
Add(BlockFind,14370612,630,385)
{
IncludeBlock=1
StartBlock="[file="
EndBlock="]"
Point(onNotFind)
link(onSearch,8169398:doValue,[])
link(onNotFind,2816553:doEvent1,[(674,405)(674,279)])
}
Add(Hub,2517513,574,266)
{
link(onEvent1,9205534:doSearch,[])
link(onEvent2,14370612:doSearch,[(598,279)(598,391)])
}
Add(Memory,9540971,721,266)
{
link(onData,8058428:doConvert,[])
}
Add(ArrayEnum,5900418,511,266)
{
link(onItem,2517513:doEvent1,[])
link(Array,5614446:Params,[])
}
Add(StreamConvertor,8589194,1680,196)
{
Mode=6
Point(Data)
link(onResult,5899484:doCompare,[])
}
Add(If_else,5899484,1764,196)
{
link(onTrue,11276158:doWork1,[(1826,202)(1826,41)(233,41)])
}
Add(HubEx,11276158,229,154)
{
Angle=1
link(onEvent,8592066:doWork1,[])
}
Add(Hub,2816553,686,273)
{
InCount=2
link(onEvent1,8592066:doWork3,[(712,279)(712,174)])
}
Add(HubEx,8592066,229,168)
{
Angle=1
link(onEvent,2953706:doClose,[(233,209)])
}
Add(DoData,1717355,833,581)
{
link(onEventData,10184738:doEvent1,[])
link(Data,15201262:Var3,[(839,529)])
}
Add(StreamArray,4261574,1491,644)
{
Streams=[]
Point(doAddStream)
Point(Stream)
}
Add(Math,9393684,777,581)
{
OpType=3
Op2=10
ResultType=0
link(onResult,1717355:doData,[])
link(Op1,13218008:Var,[])
}
Add(CounterEx,11361189,1197,588)
{
Max=9
Default=-1
Point(onThroughMax)
link(onNext,4004213:doEvent1,[])
}
Add(MT_AddData,13868159,1190,665)
{
link(onAdd,13363515:doEvent1,[])
link(Data1,13447663:Var3,[(1196,516)])
link(Data2,2799889:Var2,[])
}
Add(StreamCopy,9786165,1043,588)
{
link(onCopy,11361189:doNext,[])
link(Dest,13447663:Var2,[])
link(Source,13536856:Var,[])
link(Count,5771556:Var,[])
}
Add(LineBreak,8489978,770,546)
{
Caption="steam"
Type=1
link(Data,15201262:Var2,[])
Primary=[13536856,280,-7]
}
Add(MemoryStream,3741568,1043,469)
{
Point(doSize)
}
Add(GetDataEx,15201262,770,524)
{
link(Data,66235:Stream,[])
}
Add(GetDataEx,13447663,1043,511)
{
link(Data,3741568:Stream,[])
}
Add(Hub,10184738,903,581)
{
InCount=2
link(onEvent1,3741568:doClear,[(1005,587)(1005,482)])
link(onEvent2,9786165:doCopy,[])
}
Add(Hub,13363515,1267,665)
{
link(onEvent1,8618151:doWork2,[])
link(onEvent2,5664749:doCompare,[])
}
Add(ArrayEnum,6063257,1491,700)
{
link(onItem,8835142:doEvent,[])
link(Array,4261574:Array,[])
}
Add(If_else,5664749,1316,672)
{
Op2=Integer(9)
link(onTrue,8177794:doAdd,[])
link(onFalse,10184738:doEvent2,[(1371,685)(1371,735)(891,735)(891,594)])
link(Op1,2799889:Var3,[(1322,642)])
}
Add(GetDataEx,2799889,1197,637)
{
link(Data,11361189:Count,[])
}
Add(DoData,1973193,511,336)
{
Data=String([ip=192.168.0.196][file=C:\Rar.exe] )
}
Add(LineBreak,2812791,777,623)
{
Caption="size"
Type=1
link(Data,9393684:Result,[])
Primary=[5771556,280,-63]
}
Add(MT_AddData,8177794,1393,672)
{
link(onAdd,1090112:doEvent1,[])
link(Data1,10046247:Stream,[])
link(Data2,9823060:Value,[(1406,569)(1462,569)])
}
Add(MemoryStream,10046247,1393,266)
{
}
Add(Memory,9823060,1456,434)
{
Default=Integer(11)
}
Add(Hub,1090112,1435,672)
{
link(onEvent1,8618151:doWork3,[(1460,678)])
link(onEvent2,6063257:doEnum,[(1463,685)(1463,706)])
}
Add(HubEx,8618151,1456,665)
{
link(onEvent,4261574:doAddStream,[])
}
Add(Hub,4004213,1246,588)
{
link(onEvent1,13868159:doAdd,[(1273,594)(1273,540)(1178,540)(1178,671)])
}
Add(Debug,8835142,1547,700)
{
link(onEvent,52372:doSend,[(1581,706)(1581,216)])
}
Add(Debug,13218008,777,490)
{
link(Data,66235:Size,[])
}

карма: 0

0
Ответов: 783
Рейтинг: 168
#2: 2023-08-15 06:42:48 ЛС | профиль | цитата
GAv писал(а):
задача открыть файл весом от 1 до 4.7 гигов разбить на куски и отправить по тцп на сервер, но у меня он даже не открывает файл 3 гигабайтный(

Используй для этого компонент SharedStream
Вот пример разбивает файл на части по 10 мб.

Add(MainForm,11176470,441,196)
{
Left=20
Top=105
Width=465
Height=89
Caption="Send big file"
Position=1
Point(onClose)
link(onClose,52372:doOpen,[])
}
Add(ODialog,1786215,203,119)
{
link(onExecute,9721491:doText,[])
}
Add(SharedStream,12437222,329,119)
{
CoreName="asd"
PageMem=160
Point(CountFileBlock)
Point(FileOffset)
link(onOpen,11047553:doOperation,[])
link(Offset,13481594:Result,[(349,110)(377,110)(377,180)(643,180)])
}
Add(Edit,9721491,245,119)
{
Left=5
Top=10
Width=325
Text=""
link(onChange,12437222:doOpen,[])
}
Add(Button,15010227,161,119)
{
Left=335
Top=10
Width=20
Font=[MS Sans Serif,8,1,0,1]
Cursor=2
TabOrder=-1
Caption="..."
Data=Integer(6)
link(onClick,1786215:doExecute,[])
}
Add(For,15201884,490,119)
{
IncludeEnd=1
link(onEvent,639348:doEvent1,[])
link(onStop,12437222:doClose,[(529,132)(529,104)(312,104)(312,139)])
link(End,11047553:Result,[(503,110)(482,110)(482,159)(433,159)])
}
Add(MathParse,13481594,637,119)
{
link(onResult,12437222:doRemapping,[(676,125)(676,97)(319,97)(319,132)])
link(X1,12437222:SizeMMF,[(643,110)(594,110)(594,173)(349,173)])
link(X2,12437222:FileOffset,[(650,103)(587,103)(587,166)(363,166)])
}
Add(TCP_Client,52372,504,217)
{
Port=130
IP="127.0.0.1"
DataType=3
}
Add(Hub,639348,602,119)
{
link(onEvent1,13481594:doCalc,[])
link(onEvent2,8314133:doPack,[(627,132)(627,188)(319,188)(319,237)])
}
Add(StreamPack,8314133,329,231)
{
DataCount=#8:filepart|0:|
link(onPack,52372:doSend,[])
link(filepart,12437222:Stream,[])
}
Add(Math,11047553,427,119)
{
OpType=1
Op2=1
link(onResult,15201884:doFor,[])
link(Op1,12437222:CountFileBlock,[(433,110)(419,110)(419,159)(356,159)])
}

карма: 15

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