|
Создание базы данных |
86 QueryTypeCombo. ListIndex = 0787 Call ButEnabled(RunImg, RunBut, True) 788 Call ButEnabled(CancelImg, CancelBut, True) 789 TopImg. Picture = MainForm. TopImageList. ListImages(1). Picture790End Sub791792Private Sub QueryList_DblClick() 793 With QueryList794 If (. ListIndex <> - 1) Then795 Text1 =. List(. ListIndex) 796 Text1. SetFocus797 End If798 End With799End Sub800801Private Sub QueryTypeCombo_Click() 802 With QuerySubtypeCombo803. Clear804 Select Case QueryTypeCombo. ListIndex805 Case 0806. AddItem "Поля"807. AddItem "Записи"808 Case 1809. AddItem "Поля"810. AddItem "Записи"811 Case 2812. AddItem "По алфавиту"813. AddItem "Против алфавита"814 Case 3815. AddItem "Равно записи"816. AddItem "Больше записи"817. AddItem "Меньше записи"818. AddItem "Равно кол-ву копий"819. AddItem "Больше кол-ва копий"820. AddItem "Меньше кол-ва копий"821 Case 4822. AddItem "Полей"823. AddItem "Записей"824 Case 5825. AddItem "Типа поля"826. AddItem "Названия поля"827 End Select828. ListIndex = 0829 End With830End Sub831832Private Sub RunBut_Click() 833 If (QueryList. ListCount > 0) Then834 Call SoundClick835 For i% = 0 To QueryList. ListCount - 1836 Call RunQuery(QMFDBIndex, QueryList. List(i)) 837 Next i838 With MainForm839. TabStrip. SelectedItem =. TabStrip. Tabs(QMFDBIndex + 1) 840 Call ShowTable(QMFDBIndex) 841 End With842 QueryList. Clear843 Call MsgForm. InfoMsg("Запросы выполнены. ") 844 End If845End Sub846847Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) 848 If (KeyCode = 13) Then Call ChangeImage_MouseDown(vbLeftButton, Shift, 1, 1) 849End SubФорма: EditRecordForm. frm850Public ERFDBIndex%851Dim RowIndexSave%852Dim protect As Boolean853Dim Arr() 854855Public Sub LoadData(RowIndex%) 856 RowIndexSave = RowIndex857 With DB(ERFDBIndex). Header858 ReDim Arr(. ColCount, 1) 859 For i% = 0 To. ColCount - 1860 Arr(i, 0) = DB(ERFDBIndex). Rows(RowIndex). Fields(i) 861 Arr(i, 1) = DB(ERFDBIndex). Cols(i). Class862 Next i863 End With864End Sub865866Private Sub CellList_Click() 867 i% = CellList. ListIndex868 Select Case Arr(i, 1) 869 Case ccInteger870 Label6. Caption = "Поле числового типа"871 Call ButEnabled(EditorImg, EditorBut, False) 872 Case ccString873 Label6. Caption = "Поле строкового типа"874 Call ButEnabled(EditorImg, EditorBut, True) 875 End Select876 With Text1877. Text = CStr(Arr(i, 0)) 878. SelStart = 0879. SelLength = Len(. Text) 880 End With881End Sub882883Public Sub OverloadList() 884 CellList. Clear885 For i% = 0 To DB(ERFDBIndex). Header. ColCount - 1886 CellList. AddItem CStr(Arr(i, 0)) 887 Next i888 CellList. ListIndex = 0889End Sub890891Private Sub Form_Load() 892 protect = False893 Call ButEnabled(ReturnImg, ReturnBut, True) 894 Call ButEnabled(EditorImg, EditorBut, False) 895 Call ButEnabled(FlipImg, FlipBut, True) 896 Call ButEnabled(SelectImg, SelectBut, True) 897 Call ButEnabled(CancelImg, CancelBut, True) 898 TopImg. Picture = MainForm. TopImageList. ListImages(1). Picture899 900' If (Not protect) Then901' Call OverloadList902' Else903' protect = False904' End If905 906End Sub907908Private Sub ReturnBut_Click() 909 Call SoundClick910 If (MsgForm. QuestMsg("Восстановить поля из БД? ") = resOk) Then911 Call LoadData(RowIndexSave) 912 Call OverloadList913 Call MsgForm. InfoMsg("Поля были восстановлены! ") 914 End If915End Sub916917Private Sub EditorBut_Click() 918 If (EditorBut. Tag = 0) Then Exit Sub919 Call SoundClick920 i% = CellList. ListIndex921 If (Arr(i, 1) = ccInteger) Then922 Call MsgForm. InfoMsg("Для редактирования чисел редактор не исспользуется. ") 923 Exit Sub924 End If925 If IsDate(Text1. Text) And (MonthForm. Check1. value = 0) Then926 s$ = Text1. Text927 p% = InStr(1, s, ". ") 928 MonthForm. MonthView1. Day = CInt(Left(s, p - 1)) 929 s = Mid(s, p + 1) 930 p% = InStr(1, s, ". ") 931 MonthForm. MonthView1. Month = CInt(Left(s, p - 1)) 932 s = Mid(s, p + 1) 933 MonthForm. MonthView1. Year = CInt(s) 934935 MonthForm. Show vbModal936 Select Case MonthForm. res937 Case 1938 Text1. Text = CStr(MonthForm. MonthView1. Day) + ". " + CStr(MonthForm. MonthView1. Month) + ". " + CStr(MonthForm. MonthView1. Year) 939 Case - 1940 GoTo text_941 End Select942 Else943text_: 944 With TextEditForm945. TextEdit. Text = Text1. Text946 protect = True947. Show vbModal948 If (. res = 1) Then Text1. Text =. TextEdit. Text949 Unload TextEditForm950 End With951 End If952End Sub953954Private Sub SelectBut_Click() 955Call SoundClick956If UserIsAdmin Then957 If (MsgForm. QuestMsg("Сохранить поля в БД? ") = resOk) Then958 With DB(ERFDBIndex) 959 Dim tmparr() 960 ReDim tmparr(. Header. ColCount) 961 For i% = 0 To. Header. ColCount - 1962 tmparr(i) = Arr(i, 0) 963 Next i964 If (Not FindRow(ERFDBIndex, tmparr)) Then965 For i% = 0 To. Header. ColCount - 1966. Rows(RowIndexSave). Fields(i) = Arr(i, 0) 967 Next i968 DBChanged = True969 Call MsgForm. InfoMsg("Поля были сохранены в БД! ") 970 Call ShowTable(ERFDBIndex) 971 Unload Me972 Else973 Call MsgForm. ErrorMsg("Изменённое поле перекрывает уже существующее! Измените данные. ") 974 End If975 End With976 End If977Else978 Call ProtectedMsg979End If980End Sub981982Private Sub CancelBut_Click() 983 Call SoundClick984 Unload Me985End Sub986987' Посимвольное сравнение str с '2147483647' - максимальным значением Long988Function isVeryLong(str$) As Boolean989 If (Left(str, 1) = "-") Then str = Mid(str, 2) 990 For i% = 1 To (10 - Len(str)) 991 str = "0" + str992 Next i993 994 maxval$ = "2147483647"995 For i% = 1 To 10996 ch1$ = Mid(maxval, i, 1) 997 ch2$ = Mid(str, i, 1) 998 If (Asc(ch2) > Asc(ch1)) Then999 isVeryLong = True1000 GoTo exit_1001 ElseIf (ch2 <> ch1) Then1002 isVeryLong = False1003 GoTo exit_1004 End If1005 Next i1006 isVeryLong = False1007exit_: 1008End Function10091010Private Sub FlipBut_Click() 1011Call SoundClick1012If UserIsAdmin Then1013 tmp = Null1014 i% = CellList. ListIndex1015 mln% = 101016 If (Left(Text1. Text, 1) = "-") Then mln = mln + 11017 If (Arr(i, 1) = ccInteger) Then1018 If (Len(Trim(Text1. Text)) > mln) Or (isVeryLong(Trim(Text1. Text))) Then1019 Call MsgForm. ErrorMsg("Числовое значение превышает разрядную сетку! ") 1020 With Text11021. SelStart = 01022. SelLength = Len(. Text) 1023 End With1024 GoTo exit_1025 End If1026 1027 If IsInteger(Trim(Text1. Text)) Then1028 tmp = CLng(Text1. Text) 1029 Else1030 Call MsgForm. ErrorMsg("Значение не является целым числом! ") 1031 With Text11032. SelStart = 01033. SelLength = Len(. Text) 1034 End With1035 End If1036 Else1037 If (Trim(Text1. Text) = "") Then1038 If (MsgForm. QuestMsg("Строка пуста. Продолжить? ") = resOk) Then1039 tmp = Text1. Text1040 GoTo exit_1041 Else1042 With Text11043. SelStart = 01044. SelLength = Len(. Text) 1045 End With1046 End If1047 Else1048 tmp = Text1. Text1049 End If1050 End If1051 1052 ' Введёное значение прошло контроль1053 If (Not IsNull(tmp)) Then1054 Select Case Arr(i, 1) 1055 Case ccInteger: Arr(i, 0) = CLng(tmp) 1056 Case ccString: Arr(i, 0) = CStr(tmp) 1057 End Select1058 curpos% = CellList. ListIndex1059 Call OverloadList1060 CellList. ListIndex = curpos1061 End If1062exit_: 1063Else1064 Call ProtectedMsg1065End If1066End Sub10671068Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) 1069 If (KeyCode = 13) Then FlipBut_Click1070End SubФорма: MsgForm. frm1071Dim res As Byte10721073Public Function ErrorMsg(str$) As Integer1074 Caption = "Ошибка"1075 Text = str1076 1077 YesFrame. Visible = True1078 NoFrame. Visible = False1079 CancelFrame. Visible = False10801081 InfoImage. Visible = False1082 ErrImage. Visible = True1083 QuestImage. Visible = False10841085 YesFrame. Move 24001086 res = resBad1087 Call sndPlaySound("Data\Error. wav", SND_ASYNC + SND_FILENAME + SND_LOOP + SND_APPLICATION) 1088 Show vbModal1089 ErrorMsg = res1090 Unload Me1091End Function10921093Public Function InfoMsg(str$) As Integer1094 Caption = "Информация"1095 Text = str1096 1097 YesFrame. Visible = True1098 NoFrame. Visible = False1099 CancelFrame. Visible = False11001101 InfoImage. Visible = True1102 ErrImage. Visible = False1103 QuestImage. Visible = False1104 1105 YesFrame. Move 240011061107 res = 01108 Call sndPlaySound("Data\Info. wav", SND_ASYNC + SND_FILENAME + SND_LOOP + SND_APPLICATION) 1109 Show vbModal1110 InfoMsg = res1111 Unload Me1112End Function11131114Public Function QuestMsg(str$, Optional showcancel As Boolean = False) As Integer1115 Caption = "Вопрос"1116 Text = str1117 1118 If showcancel Then1119 YesFrame. Visible = True1120 NoFrame. Visible = True1121 CancelFrame. Visible = True1122 1123 YesFrame. Move 3601124 NoFrame. Move 43801125 CancelFrame. Move 24001126 1127 Else1128 YesFrame. Visible = True1129 NoFrame. Visible = True1130 CancelFrame. Visible = False1131 1132 YesFrame. Move 9001133 NoFrame. Move 38401134 End If11351136 InfoImage. Visible = False1137 ErrImage. Visible = False1138 QuestImage. Visible = True11391140 res = 01141 Call sndPlaySound("Data\Quest. wav", SND_ASYNC + SND_FILENAME + SND_LOOP + SND_APPLICATION) 1142 Show vbModal1143 QuestMsg = res1144 Unload Me1145End Function11461147Private Sub CancelBut_Click() 1148 res = resCancel1149 Call SoundClick1150 Hide1151End Sub11521153Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) 1154 Select Case KeyCode1155 Case 131156 Call YesBut_Click1157 Case 271158 Call NoBut_Click1159 Case 81160 If (CancelFrame. Visible = True) Then Call CancelBut_Click1161 End Select1162End Sub11631164Private Sub Form_Load() 1165 Call ButEnabled(YesImg, YesBut, True) 1166 Call ButEnabled(CancelImg, CancelBut, True) 1167 Call ButEnabled(NoImg, NoBut, True) 1168End Sub11691170Private Sub NoBut_Click() 1171 res = resNo1172 Call SoundClick1173 Hide1174End Sub11751176Private Sub YesBut_Click() 1177 res = resOk1178 Call SoundClick1179 Hide1180End Sub1181Форма: DiagMasterForm. frm1182Dim DiagData() 11831184Private Sub DiagTypeCombo_Click() 1185 DiagTypeImage. Picture = DiagTypeImgs. ListImages(DiagTypeCombo. ListIndex + 1). Picture1186 Select Case DiagTypeCombo. ListIndex1187 Case 0, 2: Frame2. Visible = False1188 Case 1, 3: Frame2. Visible = True1189 End Select1190End Sub11911192Private Sub Enabled3DCheck_Click() 1193 DimImg. Picture = DiagTypeImgs. ListImages(5 + Enabled3DCheck. value). Picture1194End Sub11951196Private Sub Form_Load() 1197 Call ButEnabled(OkImg, OkBut, False) 1198 Call ButEnabled(CancelImg, CancelBut, True) 1199 TopImg. Picture = MainForm. TopImageList. ListImages(1). Picture1200 DiagTypeCombo. ListIndex = 01201 DimImg. Picture = DiagTypeImgs. ListImages(5). Picture1202 1203 TableIndexCombo. Clear1204 SelectColList. Clear1205 For i% = 1 To MainForm. TabStrip. Tabs. Count1206 TableIndexCombo. AddItem MainForm. TabStrip. Tabs(i). Caption1207 Next i1208 TableIndexCombo. ListIndex = 01209End Sub12101211' по строке "{x, YYY} ZZZ" возвращает номер таблицы (x) 1212Sub GetTableIndex(ByVal str As String, TI As Integer) 1213 s$ = Trim$(Mid$(str, 2, InStr(1, str, ",") - 2)) 1214 TI = CInt(s) 1215End Sub12161217' по строке "{x, YYY} ZZZ" и номеру таблицы возвращает номер поля с заголовком ZZZ1218Sub GetColIndex(ByVal str As String, ByVal TI As Integer, CI As Integer) 1219 s$ = Trim$(Mid$(str, InStr(1, str, "}") + 1)) 1220 For i% = 0 To DB(TI). Header. ColCount - 11221 If (s = Trim(DB(TI). Cols(i). title)) Then1222 CI = i1223 Exit Sub1224 End If1225 Next i1226 CI = - 1 ' событие невозможное но вероятное1227End Sub12281229Function GettingDiagData(OnlyOneCol As Boolean) As Boolean1230 GettingDiagData = False12311232 Dim TI As Integer, CI As Integer1233 1234 Select Case OnlyOneCol1235 Case True ' ************************************************************************1236 Call GetTableIndex(SelectColList. List(0), TI) 1237 Call GetColIndex(SelectColList. List(0), TI, CI) 1238 ' зная номер таблицы и номер поля данных нужно проверить тип поля1239 If (DB(TI). Cols(CI). Class <> ccInteger) Then1240 Call MsgForm. ErrorMsg("Нельзя строить диаграмму по нечисленным данным! ") 1241 Exit Function1242 End If1243 ' заполнение массива данных1244 ReDim DiagData(2 * DB(TI). Header. RowCount) 1245 For i% = 0 To DB(TI). Header. RowCount - 11246 DiagData(2 * i) = DB(TI). Rows(i). Fields(CI) 1247 DiagData(2 * i + 1) = DiagData(2 * i)
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
|
|
|
© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент. |
|
|