Эта книга была задумана как одна из первых книг о .NET, которая ознакомит читателя с основными идеями новой архитектуры и подготовит его к знакомству с более детальной литературой, например документацией Microsoft и ее толкованиями, которая неизбежно появится на рынке. Она поможет вам взглянуть на эту технологию с позиций ваших собственных рабочих планов и быстро освоить те концепции, которые покажутся необычными для большинства прогр...
Автор(ы): Дан Эпплман, Издательство: Питер, 2002 г.
Эта книга является вводным курсом по
изучению языка программирования Visual Basic .NET.
Даны основные принципы объектно-ориентированного
программирования в контексте языка VB .NET,
поскольку без хорошей подготовки в этой
области невозможно в полной мере
пользоваться всеми преимуществами VB .NET.
Изложены азы всех аспектов языка, которыми
должен владеть любой профессиональный
разработчик VB .NET
Автор(ы): Г. Корнелл, Дж. Моррисон, Издательство: Питер, 2002 г.
Основная задача книги - быстро ознакомить
разработчиков Visual Basic с изменениями в .NET
Framework. Программисты, использующие Java, C++, Delphi
или другие инструменты разработки
приложений и интересующиеся Visual Basic или
технологией .NET Framework, также найдут эту книгу
полезной. Хотя книга посвящена Visual Basic.NET, ее
основная цель - продемонстрировать
взаимодействие Visual Basic и ...
Автор(ы): Кит Франклин, Издательство: Вильямс, 2002 г.
- Привет, Серый.
- Угу, привет. Ты проходи, садись, я щас, с функцией тут разберусь...
- Да я на момент. Вопросец имеется.
- Вопросец, вопросец... Так, тут переменная не объявлена... Вопросец... С вопросами в систему, к экспертам... А тут точку не поставил! Вот она где, соб-бака!!
- Ты че, какая система? Ты о чем?
- О! Все, работает... Чего ты говоришь?
- Ты про каких это экспертов тут заикаешься?
- А-а. А ты что, первый раз слышишь, что ли? Ты на СообЧа бывал?
- Где?!!
- Да вот, гляди. Щас соединимся... Во! http://soobcha.ru, зришь?
- М-да... Занятно. Так я с вопросом к тебе...
- А я вот и говорю: туда иди, в систему "Эксперт", там ответят.
- Это чайники, что ли, ответят?
- Не сомневайся, ответят. Там у них такое наворочено... Короче, ты по почте вопрос свой задаешь - и все:)))))) Больше не изволь беспокоиться, там они сами будут искать ответ на твой вопрос. А через некоторое время вывалят тебе на ящик не один, а несколько ответов. Пользуйся и радуйся:)
- А чего это они там такие добрые да услужливые? У них чего, своих проблем нет? Сколько я должен платить за такое трогательное беспокойство?
- Ну, это немного. Меньше, чем ты думаешь:) Тебе достаточно только подтвердить правильный ответ. Давишь на соответствующую ссылку, дескать, вот этот ответ мне понравился, помог, и я доволен. Просто пустое письмо засылаешь к ним, и вся оплата. А если хочешь у них экспертом стать, то пожалуйста, регистрируйся и отвечай на вопросы.
- Кем? Экспертом?
- А что? Что-то ты ведь знаешь, не вчера за комп сел.
- А на фига мне это надо? Разбираться с чужими проблемами... У меня своих - хоть отбавляй...
- Ага. Вот ты только что спрашивал: а сколько? И если уж ты со своими проблемами обращаешься к людям, то ведь надеешься, что тебе помогут. А сам-то что, влом, что ли, помочь кому-то? Да ладно! Тебя, вобщем-то, никто и не тянет, не заставляет. А вот те, кому интересно, кому не жаль поделиться, те там и работают. Я, между прочим, давно уже с ними.
- В смысле, экспертом, что ли, заделался? И сколько тебе платят?
- А ты не прикалывай. Там никто никому не платит. А вот конкурсы, между прочим, проводят, и не хилые. Представляешь, за лучший ответ дают бесплатно три месяца платного хостинга, да еще домен регистрируют. За просто так. А вот тебе, если ты задашь самый лучший вопрос, тоже приз может выгореть.
- Это как: лучший? На который никто ответить, что ли, не сможет? Так я щас таких вопро...
- Причем тут это? Просто ты, если вопрос пишешь к ним, так сподобься хоть запятые в нужных местах поставить, там, грамотно, короче, обрисуй свой трабл.
- Ну ладно, въехал. Ты мне вот лучше помоги с моим траблом. Мой Фотошоп не хочет по русски работать...
- Ха, так этот трабл там уже сколько раз появлялся. У них на сайте и ответ есть... Вот, любуйся: Заходим в редактор реестра (regedit.exe). Находим ключ HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\Nls\Codepage В нем изменяем значение параметра 1252 с cp_1252.nls на cp_1251.nls. Перезагружаемся...
- Понял... погоди, запишу...
- Да чего записывать? Шагай домой, входи на сайт и копируй...
- Да я ссылку запишу... Слушай, а как там в эту систему вопрос задать? Вообще, как она работает?
- Так тут же, на сайте, все есть. А вообще, можешь по почте пустое письмо загнать на mailto:reply.infoexpert@soobcha.ru, и получишь всю необходимую инфу. А вообще, ты лучше в следующий раз с вопросами не ко мне, а туда. Может, я и отвечу там.
- А не проше тебе здесь ответить?
- Э-э-э... Там я баллы зарабатываю...
- А это еще зачем?
- Ладно, мотай. Дома почитаешь, все о них узнаешь. У меня тут халтурка... Давай, пока.
- Пока. А как ты экспертом там зарегился?
- Иди, иди! Инфу читай...
Небольшая функция. Осуществляет сдвиг на n-ное число бит. Параметры функции:
lValue - Исходное значение
lNumberOfBitsToShift - Количество бит, на которые нужно сдвинуть число
lDirectionToShift - Направление сдвига (вправо или влево).
Public Enum dcShiftDirection
Left = -1
Right = 0
End Enum
Public Function Shift(ByVal lValue As Long, ByVal lNumberOfBitsToShift As Long, ByVal lDirectionToShift As dcShiftDirection) As Long
If lDirectionToShift Then
Shift = lValue * (2 ^ lNumberOfBitsToShift)
Else
Shift = lValue \ (2 ^ lNumberOfBitsToShift)
End If
End Function
Функция Simil возвращает процент соответствия двух строк.
Private b1() As Byte
Private b2() As Byte
Public Function Simil(String1 As String, String2 As String) As Double
Dim l1 As Long
Dim l2 As Long
Dim l As Long
Dim r As Double
If UCase(String1) = UCase(String2) Then
r = 1
Else
l1 = Len(String1)
l2 = Len(String2)
If l1 = 0 Or l2 = 0 Then
r = 0
Else
ReDim b1(1 To l1): ReDim b2(1 To l2)
For l = 1 To l1
b1(l) = Asc(UCase(Mid(String1, l, 1)))
Next
For l = 1 To l2
b2(l) = Asc(UCase(Mid(String2, l, 1)))
Next
r = SubSim(1, l1, 1, l2) / (l1 + l2) * 2
End If
End If
Simil = r
Erase b1
Erase b2
End Function
Private Function SubSim(st1 As Long, end1 As Long, st2 As Long, end2 As Long) As Long
Dim c1 As Long
Dim c2 As Long
Dim ns1 As Long
Dim ns2 As Long
Dim i As Long
Dim max As Long
If st1 > end1 Or st2 > end2 Or st1 <= 0 Or st2 <= 0 Then Exit Function
For c1 = st1 To end1
For c2 = st2 To end2
i = 0
Do Until b1(c1 + i) <> b2(c2 + i)
i = i + 1
If i > max Then
ns1 = c1
ns2 = c2
max = i
End If
If c1 + i > end1 Or c2 + i > end2 Then Exit Do
Loop
Next
Next
max = max + SubSim(ns1 + max, end1, ns2 + max, end2)
max = max + SubSim(st1, ns1 - 1, st2, ns2 - 1)
BalloonMessage for Microsoft Agent реализует диалог программы с
пользователем, используя при этом технологию Microsoft Agent. OCX реализует три
типа диалоговых окон: InputBox, MsgBox и MsgLabels.
Пишу прогу которая работает с базой данных .mdb, и вот столкнулся с одной проблемой: прога должна работать с файлами которые выбирает пользователь... в VB проблем нет, но эргономичней было бы сделать на VBA прямо в Access, а там ни как не могу найти аналоги DriveList, DirList и FileList. Может плохо ищу? Помогите!
Проблема с SQL-запросом. Формирую запрос
SELECT SUM(сумма) FROM...
, проверяю есть ли чего
If ...Expr1000 NOT IS NULL then
и время от времени при явном присутствии Expr1000, прога заявляет, что там NULL. Может кто-то встречался с таким глюком?
Все видели как изменяется, например, размер рисунка в Word'е. А как сделать подобный контрол (или группу)? Мне удалось сделать только самое простое - увеличивать или уменьшать число кликами по стрелкам. Но еще хочется увеличивать это число с клавиатуры (клавишами управления курсором) и быстрое увеличение (уменьшение) числа - держишь кнопку, оно ияменяется, отпустил - остановилось...
Как комжно с помощью VB6 написать прогу, чтобы был клиент и сервер, а именно через клиент с компа, на котором наш сервак, качать файлы (желательно, чтобы выбирать самому).
При установке MSDN ия Visual Studio 6.0 в конце установки, после копирования файлов выдается сообщение об ошибке:
"CloseCollection g_ccolCollection.Open(collectionname) dwError=7"
Что делать?
В мой "Блокнот" встроен RichTextBox. Пишу в нём, например: "Маша мыла раму." Сохраняю и открываю. Вот что он мне покаяывает:
{\rtf1\ansi\ansicpg1251\deff0\deftab720{\fonttbl{\f0\fnil MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}{\f2\fswiss\fcharset204{\*\fname MS Sans Serif;}MS Shell Dlg;}}{\colortbl\red0\green0\blue0;}
\deflang1049\pard\plain\f2\fs17 \'cc\'e0\'f8\'e0 \'ec\'fb\'eb\'e0 \'f0\'e0\'ec\'f3. \par }
Подскажите, пожалуйста, как мне от этого избавиться и, если в нём такое возможно, поменять цвет шрифта? TextBox мне не подходит, т.к. мой отчёт в него не влазит.
Как програмно подключится к сетевому ресурсу в локальной сети, вводя програмно имя пользователя и пароль, и получить ответ о подключении или неподключении.
Как можно запретить гриду изменять подписи к полям?
На форме контрол DataGrid связанный с ADODC и TreeView. Есть элемент TabStrip с кучей вкладок. Когда кликаешь на вкладке TabStrip, ADODC принимает новый рекордсет из другой таблицы DataGrid, перестраивается на другую таблицу. Фрагменты кода инициализации Грида.
'здесь привязываю грид к новому источнику
Adodc1.RecordSource = strsql
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
'а здесь выставляю подписи к столбцам из другой таблицы
rst.Source = "select * from t_filds where table_name='" & curTable & "'"
rst.Open
Do Until rst.EOF
DataGrid1.Columns(rst.Fields(1).Value).Caption = rst.Fields(2).Value
rst.MoveNext
Loop
На гриде после этого все подписи по-человечески. Проблема в следующем: как только я обновляю источник данных (пользователь выбрал другой "нод" в TreeView и надо отразить данные из той же таблицы, но другой фильтр), у меня слетают "человеческие" подписи и берутся из имён столбцов в базе данных. Как можно запретить гриду изменять подписи к полям? Ведь если в режиме дизайна их установить, то при изменении источника они не меняются!
Как сделать свою собственную инсталяшку так , чтобы она запускала другой setup.exe? Использую InstallShield 8.0.
Ответы:
Вопрос:
Вопрос по работе с Treeview.
Можно ли сделать так, что бы плюсик у нода отображался независимо от того, есть внутри дети или нет?
Проблема в том, что если не грузить сразу всё дерево из базы, потому что огромное оно, а только по уровням. что бы можно было на событие "Экспанд" загрузить детей и так далее. Без плюсика нет "экспанда". Сейчас выхожу из положения так: просто гружу один чилд в ноде, чтобы плюсик появился, а потом удаляю его перед загрузкой реальных детей. Но это муторное дело, приходится сначала сразу сворачивать нод, что б не прыгало всё дерево вверх-вниз, а потом опять разворачивать. Куча проверок и так далее.
Добавь ему нода-потомка, что-нибудь типа , потом по Expand проверяй на наличие такого потомка. Если он есть, то удаляй его и грузи из базы то, что тебе надо. Не забудь всему подгружаемому тоже приделать таких .
Вопрос:
Как можно создать доступ к БД, которой пользуются 2 проги одновременно, при этом коннект к ним должен быть открытым у обоих?
Если ты говоришь только про Excel файлы, то у объекта Workbook есть св-во UserStatus(двумерный массив), который содержит имена/даты пользователей,которые получили доступ к файлу.
Вопрос:
В TextBox - е есть такая штука как
Text2.SelText = "Текст" & vbCrLf
здесь vbCrLf заменяет нажатую клавишу Enter - перходит на новую строку и скрол опускаеться вниз т.е. новая строка всегда на виду. А как сделать это в RichtextBox-е , там конечно переходит на новую строку, только скролл поднимаеться вверх т.е. остаеться на месте, хотя текст ушел далеко за пределы видимого.
Private Sub Text1_Change()
Text1.SelStart = Len(Text1.Text)
End Sub
Вопрос:
У меня на одном компе стоит прога, которая должна отправить картинку из Image1 на другой комп в другую прогу тоже в Image1. Но когда две проги соединились через WinSock, то не передают картинку, потому что картинка - это не String. Как мне переделать формат картинки из Image1, чтобы вышло String? Или подскажите свои методы передачи, попроще..