PDA

Просмотр полной версии : Хелп с кодом


Хам!!!
05.12.2011, 17:40
В общем ребята нужна помощь с кодом для такой вот программке.
Допустим у нас есть checkBox(на checkBox стоит код который копирует все файлы с определённой папки и вставляет с заменой в другую указанную папку) и есть button. Надо что бы checkBox активировался только тогда когда я поставлю галочку на него и нажму на button.
:bow:

•theSaboteur•
05.12.2011, 17:45
Код просто пихаешь в хэндлер нажатия кнопки,
А в хэндлер изменения состояния чек бокса добавь что-нибудь типа

if(checkBox1.Checked) button.Enabled = true; else button.Enabled = false;

Хам!!!
05.12.2011, 17:57
Меня очень интересует вот это
код который копирует все файлы с определённой папки и вставляет с заменой в другую указанную папку

•theSaboteur•
05.12.2011, 18:09
На будующее: есть такая штука, как msdn.
Приблизительный код:

string sourcePath = "C:/myFolder1/"; //откуда копируешь
string destinationPath = "D:/mySecondFolder/"; //куда

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("/"));


Пора наверное в кои-то веки лечь спать - больно много ошибок