Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Procedure DelegateFunctions (Array TData.TData (1), Count.i, Path.s, PathOut.s)
- Protected Tmp.i
- Protected Part.i
- Protected Pos1.i, Pos2.i
- Protected TFile.i = ReadFile(#PB_Any, Path)
- If TFile
- Part = Lof(TFile) / Count
- For Tmp = 1 To Count
- Pos2 = Pos1 + Part
- TData(Tmp)\StartOffset = Pos1
- If Pos2 > Lof(TFile)
- Pos2 = Lof(TFile)
- Else
- FileSeek (TFile, Pos2, #PB_Absolute)
- ReadString(TFile) ; align position to the len of string
- Pos2 = Loc(TFile)
- EndIf
- TData(Tmp)\EndOffset = Pos2
- Pos1 = Pos2
- ;;;;;;;
- TData(Tmp)\Path = Path
- TData(Tmp)\PathOut = PathOut
- TData(Tmp)\Signal = CreateSemaphore()
- TData(Tmp)\ID = Tmp
- Next Tmp
- ; also set data for saver thread
- Dim TData(0)\Signals(Count)
- For Tmp = 1 To Count
- TData(0)\Signals (Tmp) = TData(Tmp)\Signal
- Next Tmp
- TData(0)\PathOut = PathOut
- CloseFile(TFile)
- ProcedureReturn 1
- EndIf
- EndProcedure
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement