Народ! У меня тут такая заморочка
Обработка файлов данных.
Исходные данные о предприятиях: код, название, год начала реконструкции (не ранее 1995г., число лет реконструкции не более пяти), год окончания реконструкции (не позже 2005 г.), планируемые затраты на каждый год реконструкции. Число предприятий не определено. Записать данные в файл. Используя данные в файле, найти общие планируемые затраты на реконструкцию за заданный год.
«найти общие планируемые затраты на реконструкцию за заданный год.» - вот что меня напрягает. Мне надо, чтобы это действовало так:
Командная кнопка решить
1) через Text1 вводится год (от 1995 до 2005)
2) Командная кнопка «решить»
3) выдаётся таблица MSFlexGird, где появляются: шапки колонок – года (1995 до 2005), содержание колонок – планируемые затраты за данный год по всем предприятиям.
4) В Text2 появляются общие планируемые затраты на реконструкцию за заданный год.
Вот, что у меня уже есть:
Private Type prod
kod As String * 3
name As String * 10
nachalo As String * 4
konec As String * 4
pl(1 To 5) As Single
End Type
Private pr As predp, x As predp, y As predp
Private kolzap%, n_rec%, b As Boolean
Private Sub Vvod_Click()
Text1.Visible = False
Open CurDir$ & "\predpr.dat" For Random As #1 Len = Len(pr)
Do
pr.kod = InputBox("Введите код предприятия")
pr.name = InputBox("Введите название предприятия")
pr.nachalo = InputBox("Введите год начала реконструкции (не ранее 1995г., число лет реконструкции не более пяти)")
pr.konec = InputBox("Введите год окончания реконструкции (не позже 2005 г.)")
For i = 1 To 5
pr.pl(i) = InputBox("Введите планируемые затраты на каждый год реконструкции " & i & " год")
Next i
Put #1, , pr
Loop Until MsgBox("Продолжить ввод данных ?", 36) = vbNo
Close #1
End Sub
Private Sub prosmotr_Click()
Dim i%, j%
Text1.Visible = False
Open CurDir$ & "\predpr.dat" For Random As #1 Len = Len(pr)
kolzap = LOF(1) \ Len(pr)
fg.Cols = 13: fg.Rows = 16
For i = 0 To 12
fg.ColWidth(i) = fg.Width / 13
Next i
fg.Clear
fg.FormatString = "^ № р/р |^ Код |< Наименование |^ PL1 |^ PL2 |^ PL3 " & _
"|^ PL4 |^ PL5 |^ Начало реконструкции |^ Конец реконструкции "
For i = 1 To kolzap
Get #1, , pr
fg.TextMatrix(i, 0) = i
fg.TextMatrix(i, 1) = pr.kod
fg.TextMatrix(i, 2) = pr.name
For j = 1 To 5
fg.TextMatrix(i, j + 2) = pr.pl(j)
fg.TextMatrix(i, j + 5) = pr.nachalo
fg.TextMatrix(i, j + 7) = pr.konec
Next j
Next i
Close #1
End Sub