В общем ребята нужна помощь с кодом для такой вот программке.
Допустим у нас есть checkBox(на checkBox стоит код который копирует все файлы с определённой папки и вставляет с заменой в другую указанную папку) и есть button. Надо что бы checkBox активировался только тогда когда я поставлю галочку на него и нажму на button.
:bow:
•theSaboteur•
05.12.2011, 17:45
Код просто пихаешь в хэндлер нажатия кнопки,
А в хэндлер изменения состояния чек бокса добавь что-нибудь типа
string[] files = Directory.GetFiles(sourcePath);
foreach(string file in files)
{
string name = file.Remove(file.LastIndexOf("/"), file.Length);
File.Copy(file, destinationFolder + name, true);
}
p.s. нужно пространство имен ввода/вывода System.IO (лучше уточни, а то могу перепутать))
Хам!!!
05.12.2011, 18:18
File.Copy(file, destinationFolder + name, true);
Элемент "destinationFolder" не существует в текущем контексте.
•theSaboteur•
05.12.2011, 18:23
------------
removed
------------
-----------
added
-----------
Извиняюсь, объявил destinationPath а обратился к destinationFolder...
Просто поправьте имена
Хам!!!
05.12.2011, 18:33
Спасибо всё очень доходчиво объяснил. У меня последний вопросик file.LastIndexOf("\") тут указать формат или что?
•theSaboteur•
05.12.2011, 18:51
Спасибо всё очень доходчиво объяснил. У меня последний вопросик file.LastIndexOf("\") тут указать формат или что?
Нет.
Эта функция находит последнее вхождение подстроки/токена в строку (в нашем случае последнее вхождение "/" в строку file)
В данном случае используется что бы вырезать из адреса файла его имя, которое впоследствии мы аттачим к адресу конечного каталога.
Тобишь у тебя в переменной file записана строка "C:/keys.dat", ты (ф-ей Remove) вырезаешь все кроме имени. И прибавляешь к конечному каталогу.
p.s. Опять опечатался.
Надо вырезать с нуля до последнего вхождения "/"
string name = file.Remove(0, file.LastIndexOf("/"));
Пора наверное в кои-то веки лечь спать - больно много ошибок