Page 2 of 2

Posted: 04 Feb 2011, 20:02 Fri
by Qwertiy
Кажется, сделал программу для преобразования недокачанного файла в DMF-файл. Т. к. формат хвоста DMF-файла мне неизвестен, ничего не гарантирую. В url не должно быть символов с кодами больше 128, кроме того, url не должен быть слишком длинным...

Исходный код на VB.NET:

Code: Select all

Module All
  Private Sub WriteLongTo(ByVal X As Long, ByVal Arr As Byte(), ByVal I As Integer)
    For I = I To I + 7
      Arr(I) = X And 255
      X \= 256
    Next I
  End Sub

  Private Sub WriteASCIIStringTo(ByVal Str As String, ByVal Arr As Byte(), ByVal I As Integer)
    Dim Bytes() As Byte = (New ASCIIEncoding).GetBytes(Str)
    For Q As Integer = 0 To Bytes.Count - 1
      Arr(I + Q) = Bytes(Q)
    Next Q
  End Sub

  Public Sub Main()
    Dim OFD As New OpenFileDialog

    OFD.FileName = Command$()
    If Command$() <> "" OrElse OFD.ShowDialog() = DialogResult.OK Then
      Try
        Dim Filename As String = OFD.FileName
        Dim Tail(611) As Byte ' Массив из 612 байт
        Dim Size As Long = My.Computer.FileSystem.GetFileInfo(Filename).Length
        Dim Url As String = InputBox("Введите url") & Chr(0)

        Tail(0) = &HBA
        Tail(1) = &H7
        WriteLongTo(Size, Tail, &HC)
        WriteLongTo(&H7FFFFFFFFFFFFFFF, Tail, &H14)
        WriteASCIIStringTo("UURRLL", Tail, &H164)
        WriteASCIIStringTo(Url, Tail, &H16A)

        My.Computer.FileSystem.CopyFile(Filename, Filename & ".dmf")
        My.Computer.FileSystem.WriteAllBytes(Filename & ".dmf", Tail, True)

        If MsgBox("Открыть DMF-файл?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Готово") = MsgBoxResult.Yes Then
          System.Diagnostics.Process.Start(Filename & ".dmf")
        End If
      Catch ex As Exception
        MsgBox(ex.Message, MsgBoxStyle.Critical, "Ошибка")
      End Try
    End If
  End Sub
End Module
Скачать exe-файл. Для работы нужен .NET Framework 4, но можно перекомпилировать этот код (без изменений) для .NET Framework 2.

PS: Кто знает DMF-формат, проверьте, пожалуйста, код.

Re: Плагин для недокаченных файлов от других программ

Posted: 19 May 2011, 15:17 Thu
by slavik_h
Есть такая программка - Universal Share Downloader (http://forum.ru-board.com/topic.cgi?for ... start=2080), с ограничением скачивания файла в 2Гб (хотя качает и до 4 Гб без гарантии докачивания). А вот далее - зась. Файлы с ФО качаются одним потоком. Хорошо было бы иметь плагин для докачки этих файлов.
С уважением.

Posted: 19 May 2011, 17:55 Thu
by Qwertiy
slavik_h wrote:Есть такая программка - Universal Share Downloader
Знаю, но, как-то, не пользуюсь...
slavik_h wrote:Файлы с ФО качаются одним потоком. Хорошо было бы иметь плагин для докачки этих файлов.
Некоторые файлообменники не поддерживают докачку (если не голд, конечно).
А если поддерживают, то можно (не знаю формат USD, может и нельзя) обрезать недокачанный файл до размера скачанной части и использовать программу из поста выше.

Posted: 24 Feb 2012, 21:51 Fri
by Qwertiy
Qwertiy wrote:Кажется, сделал программу для преобразования недокачанного файла в DMF-файл.
...
Скачать exe-файл. Для работы нужен .NET Framework 4
Новая ссылка.

Re: Плагин для недокаченных файлов от других программ

Posted: 27 Jun 2013, 5:10 Thu
by Grosen
Сейчас, по-моему, ни один файлообменник не поддерживает докачку с простого акка.

Posted: 27 Jun 2013, 11:56 Thu
by Qwertiy
Grosen wrote:Сейчас, по-моему, ни один файлообменник не поддерживает докачку с простого акка.
Во-первых, поддерживают. А во-вторых, ошибка ведь может произойти не только при скачивании с файлообменника ;)

