Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: 

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сколько часов в сутках нужно программисту???
 
 автор: Скорп   (08.09.2008 в 22:00)   личное сообщение
 
 

я, собственно недавно подсел на это дело
может год с небольшим
на программирование имеется ввиду (хотя может это громко сказано, - занялся программированием )
что заметил - мне не хватает времени на реализацию всего задуманного
мысли разбегаются постоянно от всяческих задумок, и будь хоть 30 часов в сутках, мне кажется и их бы было мало

вот кажется сделал какой-то кусок, а ч-з некоторое время смотришь - ан нет, можно еще лучше и красивше сделать...
или, что то сделал, появились новые вводные и сидишь правишь весь код под новые входные условия, о5 же время на все это нужно...
я уж не говорю про интерфейс, когда это поле на 3 мм нужно сделать длиннее, другое на 2 мм короче и т.п.

вообще, есть ли какие-то критерии, или нормативы на разработку программ?

а процесс увлекательный, чесслово
приятно смотреть на результаты своего, тсзть, "творчества"
а какая зарядка для ума, несмотря на возраст

ну эт я так..лирическое отступление просто

  Ответить  
 
 автор: Lukas   (08.09.2008 в 22:49)   личное сообщение
 
 

Да, занятие увлекательное. Особенно когда из-за ошибки рушится проект целиком. Я уже вторую клавиатуру меняю - то свет моргнет (все забываю бесперебойник купить), то модуль класса зависнет- вот на клаве и выпускаю пар (остальное дороже-жалко).

А пределу совершенства нет - ведь недаром есть поговорка: "Лучшее - враг хорошего". Главное вовремя остановиться.

А критерии и нормативы - в топку. Процесс должен быть творческий, иначе на выходе будет что-нибудь "серенькое".

Ускорить процесс рутиной работы помогают собственные библиотечные базы. Например накидал на форму мастером кучу элементов управления, запустил функцию из библиотеки и она настроила свойства формы и элементов управления под твой "стиль"- уже проще. Тоже с отчетами.
Или можно вообще свои мастера делать. Кстати не менее интересно, чем делать сами приложения.
Очень важна структура таблиц и связи. Не забывать про нормализацию.
Важно правильно именовать объекты приложения, элементы управления, переменные, функции и т.д., чтобы меньше было проблем в дальнейшем.
Так-же надо стараться писать универсальные функции, которые можно дергать из проекта в проект.
Во сколько наговорил, а сколько осталось несказанно....
Удачи Вам и всем нам!

  Ответить  
 
 автор: Pasat   (08.09.2008 в 23:13)   личное сообщение
 
 

Ускорить процесс рутиной работы помогают собственные библиотечные базы. Например накидал на форму мастером кучу элементов управления, запустил функцию из библиотеки и она настроила свойства формы и элементов управления под твой "стиль"- уже проще. Тоже с отчетами.
очень любопытно. вот бы какой нть примерчик или ссылочку про это

  Ответить  
 
 автор: Lukas   (08.09.2008 в 23:41)   личное сообщение
 
 

Вот например функция из модуля библиотечной базы, которой я устанавливаю свойства форм, открытых в режиме конструктора.

Public Function funSetPropertyForm() 'открытых в режиме конструктора
'    On Error Resume Next
    
    Dim frm As Form
    Dim ctrl As Control
    Dim formName As String
    
    For Each frm In Application.Forms
    If frm.CurrentView = 0 Then
        formName = frm.Name
    
    frm.AllowDatasheetView = False
    frm.AllowPivotChartView = False
    frm.AllowPivotTableView = False
    frm.NavigationButtons = False
    frm.RecordSelectors = False
    frm.DividingLines = False
    frm.AutoCenter = True
    frm.BorderStyle = 1
    frm.AllowDesignChanges = False
    frm.MinMaxButtons = 0
    frm.ScrollBars = 0
    frm.Section("ОбластьДанных").BackColor = 13690598

    For Each ctrl In frm.Controls
    If TypeOf ctrl Is CommandButton Then
'        ctrl.FontName = "Tahoma"
        ctrl.Width = 1020
        ctrl.Height = 340
        ctrl.FontSize = 8
        ctrl.ForeColor = 16711680
    ElseIf TypeOf ctrl Is Label Then
        ctrl.FontName = "Tahoma"
        ctrl.Height = 284
        ctrl.FontSize = 10
        ctrl.ForeColor = 16711680 '(синий)
    ElseIf TypeOf ctrl Is TextBox Then
        ctrl.FontName = "Tahoma"
        ctrl.Height = 284
        ctrl.FontSize = 10
    ElseIf TypeOf ctrl Is ComboBox Then
        ctrl.FontName = "Tahoma"
        ctrl.FontSize = 10
        ctrl.Height = 284
    ElseIf TypeOf ctrl Is ListBox Then
        ctrl.FontName = "Tahoma"
        ctrl.FontSize = 10
        ctrl.BackColor = 16252927
 
    End If
    Next ctrl
    DoCmd.Save acForm, formName
    MsgBox "Свойства формы '" & formName & "' установлены"
    
'    DoCmd.Close acForm, formName, acSaveYes
    End If
    Next frm
End Function

  Ответить  
 
 автор: Lukas   (08.09.2008 в 23:49)   личное сообщение
 
 

А вот функция добавления кнопки "Закрыть" в форму. Ей надо передать ссылку на форму:

Public Function funInsertBtnClose(frm As Form) As Boolean
On Error GoTo Err_function

    Dim lngReturn As Long
    Dim ctrl As CommandButton
    Dim strText As String
    Dim ctl As Control
    
    funInsertBtnClose = False
    
    'Закрыть
    
    For Each ctl In frm.Controls
        If ctl.Name = "btnClose" Then
            MsgBox "btnClose в форме '" & frm.Name & "' уже имеется", , "Мастер кнопки 'закрыть'"
            Exit Function
        End If
    Next ctl

    Set ctrl = CreateControl(frm.Name, acCommandButton, acDetail)
    With ctrl
        .Name = "btnClose"
        .Caption = "Закрыть"
        .Height = 340
        .Width = 1020
        .Left = frm.Width - 1120
        .Top = 100
        .FontName = "Tahoma"
        .FontSize = 8
        .ForeColor = 16711680
'        .Cancel = True
        .ControlTipText = "Закрыть форму"
    End With
    With frm.Module
        lngReturn = .CreateEventProc("Click", ctrl.Name)
        .InsertLines lngReturn + 1, "On Error GoTo Err_btnClose_Click"
        .InsertLines lngReturn + 2, vbTab & "DoCmd.Close acForm, Me.Name"
        .InsertLines lngReturn + 3, "Exit_btnClose_Click:"
        .InsertLines lngReturn + 4, vbTab & "Exit Sub"
        .InsertLines lngReturn + 5, "Err_btnClose_Click:"
        .InsertLines lngReturn + 6, vbTab & "MsgBox Err.Description, vbExclamation, Me.Caption"
        .InsertLines lngReturn + 7, vbTab & "Resume Exit_btnClose_Click"
    End With
    
    funInsertBtnClose = True
    
Exit_function:
    Exit Function

Err_function:
    MsgBox Err.Description
    Resume Exit_function

End Function

  Ответить  
 
 автор: Pasat   (09.09.2008 в 00:05)   личное сообщение
 
 

Спасибо за примеры попробую разобраться на досуге
Идея интересная

  Ответить  
 
 автор: час   (09.09.2008 в 13:14)   личное сообщение
 
 

Да, Lukas - спасибо за примеры.
Особенно понравилось вот это:

With frm.Module
lngReturn = .CreateEventProc("Click", ctrl.Name)
.InsertLines lngReturn + 1, "On Error GoTo Err_btnClose_Click"
.InsertLines lngReturn + 2, vbTab & "DoCmd.Close acForm, Me.Name"
.InsertLines lngReturn + 3, "Exit_btnClose_Click:"
.InsertLines lngReturn + 4, vbTab & "Exit Sub"
.InsertLines lngReturn + 5, "Err_btnClose_Click:"
.InsertLines lngReturn + 6, vbTab & "MsgBox Err.Description, vbExclamation, Me.Caption"
.InsertLines lngReturn + 7, vbTab & "Resume Exit_btnClose_Click"
End With

  Ответить  
 
 автор: Скорп   (11.09.2008 в 23:26)   личное сообщение
 
 

