- 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);
}
}
}
Lure Of Chaos 25.07.2011 00:31 # +1
bugmenot 25.07.2011 02:19 # +3
похоже на иллюстрацию в /s/
Govnocoder#0xFF 25.07.2011 09:07 # +1
absolut 25.07.2011 09:45 # +1
home video
Lure Of Chaos 25.07.2011 09:48 # 0
> Возможно вы попытались вставить не те файлы в программу
RaZeR 25.07.2011 11:29 # +1
А если найду?
guest 25.07.2011 18:27 # −1
TheHamstertamer 25.07.2011 18:36 # 0
guest 25.07.2011 19:29 # 0
RaZeR 25.07.2011 20:10 # 0
guest 25.07.2011 20:15 # 0
bugmenot 25.07.2011 20:03 # +3
искромётно, кстати
Lure Of Chaos 25.07.2011 22:06 # 0
а так же наполняться видео
> Сконвертируете файлы в mpeg
нет, вы их сконвертируете, причём немедленно! по два раза повторять не буду!
> чем вставите их в программу
засунете себе в программу, да поглубже
zooz13 26.07.2011 02:22 # 0
absolut 26.07.2011 08:27 # +7
guest 26.07.2011 17:45 # 0
>int.Parse(fileName.Substring(3), NumberStyles.HexNumber);
XXX - это шестнадцатеричный код, тогда проводник отсортировать правильно файлы не сможет, ибо он сортирует в лексикографическом порядке.
>OrderByMyCamera
Так что это говнокод создателей камеры этого чела, если приходиться так извращаться, что-бы отсортировать файлы, а не делать это вручную.
absolut 26.07.2011 22:18 # −1
guest 28.07.2011 19:21 # 0
guest8 09.04.2019 11:13 # −999