В некоторых случаях мы видели необходимость в список метаданных для любой таблицы в базе данных (вы знаете имя поля, тип данных и длину), например, создать функцию, которая позволяет мне вставить данные в таблицу . Это хорошая практика, чтобы написать SQL заявления в исходный код для нашего приложения, потому что это двойной сборник что приводит к потере скорости исполнения, но этот пример также могут быть приняты для создания их командир функции вызова хранимой процедуры менеджер вставки данных (в случае Менеджер баз данных С. П. поддержку г-жа например, SQL Server, MySQL и т.д.).
Исходный код написан на MS Visual Basic 6.0 атакуют базы данных г-жа доступа:
'------------------------------------------------- ---------------------------------------------
"Функция написана на MS Visual Basic 6.0 для чтения данных и метаданных
"В любом столе, который передается в качестве параметра ...
Общественная функция Auditar_X (табл. As String) As ADODB.Recordset
SQL = "SELECT * FROM" & Таблица
cn.CursorLocation = adUseClient
Установить RS = cn.Execute (SQL)
Сентябрь Auditar_X = RS
End Function
"Конец функции ...
'------------------------------------------------- ---------------------------------------------
"Функция Функция пушки (каламбур) для вставки данных в таблицу элементов ...
Private Sub cmdAceptar_Click ()
On Error GoTo E
ArtTipoDato Dim As String, искусство как String
Dim Таблица As String, значение как String
ComillasDobles As String Dim
"Chr (10) = ENTER
"Chr (13) = TAB
ComillasDobles = "" ""
Таблица = "Статьи"
Значения = ComillasDobles и vbTab и vbTab и "ценностей ("
Искусство = "SQL =" & & ComillasDobles vbTab и "INSERT INTO" & Таблица & "("
Если Me.ListView1.ListItems (1). Выбранный Тогда
frmCatDocumentos.Show 1
End If
Если Me.ListView1.ListItems (2). Выбранный Тогда
"MsgBox" Kardex "
Дим я As Integer
Установить RS = Me.Auditar_X (таблица)
Me.List1.Clear
ArtTipoDato = "Общественное Вставьте Sub" & Таблица & "("
Для я = 0 Для rs.Fields.Count
"Me.List1.AddItem входным параметром rs.Fields (я) Название коллекции." - "& TypeName (входным параметром rs.Fields (я) значение.) &" - "И входным параметром rs.Fields (я) DefinedSize.
Me.List1.AddItem входным параметром rs.Fields (я).Название коллекции "Как" и TypeName (входным параметром rs.Fields (я). Value) & ""
ArtTipoDato = ArtTipoDato и входным параметром rs.Fields (я). Название и "Как" и TypeName (входным параметром rs.Fields (я). Value) & ""
Искусство = Искусство и входным параметром rs.Fields (я). Название коллекции ""
Если UCase (TypeName (входным параметром rs.Fields (я). Соотношение)) = "СТРОКА" Тогда
Значения = значения & "'" & ComillasDobles & "&" & входным параметром rs.Fields (я). Название & "&" & & ComillasDobles "" "
End If
Если UCase (TypeName (входным параметром rs.Fields (я). Соотношение)) = "ДАТА" Тогда
Значений = значение & "#" & & ComillasDobles "&" & входным параметром rs.Fields (я).Название коллекции "&" & & ComillasDobles "#",
"Значения = значения &" # "& входным параметром rs.Fields (я). Название &" # ",
End If
Если UCase (TypeName (входным параметром rs.Fields (я). Соотношение)) = "длинный" Или UCase (TypeName (входным параметром rs.Fields (я). Соотношение)) = "DOUBLE" Тогда
Значения = значения & "" & ComillasDobles & "&" & входным параметром rs.Fields (я). Название & "&" & & ComillasDobles ""
"Значения = значения &" "& входным параметром rs.Fields (я). Название коллекции", и "
End If
"MsgBox входным параметром rs.Fields (я). Название
"MsgBox входным параметром rs.Fields (я). Соотношение
"MsgBox TypeName (входным параметром rs.Fields (я). Value)
Следующая я
End If
"MsgBox ArtTipoDato
ArtTipoDato = Left (ArtTipoDato, Len (ArtTipoDato) - 1)
ArtTipoDato = ArtTipoDato & ")"
Искусство = Left (Искусство, Лен (Искусство) - 1)
Искусство = Искусство & ")" & ComillasDobles & "& _"
Значения = Left (стоимость, Лен (значения) - 1)
Значения = значения & ")"
Me.lb.Caption = ArtTipoDato и искусства и значения
Значения = значения и "Set RS = cn.Execute (SQL)"
Значения = значения и "End Sub"
Me.Te.Text = ArtTipoDato & Chr (13) и Искусство & Chr (13) и значения
Если Me.ListView1.ListItems (3). Выбранный Тогда
frmCatArticulos.Show 1
End If
Если Me.ListView1.ListItems (4). Выбранный Тогда
MsgBox "Выход"
End If
E:
Resume Next
End Sub
'------------------------------------------------- ---------------------------------------------
"Это функция, которая работала предыдущий код ...
Public Sub InsertarARTICULOS (СТАТЬЯ As String, описание As String,
Поставщик As String, UMP_C As String, UMP_V As String,
FACTOR_CONVER As Long, COSTO_UMC Как Double, COSTO_UMV Как Double,
PRECIO_V As String, АКТИВЫ As String, USR_CREACION As String,
FECHA_HORA_CREACION как дата, USR_MODIFICACION As String,
FECHA_HORA_MODIFICACION как дата)
SQL = "INSERT INTO ПУНКТЫ (статьи, обзоры, ПОСТАВЩИК
UMP_C, UMP_V, FACTOR_CONVER, COSTO_UMC, COSTO_UMV, PRECIO_V,
ACTIVE USR_CREACION, FECHA_HORA_CREACION, USR_MODIFICACION,
FECHA_HORA_MODIFICACION) "& _
"VALUES ('" & & РАЗДЕЛ "','" И ОПИСАНИЕ И "','" и ПОСТАВЩИК
& & "','" UMP_C и "','" и UMP_V & "'," & & FACTOR_CONVER ""
И COSTO_UMC & "" & COSTO_UMV & "'" & & PRECIO_V "','" & ACTIVE
& & "','" USR_CREACION и "',#" и FECHA_HORA_CREACION и "#,'"
& & USR_MODIFICACION "',#" и FECHA_HORA_MODIFICACION & "#)"
Установить RS = cn.Execute (SQL)
End Sub
"Конец функции ...
'------------------------------------------------- ---------------------------------------------
Теперь вы готовы быть добавлены InsertarARTICULOS функцию и вызвать из любого места в программе. Тьеп много привел нас получить функцию InsertarARTICULOS секунд я бы сказал, что, и как долго это займет написать его на ноги, которые я хотел бы сказать ..... минут
В некоторых случаях мы видели необходимость в список метаданных для любой таблицы в базе данных (вы знаете имя поля, тип данных и длину), например, создать функцию, которая позволяет мне вставить данные в таблицу . Это хорошая практика, чтобы написать SQL заявления в исходный код для нашего приложения, потому что это двойной сборник что приводит к потере скорости исполнения, но этот пример также могут быть приняты для создания их командир функции вызова хранимой процедуры менеджер вставки данных (в случае Менеджер баз данных С. П. поддержку г-жа например, SQL Server, MySQL и т.д.).
Исходный код написан на MS Visual Basic 6.0 атакуют базы данных г-жа доступа:
'------------------------------------------------- ---------------------------------------------
"Функция написана на MS Visual Basic 6.0 для чтения данных и метаданных
"В любом столе, который передается в качестве параметра ...
Общественная функция Auditar_X (табл. As String) As ADODB.Recordset
SQL = "SELECT * FROM" & Таблица
cn.CursorLocation = adUseClient
Установить RS = cn.Execute (SQL)
Сентябрь Auditar_X = RS
End Function
"Конец функции ...
'------------------------------------------------- ---------------------------------------------
"Функция Функция пушки (каламбур) для вставки данных в таблицу элементов ...
Private Sub cmdAceptar_Click ()
On Error GoTo E
ArtTipoDato Dim As String, искусство как String
Dim Таблица As String, значение как String
ComillasDobles As String Dim
"Chr (10) = ENTER
"Chr (13) = TAB
ComillasDobles = "" ""
Таблица = "Статьи"
Значения = ComillasDobles и vbTab и vbTab и "ценностей ("
Искусство = "SQL =" & & ComillasDobles vbTab и "INSERT INTO" & Таблица & "("
Если Me.ListView1.ListItems (1). Выбранный Тогда
frmCatDocumentos.Show 1
End If
Если Me.ListView1.ListItems (2). Выбранный Тогда
"MsgBox" Kardex "
Дим я As Integer
Установить RS = Me.Auditar_X (таблица)
Me.List1.Clear
ArtTipoDato = "Общественное Вставьте Sub" & Таблица & "("
Для я = 0 Для rs.Fields.Count
"Me.List1.AddItem входным параметром rs.Fields (я) Название коллекции." - "& TypeName (входным параметром rs.Fields (я) значение.) &" - "И входным параметром rs.Fields (я) DefinedSize.
Me.List1.AddItem входным параметром rs.Fields (я).Название коллекции "Как" и TypeName (входным параметром rs.Fields (я). Value) & ""
ArtTipoDato = ArtTipoDato и входным параметром rs.Fields (я). Название и "Как" и TypeName (входным параметром rs.Fields (я). Value) & ""
Искусство = Искусство и входным параметром rs.Fields (я). Название коллекции ""
Если UCase (TypeName (входным параметром rs.Fields (я). Соотношение)) = "СТРОКА" Тогда
Значения = значения & "'" & ComillasDobles & "&" & входным параметром rs.Fields (я). Название & "&" & & ComillasDobles "" "
End If
Если UCase (TypeName (входным параметром rs.Fields (я). Соотношение)) = "ДАТА" Тогда
Значений = значение & "#" & & ComillasDobles "&" & входным параметром rs.Fields (я).Название коллекции "&" & & ComillasDobles "#",
"Значения = значения &" # "& входным параметром rs.Fields (я). Название &" # ",
End If
Если UCase (TypeName (входным параметром rs.Fields (я). Соотношение)) = "длинный" Или UCase (TypeName (входным параметром rs.Fields (я). Соотношение)) = "DOUBLE" Тогда
Значения = значения & "" & ComillasDobles & "&" & входным параметром rs.Fields (я). Название & "&" & & ComillasDobles ""
"Значения = значения &" "& входным параметром rs.Fields (я). Название коллекции", и "
End If
"MsgBox входным параметром rs.Fields (я). Название
"MsgBox входным параметром rs.Fields (я). Соотношение
"MsgBox TypeName (входным параметром rs.Fields (я). Value)
Следующая я
End If
"MsgBox ArtTipoDato
ArtTipoDato = Left (ArtTipoDato, Len (ArtTipoDato) - 1)
ArtTipoDato = ArtTipoDato & ")"
Искусство = Left (Искусство, Лен (Искусство) - 1)
Искусство = Искусство & ")" & ComillasDobles & "& _"
Значения = Left (стоимость, Лен (значения) - 1)
Значения = значения & ")"
Me.lb.Caption = ArtTipoDato и искусства и значения
Значения = значения и "Set RS = cn.Execute (SQL)"
Значения = значения и "End Sub"
Me.Te.Text = ArtTipoDato & Chr (13) и Искусство & Chr (13) и значения
Если Me.ListView1.ListItems (3). Выбранный Тогда
frmCatArticulos.Show 1
End If
Если Me.ListView1.ListItems (4). Выбранный Тогда
MsgBox "Выход"
End If
E:
Resume Next
End Sub
'------------------------------------------------- ---------------------------------------------
"Это функция, которая работала предыдущий код ...
Public Sub InsertarARTICULOS (СТАТЬЯ As String, описание As String,
Поставщик As String, UMP_C As String, UMP_V As String,
FACTOR_CONVER As Long, COSTO_UMC Как Double, COSTO_UMV Как Double,
PRECIO_V As String, АКТИВЫ As String, USR_CREACION As String,
FECHA_HORA_CREACION как дата, USR_MODIFICACION As String,
FECHA_HORA_MODIFICACION как дата)
SQL = "INSERT INTO ПУНКТЫ (статьи, обзоры, ПОСТАВЩИК
UMP_C, UMP_V, FACTOR_CONVER, COSTO_UMC, COSTO_UMV, PRECIO_V,
ACTIVE USR_CREACION, FECHA_HORA_CREACION, USR_MODIFICACION,
FECHA_HORA_MODIFICACION) "& _
"VALUES ('" & & РАЗДЕЛ "','" И ОПИСАНИЕ И "','" и ПОСТАВЩИК
& & "','" UMP_C и "','" и UMP_V & "'," & & FACTOR_CONVER ""
И COSTO_UMC & "" & COSTO_UMV & "'" & & PRECIO_V "','" & ACTIVE
& & "','" USR_CREACION и "',#" и FECHA_HORA_CREACION и "#,'"
& & USR_MODIFICACION "',#" и FECHA_HORA_MODIFICACION & "#)"
Установить RS = cn.Execute (SQL)
End Sub
"Конец функции ...
'------------------------------------------------- ---------------------------------------------
Теперь вы готовы быть добавлены InsertarARTICULOS функцию и вызвать из любого места в программе. Тьеп много привел нас получить функцию InsertarARTICULOS секунд я бы сказал, что, и как долго это займет написать его на ноги, которые я хотел бы сказать ..... минут
В последние 35 лет, компании аппаратных дизайнеров компьютере были проектирования больших оборудование для портативных компьютеров на базе микропроцессоров.
В этот же период, разработчиков программного обеспечения прошли от написания на ассемблере писать программы на С или C + +. Ясно, что мир разработки программного обеспечения не прогрессирует так быстро, как аппаратные мира. Так Важным вопросом здесь является, какие аппаратного дизайнеров для разработчиков не делают?
Ответ на этот вопрос лежит в способ работы аппаратного дизайнеров, они используют компоненты и системы, разработанные для формирования своего аппаратного обеспечения.
Повторное использование компонентов также метод для создания лучшего программного обеспечения.Сегодня разработчики программного обеспечения начать с нуля и выполните те же действия, что привело многие программисты в прошлом. Создание новых систем из существующих компонентов, которые уже были подвергнуты испытаниям, всегда ведет к созданию более надежного кода. Кроме того, он оказался быстрее и дешевле.
Между 1970 и 1990 годах, аналитики разработанного программного обеспечения и объектно-ориентированных подходов к 1994 году более 50 методов объектов. Однако, только 3 завоевал популярность методов:
В 1994 году, Рамбо, Буч и Якобсон в 1995 году объединили усилия для разработки определения языка UML (Unified Modeling Language), который определяет стандартный язык, включив преимущества нескольких предыдущих методов.
Сегодня объектно-ориентированного программирования влияет не только языков программирования, но и в анализе и проектировании данной системы, в том числе системы управления базой объектно-ориентированных данных, таких как PostgreSQL (открытая СУБД ориентированных на источник объектов).
Все это прогресс был достигнут этот метод в связи с широкими возможностями и преимуществами структурного программирования "против".
Некоторые преимущества, которые имеют такой способ программирования:
1. Способствует повторному использованию кода и расширения.
2. Позволяет создавать более сложные системы.
3. Управляет связать реальный мир.
4. Способствует развитию визуальных программ.
5. Прототипы
6. Упрощение разработки программного обеспечения
7.Облегчает совместную работу
8. Значительно облегчает обслуживание программного обеспечения
Затем покажите список языков объектно-ориентированного программирования:
Многие из этих языков программирования не являются чисто объектно-ориентированным, но гибриды, которые сочетают
Как и C + + другие языки, такие как OOCOBOL , OOLISP , OOPROLOG иObject REXX , были созданы путем добавления расширений для объектно-ориентированный язык классического программирования.
Ну, не просто живет Java человек. Иногда мне приходится работать с. NET для некоторых конкретных проектов и, как только я нашел то, что заставило меня некоторые головная боль с Visual Studio 2005. Этот инструмент приносит консоли, где они дампа отладки данных, которые могут быть отключены в настройках, но это обычно полезно. Недостаток этого инструмента является то, что она может очистить, что консоль с командой Console.Clear (), по-видимому этот порядок не распространяется на окна сразу.
В рамках этого проекта было показать некоторую информацию, когда он был вынужден в режиме отладки, поэтому я отправился на поиски решения. Наиболее быстро и грязно (быстрая и грязная), которые я получил, это:
Создать класс, который содержит следующий код:
использования системы; использованием System.Runtime.InteropServices; nsClearConsole имен {/ / / / / / Краткое описание для ClearConsole. / / /
общественного класса {Private Const Int ClearConsole STD_OUTPUT_HANDLE = -11;Private Const байт пусто = 32; [StructLayout (LayoutKind.Sequential)] структуры COORD {общественности краткий х; общественности краткое у;} [StructLayout (LayoutKind.Sequential)] {структуры общественного короткий левый SMALL_RECT; общественности краткий Топ; общественности краткий право; общественности краткий дно;} [StructLayout (LayoutKind.Sequential)] {структуры общественного COORD dwSize CONSOLE_SCREEN_BUFFER_INFO; общественных dwCursorPosition COORD, общественные wAttributes Int; общественных srWindow SMALL_RECT; общественных dwMaximumWindowSize COORD;} [DllImport ("kernel32.dll", EntryPoint = "GetStdHandle ", SetLastError = правда, CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] частных статических внешних Int GetStdHandle (INT nStdHandle) [DllImport (" kernel32.dll ", EntryPoint =" FillConsoleOutputCharacter ", SetLastError = правда, CharSet = CharSet.Авто, CallingConvention = CallingConvention.StdCall)] частных статических внешних Int FillConsoleOutputCharacter (INT hConsoleOutput, cCharacter байт, Int nLength, COORD dwWriteCoord, исх Int lpNumberOfCharsWritten) [DllImport ("kernel32.dll", EntryPoint = "GetConsoleScreenBufferInfo", SetLastError = True , CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] частных статических внешних Int GetConsoleScreenBufferInfo (INT hConsoleOutput, исх CONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo) [DllImport ("kernel32.dll", EntryPoint = "SetConsoleCursorPosition", SetLastError = правда, CharSet = CharSet . Авто, CallingConvention = CallingConvention.StdCall)] частных статических внешних SetConsoleCursorPosition Int (Int hConsoleOutput, COORD dwCursorPosition) частные hConsoleHandle Int; общественных ClearConsole () {/ / / / TODO: Добавить конструктор логика. / / HConsoleHandle = GetStdHandle (STD_OUTPUT_HANDLE);} общественного Clear недействительными () {Int hWrittenChars = 0; CONSOLE_SCREEN_BUFFER_INFO CONSOLE_SCREEN_BUFFER_INFO strConsoleInfo = New ();Главная COORD; Home.x = Home.y = 0; GetConsoleScreenBufferInfo (hConsoleHandle, исх strConsoleInfo) FillConsoleOutputCharacter (hConsoleHandle, пустой, strConsoleInfo.dwSize.y strConsoleInfo.dwSize.x *, дом, hWrittenChars ссылка) SetConsoleCursorPosition (hConsoleHandle, Главная );}}} Позже в той части, где мы должны очистить консоль должны вызвать следующий фрагмент, который создает экземпляр класса, а затем вызвать ClearConsole Открытый метод, который, наконец, чистой консоли.
ClearConsole ClearConsole CS = New (); cs.Clear ();
Наконец, поскольку с самого начала отметить, что это рубит, не применяются к немедленному консоли от Visual Studio 2005, мы должны сказать консольная программа, которая работает в MS DOS для работы рубить:
# Если DEBUG ConsoleEx.AllocConsole (); # ENDIF
Это должно быть в форме или класса начала проекта код, который мы разрабатываем. Наконец, следует также иметь класс для назначения или освобождения консоли.Таким образом, в класс сам по себе должно положить следующий код:
использования системы; использованием System.Runtime.InteropServices; общественности статической класса ConsoleEx {[DllImport ("kernel32.dll"] открытые статические внешних булевых AllocConsole (); [DllImport ("kernel32.dll")] открытые статические внешних булевых FreeConsole () ;} К этому времени достаточно, чтобы MS DOS консоль для отладки время мы чисты. Так вот в случае, если кто в ней нуждается. Например в C #, но я думаю, что те, свободно говорит на Visual Basic. NET может адаптироваться. Решение было принято отчасти из следующих Microsoft KB .
В начале 2001 года компания Ximian рукой Мигель де Икаса (Мексиканский свободным разработчиком программного обеспечения. Среди его взносов является основой проекта GNOME, файл драйвера или файлов Midnight Commander, Gnumeric, компонентную модель Bonobo ) диски проекта Mono, как открытая реализация plataforma.Net Microsoft и ECMA стандарт. Цель заключалась в обеспечении свободного программной платформы для облегчения разработки приложений для Linux.
В январе 2003 года, Novell покупке Ximian и дает свою поддержку Мигель де Икаса, чтобы приступить к реализации проекта Mono, в настоящее время работают около 20 инженеров из Novell и помогли более чем 300 добровольцев.
C # является частью платформы.Чистая пакетов, которые составляют распределение платформы Mono имеет C # компилятор, виртуальную машину (которая позволяет запускать приложения), и набор библиотек классов, которые обеспечивают тысячи функций.
Mono приложения могут быть написаны на различных языках программирования, в том числе включая Python, Object Pascal, Nermele, и C #. После письменных заявлений переведены на CIL (Common Intermediate Language), который является промежуточным языком не является специфической для любой архитектуры. После компиляции в переводе КСС осуществления конкретных языке окончательного архитектуры, которая будет выполнена. Эта система может распространять одной бинарной программы для всех архитектур, а не конкретной программы для каждой платформы. Mono теперь предоставляет инструменты для создания приложений для Linux, Solaris, Windows, Mac / OS, IBM и мейнфреймы. В отличие от традиционных программ, которые запускаются в системе непосредственно, платформа Mono программы, работающие на осуществление контролируемой среде известный как виртуальная машина
Mono предоставляет необходимые функции для создания веб-услуг, который включает технологию XML, SOAP, ASP.NET и Remoting и доступ к базам данных через ADO.NET, типа Oracle, MySQL, DB2, SQL Server, или "Прогресс". С помощью этих библиотек может нести Windows или услуги, разработанные в нашем собственном письменном виде, будучи в состоянии использовать веб-сервера Apache. Для разработки пользовательского интерфейса для клиентских приложений, несколько вариантов. С одной стороны, она обеспечивает открытая реализация System.Windows.Forms (опция предоставляемый Microsoft) для разработок в фартуке. Чистая Windows может работать на других платформах, таких как Linux или Mac OS. GTK # также предоставляет библиотеку, которая предоставляет все возможности графической среды Gnome, что позволяет кросс-платформенных приложений.
Я лично рекомендую два IDE бесплатно работать с Mono:
В какой-то момент в нашей жизни как разработчиков настольных приложений мы видели необходимость сбора информации на вкладках (г-жа SSTab управления Visual Basic 6,0), но у нас были некоторые трудности или выключить (мы делали закладку на вкладке), по Поэтому, чтобы избежать этой ситуации еще раз, вот тип функции в MS Visual Basic 6.0, что позволяет включить или отключить вкладки SSTab управления.
Эта функция называется Activar_Desactivar_Pestanas, и принимает в качестве параметров Принесите (для активации счета) или False (отключить вкладки), а имя вкладки управления.
Public Sub Activar_Desactivar_Pestanas (Включить как Boolean, Pestana Как SSTab)
Для я = 0 Для Pestana.Tabs - 1
Если включить Тогда
Pestana.TabEnabled (я) = True
Еще
Pestana.TabEnabled (я) = False
End If
Следующая
End Sub
Когда программист разрабатывает приложения (настольный компьютер или веб-сайтов) должны думать о конечных пользователей, он привык к определенной окон (интерфейс), некоторые формы работы (например, бухгалтеры использовать ENTER гораздо больше, чем мыши), то Причина в том, что она должна включать в себя некоторые функции, что конечные пользователи привыкли видеть.
В Microsoft Excel 2003, мы видим следующие XXX окно, которое показывает, при нажатии правой кнопки мыши / Вставить имя листа. Таким образом, в этом примере, я моделирование этого окна.
Этот пример является частью системы банка данных. Идея в том, что пользователь может выбрать: DOC. ДРУГИЕ (для работы с документами), Kardex (чтобы увидеть движение статьи) или пункт ремонта (для наших собственных элементов данных), один раз, нажмите кнопку ОК.
В этом примере используется Microsoft Visual Basic 6.0 язык программирования и в основном следующие элементы управления:
1 ListView (для отображения изображений.)
1 ImageList (для хранения изображений).
ИСТОЧНИК КОД ДЛЯ ЗАВЕРШЕНИЯ ListView
Частные Form_Load Sub ()
Dim Как ColumnHeader column_header
Как list_item ListItem Dim
Value = ""
Страна = ""
"Создание заголовков столбцов.
Column_header = ListView1 сентября. _
ColumnHeaders.Add (,, "Abbrev", _
TextWidth ("другие документы"))
Column_header = ListView1 сентября. _
ColumnHeaders.Add (,, "Title", _
TextWidth (Kardex "))
Column_header = ListView1 сентября. _
ColumnHeaders.Add (,, "ISBN", _
TextWidth ("MASTER статьи"))
Column_header = ListView1 сентября. _
ColumnHeaders.Add (,, "ISBN", _
TextWidth ("EXIT"))
ListView1.Icons = imgLarge
Сентябрь ListView1.ListItems.Add list_item = (,, "DOC. РАЗЛИЧНЫХ)
list_item.Icon = 1
list_item.SmallIcon = 1
list_item.SubItems (1) = "Готов к работе Visual Basic Алгоритмы"
list_item.SubItems (2) = "0-471-24268-3"
Сентябрь ListView1.ListItems.Add list_item = (,, "Kardex)
list_item.Icon = 2
list_item.SmallIcon = 2
list_item.SubItems (1) = "Visual Basic программированию графики"
list_item.SubItems (2) = "0-471-15533-0"
Сентябрь ListView1.ListItems.Add list_item = (,, "Пункт Мастер")
list_item.Icon = 3
list_item.SmallIcon = 3
list_item.SubItems (1) = "пользовательских элементов управления"
list_item.SubItems (2) = "0-471-24267-5"
Сентябрь ListView1.ListItems.Add list_item = (,, "Выход")
list_item.Icon = 4
list_item.SmallIcon = 4
list_item.SubItems (1) = "Advanced Visual"
list_item.SubItems (2) = "0-471-18881-6"
End Sub
Исходный код для ВНИЗ ListView ПУНКТ
Private Sub cmdAceptar_Click ()
On Error GoTo E
Если Me.ListView1.ListItems (3). Выбранный Тогда
frmCatArticulos.Show 1
End If
'......
E:
Resume Next
End Sub
Идея в этой статье, чтобы показать, как строить динамические ИНЕКЕ, поэтому если у вас есть форма с 2 текстовых полей (NoCliente, CLIENTNAME) и кнопка для фильтрации (для выполнения запроса на выборку), то при пользователь вводит что-то в одном из ящиков в "где только попросить поля изменится, если он пишет в оба текстовых поля в" где же спросил обоими лагерями.
Фильтр = ""
Если. TxtNoCliente.Text <> "" Тогда
Фильтр = "КЛИЕНТ =" &. TxtNoCliente.Text
End If
Если. TxtNombre.Text <> "" Тогда
Если фильтр <> "" Тогда
Фильтр Фильтр = & "И именем подобным '" &. TxtNombre.Text & "%"
Еще
Фильтр Фильтр = & "NAME LIKE '" &. TxtNombre.Text & "%"
End If
End If
End With
"Отправить для выполнения запроса
End Sub
Этот пример является полезным, например, когда желающих посетить клетки, содержащиеся в колонке для поиска конкретных данных, добавлять или вычитать значения.
Эта функция SumarSubTotales имя, возвращается двойное значение (результат от суммы), получает 2 параметра (имя Flex, которые сделают поездку и число (колонки), который указывает, что столбец является то, что быть добавлены в.
С помощью Flex
я = 2. Для строк - 1
SUBT = SUBT + TextMatrix. (-. Строк я, столбец)
Следующая я
End With
SumarSubTotales = круглый (SUBT, 2)
End Function
Этот класс дал своему другу Армандо Аланис. Тип для того чтобы вычислить разницу между двумя датами и довольно явные их использование как таковых. Тогда код:
импорт java.util.Calendar;
импорт java.util.Date;
/ **
* @ Автор Армандо J. Аланис Арагон
* @ С 20090312
* @ Версия 1.0
* /
DateUtil {общественности окончательный класса
открытые статические окончательного Int год = 0;
открытые статические последний месяц INT = 1;
частных статических getDateDiffInYears Int (Дата StartDate, дата EndDate) {
getDateDiffInMonths возвращения (StartDate, EndDate) / 12;
}
частных статических getDateDiffInMonths Int (Дата StartDate, дата EndDate) {
StartCal календарь = Calendar.getInstance ();
EndCal календарь = Calendar.getInstance ();
StartY Int = -1, StartMonth = -1;
endYear Int = -1, endMonth = -1;
Int месяцев = 0;
Int коэффициент = 1;
если (startDate.after (EndDate)) {
коэффициент = -1;
startCal.setTime (EndDate);
endCal.setTime (StartDate);
Остальное {}
startCal.setTime (StartDate);
endCal.setTime (EndDate);
}
StartY = startCal.get (Calendar.YEAR)
StartMonth = startCal.get (Calendar.MONTH) + 1;
endYear = endCal.get (Calendar.YEAR)
endMonth = endCal.get (Calendar.MONTH) + 1;
если (StartY == endYear) {
месяцев = endMonth - StartMonth;
Остальное {}
месяцев = 12 - StartMonth;
месяцев + = endMonth;
- EndYear;
если (endYear - StartY> 0) {
месяцев + = (endYear - StartY) * 12;
}
}
месяцев *= фактор;
возвращение месяцев;
}
открытые статические getDateDiff Int (Int поля, дата StartDate, дата EndDate) {
если (поле == ГОД) {
getDateDiffInYears возвращения (StartDate, EndDate);
Иначе, если} (поле == месяц) {
getDateDiffInMonths возвращения (StartDate, EndDate);
Остальное {}
вернуть 0;
}
}
}