с вашего позволения, утащил к себе в коллекцию)))

  Ответить  
 
 автор: Lukas   (11.09.2008 в 23:47)   личное сообщение
 
 

Для отчетов надо? Или сами по аналогии напишите?

  Ответить  
 
 автор: Скорп   (08.09.2008 в 23:17)   личное сообщение
 
 

>А критерии и нормативы - в топку. Процесс должен быть
>творческий, иначе на выходе будет что-нибудь "серенькое".
а как сие начальству объяснить?
оно ж иногда и спрашивает - как дела?
я им отвечаю- я ДУМАЮ!

  Ответить  
 
 автор: Lukas   (08.09.2008 в 23:43)   личное сообщение
 
 

Мне проще, у меня это хобби, позволяющее менять железо.

  Ответить  
 
 автор: Скорп   (10.09.2008 в 00:38)   личное сообщение
 
 

ниче се...такие познания и только хобби?

  Ответить  
 
 автор: час   (09.09.2008 в 11:00)   личное сообщение
 
 

вот на клаве и выпускаю пар (остальное дороже-жалко).

  Ответить  
 
 автор: ГлазастыйМышь   (09.09.2008 в 09:55)   личное сообщение
 
 

нет предела совершенству
иногда открываешь свою базу трехлетней давности и думаешь и какой же #$@%^ ее делал , и понимаешь что ты знаком с автором
мысль не стоит на месте

Работать надо чтобы жить, а не жить чтобы работать!

  Ответить  
 
 автор: Кабан   (09.09.2008 в 10:40)   личное сообщение
 
 

а я открываю свои прошлые проекты и дума - ну ни$#!@ себе! этож надо было до такого додуматься тогда, в те времена и реализовать и не начем-то, а в аксессе!

  Ответить  
 
 автор: час   (09.09.2008 в 13:19)   личное сообщение
 
 

//а я открываю свои прошлые проекты и дума - ну ни$#!@ себе! этож надо было до такого
//додуматься тогда, в те времена и реализовать и не начем-то, а в аксессе!

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

  Ответить  
 
 автор: Кабан   (09.09.2008 в 17:35)   личное сообщение
 
 

так делай чтоб и тебе хорошо было
сам себе

  Ответить  
 
 автор: час   (09.09.2008 в 11:03)   личное сообщение
 
 

Как рёбра ГлазастыйМышь ??

или ник меняется на #$@%^......(извини - шутка)

  Ответить  
 
 автор: ГлазастыйМышь   (09.09.2008 в 12:57)   личное сообщение
 
 

да уже почти не беспокоят, надо снова на ролики

  Ответить  
 
 автор: час   (09.09.2008 в 13:06)   личное сообщение
 
 

Ты чё
Ты в своём
Тебе плавать надо - вот твой вид спорта.....
В воде тебе бует мокро(сухо) и комфортно .....
А эти наземные виды развлечени ты брось - нафига эти неприятности.
Конечно воспоминания на всю жизь, но стоят ли рёбра того?

  Ответить  
 
 автор: ГлазастыйМышь   (09.09.2008 в 15:41)   личное сообщение
 
 

я конечно понимаю что ОНО не тонет
плаваю я по четвергам после работы. Баня, а там бассейн 25 метровка, вот и чередую
правда пропустил уже месяц, две недели было не до этого. А последние 2 недели блин на работе до 9 сидел. Как на зло в 17:35 радовали авралом, ну и до победного ...

  Ответить  
 
 автор: час   (14.09.2008 в 11:59)   личное сообщение
 
 

Ну вот, чудесно, это оно...
но зря напомнил ты про г..но
Ты плавай чаще, забудь тот страх,
Что воплощён был судьбой в коньках.