Re:

Posted: 23 Jul 2013, 13:46 Tue
by GvIn
Qwertiy wrote:Кажется, сделал программу для преобразования недокачанного файла в DMF-файл. Т. к. формат хвоста DMF-файла мне неизвестен, ничего не гарантирую. В url не должно быть символов с кодами больше 128, кроме того, url не должен быть слишком длинным...

Исходный код на VB.NET:

Code: Select all

Module All
  Private Sub WriteLongTo(ByVal X As Long, ByVal Arr As Byte(), ByVal I As Integer)
    For I = I To I + 7
      Arr(I) = X And 255
      X \= 256
    Next I
  End Sub

  Private Sub WriteASCIIStringTo(ByVal Str As String, ByVal Arr As Byte(), ByVal I As Integer)
    Dim Bytes() As Byte = (New ASCIIEncoding).GetBytes(Str)
    For Q As Integer = 0 To Bytes.Count - 1
      Arr(I + Q) = Bytes(Q)
    Next Q
  End Sub

  Public Sub Main()
    Dim OFD As New OpenFileDialog

    OFD.FileName = Command$()
    If Command$() <> "" OrElse OFD.ShowDialog() = DialogResult.OK Then
      Try
        Dim Filename As String = OFD.FileName
        Dim Tail(611) As Byte ' Массив из 612 байт
        Dim Size As Long = My.Computer.FileSystem.GetFileInfo(Filename).Length
        Dim Url As String = InputBox("Введите url") & Chr(0)

        Tail(0) = &HBA
        Tail(1) = &H7
        WriteLongTo(Size, Tail, &HC)
        WriteLongTo(&H7FFFFFFFFFFFFFFF, Tail, &H14)
        WriteASCIIStringTo("UURRLL", Tail, &H164)
        WriteASCIIStringTo(Url, Tail, &H16A)

        My.Computer.FileSystem.CopyFile(Filename, Filename & ".dmf")
        My.Computer.FileSystem.WriteAllBytes(Filename & ".dmf", Tail, True)

        If MsgBox("Открыть DMF-файл?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Готово") = MsgBoxResult.Yes Then
          System.Diagnostics.Process.Start(Filename & ".dmf")
        End If
      Catch ex As Exception
        MsgBox(ex.Message, MsgBoxStyle.Critical, "Ошибка")
      End Try
    End If
  End Sub
End Module
PS: Кто знает DMF-формат, проверьте, пожалуйста, код.
Спасибо, очень помог, просто... хорош!! спасибо! :wink:

Re: Плагин для недокаченных файлов от других программ

Posted: 23 Jul 2013, 13:49 Tue
by GvIn
Преобразовал недокачанный файл из оперы, который нужно было докачать находясь в другом городе

Posted: 23 Jul 2013, 13:54 Tue
by Qwertiy
GvIn wrote:Спасибо, очень помог, просто... хорош!! спасибо! :)
Преобразовал недокачанный файл из оперы, который нужно было докачать находясь в другом городе
Я рад :)

Кстати, есть простой способ компиляции VB.NET http://bbs.vbstreets.ru/viewtopic.php?f=2&t=44609.

Posted: 22 Sep 2014, 13:02 Mon
by Qwertiy
Qwertiy wrote:Новая ссылка. https://www.rapidshare.com/files/153663 ... B2_DMF.exe
Ну вот, опять протухла ссылка... Вечером дам новую.

PS: А если совсем срочно viewtopic.php?f=2&t=27566, то можно скомпилировать самостоятельно ;)

Posted: 23 Sep 2014, 0:41 Tue
by Qwertiy