- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
namespace sortFiles
{
public partial class Form1 : Form
{
private void listBox1_DragDrop(object sender, DragEventArgs e)
{
this.listBox1.Items.AddRange((string[])e.Data.GetData(DataFormats.FileDrop, false));
}
private void listBox1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = (e.Data.GetDataPresent(DataFormats.FileDrop) ? DragDropEffects.Copy : DragDropEffects.None);
}
private void listBox1_MouseDown(object sender, MouseEventArgs e)
{
var files = new List<OrderByMyCamera>();
foreach (string i in listBox1.Items)
files.Add(new OrderByMyCamera(i));
if(files.Count==0)
return;
files.Sort();
var filesArray = files.Select(item=>item.ToString()).ToArray();
DoDragDrop(new DataObject(DataFormats.FileDrop, filesArray), DragDropEffects.Copy);
}
}
internal class OrderByMyCamera : IComparable<OrderByMyCamera>
{
private readonly string _filePath;
private readonly int _fileNumber;
public OrderByMyCamera(string filePath)
{
_filePath = filePath;
var fileName = Path.GetFileNameWithoutExtension(filePath);
if(fileName.Count()!=6)
throw new Exception("Имя файла должно быть 6+4 символов вида MOVXXX.mpg. Возможно вы попытались вставить не те файлы в программу");
if (!filePath.Trim().ToLower().EndsWith(".mpg"))
throw new Exception("Файлы должны заканчиваться на расширение .mpg. Сконвертируете файлы в mpeg, прежде чем вставите их в программу");
int fileNumber = int.Parse(fileName.Substring(3), NumberStyles.HexNumber);
_fileNumber = fileNumber;
}
public override string ToString()
{
return _filePath;
}
public int CompareTo(OrderByMyCamera other)
{
if (_fileNumber == other._fileNumber)
return 0;
return (_fileNumber > other._fileNumber ? 1 : -1);
}
}
}
похоже на иллюстрацию в /s/
home video
> Возможно вы попытались вставить не те файлы в программу
А если найду?
искромётно, кстати
а так же наполняться видео
> Сконвертируете файлы в mpeg
нет, вы их сконвертируете, причём немедленно! по два раза повторять не буду!
> чем вставите их в программу
засунете себе в программу, да поглубже
>int.Parse(fileName.Substring(3), NumberStyles.HexNumber);
XXX - это шестнадцатеричный код, тогда проводник отсортировать правильно файлы не сможет, ибо он сортирует в лексикографическом порядке.
>OrderByMyCamera
Так что это говнокод создателей камеры этого чела, если приходиться так извращаться, что-бы отсортировать файлы, а не делать это вручную.