А динозавры - забыл про них!
В воде водился кто среди них?
Лишь те кто телом с огромный дом
Имели домом там водоём.

И ты сказал мне что весишь сто
Так водоёмы - те само то...
Плещись, купайся и веселись
И наслаждайся в воде всю жись.........

Но и на суше от процедур
Ты защитишся от жизни бурь.
***********************************
А коль поэт из меня никакой -
Хоть пообщался в стихах я с тобой

  Ответить  
 
 автор: Lukas   (09.09.2008 в 13:09)   личное сообщение
 
 

Вспомнился анекдот:
Только бледнолицый может наступить на одни грабли два раза.
Желаем чтобы с Вами этого не произошло.

  Ответить  
 
 автор: час   (09.09.2008 в 13:09)   личное сообщение
 
 

//что заметил - мне не хватает времени на реализацию всего задуманного
//мысли разбегаются постоянно от всяческих задумок, и будь хоть 30 часов
в сутках, мне
//кажется и их бы было мало

АННАЛЛОЛОГИЧНО!

  Ответить  
 
 автор: FORMAT   (09.09.2008 в 15:39)   личное сообщение
 
 

Я тож не портив 30 часов в сутках. Это ж на 6 часов больше спать можно

  Ответить  
 
 автор: Lukas   (09.09.2008 в 15:44)   личное сообщение
 
 

Папа, по телевизору сказали что водка подорожает. Ты теперь будешь меньше пить?
Нет детки, вы теперь будете меньше кушать!

Подозреваю что и 30 часов в сутки не спасут.

  Ответить  
 
 автор: час   (09.09.2008 в 15:49)   личное сообщение
 
 

  Ответить  
 
 автор: Lukas   (09.09.2008 в 16:02)   личное сообщение
72 Кб.
 
 

Я вот недавно озадачился построением динамического отчета для перекрестных запросов (по мотивам Маэстро Гетца), смотрю а им ведь можно выводить и небольшие запросы на выборку.
Заменяет кучу отчетов, главное подсунуть в OpenArgs строку SQL. Кому интересна идея можно глянуть ZIP.(MDE2003), если прицепится.
В отчете три поля: №, Дата, страница из. Остальное PRINT-ом.

  Ответить  
 
 автор: час   (09.09.2008 в 16:11)   личное сообщение
 
 

Кнопочки шикарные!!!

  Ответить  
 
 автор: час   (09.09.2008 в 16:13)   личное сообщение
 
 

Где-то я подобное видел........
Но на английском языке.
Видел, но не ползовался ....

  Ответить  
 
 автор: час   (09.09.2008 в 16:16)   личное сообщение
 
 

Обалденно!!!!
Скока потрачено времени - видимо.
Но результат - обалденный.

  Ответить  
 
 автор: час   (09.09.2008 в 16:16)   личное сообщение
 
 

Обалденно!!!!
Скока потрачено времени - видимо.
Но результат - обалденный.
Здесь на страничке форума наверху кнопка - прислать статью.
Может воспользуетесь ею Lukas!!!!!

  Ответить  
 
 автор: Lukas   (09.09.2008 в 16:22)   личное сообщение
 
 

Кнопочки заимствованы из интерфейса MS Money 5.0.(97 г.)
До сих пор пользую, шикарная вещица как по виду, так и по содержанию.
Первое коммерческое изделие подгонял по виду под нее как умел. (Про код лучше промолчу.)

  Ответить  
 
 автор: Pasat   (09.09.2008 в 16:34)   личное сообщение
 
 

интересна идея но не могу глянуть ZIP.(MDE2003),
а в а-2000 конвертировать можете???

  Ответить  
 
 автор: Lukas   (09.09.2008 в 16:37)   личное сообщение
 
 

Нет смысла. Строка SQL передается через OpenArgs, которую A2000 в отчетах не поддерживает.
Извините.

  Ответить  
 
 автор: час   (09.09.2008 в 16:50)   личное сообщение
 
 

из всего вышесказанного я пока добрался (дошел) только до:

