You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
377 lines
13 KiB
C#
377 lines
13 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using System.IO;
|
|
|
|
namespace Rename2
|
|
{
|
|
public partial class Rename2 : Form
|
|
{
|
|
public Rename2()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void bÖffnen_Click(object sender, EventArgs e)
|
|
{
|
|
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
|
|
{
|
|
tbVerzeichnis.Text = folderBrowserDialog1.SelectedPath;
|
|
UpdatelvVerzeichnis(folderBrowserDialog1.SelectedPath);
|
|
}
|
|
|
|
lvQuelle.Items.Clear();
|
|
}
|
|
|
|
void UpdatelvVerzeichnis(string path)
|
|
{
|
|
DirectoryInfo di = new DirectoryInfo(path);
|
|
|
|
if (di.Exists)
|
|
{
|
|
lvVerzeichnis.Enabled = true;
|
|
lvVerzeichnis.Items.Clear();
|
|
FileInfo[] fiArr = di.GetFiles();
|
|
|
|
foreach (FileInfo fi in fiArr)
|
|
{
|
|
lvVerzeichnis.Items.Add(fi.Name);
|
|
lvVerzeichnis.Items[lvVerzeichnis.Items.Count - 1].SubItems.Add(Convert.ToString(fi.Length));
|
|
}
|
|
}
|
|
else
|
|
{
|
|
lvVerzeichnis.Items.Clear();
|
|
lvVerzeichnis.Items.Add("Kann Ordner nicht finden");
|
|
lvVerzeichnis.Enabled = false;
|
|
}
|
|
}
|
|
|
|
private void cbFilter_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
tbFilter.Enabled = cbFilter.Checked;
|
|
}
|
|
|
|
private void bÜbertragen_Click(object sender, EventArgs e)
|
|
{
|
|
foreach (ListViewItem i in lvVerzeichnis.SelectedItems)
|
|
{
|
|
lvVerzeichnis.Items.Remove(i);
|
|
lvQuelle.Items.Add(i);
|
|
}
|
|
}
|
|
|
|
private void bAlleÜbertragen_Click(object sender, EventArgs e)
|
|
{
|
|
if (cbFilter.Checked && tbFilter.Text != "")
|
|
{
|
|
foreach (ListViewItem i in lvVerzeichnis.Items)
|
|
{
|
|
if (i.Text.IndexOf(tbFilter.Text) != -1)
|
|
{
|
|
lvVerzeichnis.Items.Remove(i);
|
|
lvQuelle.Items.Add(i);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
foreach (ListViewItem i in lvVerzeichnis.Items)
|
|
{
|
|
lvVerzeichnis.Items.Remove(i);
|
|
lvQuelle.Items.Add(i);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void bAlleEntfernen_Click(object sender, EventArgs e)
|
|
{
|
|
if (cbFilter.Checked && tbFilter.Text != "")
|
|
{
|
|
foreach (ListViewItem i in lvQuelle.Items)
|
|
{
|
|
if (i.Text.IndexOf(tbFilter.Text) != -1)
|
|
{
|
|
lvQuelle.Items.Remove(i);
|
|
lvVerzeichnis.Items.Add(i);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
foreach (ListViewItem i in lvQuelle.Items)
|
|
{
|
|
lvQuelle.Items.Remove(i);
|
|
lvVerzeichnis.Items.Add(i);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void bEntfernen_Click(object sender, EventArgs e)
|
|
{
|
|
foreach (ListViewItem i in lvQuelle.SelectedItems)
|
|
{
|
|
lvQuelle.Items.Remove(i);
|
|
lvVerzeichnis.Items.Add(i);
|
|
}
|
|
}
|
|
|
|
private void bNachOben_Click(object sender, EventArgs e)
|
|
{
|
|
//Erstellt ein ListViewItem Array um die selektierten ListViewItems
|
|
//aufnehmen zu können
|
|
ListViewItem[] SelectedItemsArr = new ListViewItem[lvQuelle.SelectedItems.Count];
|
|
//Erstellt ein weiteres ListViewItem Arry für alle List View Items nach
|
|
//der Selektion mit entsprechender Größe (Gesamtzahl aller Items minus
|
|
//dem Index des Letztmarkierten Eintrags)
|
|
ListViewItem[] AfterItemsArr = new ListViewItem[lvQuelle.Items.Count
|
|
- lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index - 1];
|
|
|
|
//Kopiert alle markierten Items in das entsprehende Array
|
|
lvQuelle.SelectedItems.CopyTo(SelectedItemsArr, 0);
|
|
|
|
//Kopiert alle Items nach der Selektion in das entsprechende Array
|
|
foreach (ListViewItem i in lvQuelle.Items)
|
|
{
|
|
if (i.Index > lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index)
|
|
{
|
|
//Subtrahiert den Index des ersten unmarkierten Eintrags vom aktuellen Index um die
|
|
//richtige Position im Array zu erhalten
|
|
AfterItemsArr[i.Index - lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index - 1] = i;
|
|
}
|
|
}
|
|
|
|
//Löscht alle Einträge nach der Selektion aus dem ListView
|
|
foreach (ListViewItem i in lvQuelle.Items)
|
|
{
|
|
if (i.Index > lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index)
|
|
{
|
|
i.Remove();
|
|
}
|
|
}
|
|
|
|
//Löscht alle markierten Einträge
|
|
foreach (ListViewItem i in lvQuelle.Items)
|
|
{
|
|
if (i.Selected)
|
|
{
|
|
i.Remove();
|
|
}
|
|
}
|
|
|
|
//Erstellt ein Temporäres Item und kopiert das letzte Item des momentanen ListViews
|
|
//rein um das Item dann aus dem ListView zu löschen
|
|
ListViewItem TempItem = lvQuelle.Items[lvQuelle.Items.Count - 1];
|
|
lvQuelle.Items[lvQuelle.Items.Count - 1].Remove();
|
|
|
|
//Fügt dem ListView alle Einträge aus dem Array mit den Selektierten Items hinzu
|
|
foreach (ListViewItem i in SelectedItemsArr)
|
|
{
|
|
lvQuelle.Items.Add(i);
|
|
}
|
|
|
|
//Hängt das TempItem an
|
|
lvQuelle.Items.Add(TempItem);
|
|
|
|
//Fügt alle Einträge des Arrays mit Items nach der anfänglichen Selektion ein
|
|
foreach (ListViewItem i in AfterItemsArr)
|
|
{
|
|
lvQuelle.Items.Add(i);
|
|
}
|
|
|
|
bNachUnten.Enabled = true;
|
|
if (lvQuelle.SelectedItems[0].Index == 0)
|
|
{
|
|
bNachOben.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
bNachOben.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void lvQuelle_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (lvQuelle.SelectedItems.Count == 0)
|
|
{
|
|
bNachOben.Enabled = false;
|
|
bNachUnten.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
if (lvQuelle.SelectedItems[0].Index == 0)
|
|
{
|
|
bNachOben.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
bNachOben.Enabled = true;
|
|
}
|
|
|
|
if (lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index == lvQuelle.Items.Count - 1)
|
|
{
|
|
bNachUnten.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
bNachUnten.Enabled = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void bNachUnten_Click(object sender, EventArgs e)
|
|
{
|
|
ListViewItem[] SelectedItemsArr = new ListViewItem[lvQuelle.SelectedItems.Count];
|
|
ListViewItem[] AfterItemsArr = new ListViewItem[lvQuelle.Items.Count
|
|
- lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index - 2];
|
|
|
|
lvQuelle.SelectedItems.CopyTo(SelectedItemsArr, 0);
|
|
|
|
ListViewItem TempItem = lvQuelle.Items[lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index + 1];
|
|
lvQuelle.Items[lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index + 1].Remove();
|
|
|
|
foreach (ListViewItem i in lvQuelle.Items)
|
|
{
|
|
if (i.Index > lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index)
|
|
{
|
|
AfterItemsArr[i.Index - lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index - 1] = i;
|
|
}
|
|
}
|
|
|
|
foreach (ListViewItem i in lvQuelle.Items)
|
|
{
|
|
if (i.Index > lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index)
|
|
{
|
|
i.Remove();
|
|
}
|
|
}
|
|
|
|
foreach (ListViewItem i in lvQuelle.Items)
|
|
{
|
|
if (i.Selected)
|
|
{
|
|
i.Remove();
|
|
}
|
|
}
|
|
|
|
lvQuelle.Items.Add(TempItem);
|
|
|
|
foreach (ListViewItem i in SelectedItemsArr)
|
|
{
|
|
lvQuelle.Items.Add(i);
|
|
}
|
|
|
|
foreach (ListViewItem i in AfterItemsArr)
|
|
{
|
|
lvQuelle.Items.Add(i);
|
|
}
|
|
|
|
bNachOben.Enabled = true;
|
|
if (lvQuelle.SelectedItems[lvQuelle.SelectedItems.Count - 1].Index == lvQuelle.Items.Count - 1)
|
|
{
|
|
bNachUnten.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
bNachUnten.Enabled = true;
|
|
}
|
|
}
|
|
|
|
private void bAktualisieren_Click(object sender, EventArgs e)
|
|
{
|
|
if (tbVerzeichnis.Text != "")
|
|
{
|
|
UpdatelvVerzeichnis(tbVerzeichnis.Text);
|
|
lvQuelle.Items.Clear();
|
|
}
|
|
}
|
|
|
|
private void nudVon_ValueChanged(object sender, EventArgs e)
|
|
{
|
|
nudBis.Value = lvQuelle.Items.Count + nudVon.Value - 1;
|
|
if (nudVon.Value.ToString().Length == 1)
|
|
{
|
|
lVorschau.Text = tbVorne.Text + "0" + nudVon.Value.ToString() + tbHinten.Text;
|
|
}
|
|
else
|
|
{
|
|
lVorschau.Text = tbVorne.Text + nudVon.Value.ToString() + tbHinten.Text;
|
|
}
|
|
}
|
|
|
|
private void bTesten_Click(object sender, EventArgs e)
|
|
{
|
|
lvZiel.Items.Clear();
|
|
|
|
foreach(ListViewItem i in lvQuelle.Items)
|
|
{
|
|
ListViewItem Temp = (ListViewItem)i.Clone();
|
|
lvZiel.Items.Add(Temp);
|
|
}
|
|
|
|
for (int i = 0; i < lvZiel.Items.Count; i++)
|
|
{
|
|
string temp = (nudVon.Value + i).ToString();
|
|
if (temp.Length == 1)
|
|
{
|
|
lvZiel.Items[i].SubItems[1].Text = lvZiel.Items[i].SubItems[0].Text;
|
|
lvZiel.Items[i].SubItems[0].Text = tbVorne.Text + "0" + temp + tbHinten.Text;
|
|
}
|
|
else
|
|
{
|
|
lvZiel.Items[i].SubItems[1].Text = lvZiel.Items[i].SubItems[0].Text;
|
|
lvZiel.Items[i].SubItems[0].Text = tbVorne.Text + temp + tbHinten.Text;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void bUmbenennen_Click(object sender, EventArgs e)
|
|
{
|
|
foreach (ListViewItem i in lvZiel.Items)
|
|
{
|
|
FileInfo fi = new FileInfo(tbVerzeichnis.Text + "\\" + i.SubItems[1].Text);
|
|
DirectoryInfo di = new DirectoryInfo(tbVerzeichnis.Text);
|
|
if (di.GetFiles(i.SubItems[0].Text).Length == 0)
|
|
{
|
|
fi.MoveTo(tbVerzeichnis.Text + "\\"+ i.SubItems[0].Text);
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("hiho");
|
|
}
|
|
}
|
|
|
|
lvQuelle.Items.Clear();
|
|
lvZiel.Items.Clear();
|
|
UpdatelvVerzeichnis(tbVerzeichnis.Text);
|
|
}
|
|
|
|
private void tbVorne_TextChanged(object sender, EventArgs e)
|
|
{
|
|
if (nudVon.Value.ToString().Length == 1)
|
|
{
|
|
lVorschau.Text = tbVorne.Text + "0" + nudVon.Value.ToString() + tbHinten.Text;
|
|
}
|
|
else
|
|
{
|
|
lVorschau.Text = tbVorne.Text + nudVon.Value.ToString() + tbHinten.Text;
|
|
}
|
|
}
|
|
|
|
private void tbHinten_TextChanged(object sender, EventArgs e)
|
|
{
|
|
if (nudVon.Value.ToString().Length == 1)
|
|
{
|
|
lVorschau.Text = tbVorne.Text + "0" + nudVon.Value.ToString() + tbHinten.Text;
|
|
}
|
|
else
|
|
{
|
|
lVorschau.Text = tbVorne.Text + nudVon.Value.ToString() + tbHinten.Text;
|
|
}
|
|
}
|
|
}
|
|
} |