Soo dejinta 16GB torrent iyada oo loo sii marayo tablet ka kooban 4GB oo meel bannaan ah

Soo dejinta 16GB torrent iyada oo loo sii marayo tablet ka kooban 4GB oo meel bannaan ah

Hawl:

Waxaa jira PC bilaa internet ah, laakiin waa suurtagal in faylka lagu wareejiyo USB. Waxaa jira kiniin leh internetka kaas oo faylkan laga wareejin karo. Waxaad ka soo dejisan kartaa durdurka loo baahan yahay kiniinkaga, laakiin ma jirto meel bannaan oo ku filan. Faylka durdurku waa mid iyo weyn.

Waddada xalka:

Waxaan bilaabay durdurka si aan u soo dejiyo. Markii booskii xorta ahaa uu ku dhawaaday inuu baxo, waan hakiyay soo dejinta. Waxa aan ku xidhxidhay kaniiniga kombayutarka waxanan ka soo raray faylkii kiniiniga una guuray kombayutarka. Waan aamusay oo la yaabay faylkii mar labaad ayaa la abuuray oo durdurkii ayaa sii waday soo dejinta sidii inaan waxba dhicin.

Sababo la xiriira in macmiilka torrent-ku uu calan-yar u dejiyo faylka uu ku qorayo xogta la helay, nidaamku iskuma dayo in uu kaydiyo 16GB hal mar khaladna ma dhacayo marka la isku dayo in uu wax ku qoro fayl ka badan 4GB.

Ka dib markii aan ku celceliyay habka afar jeer, waxaan helay afar fayl kombuyuutarkayga oo ay ku jiraan qaybo kala duwan oo isku mid ah. Hadda waxa hadhay waa in la isku geeyo. Nidaamku asal ahaan waa mid fudud. Waxaad u baahan tahay inaad eber bytes ku bedesho qiimo kale haddii ay ka jirto meel la siiyay mid ka mid ah afarta fayl.

Waxay ii muuqatay in barnaamijkan fudud uu ku jiro internetka. Miyaan qofna la kulmin dhibaatadan oo kale? Laakiin waxaan gartay in aanan xitaa garanayn ereyada muhiimka ah ee lagu raadiyo. Sidaa darteed, waxaan si degdeg ah u abuuray qoraalka Lua hawshan oo hadda waan hagaajiyay. Tani waa waxa aan rabo inaan wadaago.

Soo dejinta togga qaybo ka mid ah

  1. bilow inaad soo dejiso durdurka aaladda ugu horeysa
  2. sug ilaa ROM-ku buuxsamo
  3. joojiso soo dejinta
  4. u wareeji faylka aaladda labaad oo ku dar nambar magaca faylka
  5. waxaynu ku soo noqonaynaa barta kowaad ilaa faylka si buuxda loo soo dejiyo

Isku darka qaybaha hal fayl

Ka dib markii qaybta ugu dambeysa la helo, waxaa lagama maarmaan ah in lagu soo ururiyo hal fayl oo dhan.

Hawshu waa sahlan tahay:

  1. Akhrinta dhammaan qaybaha hal mar
  2. Haddii qayb ka mid ah boosku aanu ahayn eber eber, ka dibna waxaan u qornaa wax soo saarka, haddii kale waxaan qornaa eber

function merge_part aqbala taxane taxane ah streams_in kaas oo akhriya qayb ka mid ah cabbirka buffer_length oo soo celisa natiijada isku darka qaybaha dunta kala duwan.

function merge_part(streams_in, buffer_length)
    local out_part
    for _, stream in ipairs(streams_in) do
        local in_part = stream:read(buffer_length)

        if not out_part then
            out_part = in_part -- просто копируем часть из первого файла
        elseif in_part and #in_part > 0 then

            if #out_part < #in_part then
                out_part, in_part = in_part, out_part
            end

            if out_part ~= in_part  -- данные различаются
                and in_part:find("[^ ]")   -- есть данные в in_part
                and out_part:find(" ", 1, true) -- есть пустые места в out_part
            then 
                local find_index = 1
--[[

function string.gsub waa ku haboon yahay hawsha sababtoo ah waxay heli doontaa qaybo ka buuxa eber waxayna keenaysaa wixii la siiyay.

--]]
                out_part = out_part:gsub(" +", function(zero_string)

                    if #in_part < find_index then
                        return -- не на что менять
                    end
--[[

string.gsub ma gudbinayo booska ciyaarta laga helay. Sidaa darteed, waxaan samaynaa raadinta isbarbar-dhigga booska zero_string iyadoo la isticmaalayo shaqada string.find. Waa ku filan tahay in la helo eber ugu horreeya.

--]]
                    local start_index = out_part:find(" ", find_index, true)
                    find_index = start_index + #zero_string

--[[

Hadda haddii la galo in_part waxaa jira xog loogu talagalay out_part koobiyi iyaga.

--]]
                    if #in_part >= start_index then
                        local end_index = start_index + #zero_string - 1
--[[

Ka jar in_part qayb u dhiganta isku xigxiga eber.

--]]
                        local part = in_part:sub(start_index, end_index)

                        if (part:byte(1) ~= 0) or part:find("[^ ]") then
--[[

В part waxaa jira xog.

--]]
                            if #part == #zero_string then
                                return part
                            else
--[[

part isu rogay in ka yar isku xigxiga eber. Aynu ku kabo iyaga.

--]]
                                return part..zero_string:sub(1, end_index - #in_part)
                            end
                        end
                    end
                end)
            end
        end
    end
    return out_part
end

gunaanad

Sidaas awgeed, waxaan awoodnay inaan soo dejino oo aan ku ururinno faylkan PC. Isku darka ka dib, waxaan ka soo saaray faylka torrent-ka tablet-ka. Waxaan ku rakibay macmiil torrent PC-ga oo ku hubiyay faylka.

Qaybta ugu dambeysa ee la soo dejiyey ee tablet-ka ayaa lagu dayn karaa qeybinta, laakiin waxaad u baahan tahay inaad awood u yeelatid dib-u-hubinta qaybaha ka hor oo aad ka saar faylka si uusan mar kale u soo dejin.

la adeegsaday:

  1. Macmiilka qulqulka dareeraha ee kiniinka.
  2. Torrent macmiilka qBittoren on PC.
  3. Lua script

Source: www.habr.com

Add a comment