Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры



Выпуск # 439


http://www.kbyte.ru/

 

Новый выпуск!

Дело было вечером, делать было нечего, и решил я выпустить рассылку с последними обновлениями сайта, строго не судите, но если есть что сказать, пишите, не молчите, буду рад ответить.

 

Содержание выпуска

Система ЭКСПЕРТ

    Вопрос #001017: Бесплатные программы

    Вопрос #001014: Avi и Mpeg4 в Visual Basic

    Вопрос #000952: Обработка файлов в C# (.NET 2.0)

    Вопрос #000947: Секундомер

    Вопрос #000937: DLOOKUP??

Последнее на форумах

    Мерцание PictureBox

    переустановка windows

    PictureBox

    Проблемка при работе с регистром

    помогите с браузером

Последние статьи

    Нестандартная форма

    Как узнать размер базы данных MySQL через php

    Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)

    Работа с SQL – Запросы

    Использование XML.Serialization

Интересные коды и решения

Юмор на Kbyte.Ru

 

Система ЭКСПЕРТ

 

Система «Эксперт» - уникальная система, которая поможет решить, если не все, то многие Ваши проблемы с программированием и разработкой! Если у Вас есть какой-либо вопрос по программированию или разработке, то Вы всегда можете задать его нашим Экспертам! При этом каких-либо особых действий от Вас не потребуется! Просто отправьте Ваш вопрос на адрес mailto:expert@kbyte.ru, в теме письма укажите тему вопроса, в тексте – сам вопрос, и все! Эксперты дадут Вам ответ в течение 12-24 часов, на тот адрес, с которого Вы отправите вопрос. Все проще простого! Никакой регистрации и заполнение бесконечных форм, просто спросите и получите ответ ;-)


Вопрос #001017: Бесплатные программы

Автор вопроса: Sarj // 03.06.2008 / 08:56

Уважаемые эксперты, поскажите пожалуйста бесплатный аналог Corel Draw. Очень надо...

.....

Отвечает: Алексей Немиро // 03.06.2008 / 09:02

Здравствуйте, Sarj.

http://inkscape.org/

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #001014: Avi и Mpeg4 в Visual Basic

Автор вопроса: алексей // 02.06.2008 / 12:36

Как можно проигрывать эти форматы в вижал бэйсик? Пример на сайте не работает.

.....

Отвечает: Алексей Немиро // 02.06.2008 / 12:43

Здравствуйте, Алексей.

Можно использовать MediaPlayer. Для этого его нужно подключить к
проекту через меню Project (Проект) -> Components (Компоненты), в
появившемся окне найти и выбрать Windows Media Player. Далее, в
панели инструментов должна появиться иконка плеера, который можно
разместить на форме. Указать файл для проигрывания можно
в свойство URL, или FileName в зависимости от версии проигрывателя.

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000952: Обработка файлов в C# (.NET 2.0)

Автор вопроса: Сергей // 09.05.2008 / 18:07

Доброе время суток!
В общих словах, такая задача поставлена передо мной: На веб-странице
пользователь выбирает файл, нажимает кнопку "Импорт" и из этого файла
данные импортируются в таблицу БД Oracle.
Файл должен быть текстовым, первые 2 строки- информация о времени и
логине того, кто выгружал. После них идут строки данных, поля
разделяются симоволом | .
Просьба дать ссылки на документацию по работе с файлами, которые могут
помочь :-)

Отвечает: Алексей Немиро // 12.05.2008 / 10:34

Здравствуйте, Сергей.

Необходимые классы и функции для работы с файлами лежак в пространстве имен System.IO. Также Вам могут понадобиться классы для работы с регулярными выражениями, которые лежат в пространстве имен System.Text.RegularExpressions.
Что касается импорта файлов, то данные можно взять прямо из потока FileUpload.PostedFile.InputStream, передать их в StreamReader и обработать при помощи регулярных выражений.

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000947: Секундомер

Автор вопроса: Александр // 08.05.2008 / 17:40

Добрый день!
Как сделать секундомер на сайте kbyte.ru много но вот все они выдают результат как 345сек, а мне надо 1:45:01 то есть в временом формате. Как сделать???

.....

Отвечает: Алексей Немиро // 09.05.2008 / 08:29

Здравствуйте, Александр.

Зная, что в минуте 60 секунд, в часе 60 минут, а в сутках 24 часа, можно легко превратить 345 секунд в нужный формат.
001:
002:
003:
004:
005:
006:
007:
008:
009:
Dim sec As Integer
sec = 345
Dim ssec As Integer, min As Integer, hour As Integer
If sec > 59 Then
 min = Int(sec / 60)
 ssec = sec Mod 60
End If
If min > 59 Then hour = Int(min / 60)
MsgBox sec & " сек. = " & hour & " ч. " & min & " мин. " & ssec & " сек."



--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000937: DLOOKUP??

Автор вопроса: Алексей // 05.05.2008 / 16:37

Почему те поля формы, которые имеют в ControlSource функцию Dlookup не записывают значение полей в конечную таблицу?

--------------------------------------
Категория: --- MS Access

Отвечает: Алексей Немиро // 06.05.2008 / 05:24

Здравствуйте, Алексей.

Из справки MS Access: Функция Dlookup
При использовании этой функции не учитываются
несохраненные изменения записей подмножества. Если функция
DLookup должна использовать измененные значения, необходимо сначала сохранить
изменения с помощью команды Сохранить запись в меню
Записи, с помощью перемещения фокуса на другую запись или
метода Update.


--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 


Чтобы задать Ваш вопрос, отправьте его на адрес expert@kbyte.ru

Раздел Эксперт на сайте Kbyte.Ru

Наверх

 

 

Последнее на форумах

Мерцание PictureBox | Автор: Ron
Добавлено: 07.02.2009 / 23:28 | ответов: 0 | просмотров: 27

Таймер с интервалом 1 мс двигает PictureBox по форме, но он дико мерцает. Подскажите как устранить это.

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


переустановка windows | Автор: amigo
Добавлено: 27.01.2009 / 21:25 | ответов: 2 | просмотров: 127

Всем привет!
Короче вот в чем проблема: после переустановки винды не могу открыть диск D выдает не понятную ошибку (uvsqfgwd.cmd - обнаружена ошибка. Приложение будет закрыто. Приносим извинения за неудобства.) Формат дисков NTFS, при переустановки форматировал только C, тк на D нужная инфа, если форматнуть и его то проблема решиться, но форматирование никак не уместно.
Можно ли выйти из этой ситуации не прибегая к удалению нужных мне файлов???

Буду благодарен любой помощи

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:04.02.2009 / 03:45
Скорей всего вирус, прописал авторан.
Открыть диск можно правой кнопкой мышки по диску, выбрать меню "Открыть".

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Dragon-zla
Добавлено:04.02.2009 / 22:42
Лучше через FAR или TC открыть диск, перекинуть все нужные файлы на С форматнуть D.Затем антивирусом проверить файлы с D и вернуть их обратно.(в проводнике Винды есть баг - autorun.inf прочитается как бы ты ни открывал через него диск)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


PictureBox | Автор: micron
Добавлено: 20.01.2009 / 13:00 | ответов: 1 | просмотров: 143

У меня такой вопрос, как в PictureBox вставить изображение?
Одно изображение вставить нет проблем, а как вставить из диалога выбора изображений каждый раз другое.Спасибо.

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Edlin
Добавлено:22.01.2009 / 08:49
001:
002:
003:
004:
005:
006:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
  pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
}

Colorized by: Eros.CodeSyntaxColor Engine

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Проблемка при работе с регистром | Автор: V1RR
Добавлено: 18.01.2009 / 17:12 | ответов: 0 | просмотров: 120

Столкнулся с такой проблемой. Мне нужно чтобы программа создавала в регистре ключ.
Обычно это делается так: SaveString HKEY_LOCAL_MACHINE, "SOFTWARE\ergc","Value" , "0118", REG_SZ
В данном случае создается ключ Value и заполняется уже значением 0018 в данном случае.
В моем случае мне нужно чтобы в папке \ergc не создавался новый ключ а заполнялось значение (по умолчанию).
Как мне это сделать? Я предполагаю что как-то так: SaveString HKEY_LOCAL_MACHINE, "SOFTWARE\ergc", Default , "0118", REG_SZ но Default не работает (это я так просто проверил). Еслть ли какой-то параметр чтоб деволтный ключ изменять?

з.ы. сама программка работает (т.е. создает и заполняет ключ в реестре).

Для этого подключил модуль.bas с этим содержимым:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Public Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (ByRef lpVersionInformation As OSVERSIONINFO) As Long
Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal CX As Long, ByVal CY As Long, ByVal wFlags As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Public Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long

