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

Все что касается разработки, отладки, использования подключаемых модулей.

Moderators: Korney San, marcipan

Qwertiy
Гуру
Posts: 764
Joined: 07 Jan 2011, 1:45 Fri
Location: Россия

Post 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-формат, проверьте, пожалуйста, код.
Пожалуйста, посмотрите: Использование ссылок в тексте сообщений
Поддерживаются браузеры: Опера 12, Хром, Firefox.
Обновлено: 21.09.2012. Надо бы ещё подправить и обновить...
Ссылки на файлы обновлены: 24.05.2013.
User avatar
slavik_h
Posts: 3
Joined: 19 May 2011, 14:39 Thu

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

Post by slavik_h »

Есть такая программка - Universal Share Downloader (http://forum.ru-board.com/topic.cgi?for ... start=2080), с ограничением скачивания файла в 2Гб (хотя качает и до 4 Гб без гарантии докачивания). А вот далее - зась. Файлы с ФО качаются одним потоком. Хорошо было бы иметь плагин для докачки этих файлов.
С уважением.
Qwertiy
Гуру
Posts: 764
Joined: 07 Jan 2011, 1:45 Fri
Location: Россия

Post by Qwertiy »

slavik_h wrote:Есть такая программка - Universal Share Downloader
Знаю, но, как-то, не пользуюсь...
slavik_h wrote:Файлы с ФО качаются одним потоком. Хорошо было бы иметь плагин для докачки этих файлов.
Некоторые файлообменники не поддерживают докачку (если не голд, конечно).
А если поддерживают, то можно (не знаю формат USD, может и нельзя) обрезать недокачанный файл до размера скачанной части и использовать программу из поста выше.
Пожалуйста, посмотрите: Использование ссылок в тексте сообщений
Поддерживаются браузеры: Опера 12, Хром, Firefox.
Обновлено: 21.09.2012. Надо бы ещё подправить и обновить...
Ссылки на файлы обновлены: 24.05.2013.
Qwertiy
Гуру
Posts: 764
Joined: 07 Jan 2011, 1:45 Fri
Location: Россия

Post by Qwertiy »

Qwertiy wrote:Кажется, сделал программу для преобразования недокачанного файла в DMF-файл.
...
Скачать exe-файл. Для работы нужен .NET Framework 4
Новая ссылка.
Пожалуйста, посмотрите: Использование ссылок в тексте сообщений
Поддерживаются браузеры: Опера 12, Хром, Firefox.
Обновлено: 21.09.2012. Надо бы ещё подправить и обновить...
Ссылки на файлы обновлены: 24.05.2013.
User avatar
Grosen
Posts: 6
Joined: 27 Jun 2013, 4:58 Thu
Contact:

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

Post by Grosen »

Сейчас, по-моему, ни один файлообменник не поддерживает докачку с простого акка.
Qwertiy
Гуру
Posts: 764
Joined: 07 Jan 2011, 1:45 Fri
Location: Россия

Post by Qwertiy »

Grosen wrote:Сейчас, по-моему, ни один файлообменник не поддерживает докачку с простого акка.
Во-первых, поддерживают. А во-вторых, ошибка ведь может произойти не только при скачивании с файлообменника ;)
Пожалуйста, посмотрите: Использование ссылок в тексте сообщений
Поддерживаются браузеры: Опера 12, Хром, Firefox.
Обновлено: 21.09.2012. Надо бы ещё подправить и обновить...
Ссылки на файлы обновлены: 24.05.2013.
GvIn
Posts: 2
Joined: 23 Jul 2013, 13:41 Tue

Re:

Post 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:
GvIn
Posts: 2
Joined: 23 Jul 2013, 13:41 Tue

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

Post by GvIn »

Преобразовал недокачанный файл из оперы, который нужно было докачать находясь в другом городе
Qwertiy
Гуру
Posts: 764
Joined: 07 Jan 2011, 1:45 Fri
Location: Россия

Post by Qwertiy »

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

Кстати, есть простой способ компиляции VB.NET http://bbs.vbstreets.ru/viewtopic.php?f=2&t=44609.
Пожалуйста, посмотрите: Использование ссылок в тексте сообщений
Поддерживаются браузеры: Опера 12, Хром, Firefox.
Обновлено: 21.09.2012. Надо бы ещё подправить и обновить...
Ссылки на файлы обновлены: 24.05.2013.
Qwertiy
Гуру
Posts: 764
Joined: 07 Jan 2011, 1:45 Fri
Location: Россия

Post by Qwertiy »

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

PS: А если совсем срочно viewtopic.php?f=2&t=27566, то можно скомпилировать самостоятельно ;)
Пожалуйста, посмотрите: Использование ссылок в тексте сообщений
Поддерживаются браузеры: Опера 12, Хром, Firefox.
Обновлено: 21.09.2012. Надо бы ещё подправить и обновить...
Ссылки на файлы обновлены: 24.05.2013.
Qwertiy
Гуру
Posts: 764
Joined: 07 Jan 2011, 1:45 Fri
Location: Россия

Post by Qwertiy »

Пожалуйста, посмотрите: Использование ссылок в тексте сообщений
Поддерживаются браузеры: Опера 12, Хром, Firefox.
Обновлено: 21.09.2012. Надо бы ещё подправить и обновить...
Ссылки на файлы обновлены: 24.05.2013.
Post Reply