Страница: 1 | 2 |
Вопрос: как сохранить скрин ?
Добавлено: 26.05.11 22:14
Автор вопроса: Coloss | ICQ: 479007356
я следал скриншот, а вот сохранить его не могу, он сохраняется только под обычным именем типа 1.jpg а вот использовать datetime.now не удается, пишет не верный формат
Ответы
Всего ответов: 20
Номер ответа: 1
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #1
Добавлено: 27.05.11 05:05
В DateTime.Now есть символы, которые недопустимы в имени файла
Я такой код использую. На VB, надеюсь, не составит труда перевести.
Номер ответа: 2
Автор ответа:
Alex Bakanov
ICQ: 7215215
Вопросов: 7
Ответов: 21
Web-сайт:
Профиль | | #2
Добавлено: 27.05.11 12:22
ну вот а ты попробуй загнать всю дату в переменную , а потом эти разделители (кривые символы) замени. в вб был Split() который мог найти разделитель по заданному символу, в данном случае юзай что-то подобное у себя на C#,а потом эти разделители заменяй другими знаками ,добавляй .jpg и всё.
Номер ответа: 3
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #3
Добавлено: 28.05.11 22:02
не нужно фигней заниматься, все делается одной строчкой
Номер ответа: 4
Автор ответа:
DimBi
Вопросов: 15
Ответов: 55
Профиль | | #4
Добавлено: 29.05.11 00:58
Номер ответа: 5
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #5
Добавлено: 29.05.11 02:05
говнокод детектед
Номер ответа: 6
Автор ответа:
DimBi
Вопросов: 15
Ответов: 55
Профиль | | #6
Добавлено: 29.05.11 11:33
Уважаемый EROS!
Научите любителя, покажите сладокод, Please!!!
Номер ответа: 7
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #7
Добавлено: 29.05.11 12:26
легко.
1. Изучите возможности функции Format по форматированию даты и времени
подробности тут:
http://msdn.microsoft.com/en-us/library/c6dw49cz(v=VS.100).aspx см.пример внизу страницы
2. Используйте подходящий для этого шаблон форматирования,либо составьте свой собственный если нет подходящего
Как именно это сделать вам показал Artyom в первом же ответе.
И ради бога, не надо изобретать велосипеды с использованием устаревших функций типа Split,UBound и прочей ереси
Номер ответа: 8
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #8
Добавлено: 29.05.11 12:33
И еще.. обратите внимание на строку в первом посте
System.Globalization.CultureInfo.InvariantCulture
Это говорит о том, что результат работы стандартных паттернов форматирования зависит от региональных настроек системы, поэтому правильнее будет указать параметр CultureInfo во избежании непредвиденных результатов
Номер ответа: 9
Автор ответа:
DimBi
Вопросов: 15
Ответов: 55
Профиль | | #9
Добавлено: 29.05.11 13:57
Спасибо! изучу и отчитаюсь!
Номер ответа: 10
Автор ответа:
DimBi
Вопросов: 15
Ответов: 55
Профиль | | #10
Добавлено: 29.05.11 20:04
может так?
или так:
Номер ответа: 11
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #11
Добавлено: 29.05.11 22:10
уже лучше, оба варианта более или менее приемлемы.. от себя добавлю: я не люблю знак конкатенации - &, предпочитаю использовать string.Format();
код получается более читабельным
Номер ответа: 12
Автор ответа:
DimBi
Вопросов: 15
Ответов: 55
Профиль | | #12
Добавлено: 30.05.11 02:01
не понял, куда здесь CultureInfo.InvariantCultur вставить?
Номер ответа: 13
Автор ответа:
DimBi
Вопросов: 15
Ответов: 55
Профиль | | #13
Добавлено: 30.05.11 02:39
видимо так:
Номер ответа: 14
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #14
Добавлено: 30.05.11 14:21
Ну вот, все полуичлось.. теперь посомтри на свой ответ в посте №4 и ты поймешь всю его несуразность
Номер ответа: 15
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #15
Добавлено: 30.05.11 18:36
Неверная нотация. Во-первых, CurrentName. Во-вторых, никаких ddmmyyyy, должно быть осмысленное название, например currentDate.
На название пременной неправильная нотация.
В Split нужно передавать строку. Ты же передаешь дату. В VB-шний Split можно передать что угодно как Object, а это значит что будет выполняться боксинг и затем вызов ToString(). Какие настройки будут использоваться при вызове ToString() ты не можешь знать в этот момент, поэтому вместо 13.06.1995 вполне может быть 6/13/1995 или Monday 13 july 1995
Также вместо Split нужно использовать String.Split
Неправильная нотация на название переменной
Вместо Split - String.Split
Вместо UBound - Array.GetUpperBound или Array.Length
Вот тут зачем-то ToString делаются? У нас в массивах и так уже лежат строки.
Посчитай внимательнее индексы, что-то ты тут забыл, похоже дни потерял.
Кому нужно было говнокод показать?