Public Sub SaveString(hKey As Long, strPath As String, strValue As String, strdata As String, dwType As Long)
Dim keyhand As Long
Dim r As Long
Select Case dwType
Case REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ, REG_NONE
r = RegCreateKey(hKey, strPath, keyhand)
r = RegSetValueEx(keyhand, strValue, 0, dwType, ByVal strdata, Len(strdata))
r = RegCloseKey(keyhand)
Case REG_DWORD, REG_DWORD_BIG_ENDIAN, REG_BINARY, REG_LINK
RegCreateKey hKey, strPath, keyhand
Dim dfs As Long
dfs = Val(strdata)
RegSetValueEx keyhand, strValue, 0&, dwType, dfs, 4
RegCloseKey keyhand

End Select
End Sub

Colorized by: Eros.CodeSyntaxColor Engine


Помогите кто знает.

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


помогите с браузером | Автор: maydep
Добавлено: 18.01.2009 / 04:04 | ответов: 1 | просмотров: 155

Доброго времени суток.
Помогите мне разобраться в таком деле.

есть форма, на неё я "прицепил" браузер (WebBrowser1)
загружаю страницу которая содержит след HTML код
<A onclick=..... name="s1" href="http://." target=_blank>...ссылка...</A>

мне нужно кликнуть по этой ссылке
я пишу WebBrowser1.Document.All("s1").Click
по ссылке то кликается НО, загружается Explorer и всё это загружаеться в нем!
я очень полохо понимаю (точнее совсем непонимаю) HTML, но я думаю что всё дело в здесь target=_blank
как мне это действие "приглушить"?
просто вырезать ссылку и коикнуть по ней тоже немогу, ... какаято фигня "делается" в onclick

кто что думает, .... возможно ли что бы эта ссылка открывалась не в новом окне а в WebBrowser1-е?

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Dest
Добавлено:20.01.2009 / 22:21
Да дело в target=_blank, удали его и всё нормально будет =)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Наверх

 

Последние статьи

Нестандартная форма
Автор: Zhenik Ipatov | добавлено: 05.05.2008 / 12:42 | просмотров: 1990

Первое что бросается в глаза, когда первый раз используешь программу это конечно же её облик, внешний вид. Есть вероятность что если пользователю не понравится внешний вид окна, то он не будет пользоваться продуктом. Значит нам, не побоюсь этого слова, программистам нужно как можно лучше, удобнее, понятнее, красивее и приветливее сделать лицо программы. Нужно как можно эффектнее преподнести программу. С самого первого появления Windows окна получили прямоугольный стандарт и все User Control’ы

Как узнать размер базы данных MySQL через php
Автор: Николай Рудченко | добавлено: 14.02.2008 / 13:01 | просмотров: 2314

В этой небольшой статье вы узнаете, как получить размер вашей базы данных (БД) MySQL используя язык программирования PHP.

Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)
Автор: Немиро Алексей | добавлено: 27.07.2007 / 14:01 | просмотров: 9060

В данной статье речь пойдет о том, как можно программно заполнить и отправить Web-форму, а также получить результат с использованием довольно простых классов - HttpWebRequest и HttpWebResponse.

Работа с SQL – Запросы
Автор: Хабибулин А. (aka Bille Gates) | добавлено: 22.07.2007 / 04:43 | просмотров: 18250

В данной статье рассмотрены часто используемые SQL-запросы и приведены примеры их использования.

Использование XML.Serialization
Автор: Немиро Алексей | добавлено: 19.07.2007 / 15:38 | просмотров: 4390

В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.

 

Статьи на Kbyte.Ru

Наверх

 

Интересные коды и решения

Как узнать IP-адрес посетителя?
Дата добавления: 01.09.2006 / 12:20 | просмотров: 3106 | платформа: ASP

Как запустить процесс и дождаться его завершения?
Дата добавления: 24.03.2007 / 12:12 | просмотров: 2102 | платформа: VB .NET

Как нарисовать что-либо на Form/PictureBox?
Дата добавления: 24.03.2007 / 10:15 | просмотров: 2033 | платформа: VB .NET

Округление до десятых, сотых, тысячных и т.д.
Дата добавления: 04.02.2007 / 21:09 | просмотров: 3992 | платформа: VB

Проверить корректность E-Mail (с использованием регулярных выражений)
Дата добавления: 21.08.2006 / 20:30 | просмотров: 2698 | платформа: ASP .NET (VB)

Как программно вызвать окно свойств (Properties) файла?
Дата добавления: 31.07.2006 / 12:42 | просмотров: 2197 | платформа: VB

Как сделать секундомер?
Дата добавления: 16.08.2006 / 23:26 | просмотров: 2829 | платформа: VB

Форма поверх всех окон
Дата добавления: 01.08.2006 / 17:23 | просмотров: 2870 | платформа: VB .NET

Как узнать размер открытого файла?
Дата добавления: 31.07.2006 / 12:43 | просмотров: 1954 | платформа: VB

Как поместить одну форму в другую?
Дата добавления: 31.07.2006 / 12:09 | просмотров: 2118 | платформа: VB

 

Универсальные коды на Kbyte.Ru

Наверх

 

Юмор на Kbyte.Ru

- Какие животные живут в тундре?
- Песцы, куропатки и наш папа, который ездит туда в командировку.

 

Рейтинг: 568
Всего голосов: 857
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Правда ли, что если проиграть назад диск с Windows'NT, то можно услышать сатанинское послание?
- Это пустяки, вот если проиграть его вперед, он установит вам Windows'NT!

 

Рейтинг: 494
Всего голосов: 795
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Звонит любовник любовнице:
- Давай встретимся.
- Давай.
- А где?
- Давай у меня дома.
- А муж?
- А его сейчас нет, он в интернете.

 

Рейтинг: 543
Всего голосов: 858
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Московский милиционер занимает первое место в рейтинге как "самый продаваемый и покупаемый товар года".

 

Рейтинг: 522
Всего голосов: 812
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Сидит хакер со своей девчонкой в комнате, хакер за компом, девчонка на кресле. Хакер что-то делает, а девочка хочет привлечь его внимание:
- А у нас вчера под окнами НЛО завис...
Хакер (не отрываясь от компа):
- Надо было UNIX ставить, под окнами все виснет.

 

Рейтинг: 480
Всего голосов: 792
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Дети, знаете ли вы, откуда течет электричество? - спрашивает учительница.
- Я знаю! - вскакивает ученик.
- Из джунглей!
- Почему ты так считаешь?
- А сегодня утром папа, когда хотел бриться, сказал: "Опять эти обезьяны отключили электричество!"

 

Рейтинг: 529
Всего голосов: 900
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Сидит в ресторане новый русский. На столе икорка, осетрина, коньячек, водочка. Все самое дорогое, по высшему классу. Он, не стесняясь, наворачивает с большим аппетитом. Рядом за столиком семья ботаников ест капустку. Отец с сантиметровыми линзами, мама тоже в очках и худенький сынишка-лицеист в потрепанном пиджачке. Новому русскому стало стыдно. Он подозвал мальчугана мол, пускай поест. Мальчик топчется на месте, стесняется. Мать, поправляя очки:
- Вы знаете, мой сын сыт.
Новый русский:
- Так я и говорю, пускай не ссыт, пускай хавает!!!

 

Рейтинг: 450
Всего голосов: 745
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Дед у меня из деревни, он и рассказывал. Было это годов так ...цать назад.
Заведующая хозяйством (а точнее птичьим двором) колхоза N была женщина, которая очень любила выпить. Но в колхозе платят мало, а выпить всегда хочется. Поэтому она приспособилась продавать местному населению, естественно втихаря, уток и гусей с птичьего двора, которым сама же и заведовала. Когда приходило время проверки поголовья птицы, в объяснительных бумагах, насчет уменьшения поголовья, она писала, что, дескать, утки и гуси тонут.
И что характерно – ей верили...

P.S. Утки и гуси относятся к водоплавающим птицам. И утонуть им не дано...

 

Рейтинг: 405
Всего голосов: 656
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Она всю жизнь была верна только "Джонсону и Джонсону" - от первого памперса до последнего тампакса.

 

Рейтинг: 418
Всего голосов: 655
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Компьютерный магазин. Заходят мужчина и женщина.
Женщина: Нам надо, что бы телефон к компьютеру подключался.
Я: У вас Блютуз или ИрДа?
Женщина: Вы с кем разговариваете?
Я в замешательстве, не знаю что ответить.
Женщина: Нам провод нужен, что бы данные на компьютер можно было передать.
Я: Мини USB?
Женщина: Мы не знаем что это такое.
Я: Сейчас вам покажу.
Достаю кабель, показываю. Они достают телефон, смотрим, разъема для мини USB нет.
Я: Вы в мануале посмотрите у телефона Блютуз или ИрДа есть.
Женщина: Вы с кем разговариваете?
Я: Ну, как с кем, с вами.
Женщина: Что такое мануал?
Я: Руководство пользователя.
Женщина: У нас, его нет.
Я: Зайдите в магазин, где радиотелефоны продаются, спросите, есть ли у этой модели Блютуз или ИрДа.
Покупатели в недоумении уходят.

 

Рейтинг: 1313
Всего голосов: 1981
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Весь юмор на Kbyte.Ru

Наверх


Выпуск подготовил: R-KDR-19826

Редактор: Немиро Алексей

Copyright (c) Nemiro AS, 2005-2007


В избранное