Электронный журнал
Продвижение сайта: вопросы подписчиков, ответы экспертов
Как получить доход при помощи Интернета? Решая эту проблему, Вы столкнетесь с десятками вопросов, ответ на которые может дать только опыт. Опыт экспертов "Продвижения" уникален, за плечами каждого из них десятки успешных проектов.
Вы сможете задать любые вопросы экспертам, тем самым привлечь их знания для успешного продвижения Вашего бизнеса в сети Интернет.
Понимание XML - Узнайте, как Расширяемый язык разметки (Extensible Markup Language - XML) облегчает универсальный доступ к данным. XML — основанный на Unicode метаязык: язык для описания языков разметки. Он не привязан ни к одному языку программирования, операционной системе или поставщику программного обеспечения. XML обеспечивает доступ к огромному количеству технологий по манипулированию, структурированию, трансформированию и запрашиванию данных.
Понимание WS-Security - D этой статье рассматривается, как использовать WS-Security для создания встроенной системы безопасности в самом SOAP сообщении, и затрагиваемые WS-Security вопросы: идентификация, цифровые подписи и шифрование.
Простой ListBox - От автора:Попытка реализовать ListBox средствами VB. Контрол никак не претендует на завершённый готовый программный компонент, а лишь выступает как возможная основа для создания такого, хотя он вполне работоспособен. (исходник) Особенности: -в основе лежит колекция, поэтому индекс первого элемента 1, а не 0. -поддерживает множественное выделение (только Extended). -скорость добавления при Sorted = False и InstantlyRefresh = False практически не уступает стандартному элементу VB.
ХудМеню - От автора:Для запуска: После раскрытия архива Menu.zip, запустить файл RegisterControls.bat. После регистрации запускайте проект ButtMenu.vbp и работайте: &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Замечания!!! В DesignTime можно создавать только трехмерное меню. (ограничения: 1 - не более 27 строк в меню, 2 - не более 27 меню на объекте, включая главное и все субменю. В DesignTime основные параметры в свойстве "Custom". Два интерфейса - английский и русский. Практически все параметры настраиваются как в DesignTime, так и в RunTime режимах для каждой строки меню (от подъема картинки с отбрасыванием тени и усилением цвета до высоты и ширины шрифта строки меню...). При работе с колорчеками на PropertyPages: - левая кнопка мыши пользовательские цвет; - правая кнопка
- системные цвета. При выводе в RunTime методом TrackMenu (если не автомат флаги ниже). Флаги: Private Const TPM_CENTERALIGN = &H4& Private Const TPM_LEFTALIGN = &H0& Private Const TPM_RIGHTALIGN = &H8& В DesignTime создание подменю (Submenu) В ProperyPage текущего меню установите флажок Подменю(Submenu) в True. Перейти на следующую ProperyPage и добавить в Подменю строки меню и т. д. Значек раскрытия расширенного меню появляется в первом Меню если в нем присутствует хотя бы одна невидимая строка в меню. При щелчке на этой строке меню выводится расширенное меню включая невидимые строки. Во всех субменю данного меню все невидимые строки также становятся видимыми. Если строка невидима и содержит короткую клавишу, то она при нажатии данной комбинации клавиш посылает событие этого меню... Зона Label в каждом меню формируется только в том случае, если свойство Label меню содержит строку. Шрифт
соответствует наименованию шрифта кнопки меню. Исключение MS Sans Serif преобразуется в Arial. Высота и ширина строки меню формируется автоматически в зависимости от ширины и высоты картинки, текста, картинки чека и картинки строки. Остальное (надеюсь) интуитивно понятно! Вопросы: aven@awax.ru Анатолий P.S. С регистрацией пока ни на одном компьютере не было проблем...
Editor - От автора:Простой пример, показывающий возможность сохранения параметров программы для удобства юзера, на примере текстового редактора. Параметры сохраняются в файле "c:\config.ini".
E-mail - От автора:Просто красивый анонимный почтовик :) Интерфейс в стиле XP (серебристый) От User Unknown: Простой почтовик (отправляльщик). Без поддержки вложений.
Unlimitrd Progress - От автора:Иногда невозможно определить процент выполнения действия. А вывести прогресс выполнения надо! Это пример демонстрирует простейший способ рисования прогресса на PictureBox при помощи стандартных средств VB с градиентной заливкой, которая зависит от времени выполнения. Лично мне не нравится зеленый цвет, поэтому я закомментировал эту строку. От User Unknown: Вылетает в конце заполнения:) А так.. очень симпатично.
SHBrowseForFolder - От автора:Это доработка предыдущей версии, уже лежащей на сайте. К возможности задавать начальную папку обзора и список разрешённых файловых расширений добавлены: - задание пользовательского заголовка всего диалога, - возможность придать диалогу любой размер по желанию, - возможность центрировать диалог на экране, - возможность сделать диалог "always on top". Пример вызова для наглядной иллюстрации: Sub Main() Dim st As String st = fBrowseForFolder(hWnd_Owner:=0&, _ sPrompt:="Выберите папку, содержащую файлы *.bat и *.sys:", _ WhatBr:=BIF_RETURNONLYFSDIRS Or BIF_STATUSTEXT, _ DialogTitle:="Модифицированный диалог выбора папки", _ initDir:="C:\", _ fileMasks:="*.bat|*.sys", _ ChangeSize:=True, _ RatioX:=1.4, _ RatioY:=1.7, _ CenterOnScreen:=True, _ TopMost:=True) If Len(st)
> 0 Then MsgBox "Вы выбрали папку:" + vbCr + st, vbInformation, "Информация" End Sub От User Unknown:Действительно хорошо переработанный и изменившийся в лучшую сторону диалог выбора папки.
.NET
Как сменить иконку на форме во время выполнения программы?
Ответы:
Автор: Павел
Смотрите свойство Icon формы.
Создать экземпляр класса Icon можно несколькими способами: он имеет 6
перегруженных конструкторов. В частности, можно создать Icon на основе
данных из Stream'а, или загрузить из файла.
Как сделать так, чтобы таймер в порядке убывания отсчитывал какой-то промежуток времени, и всё это время куда-то выводил результат о том, сколько времени осталось?
Создай отдельный модуль и загони в него эти две фукции:
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Public Function GetValue(File As String, Section As String, Key As String, Default As String) As String
Static Temp As String * 256, Length As Integer
Temp = Space$(256)
Length = GetPrivateProfileString(Section, Key, Default, Temp, 255, File)
GetValue = Left$(Temp, Length)
End Function
Public Sub SetValue(ByVal File As String, Section As String, Key As String, Value As String)
Static N As Integer, Temp As String
For N = 1 To Len(Value)
If Mid$(Value, N, 1) = vbCr Or Mid$(Value, N, 1) = vbLf Then Mid$(Value, N) = " "
Next N
Temp = Value
N = WritePrivateProfileString(Section, Key, Temp, File)
End Sub
Объясняю, как пользоваться.
Функция GetValue вытаскивает из ini-файла значение, а метод SetValue наоборот записывает.
В функции при указании раздела не нужно писать квадратные скобки "[...]".
Если возникнут проблемы, пиши мне
mailto:morion@ufacom.ru?subject=inifiles_help
Вопрос:
Задумал такую фишку. В форму встраивается объект "Лист Microsoft Excel". В ячейки его активного листа программно пишется что надо. Затем объект сохраняется в файле. И вот что получается. "Свойства" файла и быстрый просмотр показывают, что это вроде как полноценная электронная таблица с правильными данными. Но вот открыть её не получается: посте открытия... пусто (в смысле - книга не открывается).
В чём дело?
А как ты с Excel'ем работаешь: через OLE или его ObjectModel? У меня такое бывало, но точно отследить не получилось. Глючит в разные моменты. Исправлялось только удаление Excel как процесса.
Вопрос:
Вопрос по VB .NET. Есть примерно такой код:
Private Sub b00_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b00.Click, b01.Click, b02.Click
'здесь идёт код
End Sub
Вопрос: как реализовать доступ к свойствам конкретного обьекта (b00, b01, b02) через sender?
Если не не изменяет памать (я надеюсь), то доступ к свойствам будет выглядеть так sender.text="XXX".
Если VB пишет ошибку то необходимо проверить правильность типов.
dim aa as system.windows.forms.button
aa = ctype(sender, system.windows.forms.button)
aa.text = "sadsadsdadas"
Ну все зависит от того, к к какому типу относятся эти контролы. В самом простом случае:
Messagebox.Show ((Ctype(sender, Button).Text)
То есть, нужно просто напросто воспользоваться функцией CType для приведения объекта к нужному типу. Правда, перед этим неплохо бы проверить, является ли этот объект именно кнопкой, конструкцией
Для того, чтобы реализовать доступ к свойствам конкретного обьекта (b00, b01, b02) через sender, нужно сделать следующее:
Private Sub b00_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles b00.Click, b01.Click, b02.Click
Dim Btn As Button
Btn = sender
...
End Sub
База на Acces 2000. Доступ к базе на VB6 через DAO 3.6. 5 машин максимум одноврнменно работают.Всё нормально работает . Но через неопределённое время при попытки записи выдаёт сообщение: "Обновление невозможно. База открыта в
монопольном доступе на такой-то машине". Закрыл программу на данной машине, открыл снова: всё нормально продолжает работать.
В чём проблема?
Public XX As Single
Public YY As Single
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
XX = X
YY = Y
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Image1.Left = Image1.Left + (X - XX)
Image1.Top = Image1.Top - (YY - Y)
End Sub
Вопрос:
Как можно програмно создать источник данных ODBC? Есть прога, которая работает с базой данных mdb через ADO, и при установке на новый комп нужно руками создавать источник данных прежде чем работать... Как бы это исправить?
А чего ADO не подходит? ODBC давно устарело. По сабжу: делал когда-то такое, просто записывал то, что мне нужно, в реестр. Если нужно, могу выслать код.
Очень просто!
Когда создаёшь екзешник, то всовываешь туда свою БД и назначаешь ей App.Path. А в программе в ConnectionString пишешь App.Path & "\имя твоей БД" Ещё можно при инициализации программы поверить существование файла, если его нет, открываешь диалоговое окно для обозначения директории, в которой лежит БД.
Вопрос:
Как компилировать программы в VB.NET? Слышал, что нужно сояздавать многомеговый инсталятор с множеством библиотек чтобы программу можно было запустить на другом компе. Вопрос: Как создавать инсталятор и какие библиотеки нудно туда добавить (как)?
P.S. Microsoft Visual Studio.NET 8 (2004) Enterprise Architect 8CD.
Просто для запуска нужен .Net Framework.
Весит 24 мб. Он уже входит в win2003, для поздних версий нужно ставить отдельно. Если он уже установлен, то прогу можно запускать без инсталлятора (если не использует общих сборок). Компилировать в меню build. Для создания инсталлятора открой new projects - setup and deployment projects.
Private Declare Function ShellExecute Lib "shell32.dll" Alias
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String, ByVal nShowCmd As Long) As Long