//Важно правильно именовать объекты приложения, элементы управления, переменные, 
//функции и т.д., чтобы меньше было проблем в дальнейшем.
//Так-же надо стараться писать универсальные функции, которые 
//можно дергать из проекта в проект.

  Ответить  
 
 автор: Lukas   (09.09.2008 в 17:15)   личное сообщение
83 Кб.
 
 

Переделал немного, отчет берет строку SQL из формы. Но функционал создания выборки пришлось подрезать.
A2000

  Ответить  
 
 автор: Pasat   (09.09.2008 в 17:52)   личное сообщение
 
 

Ничего не скажешь...
КРАСИВО

  Ответить  
 
 автор: Скорп   (09.09.2008 в 23:21)   личное сообщение
 
 

ну, с твоим опытом в программировании, FORMAT, можно и поспать
а вот нам, салагам...

  Ответить  
 
 автор: Lukas   (09.09.2008 в 23:35)   личное сообщение
 
 

Да он и рад бы поспать, но дочурка наверное не больно-то дает.

  Ответить  
 
 автор: Скорп   (10.09.2008 в 00:37)   личное сообщение
 
 

она еще маленькая
вооот ч-з годик!!!!))))))))))))

  Ответить  
 
 автор: час   (11.09.2008 в 11:33)   личное сообщение
 
 

Запустил
Public Function funSetPropertyForm() 'открытых в режиме конструктора
И Вуа-ля форма преобразилась за пол секунды.
А сколь-ко бы её пришлося мурыжить, перетрахивая свойства формы, что бы она приняла такой вот вид.............................................

  Ответить  
 
 автор: Pasat   (14.09.2008 в 17:24)   личное сообщение
 
 

Запустил
Public Function funSetPropertyForm()

И Вуа-ля форма преобразилась за пол секунды

Только не понял что это за св-ва

frm.AllowDatasheetView = False
frm.AllowPivotChartView = False
frm.AllowPivotTableView = False

  Ответить  
 
 автор: час   (14.09.2008 в 18:15)   личное сообщение
 
 

Наверно потому они и отключены, что ими не полбзуются
Как Вы считаете?

  Ответить  
 
 автор: Lukas   (14.09.2008 в 18:43)   личное сообщение
 
 

В А2000 этих опций еще не было. Они относятся к режимам представления формы:
DatasheetView-режим таблицы (в 2000 вроде должен быть)
PivotTableView-режим сводной таблицы
PivotChartView-режим сводной диаграммы.
Я ими никогда не пользуюсь, поэтому и запретил.
Кстати неплохо бы функцию переписать, использую With. Будет работать быстрее.

  Ответить  
 
 автор: Lukas   (14.09.2008 в 18:55)   личное сообщение
2 Кб.
 
 

Где-то так:

  Ответить  
 
 автор: час   (14.09.2008 в 20:50)   личное сообщение
 
 

Урррррррррррррррааааа -!!!!!!!!!!
Я УГАДАЛ

  Ответить  
 
 автор: Lukas   (14.09.2008 в 20:54)   личное сообщение
 
 

Скорее так:
Используя глубокие познания материала сделал единственно возможный вывод!

  Ответить  
 
 автор: Скорп   (14.09.2008 в 22:51)   личное сообщение
 
 

