Июнь 21st, 2011 § § Прямая ссылка
Функция для проверки доступности файла, взят отсюда.
bool CanReadAndWrite(string path)
{
var perm = new System.Security.Permissions.FileIOPermission(
System.Security.Permissions.FileIOPermissionAccess.Write |
System.Security.Permissions.FileIOPermissionAccess.Read,
path);
try
{
perm.Demand();
return true;
}
catch
{
return false;
}
}
Июнь 21st, 2011 § § Прямая ссылка
Что бы пользователь не ввел всюкую хрень, которая не сможет сохранится, отфильтруем имя этой функцией
public string ReplaceBadCharacters(string filename)
{
char[] charInvalidFileChars = Path.GetInvalidFileNameChars();
foreach (char charInvalid in charInvalidFileChars)
{
filename= filename.Replace(charInvalid, '_ ');
}
}
Июнь 16th, 2011 § § Прямая ссылка
Про регулярки можно сказать только одно используются они постоянно. Для того что бы использовать их в C# нас нужно пространстова System.Text.RegularExpressions; Ниже просто пример для работы.
string text="Здесь наши данные что хотим выпарсить";
Regex pattern = new Regex("тут регулярка");
Match match =pattern.Match(text);
//или
MatchCollection matches =pattern.Matches(text);
В первом случае, мы ищем одно совпадение, во втором все совпадения, удовлетворяющие нашей регулярке. Заметочка, чтобы получить совпадение без самой регулярки, нужно сделать вот так match.Group[1].Value; Вот собственно и все тут ресурс, где не плохо объяснено в двух статьях о регулярках C#.
Июнь 16th, 2011 § § Прямая ссылка
В общем-то тема очень не нова и набившая оскомину многим форумам, при всем при этом много неясностей. Попробуем в этом быстренько разобраться. Начнем как положено с лирики. Для использование многопоточности в C# нам нужно будет подключить System.Threading; Для создания потока нужно создать экземпляр класса Thread, который в конструкторе принимает экземпляр объекта ThreadStart, тот в свою очередь принимает, метод который нужно распоточить, замечу что сам метод должен возвращать void. Две подробные статьи о потоках можно найти здесь и здесь
public void SomeMethod()
{
...
}
Thread thread = new Thread (new ThreadStart(this.SomeMethod));
Continue reading “Работа с потоками и синхронизация с формой в C#” »
Июнь 13th, 2011 § § Прямая ссылка
Приходится работа с MySQL и данные там сохраняются как бог на душу положит от чего я негодую. Вот функции для работы с эти “добром”.
Конвертим DateTime в Timestamp
static double ConvertToTimeStamp(DateTime value)
{
TimeSpan span = (value - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime());
return span.TotalSeconds;
}
Конвертим DateTime в MySQL DATE. Именно такой формат даты поддерживат MySQL
Помни что нужно заключать дату в одинарные ковычки иначе никак )))
date.ToString("yyyy-MM-dd HH:mm:ss");
Конвертим из Timestamp в DateTime
static DateTime ConvertFromUnixTimestamp(double timestamp)
{
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0, 0);
return origin.AddSeconds(timestamp);
}
Конвертим из MySQL DATE в DateTime
DateTime.Parse("здесь дата");
Ну вот и все собственно ничего особенного)))
Июнь 10th, 2011 § § Прямая ссылка
Мне часто в последнее время приходится работать с базами данных, вот решил немного упорядочить свои познания в этом. Не большой экскурс, MySQL это свободно распространяемая, очень популярная БД, некий стандарт де-факто в вебе, хотя после приобретения последней, компанией Oracle бытуют мнения что продукт захиреет либо превратится в коммерческий, ну что же поживем увидим. Для работы с этой БД в .NET на нужен коннектор, скачать его можно отсюда. После скачивания конектора, ставим его и приступаем к работе.
Continue reading “Работаем с MySql” »
Июнь 9th, 2011 § § Прямая ссылка
DataGridView очень мощный контрол, идеально подходит для отображения баз данных, а так же массы другой пользовательской информации. В одной из статей прочитал что он заслуживает отдельной книги, что же спорить с этим не буду. Здесь я постараюсь про демонстрировать основные возможности этого контрола, а именно вставка информации и её чтение. На полнотк изложения это не претендует, если Вам интересно, то на RSDN можно найти очень хорошую статью по DataGridView тут .
Continue reading “Работаем с DataGridView” »
Июнь 4th, 2011 § § Прямая ссылка
Мне нравится и часто приходится работать с сетью, в C# встроено для этого очень много фич, но сегодня мы погорим про работу с протоколом HTTP. Чаще всего для этих целей в C# используются HttWebRequest и HttpWebResponse. На эту тему есть хорошая стать на RSDN вот тут . Я понятное дело не претендую на полноту изложения как в этой статье, но все же кину свои 5 копеек.
Continue reading “Работаем с HttpWebRequest и HttpWebResponse” »
Июнь 4th, 2011 § § Прямая ссылка
Решил сделать парочку заметок о работе с этими классами в C#.
Первое на чем собственно погорел если вставляем урл виды http://somesite.com/needpage в данном случае я хотел перейти в директорию needpage но этого не произойдет HttpWebRequest будет искать файл с таким именем needpage так что правильный вариант http://somesite.com/needpage/
Continue reading “Заметки о HttpWewRequset и HttpWebResponse” »
Май 31st, 2011 § § Прямая ссылка
Думаю это мысль созрела вовремя, сейчас 31 мая мне нужно составить план работы на месяц. Щас очень много гуглится и вот уже окрестился список того что я хочу знать и уметь, вообще он уже появился давно, но следую своему прошлому положительному опыту с высшей математикой, стоит цели изложить попунктно, ставить при этом перед собой достижимые. Ну что же приступим:
- Изучить основы работы с сокетами в C/C#
- Научится работать с XML C/C#
- Изучить спецификацию HTTP
- Знать и уметь реализовывать все основные структуры данных на C
Я думаю это вполне реальные цели за месяц. Для того что бы проверить себя и свой уровень знаний, думаю что стоит поставить своей целью не которые конечные продукты для этого. Первое по работе с сетями, это создать свою тулзу для автозаливки файлов на сендспейс. По части XML научится с ним работать, формировать и парсить документы. Про структуры данных по мере изучения исходники буду выкладывать.