Все статьи
75 разборов в одной таблице. Фильтруйте по уровню или переключитесь на галерею.

НазваниеРазделУровеньЧтение
Событие ItemDataBound в ASP.NET ListView: доступ к данным и контролам строкиДанные и привязка
Средний7 мин
Привязка GridView к LINQ to Entities: проекции, сортировка и постраничный выводДанные и привязка
Средний8 мин
WPF Menu с привязкой данных: меню из коллекции, команды и вложенные пунктыWPF
Средний7 мин
Архивирование нескольких файлов в ZIP в ASP.NET и отдача архива пользователюASP.NET
Средний8 мин
Как загрузить DataSet из хранимой процедуры SQL ServerДанные и привязка
Новичок7 мин
OUTPUT-параметры хранимой процедуры SQL Server в ASP.NETДанные и привязка
Средний8 мин
Группировка строк в ASP.NET GridView: RowSpan и строки-заголовки группGridView
Средний8 мин
Привязка WPF TreeView к реляционному DataSet через HierarchicalDataTemplateWPF
Средний7 мин
GroupTemplate в ASP.NET ListView: сетка из нескольких колонокДанные и привязка
Средний7 мин
Календарь в GridView: удобный ввод дат в режиме редактированияGridView
Средний7 мин
Алфавитный пейджер для GridView: показываем записи по первой буквеGridView
Средний7 мин
Пользовательский серверный элемент Slider на ASP.NET AJAX: ScriptControl шаг за шагомASP.NET Ajax
Опытный9 мин
Как посчитать количество подпапок на VB.NETVB.NET и WinForms
Средний7 мин
AutoSuggest TextBox в WPF: подсказки из базы на VB.NETWPF
Средний9 мин
Обработка ошибок в ASP.NET AJAX: UpdatePanel, ScriptManager и PageMethodsASP.NET Ajax
Средний8 мин
Постраничный вывод в ListView через DataPager при привязке из кодаДанные и привязка
Средний8 мин
CheckBoxList в ASP.NET AJAX: «выбрать все», UpdatePanel и связанные спискиASP.NET Ajax
Средний7 мин
Нумерация строк GridView: RowIndex, DataItemIndex и пейджингGridView
Новичок6 мин
RowCommand в GridView: кнопки «Согласовать», «Активировать» и другиеGridView
Средний7 мин
Rich Text Editor для ASP.NET своими руками: iframe, designMode и execCommandASP.NET
Средний8 мин
WPF ListView в режиме GridView: колонки, шаблоны ячеек и сортировкаWPF
Новичок7 мин
Загрузка изображений в базу через FileUpload и вывод через HttpHandlerASP.NET
Средний9 мин
Фильтрация GridView на ASP.NET AJAX: UpdatePanel, параметры и задержка вводаASP.NET Ajax
Средний8 мин
Позиция курсора в TextBox на JavaScript: чтение, установка и вставка текстаJavaScript и CSS
Средний8 мин
Привязка WPF DataGrid к DataSet: от WPF Toolkit до .NET 4WPF
Средний8 мин
Автодополнение в TextBox из базы данных: ASP.NET AJAX AutoCompleteExtenderASP.NET Ajax
Средний8 мин
Каскадные выпадающие списки в ASP.NET на CascadingDropDown из AJAX Control ToolkitJavaScript и CSS
Средний9 мин
ASP.NET Repeater и DataBind: примеры на Visual BasicДанные и привязка
Новичок8 мин
Калькулятор на Visual Basic 6 с массивами элементов управления (Control Arrays)Visual Basic 6
Новичок9 мин
INI-файлы в VB.NET: чтение и запись через GetPrivateProfileStringVB.NET и WinForms
Средний8 мин
Как посчитать количество файлов в папке на VB.NETVB.NET и WinForms
Новичок7 мин
Сортировка GridView с помощью DataView: по возрастанию и обратноGridView
Средний7 мин
Привязка ASP.NET TreeView к реляционным данным из DataSetДанные и привязка
Средний8 мин
Закрепляем заголовки и первую колонку GridView средствами CSSGridView
Средний8 мин
Итоговая строка GridView: суммы в подвале через DataTable.ComputeGridView
Новичок7 мин
Поиск дубликатов файлов на VB.NET с помощью MD5-хешаVB.NET и WinForms
Средний8 мин
WPF ListBox и DataTable: привязка данных и DataTemplateWPF
Новичок8 мин
Рекурсивный поиск элемента в ASP.NET: FindControl по всему деревуASP.NET
Средний7 мин
Градиентная кнопка в WPF: свой шаблон, свечение текста и теньWPF
Средний8 мин
DateAdd и DateDiff на JavaScript: привычные функции VB в браузереJavaScript и CSS
Средний8 мин
Как получить ответ веб-страницы через HttpWebRequest в ASP.NETASP.NET
Средний7 мин
Как отправить письмо из ASP.NET с помощью SmtpClient и MailMessageASP.NET
Новичок8 мин
Заполнение TreeView и ListBox в фоновом потоке на VB.NETVB.NET и WinForms
Опытный9 мин
Темы и скины в ASP.NET Web Forms: оформление сайта без копипастыASP.NET
Средний9 мин
Динамическая колонка CheckBox в GridView: ITemplate, постбэки и «выбрать все»GridView
Средний8 мин
Как прочитать текстовый файл в строку в ASP.NETASP.NET
Новичок7 мин
Исключение при Response.Redirect: откуда ThreadAbortException и как его избежатьASP.NET
Средний7 мин
Динамическое создание кнопок в ASP.NET Web Forms на VB.NETASP.NET
Средний9 мин
Шифрование секций web.config ключом RSA: aspnet_regiis и свой контейнер ключейASP.NET
Средний9 мин
Редактирование и удаление строк GridView через SqlDataSourceGridView
Новичок8 мин
Div в одну строку как span: display inline, inline-block и floatJavaScript и CSS
Новичок7 мин
Открываем всплывающее окно через window.open: параметры, блокировщики, безопасностьJavaScript и CSS
Новичок8 мин
Рекурсивный поиск файлов и текста внутри них на VB6: класс FileSearchVisual Basic 6
Средний9 мин
Запись cookie из JavaScript: функция SetCookie и её атрибутыJavaScript и CSS
Новичок8 мин
Trim на JavaScript: убираем пробелы по краям строки как в VBJavaScript и CSS
Новичок7 мин
Запись строки в текстовый файл на VB6: перезапись, дозапись и кодировкиVisual Basic 6
Новичок8 мин
Аналог VB Mid на JavaScript: вырезаем подстроку правильноJavaScript и CSS
Новичок7 мин
Чтение текстового файла построчно в Collection на VB6: фильтр по словам и RegExpVisual Basic 6
Средний8 мин
Собственный пейджинг GridView через ObjectDataSource и ROW_NUMBERGridView
Опытный9 мин
Как узнать свободное место на диске в VB6: FileSystemObject и GetDiskFreeSpaceExVisual Basic 6
Новичок7 мин
Как сделать Distinct по DataTable с помощью DataView.ToTableДанные и привязка
Новичок6 мин
Пагинация GridView: от AllowPaging до выборки страницы в SQLGridView
Средний8 мин
GridView с шаблонами и CSS-стилями: от BoundField к TemplateFieldGridView
Средний8 мин
Экспорт таблицы в Excel из ASP.NET: Content-Disposition и GridViewASP.NET
Новичок8 мин
Как получить список баз данных SQL Server из VB.NETVB.NET и WinForms
Средний7 мин
Папка Windows и другие системные пути в VB.NETVB.NET и WinForms
Новичок6 мин
Подсветка синтаксиса Visual Basic средствами VB.NET и регулярных выраженийVB.NET и WinForms
Опытный9 мин
Как распространять VB6-приложение, использующее Excel: ссылки, позднее связывание, версии OfficeVisual Basic 6
Опытный8 мин
Первый GridView: выводим таблицу из SQL Server в ASP.NETGridView
Новичок7 мин
Экспорт данных из VB6 в Excel: запись ячеек, форматирование и сохранениеVisual Basic 6
Средний8 мин
Отправка письма из VB6 через CDO: SMTP-сервер, авторизация и вложенияVisual Basic 6
Средний8 мин
HTTP-запросы из VB6 через MSXML2.XMLHTTP и ServerXMLHTTP: GET, POST, загрузка файловVisual Basic 6
Средний8 мин
Как сохранить Collection в текстовый файл на VB6 и загрузить обратноVisual Basic 6
Новичок7 мин
Чтение текстового файла в строку на VB6: Open, Binary, FSO и UTF-8Visual Basic 6
Новичок8 мин
Список папок и файлов с подпапками в VB6: рекурсия через FSO и DirVisual Basic 6
Средний8 мин
Данные и привязка
Событие ItemDataBound в ASP.NET ListView: доступ к данным и контролам строкиItemDataBound вызывается для каждой строки ListView сразу после привязки данных. Это лучшее место, чтобы поменять оформление, спрятать кнопку или заполнить вложенный список по значению из записи.
Данные и привязка
Привязка GridView к LINQ to Entities: проекции, сортировка и постраничный выводEntity Framework позволяет отдать GridView результат LINQ-запроса вместо DataTable. Разбираем, как сделать это без утечек контекста, лишних колонок и выборки всей таблицы ради одной страницы.
WPF
WPF Menu с привязкой данных: меню из коллекции, команды и вложенные пунктыМеню, собранное вручную в XAML, неудобно, когда пункты зависят от прав пользователя или хранятся в базе. Покажем, как построить WPF Menu из коллекции объектов и связать пункты с командами.
ASP.NET
Архивирование нескольких файлов в ZIP в ASP.NET и отдача архива пользователюПользователь отметил десять отчётов и хочет скачать их одним файлом. Собираем ZIP-архив на лету, пишем его прямо в Response и не оставляем на диске сервера временного мусора.
Данные и привязка
Как загрузить DataSet из хранимой процедуры SQL ServerХранимая процедура плюс SqlDataAdapter это классический способ наполнить DataSet в приложениях на VB.NET. Показываем аккуратную версию кода: с Using, типизированными параметрами и несколькими таблицами.
Данные и привязка
OUTPUT-параметры хранимой процедуры SQL Server в ASP.NETХранимая процедура может вернуть не только набор строк, но и отдельные значения через OUTPUT-параметры. Разбираем, как объявить их в ADO.NET, когда читать результат и почему он бывает пустым.
GridView
Группировка строк в ASP.NET GridView: RowSpan и строки-заголовки группGridView не умеет группировать строки, но это легко добавить. Покажем два приёма: объединение повторяющихся ячеек через RowSpan и отдельную строку-заголовок над каждой группой с подсчётом итогов.
WPF
Привязка WPF TreeView к реляционному DataSet через HierarchicalDataTemplateВ WPF дереву не нужен XML-посредник: HierarchicalDataTemplate умеет ходить по DataRelation напрямую. Достаточно правильно назвать связь и сослаться на неё в привязке.
Данные и привязка
GroupTemplate в ASP.NET ListView: сетка из нескольких колонокКаталог в три колонки, галерея по четыре фото в ряд: такие сетки ListView строит сам через GroupTemplate. Разбираем, как работают плейсхолдеры, GroupItemCount и шаблон пустой ячейки.
GridView
Календарь в GridView: удобный ввод дат в режиме редактированияДата, введённая руками в TextBox, это постоянный источник ошибок: 03.04 или 04.03? Разбираем, как встроить в редактируемую строку GridView календарь и не запутаться в форматах.
GridView
Алфавитный пейджер для GridView: показываем записи по первой буквеСправочник клиентов или сотрудников удобнее листать не по номерам страниц, а по буквам, как телефонную книгу. Собираем такой пейджер над GridView без сторонних библиотек.
ASP.NET Ajax
Пользовательский серверный элемент Slider на ASP.NET AJAX: ScriptControl шаг за шагомГотовый SliderExtender не всегда подходит по виду и поведению. Разбираем, как написать свой ползунок как полноценный серверный элемент ASP.NET AJAX со свойствами, событием и клиентским классом.
VB.NET и WinForms
Как посчитать количество подпапок на VB.NETЧисло подпапок в каталоге VB.NET отдаёт одной строкой. Но при обходе всего дерева легко попасть на точки соединения, скрытые системные каталоги и бесконечные циклы. Покажем, как считать аккуратно.
WPF
AutoSuggest TextBox в WPF: подсказки из базы на VB.NETВ ASP.NET автодополнение даёт AutoCompleteExtender из AJAX Control Toolkit, а в WPF готового элемента нет. Соберём свой: TextBox, всплывающий список из DataTable, задержка без лишних потоков и управление с клавиатуры.
ASP.NET Ajax
Обработка ошибок в ASP.NET AJAX: UpdatePanel, ScriptManager и PageMethodsКогда исключение происходит в асинхронном постбэке, пользователь видит в лучшем случае alert с трассировкой, а в худшем ничего. Настраиваем внятную обработку ошибок на сервере и клиенте.
Данные и привязка
Постраничный вывод в ListView через DataPager при привязке из кодаС SqlDataSource связка ListView и DataPager работает сразу. Стоит привязать данные из code-behind, и страницы начинают переключаться со второго клика. Разбираем, почему так происходит и как это исправить.
ASP.NET Ajax
CheckBoxList в ASP.NET AJAX: «выбрать все», UpdatePanel и связанные спискиCheckBoxList удобен для множественного выбора, но с полным постбэком на каждую галочку пользоваться им мучительно. Разбираем, как сделать работу со списком быстрой и отзывчивой.
GridView
Нумерация строк GridView: RowIndex, DataItemIndex и пейджингКолонка «№ п/п» нужна почти в каждом отчёте, но хранить её в базе бессмысленно. Номер строки можно вычислить прямо в GridView, и сделать это так, чтобы он не сбивался на второй странице.
GridView
RowCommand в GridView: кнопки «Согласовать», «Активировать» и другиеКроме правки и удаления, строке таблицы часто нужны свои действия: согласовать заявку, заблокировать пользователя, отправить письмо. Всё это проходит через одно событие RowCommand.
ASP.NET
Rich Text Editor для ASP.NET своими руками: iframe, designMode и execCommandВизуальный редактор для комментариев или описаний товаров можно собрать за час на встроенных возможностях браузера. Разбираем, как он устроен и где у самодельного решения пределы.
WPF
WPF ListView в режиме GridView: колонки, шаблоны ячеек и сортировкаListView с представлением GridView это лёгкая таблица только для чтения: заголовки колонок, изменение ширины мышью и привязка к DataTable без отдельного пакета. Разберём разметку, шаблоны ячеек и сортировку.
ASP.NET
Загрузка изображений в базу через FileUpload и вывод через HttpHandlerФото сотрудника или товара можно хранить прямо в базе и показывать в GridView без единого файла на диске. Собираем цепочку: FileUpload, массив байтов, SQL и HttpHandler.
ASP.NET Ajax
Фильтрация GridView на ASP.NET AJAX: UpdatePanel, параметры и задержка вводаТаблица заказов на тысячу строк без фильтра бесполезна. Добавляем над GridView поле поиска и списки, которые обновляют таблицу через ASP.NET AJAX без мигания всей страницы.
JavaScript и CSS
Позиция курсора в TextBox на JavaScript: чтение, установка и вставка текстаВставить шаблон в место курсора, подсказать формат по мере ввода, вернуть каретку после маски: всё это начинается с вопроса «где сейчас курсор». Разбираем кроссбраузерный ответ.
WPF
Привязка WPF DataGrid к DataSet: от WPF Toolkit до .NET 4WPF DataGrid ближе всего к привычному GridView: колонки создаются автоматически, ячейки редактируются, строки сортируются щелчком по заголовку. Разберём, как привязать его к DataSet и вернуть правки в базу.
ASP.NET Ajax
Автодополнение в TextBox из базы данных: ASP.NET AJAX AutoCompleteExtenderПользователь набирает первые буквы, а под полем появляется список вариантов из базы. Собираем такое автодополнение на AJAX Control Toolkit и веб-методе страницы.
JavaScript и CSS
Каскадные выпадающие списки в ASP.NET на CascadingDropDown из AJAX Control ToolkitКатегория, затем товар; страна, затем город. Связанные списки без полной перезагрузки страницы в Web Forms проще всего собрать на CascadingDropDown и лёгком веб-сервисе ASMX.
Данные и привязка
ASP.NET Repeater и DataBind: примеры на Visual BasicRepeater самый лёгкий из списковых контролов ASP.NET: он не генерирует ни одного лишнего тега и выводит ровно ту разметку, которую вы описали в шаблонах. Разбираем привязку и события на примерах VB.NET.
Visual Basic 6
Калькулятор на Visual Basic 6 с массивами элементов управления (Control Arrays)Массивы элементов управления позволяют обработать десять цифровых кнопок одной процедурой. Разбираем приём на примере калькулятора и исправляем ошибки, которые прячутся в наивной версии.
VB.NET и WinForms
INI-файлы в VB.NET: чтение и запись через GetPrivateProfileStringВ .NET нет встроенного класса для INI-файлов, но Windows умеет работать с ними сама. Две API-функции и небольшая обёртка закрывают задачу настроек для WinForms-приложения.
VB.NET и WinForms
Как посчитать количество файлов в папке на VB.NETПосчитать файлы в папке на VB.NET можно одной строкой. Но на большом диске эта строка либо съест память, либо упадёт на первой закрытой папке. Разбираем, как считать надёжно.
GridView
Сортировка GridView с помощью DataView: по возрастанию и обратноAllowSorting="true" делает заголовки GridView ссылками, но сам ничего не сортирует. Разбираем, как довести сортировку до рабочего состояния с DataView и не наступить на типичные грабли.
Данные и привязка
Привязка ASP.NET TreeView к реляционным данным из DataSetTreeView не принимает DataTable напрямую: ему нужен иерархический источник. Разбираем, как без XSLT превратить две связанные таблицы в XML, который дерево понимает с первого раза.
GridView
Закрепляем заголовки и первую колонку GridView средствами CSSБольшая таблица без закреплённой шапки быстро превращается в кашу из цифр. Разбираем, как зафиксировать заголовки и первую колонку GridView, как Excel делает это с областями.
GridView
Итоговая строка GridView: суммы в подвале через DataTable.ComputeТаблица продаж без строки «Итого» заставляет пользователя складывать числа в уме. Метод DataTable.Compute считает сумму одной строкой, а подвал GridView показывает её под нужной колонкой.
VB.NET и WinForms
Поиск дубликатов файлов на VB.NET с помощью MD5-хешаПереименованный файл по имени не отличить от уникального, сравнивать нужно содержимое. Хеш MD5 превращает файл любого размера в короткий отпечаток, и поиск дубликатов сводится к сравнению строк.
WPF
WPF ListBox и DataTable: привязка данных и DataTemplateВ WPF нет привычных DataSource и DataBind. Вместо них работают DataContext, ItemsSource и шаблон элемента, и, разобравшись с ними один раз, вы сможете вывести таблицу из базы в ListBox в виде аккуратных карточек.
ASP.NET
Рекурсивный поиск элемента в ASP.NET: FindControl по всему деревуСтандартный FindControl ищет только внутри ближайшего контейнера имён и часто возвращает Nothing там, где элемент очевидно есть. Разберём, почему так происходит, и напишем корректный рекурсивный поиск.
WPF
Градиентная кнопка в WPF: свой шаблон, свечение текста и теньWPF позволяет оформить кнопку как на макете дизайнера: градиент, скругление, мягкая тень и светящийся текст. Всё это описывается стилем один раз и применяется ко всем кнопкам окна или приложения.
JavaScript и CSS
DateAdd и DateDiff на JavaScript: привычные функции VB в браузереВ VB дату сдвигают одной строкой DateAdd, а разницу считают DateDiff. В JavaScript таких функций нет, зато их несложно написать самому и не наступить на типичные грабли объекта Date.
ASP.NET
Как получить ответ веб-страницы через HttpWebRequest в ASP.NETИногда серверу нужно самому сходить на другой сайт: забрать HTML, курс валют или ответ API. Разбираем HttpWebRequest и подводные камни таких запросов.
ASP.NET
Как отправить письмо из ASP.NET с помощью SmtpClient и MailMessageУведомления, подтверждения, отчёты: почта остаётся главным каналом связи веб-приложения с людьми. Разбираем, как собрать и отправить письмо из ASP.NET штатными классами.
VB.NET и WinForms
Заполнение TreeView и ListBox в фоновом потоке на VB.NETДерево из десятков тысяч файлов строится минутами, и всё это время форма не отвечает. Разбираем, как вынести обход диска в фоновый поток и при этом не нарушить главное правило WinForms.
ASP.NET
Темы и скины в ASP.NET Web Forms: оформление сайта без копипастыТемы ASP.NET позволяют задать вид всех GridView, кнопок и полей ввода в одном месте и переключать оформление сайта целиком. Разбираем устройство тем, скины и смену темы на лету.
GridView
Динамическая колонка CheckBox в GridView: ITemplate, постбэки и «выбрать все»Колонку с флажками легко объявить в разметке, но иногда GridView строится целиком из кода. Разбираем, как добавить CheckBox через ITemplate так, чтобы отметки переживали постбэк.
ASP.NET
Как прочитать текстовый файл в строку в ASP.NETШаблон письма, справочник, лог или конфиг: веб-приложению постоянно нужно читать текст с диска. Сравниваем способы от однострочника до потокового чтения.
ASP.NET
Исключение при Response.Redirect: откуда ThreadAbortException и как его избежатьРедирект внутри блока Try в ASP.NET неожиданно попадает в Catch с сообщением «Thread was being aborted». Это не ошибка сервера, а штатное поведение Response.Redirect, и обходится оно одной строкой.
ASP.NET
Динамическое создание кнопок в ASP.NET Web Forms на VB.NETКнопка, созданная из кода, появляется на странице, но после нажатия исчезает, а событие Click не срабатывает. Разбираем, почему так происходит и как создавать элементы правильно.
ASP.NET
Шифрование секций web.config ключом RSA: aspnet_regiis и свой контейнер ключейСтрока подключения с паролем в открытом web.config видна любому, кто получил доступ к файлам сайта. Шифрование секций RSA-ключом убирает пароль из открытого текста, а приложение читает настройки как раньше.
GridView
Редактирование и удаление строк GridView через SqlDataSourceSqlDataSource позволяет включить правку и удаление строк GridView почти без кода. Разбираем, как связать команды с параметрами, где прячутся ошибки и как вмешаться в процесс из code-behind.
JavaScript и CSS
Div в одну строку как span: display inline, inline-block и floatБлоки div по умолчанию выстраиваются сверху вниз. Когда их нужно поставить в строку, на выбор есть три приёма CSS, и у каждого свои особенности поведения и старых браузеров.
JavaScript и CSS
Открываем всплывающее окно через window.open: параметры, блокировщики, безопасностьОкно выбора даты, справка к полю, печатная форма: в Web Forms-проектах всплывающие окна встречаются повсюду. Разбираем window.open так, чтобы окно открывалось, не блокировалось и не открывало дыру.
Visual Basic 6
Рекурсивный поиск файлов и текста внутри них на VB6: класс FileSearchСвой «поиск в файлах» на VB6: класс обходит дерево папок, фильтрует имена регулярным выражением и находит строки с нужным текстом, не замораживая интерфейс.
JavaScript и CSS
Запись cookie из JavaScript: функция SetCookie и её атрибутыCookie из JavaScript записывается одной строкой, но у этой строки есть формат и набор атрибутов. Собираем аккуратную функцию SetCookie и разбираем, почему cookie иногда «не сохраняется».
JavaScript и CSS
Trim на JavaScript: убираем пробелы по краям строки как в VBВ VB лишние пробелы убирает Trim, а в старых браузерах такого метода у строк не было. Пишем три функции с привычными именами и разбираемся, какие символы считать пробелом.
Visual Basic 6
Запись строки в текстовый файл на VB6: перезапись, дозапись и кодировкиСохранить строку в файл на VB6 можно тремя способами. Разбираем, чем они отличаются, как дописывать текст без перечитывания файла и как не потерять данные при ошибке.
JavaScript и CSS
Аналог VB Mid на JavaScript: вырезаем подстроку правильноВ VB подстроку вырезают функцией Mid, а в JavaScript для этого есть сразу три метода с похожими именами и разным поведением. Разбираем, какой из них брать и как не ошибиться на единицу.
Visual Basic 6
Чтение текстового файла построчно в Collection на VB6: фильтр по словам и RegExpНужна не весь файл, а только строки с ошибками или без комментариев? Собираем функцию, которая читает файл в Collection и сразу отбирает строки по словам или регулярному выражению.
GridView
Собственный пейджинг GridView через ObjectDataSource и ROW_NUMBERВстроенный AllowPaging с DataSet загружает всю таблицу ради 20 строк на экране. С ObjectDataSource и ROW_NUMBER база отдаёт только нужную страницу, и экран остаётся быстрым на миллионах записей.
Visual Basic 6
Как узнать свободное место на диске в VB6: FileSystemObject и GetDiskFreeSpaceExПеред записью большого файла или бэкапа программе стоит проверить, хватит ли места. В VB6 это делается одной строкой через FileSystemObject или вызовом Windows API.
Данные и привязка
Как сделать Distinct по DataTable с помощью DataView.ToTableНужно получить уникальные значения из DataTable, а в базу за ними идти уже поздно? С .NET 2.0 для этого есть встроенный метод, и самописная сортировка с удалением дублей больше не нужна.
GridView
Пагинация GridView: от AllowPaging до выборки страницы в SQLТысяча строк в одной таблице грузится долго и читается плохо. Разбираем встроенную пагинацию GridView, её скрытую цену и способ отдавать из базы только нужную страницу.
GridView
GridView с шаблонами и CSS-стилями: от BoundField к TemplateFieldBoundField хорош для простого вывода, но в реальной админке нужны выпадающие списки, флажки, свои кнопки и аккуратный внешний вид. Всё это дают шаблонные колонки и CSS-классы.
ASP.NET
Экспорт таблицы в Excel из ASP.NET: Content-Disposition и GridViewПользователи рано или поздно просят кнопку «Выгрузить в Excel». Разбираем самый простой способ отдать таблицу из ASP.NET, не ставя на сервер ни Office, ни сторонних библиотек.
VB.NET и WinForms
Как получить список баз данных SQL Server из VB.NETЭкран подключения к базе почти всегда просит выбрать сервер и базу из списка. В VB.NET список баз SQL Server получают одним запросом, но выбор способа влияет на права, версии и скорость.
VB.NET и WinForms
Папка Windows и другие системные пути в VB.NETПуть C:\Windows нельзя зашивать в код: система может стоять на другом диске или в папке WINNT. В VB.NET правильный путь получают одной строкой, но вариантов несколько, и у каждого свои особенности.
VB.NET и WinForms
Подсветка синтаксиса Visual Basic средствами VB.NET и регулярных выраженийЧтобы показать VB-код на сайте с цветными ключевыми словами, строками и комментариями, не нужна сторонняя библиотека. Достаточно одного регулярного выражения с именованными группами и аккуратного вывода в HTML.
Visual Basic 6
Как распространять VB6-приложение, использующее Excel: ссылки, позднее связывание, версии OfficeПрограмма с выгрузкой в Excel отлично работает у разработчика и падает у пользователя с другой версией Office. Разбираем, как устроена ссылка на библиотеку Excel и как сделать дистрибутив, независимый от версии.
GridView
Первый GridView: выводим таблицу из SQL Server в ASP.NETМинимальный рабочий пример: кнопка на странице, запрос к базе Northwind и таблица GridView с результатом. Плюс то, что обычно опускают в «hello world»: Using, web.config и IsPostBack.
Visual Basic 6
Экспорт данных из VB6 в Excel: запись ячеек, форматирование и сохранениеВыгрузка в Excel остаётся самым востребованным отчётом в старых VB6-программах. Код на десять строк пишется быстро, а вот медленная запись и «зависшие» процессы Excel всплывают уже у пользователей.
Visual Basic 6
Отправка письма из VB6 через CDO: SMTP-сервер, авторизация и вложенияCDO есть в каждой Windows начиная с 2000, поэтому письмо из VB6 можно отправить без сторонних компонентов. Главное правильно заполнить конфигурацию SMTP и не забыть про кодировку.
Visual Basic 6
HTTP-запросы из VB6 через MSXML2.XMLHTTP и ServerXMLHTTP: GET, POST, загрузка файловКомпонент MSXML превращает VB6 в простой HTTP-клиент: можно скачать страницу, вызвать API или отправить форму. Разберём рабочие примеры и грабли, на которые наступает почти каждый.
Visual Basic 6
Как сохранить Collection в текстовый файл на VB6 и загрузить обратноCollection в VB6 удобна как список строк в памяти: имена файлов, ошибки, результаты проверки. Рано или поздно её нужно сохранить на диск. Разберём функцию, которая делает это аккуратно.
Visual Basic 6
Чтение текстового файла в строку на VB6: Open, Binary, FSO и UTF-8Загрузить файл целиком в String нужно для разбора конфигов, шаблонов и логов. В VB6 для этого есть несколько способов, и они заметно различаются скоростью, кодировками и поведением на краях.
Visual Basic 6
Список папок и файлов с подпапками в VB6: рекурсия через FSO и DirСканирование каталога с подпапками нужно в бэкапе, поиске, импорте и чистке временных файлов. В VB6 нет готовой функции, поэтому пишем рекурсию сами и учитываем подводные камни файловой системы.
Событие ItemDataBound в ASP.NET ListView: доступ к данным и контролам строкиItemDataBound вызывается для каждой строки ListView сразу после привязки данных. Это лучшее место, чтобы поменять оформление, спрятать кнопку или заполнить вложенный список по значению из записи.
Данные и привязка
Привязка GridView к LINQ to Entities: проекции, сортировка и постраничный выводEntity Framework позволяет отдать GridView результат LINQ-запроса вместо DataTable. Разбираем, как сделать это без утечек контекста, лишних колонок и выборки всей таблицы ради одной страницы.
WPF
WPF Menu с привязкой данных: меню из коллекции, команды и вложенные пунктыМеню, собранное вручную в XAML, неудобно, когда пункты зависят от прав пользователя или хранятся в базе. Покажем, как построить WPF Menu из коллекции объектов и связать пункты с командами.
ASP.NET
Архивирование нескольких файлов в ZIP в ASP.NET и отдача архива пользователюПользователь отметил десять отчётов и хочет скачать их одним файлом. Собираем ZIP-архив на лету, пишем его прямо в Response и не оставляем на диске сервера временного мусора.
Данные и привязка
Как загрузить DataSet из хранимой процедуры SQL ServerХранимая процедура плюс SqlDataAdapter это классический способ наполнить DataSet в приложениях на VB.NET. Показываем аккуратную версию кода: с Using, типизированными параметрами и несколькими таблицами.
Данные и привязка
OUTPUT-параметры хранимой процедуры SQL Server в ASP.NETХранимая процедура может вернуть не только набор строк, но и отдельные значения через OUTPUT-параметры. Разбираем, как объявить их в ADO.NET, когда читать результат и почему он бывает пустым.
GridView
Группировка строк в ASP.NET GridView: RowSpan и строки-заголовки группGridView не умеет группировать строки, но это легко добавить. Покажем два приёма: объединение повторяющихся ячеек через RowSpan и отдельную строку-заголовок над каждой группой с подсчётом итогов.
WPF
Привязка WPF TreeView к реляционному DataSet через HierarchicalDataTemplateВ WPF дереву не нужен XML-посредник: HierarchicalDataTemplate умеет ходить по DataRelation напрямую. Достаточно правильно назвать связь и сослаться на неё в привязке.
Данные и привязка
GroupTemplate в ASP.NET ListView: сетка из нескольких колонокКаталог в три колонки, галерея по четыре фото в ряд: такие сетки ListView строит сам через GroupTemplate. Разбираем, как работают плейсхолдеры, GroupItemCount и шаблон пустой ячейки.
GridView
Календарь в GridView: удобный ввод дат в режиме редактированияДата, введённая руками в TextBox, это постоянный источник ошибок: 03.04 или 04.03? Разбираем, как встроить в редактируемую строку GridView календарь и не запутаться в форматах.
GridView
Алфавитный пейджер для GridView: показываем записи по первой буквеСправочник клиентов или сотрудников удобнее листать не по номерам страниц, а по буквам, как телефонную книгу. Собираем такой пейджер над GridView без сторонних библиотек.
ASP.NET Ajax
Пользовательский серверный элемент Slider на ASP.NET AJAX: ScriptControl шаг за шагомГотовый SliderExtender не всегда подходит по виду и поведению. Разбираем, как написать свой ползунок как полноценный серверный элемент ASP.NET AJAX со свойствами, событием и клиентским классом.
VB.NET и WinForms
Как посчитать количество подпапок на VB.NETЧисло подпапок в каталоге VB.NET отдаёт одной строкой. Но при обходе всего дерева легко попасть на точки соединения, скрытые системные каталоги и бесконечные циклы. Покажем, как считать аккуратно.
WPF
AutoSuggest TextBox в WPF: подсказки из базы на VB.NETВ ASP.NET автодополнение даёт AutoCompleteExtender из AJAX Control Toolkit, а в WPF готового элемента нет. Соберём свой: TextBox, всплывающий список из DataTable, задержка без лишних потоков и управление с клавиатуры.
ASP.NET Ajax
Обработка ошибок в ASP.NET AJAX: UpdatePanel, ScriptManager и PageMethodsКогда исключение происходит в асинхронном постбэке, пользователь видит в лучшем случае alert с трассировкой, а в худшем ничего. Настраиваем внятную обработку ошибок на сервере и клиенте.
Данные и привязка
Постраничный вывод в ListView через DataPager при привязке из кодаС SqlDataSource связка ListView и DataPager работает сразу. Стоит привязать данные из code-behind, и страницы начинают переключаться со второго клика. Разбираем, почему так происходит и как это исправить.
ASP.NET Ajax
CheckBoxList в ASP.NET AJAX: «выбрать все», UpdatePanel и связанные спискиCheckBoxList удобен для множественного выбора, но с полным постбэком на каждую галочку пользоваться им мучительно. Разбираем, как сделать работу со списком быстрой и отзывчивой.
GridView
Нумерация строк GridView: RowIndex, DataItemIndex и пейджингКолонка «№ п/п» нужна почти в каждом отчёте, но хранить её в базе бессмысленно. Номер строки можно вычислить прямо в GridView, и сделать это так, чтобы он не сбивался на второй странице.
GridView
RowCommand в GridView: кнопки «Согласовать», «Активировать» и другиеКроме правки и удаления, строке таблицы часто нужны свои действия: согласовать заявку, заблокировать пользователя, отправить письмо. Всё это проходит через одно событие RowCommand.
ASP.NET
Rich Text Editor для ASP.NET своими руками: iframe, designMode и execCommandВизуальный редактор для комментариев или описаний товаров можно собрать за час на встроенных возможностях браузера. Разбираем, как он устроен и где у самодельного решения пределы.
WPF
WPF ListView в режиме GridView: колонки, шаблоны ячеек и сортировкаListView с представлением GridView это лёгкая таблица только для чтения: заголовки колонок, изменение ширины мышью и привязка к DataTable без отдельного пакета. Разберём разметку, шаблоны ячеек и сортировку.
ASP.NET
Загрузка изображений в базу через FileUpload и вывод через HttpHandlerФото сотрудника или товара можно хранить прямо в базе и показывать в GridView без единого файла на диске. Собираем цепочку: FileUpload, массив байтов, SQL и HttpHandler.
ASP.NET Ajax
Фильтрация GridView на ASP.NET AJAX: UpdatePanel, параметры и задержка вводаТаблица заказов на тысячу строк без фильтра бесполезна. Добавляем над GridView поле поиска и списки, которые обновляют таблицу через ASP.NET AJAX без мигания всей страницы.
JavaScript и CSS
Позиция курсора в TextBox на JavaScript: чтение, установка и вставка текстаВставить шаблон в место курсора, подсказать формат по мере ввода, вернуть каретку после маски: всё это начинается с вопроса «где сейчас курсор». Разбираем кроссбраузерный ответ.
WPF
Привязка WPF DataGrid к DataSet: от WPF Toolkit до .NET 4WPF DataGrid ближе всего к привычному GridView: колонки создаются автоматически, ячейки редактируются, строки сортируются щелчком по заголовку. Разберём, как привязать его к DataSet и вернуть правки в базу.
ASP.NET Ajax
Автодополнение в TextBox из базы данных: ASP.NET AJAX AutoCompleteExtenderПользователь набирает первые буквы, а под полем появляется список вариантов из базы. Собираем такое автодополнение на AJAX Control Toolkit и веб-методе страницы.
JavaScript и CSS
Каскадные выпадающие списки в ASP.NET на CascadingDropDown из AJAX Control ToolkitКатегория, затем товар; страна, затем город. Связанные списки без полной перезагрузки страницы в Web Forms проще всего собрать на CascadingDropDown и лёгком веб-сервисе ASMX.
Данные и привязка
ASP.NET Repeater и DataBind: примеры на Visual BasicRepeater самый лёгкий из списковых контролов ASP.NET: он не генерирует ни одного лишнего тега и выводит ровно ту разметку, которую вы описали в шаблонах. Разбираем привязку и события на примерах VB.NET.
Visual Basic 6
Калькулятор на Visual Basic 6 с массивами элементов управления (Control Arrays)Массивы элементов управления позволяют обработать десять цифровых кнопок одной процедурой. Разбираем приём на примере калькулятора и исправляем ошибки, которые прячутся в наивной версии.
VB.NET и WinForms
INI-файлы в VB.NET: чтение и запись через GetPrivateProfileStringВ .NET нет встроенного класса для INI-файлов, но Windows умеет работать с ними сама. Две API-функции и небольшая обёртка закрывают задачу настроек для WinForms-приложения.
VB.NET и WinForms
Как посчитать количество файлов в папке на VB.NETПосчитать файлы в папке на VB.NET можно одной строкой. Но на большом диске эта строка либо съест память, либо упадёт на первой закрытой папке. Разбираем, как считать надёжно.
GridView
Сортировка GridView с помощью DataView: по возрастанию и обратноAllowSorting="true" делает заголовки GridView ссылками, но сам ничего не сортирует. Разбираем, как довести сортировку до рабочего состояния с DataView и не наступить на типичные грабли.
Данные и привязка
Привязка ASP.NET TreeView к реляционным данным из DataSetTreeView не принимает DataTable напрямую: ему нужен иерархический источник. Разбираем, как без XSLT превратить две связанные таблицы в XML, который дерево понимает с первого раза.
GridView
Закрепляем заголовки и первую колонку GridView средствами CSSБольшая таблица без закреплённой шапки быстро превращается в кашу из цифр. Разбираем, как зафиксировать заголовки и первую колонку GridView, как Excel делает это с областями.
GridView
Итоговая строка GridView: суммы в подвале через DataTable.ComputeТаблица продаж без строки «Итого» заставляет пользователя складывать числа в уме. Метод DataTable.Compute считает сумму одной строкой, а подвал GridView показывает её под нужной колонкой.
VB.NET и WinForms
Поиск дубликатов файлов на VB.NET с помощью MD5-хешаПереименованный файл по имени не отличить от уникального, сравнивать нужно содержимое. Хеш MD5 превращает файл любого размера в короткий отпечаток, и поиск дубликатов сводится к сравнению строк.
WPF
WPF ListBox и DataTable: привязка данных и DataTemplateВ WPF нет привычных DataSource и DataBind. Вместо них работают DataContext, ItemsSource и шаблон элемента, и, разобравшись с ними один раз, вы сможете вывести таблицу из базы в ListBox в виде аккуратных карточек.
ASP.NET
Рекурсивный поиск элемента в ASP.NET: FindControl по всему деревуСтандартный FindControl ищет только внутри ближайшего контейнера имён и часто возвращает Nothing там, где элемент очевидно есть. Разберём, почему так происходит, и напишем корректный рекурсивный поиск.
WPF
Градиентная кнопка в WPF: свой шаблон, свечение текста и теньWPF позволяет оформить кнопку как на макете дизайнера: градиент, скругление, мягкая тень и светящийся текст. Всё это описывается стилем один раз и применяется ко всем кнопкам окна или приложения.
JavaScript и CSS
DateAdd и DateDiff на JavaScript: привычные функции VB в браузереВ VB дату сдвигают одной строкой DateAdd, а разницу считают DateDiff. В JavaScript таких функций нет, зато их несложно написать самому и не наступить на типичные грабли объекта Date.
ASP.NET
Как получить ответ веб-страницы через HttpWebRequest в ASP.NETИногда серверу нужно самому сходить на другой сайт: забрать HTML, курс валют или ответ API. Разбираем HttpWebRequest и подводные камни таких запросов.
ASP.NET
Как отправить письмо из ASP.NET с помощью SmtpClient и MailMessageУведомления, подтверждения, отчёты: почта остаётся главным каналом связи веб-приложения с людьми. Разбираем, как собрать и отправить письмо из ASP.NET штатными классами.
VB.NET и WinForms
Заполнение TreeView и ListBox в фоновом потоке на VB.NETДерево из десятков тысяч файлов строится минутами, и всё это время форма не отвечает. Разбираем, как вынести обход диска в фоновый поток и при этом не нарушить главное правило WinForms.
ASP.NET
Темы и скины в ASP.NET Web Forms: оформление сайта без копипастыТемы ASP.NET позволяют задать вид всех GridView, кнопок и полей ввода в одном месте и переключать оформление сайта целиком. Разбираем устройство тем, скины и смену темы на лету.
GridView
Динамическая колонка CheckBox в GridView: ITemplate, постбэки и «выбрать все»Колонку с флажками легко объявить в разметке, но иногда GridView строится целиком из кода. Разбираем, как добавить CheckBox через ITemplate так, чтобы отметки переживали постбэк.
ASP.NET
Как прочитать текстовый файл в строку в ASP.NETШаблон письма, справочник, лог или конфиг: веб-приложению постоянно нужно читать текст с диска. Сравниваем способы от однострочника до потокового чтения.
ASP.NET
Исключение при Response.Redirect: откуда ThreadAbortException и как его избежатьРедирект внутри блока Try в ASP.NET неожиданно попадает в Catch с сообщением «Thread was being aborted». Это не ошибка сервера, а штатное поведение Response.Redirect, и обходится оно одной строкой.
ASP.NET
Динамическое создание кнопок в ASP.NET Web Forms на VB.NETКнопка, созданная из кода, появляется на странице, но после нажатия исчезает, а событие Click не срабатывает. Разбираем, почему так происходит и как создавать элементы правильно.
ASP.NET
Шифрование секций web.config ключом RSA: aspnet_regiis и свой контейнер ключейСтрока подключения с паролем в открытом web.config видна любому, кто получил доступ к файлам сайта. Шифрование секций RSA-ключом убирает пароль из открытого текста, а приложение читает настройки как раньше.
GridView
Редактирование и удаление строк GridView через SqlDataSourceSqlDataSource позволяет включить правку и удаление строк GridView почти без кода. Разбираем, как связать команды с параметрами, где прячутся ошибки и как вмешаться в процесс из code-behind.
JavaScript и CSS
Div в одну строку как span: display inline, inline-block и floatБлоки div по умолчанию выстраиваются сверху вниз. Когда их нужно поставить в строку, на выбор есть три приёма CSS, и у каждого свои особенности поведения и старых браузеров.
JavaScript и CSS
Открываем всплывающее окно через window.open: параметры, блокировщики, безопасностьОкно выбора даты, справка к полю, печатная форма: в Web Forms-проектах всплывающие окна встречаются повсюду. Разбираем window.open так, чтобы окно открывалось, не блокировалось и не открывало дыру.
Visual Basic 6
Рекурсивный поиск файлов и текста внутри них на VB6: класс FileSearchСвой «поиск в файлах» на VB6: класс обходит дерево папок, фильтрует имена регулярным выражением и находит строки с нужным текстом, не замораживая интерфейс.
JavaScript и CSS
Запись cookie из JavaScript: функция SetCookie и её атрибутыCookie из JavaScript записывается одной строкой, но у этой строки есть формат и набор атрибутов. Собираем аккуратную функцию SetCookie и разбираем, почему cookie иногда «не сохраняется».
JavaScript и CSS
Trim на JavaScript: убираем пробелы по краям строки как в VBВ VB лишние пробелы убирает Trim, а в старых браузерах такого метода у строк не было. Пишем три функции с привычными именами и разбираемся, какие символы считать пробелом.
Visual Basic 6
Запись строки в текстовый файл на VB6: перезапись, дозапись и кодировкиСохранить строку в файл на VB6 можно тремя способами. Разбираем, чем они отличаются, как дописывать текст без перечитывания файла и как не потерять данные при ошибке.
JavaScript и CSS
Аналог VB Mid на JavaScript: вырезаем подстроку правильноВ VB подстроку вырезают функцией Mid, а в JavaScript для этого есть сразу три метода с похожими именами и разным поведением. Разбираем, какой из них брать и как не ошибиться на единицу.
Visual Basic 6
Чтение текстового файла построчно в Collection на VB6: фильтр по словам и RegExpНужна не весь файл, а только строки с ошибками или без комментариев? Собираем функцию, которая читает файл в Collection и сразу отбирает строки по словам или регулярному выражению.
GridView
Собственный пейджинг GridView через ObjectDataSource и ROW_NUMBERВстроенный AllowPaging с DataSet загружает всю таблицу ради 20 строк на экране. С ObjectDataSource и ROW_NUMBER база отдаёт только нужную страницу, и экран остаётся быстрым на миллионах записей.
Visual Basic 6
Как узнать свободное место на диске в VB6: FileSystemObject и GetDiskFreeSpaceExПеред записью большого файла или бэкапа программе стоит проверить, хватит ли места. В VB6 это делается одной строкой через FileSystemObject или вызовом Windows API.
Данные и привязка
Как сделать Distinct по DataTable с помощью DataView.ToTableНужно получить уникальные значения из DataTable, а в базу за ними идти уже поздно? С .NET 2.0 для этого есть встроенный метод, и самописная сортировка с удалением дублей больше не нужна.
GridView
Пагинация GridView: от AllowPaging до выборки страницы в SQLТысяча строк в одной таблице грузится долго и читается плохо. Разбираем встроенную пагинацию GridView, её скрытую цену и способ отдавать из базы только нужную страницу.
GridView
GridView с шаблонами и CSS-стилями: от BoundField к TemplateFieldBoundField хорош для простого вывода, но в реальной админке нужны выпадающие списки, флажки, свои кнопки и аккуратный внешний вид. Всё это дают шаблонные колонки и CSS-классы.
ASP.NET
Экспорт таблицы в Excel из ASP.NET: Content-Disposition и GridViewПользователи рано или поздно просят кнопку «Выгрузить в Excel». Разбираем самый простой способ отдать таблицу из ASP.NET, не ставя на сервер ни Office, ни сторонних библиотек.
VB.NET и WinForms
Как получить список баз данных SQL Server из VB.NETЭкран подключения к базе почти всегда просит выбрать сервер и базу из списка. В VB.NET список баз SQL Server получают одним запросом, но выбор способа влияет на права, версии и скорость.
VB.NET и WinForms
Папка Windows и другие системные пути в VB.NETПуть C:\Windows нельзя зашивать в код: система может стоять на другом диске или в папке WINNT. В VB.NET правильный путь получают одной строкой, но вариантов несколько, и у каждого свои особенности.
VB.NET и WinForms
Подсветка синтаксиса Visual Basic средствами VB.NET и регулярных выраженийЧтобы показать VB-код на сайте с цветными ключевыми словами, строками и комментариями, не нужна сторонняя библиотека. Достаточно одного регулярного выражения с именованными группами и аккуратного вывода в HTML.
Visual Basic 6
Как распространять VB6-приложение, использующее Excel: ссылки, позднее связывание, версии OfficeПрограмма с выгрузкой в Excel отлично работает у разработчика и падает у пользователя с другой версией Office. Разбираем, как устроена ссылка на библиотеку Excel и как сделать дистрибутив, независимый от версии.
GridView
Первый GridView: выводим таблицу из SQL Server в ASP.NETМинимальный рабочий пример: кнопка на странице, запрос к базе Northwind и таблица GridView с результатом. Плюс то, что обычно опускают в «hello world»: Using, web.config и IsPostBack.
Visual Basic 6
Экспорт данных из VB6 в Excel: запись ячеек, форматирование и сохранениеВыгрузка в Excel остаётся самым востребованным отчётом в старых VB6-программах. Код на десять строк пишется быстро, а вот медленная запись и «зависшие» процессы Excel всплывают уже у пользователей.
Visual Basic 6
Отправка письма из VB6 через CDO: SMTP-сервер, авторизация и вложенияCDO есть в каждой Windows начиная с 2000, поэтому письмо из VB6 можно отправить без сторонних компонентов. Главное правильно заполнить конфигурацию SMTP и не забыть про кодировку.
Visual Basic 6
HTTP-запросы из VB6 через MSXML2.XMLHTTP и ServerXMLHTTP: GET, POST, загрузка файловКомпонент MSXML превращает VB6 в простой HTTP-клиент: можно скачать страницу, вызвать API или отправить форму. Разберём рабочие примеры и грабли, на которые наступает почти каждый.
Visual Basic 6
Как сохранить Collection в текстовый файл на VB6 и загрузить обратноCollection в VB6 удобна как список строк в памяти: имена файлов, ошибки, результаты проверки. Рано или поздно её нужно сохранить на диск. Разберём функцию, которая делает это аккуратно.
Visual Basic 6
Чтение текстового файла в строку на VB6: Open, Binary, FSO и UTF-8Загрузить файл целиком в String нужно для разбора конфигов, шаблонов и логов. В VB6 для этого есть несколько способов, и они заметно различаются скоростью, кодировками и поведением на краях.
Visual Basic 6
Список папок и файлов с подпапками в VB6: рекурсия через FSO и DirСканирование каталога с подпапками нужно в бэкапе, поиске, импорте и чистке временных файлов. В VB6 нет готовой функции, поэтому пишем рекурсию сами и учитываем подводные камни файловой системы.
Ничего не нашлось. Сбросьте фильтр или попробуйте поиск по всей базе.