кстати, я иногда тспользую модуль, который меняет шрифт во всех формах на нужный
(взял тут http://hiprog.com/index.php?option=com_content&task=view&id=442 )


Option Compare Database

Sub ChangeShrift()
Dim frm As Form, ctl As Control
Dim formName As String, n As Long
On Error Resume Next
'Перебираем все формы
For n = 0 To CurrentDb.Containers("Forms").Documents.Count - 1
formName = CurrentDb.Containers("Forms").Documents(n).Name
SysCmd acSysCmdSetStatus, formName
'Открываем форму в режиме конструктора
DoCmd.OpenForm formName, acDesign, , , , acHidden
Set frm = Forms(formName)
'Перебор всех управляющих элементов формы
For Each ctl In frm.Controls
If ctl.FontName = "СТАРЫЙ ШРИФТ" Then ctl.FontName = "НОВЫЙ ШРИФТ"
Next 'следующий элемент
'Закрываем и записываем форму
DoCmd.Close acForm, formName, acSaveYes
Next 'следующая форма
SysCmd acSysCmdClearStatus
MsgBox "Обработано форм: " & n, vbInformation
End Sub

полезная штука
запускаешь и во всех формах получаешь нужный тебе шрифт

  Ответить  
 
 автор: Lukas   (14.09.2008 в 23:00)   личное сообщение
 
 

Все-таки не грех бы проверять хотя бы на кнопку. Я не люблю на кнопках "Tahoma".
Но как говорится дело вкуса.

Использование расписанных по контролам свойств позволяет оперативно изменять значения этих свойств прямо в библиотечной базе. При этом изменения в библиотечной базе при закрытии не сохраняются.

  Ответить  
 
 автор: Pasat   (14.09.2008 в 22:40)   личное сообщение
 
 

Спасибо за разъяснения
только вот подумал что так будет удобнее
'перед входом в 1-ый цикл
DoCmd.RunCommand acCmdSelectAll
...
If TypeOf ctrl Is Label Then
ctrl.FontName = "Times New Roman"
ctrl.FontSize = 10
DoCmd.RunCommand acCmdSizeToFit
...
1. не надо подбирать высоту при изменении шрифта
2. для каждой надписи получаем нужную длинну

  Ответить  
 
 автор: Lukas   (14.09.2008 в 22:53)   личное сообщение
 
 

1. Не пробовал так.
2. Применяю всегда 10 FontSize и высоту 0,5 см. поэтому вопрос как-то не вставал.
3. Не использую ширину Label по ширине текста, обычно раздвигаю до связанного контрола, этакой табличкой. Вдруг понадобится сменить Caption?
4. Использование DoCmd в библиотечной базе как то смущает, хотя точно не знаю.
5. А проверялась эта версия на работу из библиотечной базы?

Я кстати ранее более правильную версию функции приклеивал, посмотрите.

  Ответить  
 
 автор: Pasat   (14.09.2008 в 23:32)   личное сообщение
 
 

А проверялась эта версия на работу из библиотечной базы?

Как понять из библиотечной базы?


Просто в каждой базе есть модуль например Tools в котором собраны подобные процедуры.
Оттуда они и запускаются
Пока проблем с этой подправленной ф-ей не наблюдалось

  Ответить  
 
 автор: Lukas   (14.09.2008 в 23:58)   личное сообщение
 
 

Иметь такие модули, которые используются только при проектировании, в рабочей базе неправильно. Поэтому их хранят в отдельном файле базы данных, который при проектировании подключают как ссылку в редакторе VBA (Tools-Referrens...).
В результате имеем доступ ко всем модулям библиотечной базы, и не загружаем проектируемое приложение лишним кодом, в том числе откомпилированным. По окончании работ отключаем библиотечную базу данных за ненадобностью.
Таким образом работают штатные мастера Access.
Если создать новый файл БД, и глянуть в редактор VBA, то там еще нет ссылок на библиотеки мастеров.
Теперь создадим форму мастером и посмотрим в редактор кода в окно Project Explorer (Сверху слева). Там появилась ссылка на библиотеку, которая правда закрыта для просмотра.
Она там будет видна до закрытия нашей базы. При следующем запуске ее уже не будет, до вызова мастера. Это потому, что мастера используют динамичное подключение ссылок.
А наша библиотека будет видна до тех пор, пока мы ее не отключим (кстати можно и программно) и не перезапустим наше приложение.

  Ответить  
 
 автор: Pasat   (15.09.2008 в 00:33)   личное сообщение
 
 

Да интересно, тогда поправьте если неправильно понял.
Надо так:
1. Создаем отделную (библиотечную) базу в которой будут только служебные ф-ии и процедуры
2. Подключаем эту базу к рабочему проекту в Tools-Referrens...
3. В процессе разработки используем служебные ф-ии и процедуры из подключенной базы
4. После окончания разработки отключаем библиотечную базу

А что это реально дает, тобиш где изюм?

  Ответить  
 
 автор: Скорп   (15.09.2008 в 00:47)   личное сообщение
 
 

ну Lukas же пишет

модули, которые используются только при проектировании

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

п.с. Lukas возьму идею на вооружение
правда у меня не так много этих самых служебных модулей, но идея понятна и заслуживает внимания

  Ответить  
 
 автор: Lukas   (15.09.2008 в 00:53)   личное сообщение
 
 

Понял все правильно.
Допустим нам для создания и настройки базы нужно иметь 50 служебных библиотечных модулей. Как будет чувствовать себя наша база, если мы будем постоянно экспортировать в нее около 50 лишних модулей, потом удалять, потом опять экспортировать. Компилятор сойдет с ума. База распухнет и начнет глючить. А нам это надо?

  Ответить  
 
 автор: Pasat   (15.09.2008 в 01:00)   личное сообщение
 
 

спасибо

  Ответить  
 
 автор: Lukas   (15.09.2008 в 01:13)   личное сообщение
 
 

Раз уж зашел разговор о функциях и процедурах.
Процедуры использую только в модулях классов, где они являются методами класса.
В глобальных модулях использую только функции, даже там, где вроде-бы должна быть процедура.
Казалось бы:
Задача функции - возвращать значение.
Задача процедуры - совершать какие-то действия.
Но, вызывая процедуру, мы можем не понять удалось ей сделать что ее просили или нет. И можем совершить ошибки в дальнейших действиях.
А если использовать вместо процедуры функцию As Boolean, мы можем присваивать ей значение True в случае успешного завершения, и False в случае ошибки. То есть имеем возможность изменить наши дальнейшие действия в случае получения ошибки.

  Ответить  
 
 автор: Lukas   (15.09.2008 в 01:28)   личное сообщение
 
 

Пролистал сейчас умную книжку про библиотечные БД. Везде упоминаются только функции. О процедурах ни слова.

  Ответить  
 
 автор: Pasat   (15.09.2008 в 08:47)   личное сообщение
 
 

спасибо

  Ответить  
 
 автор: Bellerofont   (15.09.2008 в 10:05)   личное сообщение
 
 

ничто не мешает получать результат выполнения процедуры, хотя бы через ByRef аргумент.

  Ответить  
 
 автор: Lukas   (15.09.2008 в 10:57)   личное сообщение
 
 

Плохому танцору всегда что-то мешает.
Был у меня такой злой случай:
В цикле вызываю функцию, передаю ей в качестве аргумента счетчик цикла.
В функции выполняю какие-то вычисления.
Далее мне надо в расчете иметь удвоенное значение переданного аргумента.
Я так-это бодренько перемножаю переданный аргумент на 2 и считаю дальше.
При проверке ничего понять не могу: цикл работает как-то скачками.
Когда дошло полез в умную книгу читать про ByVal и ByRef.
С тех пор использую передачу аргументов по ссылке для возвращения из функции нескольких значений аргументов.

  Ответить  
 
 автор: час   (15.09.2008 в 11:12)   личное сообщение
 
 

Вы ссылаетесь на "умную книгу" - это каждый раз - одна и та же книга или это общее название литературы по предмету разговора?

  Ответить  
 
 автор: Lukas   (15.09.2008 в 11:23)   личное сообщение
 
 

Книжек конечно несколько, но любимая эта:
Пол Литвин, Кен Гетц, Майк Гунделой
Для профессионалов
ACCESS 2002
Разработка настольных приложений
Издательства BHV (Киев) и ПИТЕР(Санкт-Петербург), 2002 год.
Остальные все от BHV (Киев) - очень недурно ребята издают.

  Ответить  
 
 автор: час   (15.09.2008 в 11:31)   личное сообщение
 
 

Ой толкнул Вас на рекламму

  Ответить  
 
 автор: Скорп   (15.09.2008 в 14:53)   личное сообщение
 
 

ну фсё час, час твой настал...
вот придет osmor...

  Ответить  
 
 автор: час   (15.09.2008 в 15:22)   личное сообщение
 
 



  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList