📄 global.bas
字号:
Close #1
Next kkk
'------------------------------------------------------
End Sub
'----------------------------------open-save pre -------------------------------------
Public Sub openfile_pre(filename$)
Open filename$ For Input As #1
For i = 1 To matchtime_num
For j = 1 To wellnum + 1
pressure_data(i, j) = -99
Next j
Next i
While Not EOF(1)
Input #1, ai, iday
For j = 1 To wellnum + 1
Input #1, pressure_data(ai, j)
Next j
Wend
Close #1
End Sub
Public Sub savefile_pre(filename$)
Static printuse()
ReDim printuse(wellnum)
BZ = 0
Open filename$ For Output As #1
For i = 1 To matchtime_num
For j = 1 To wellnum + 1
If Abs(pressure_data(i, j) + 99) > 0.0001 Then
Print #1, outc$(i, "###0"); outc$(match_day(i), "#####0"); outc$(pressure_data(i, 1), "###0.00")
For k = 2 To wellnum + 1
printuse(k - 1) = pressure_data(i, k)
Next k
Call printgrid(wellnum, printuse(), "###0.00")
BZ = 1
GoTo 6
End If
Next j
6 Next i
Close #1
If BZ = 0 Then Kill filename$
End Sub
'----------------------------------open-save oth -------------------------------------
Public Sub openfile_oth(filename$)
Open filename$ For Input As #1
Input #1, trstd
For i = 1 To 2
Input #1, stdcon(i)
Next i
For i = 1 To 4
Input #1, resol(i)
Next i
For i = 1 To 7
Input #1, inics(i)
Next i
Close #1
End Sub
Public Sub savefile_oth(filename$)
Open filename$ For Output As #1
Print #1, outc$(trstd, "###0.0")
For i = 1 To 2
Print #1, outc$(stdcon(i), "###0.00");
Next i
Print #1,
For i = 1 To 4
Print #1, resol(i); " ";
Next i
Print #1,
For i = 1 To 7
Print #1, outc$(inics(i), "#####0.0");
Next i
Print #1,
Close #1
End Sub
'----------------------------------open-save his -------------------------------------
Public Sub openfile_his(filename$)
Open filename$ For Input As #1
Input #1, zsxs_pro, zsxs_prw, zsxs_prg, zsxs_inj, oil_md, oil_bo
For i = 1 To wellnum
Input #1, A$
Input #1, zsxs_singlewell(i)
For j = 1 To matchtime_num
For k = 1 To history_cumwell_num
Input #1, cum_well(i, j, k)
Next k
Next j
Next i
Close #1
End Sub
Public Sub savefile_his(filename$)
Open filename$ For Output As #1
Print #1, outc$(zsxs_pro, "##0.000"); outc$(zsxs_prw, "##0.000"); outc$(zsxs_prg, "##0.000"); outc$(zsxs_inj, "##0.000");
Print #1, outc$(oil_md, "#0.000"); outc$(oil_bo, "#0.000")
For i = 1 To wellnum
Print #1, i, wellname$(i)
Print #1, zsxs_singlewell(i)
For j = 1 To matchtime_num
For k = 1 To history_cumwell_num
If k = 1 Then fort$ = "###0.000" Else fort$ = "########0.0"
Print #1, outc$(cum_well(i, j, k), fort$);
Next k
Print #1,
Next j
Next i
Close #1
End Sub
'----------------------------------open-save pvt -------------------------------------
Public Sub openfile_pvt(filename$)
Open filename$ For Input As #1
Input #1, pvt_bz
For i = 1 To 4
Input #1, PE_W(i)
Next i
Input #1, COMPR_M, COMPR_F, MD_G
For i = 1 To 8
Input #1, PE_O(i)
Next i
If pvt_bz = 1 Or pvt_bz = 3 Then linum = 1 Else linum = 2
For i = 1 To linum
Input #1, A$
Input #1, oilpvt_num(i)
If oilpvt_num(i) >= 1 Then
For j = 1 To oilpvt_num(i)
For k = 1 To 4
Input #1, oil_pvt(i, j, k)
Next k
Next j
End If
Next i
Input #1, A$
Input #1, gaspvt_num
If gaspvt_num >= 1 Then
For j = 1 To gaspvt_num
For k = 1 To 3
Input #1, gas_pvt(j, k)
Next k
Next j
End If
Close #1
End Sub
Public Sub savefile_pvt(filename$)
Open filename$ For Output As #1
Print #1, Format$(pvt_bz, "#0")
For i = 1 To 4
If i = 2 Then frt$ = "0.000E+##" Else frt$ = "#0.00"
Print #1, " " + Format$(PE_W(i), frt$);
Next i
Print #1,
Print #1, Format$(COMPR_M, "0.000E+##"); " "; Format$(COMPR_F, "0.000E+##"); " "; outc$(MD_G, "##0.000")
For i = 1 To 8
Select Case i
Case 2, 3, 6, 7: frt$ = "0.000E+##"
Case Else: frt$ = "##0.000"
End Select
Print #1, " " + Format$(PE_O(i), frt$);
Next i
Print #1,
If pvt_bz = 1 Or pvt_bz = 3 Then linum = 1 Else linum = 2
For i = 1 To linum
Print #1, "oil" + Str$(i)
Print #1, Format$(oilpvt_num(i), "#0")
If oilpvt_num(i) >= 1 Then
For j = 1 To oilpvt_num(i)
For k = 1 To 4
Print #1, outc$(oil_pvt(i, j, k), oilpvt_frt$(k));
Next k
Print #1,
Next j
End If
Next i
Print #1, "gas"
Print #1, Format$(gaspvt_num, "#0")
If gaspvt_num >= 1 Then
For j = 1 To gaspvt_num
For k = 1 To 3
Print #1, outc$(gas_pvt(j, k), gaspvt_frt$(k));
Next k
Print #1,
Next j
End If
Close #1
End Sub
'----------------------------------open-save krpc -------------------------------------
Public Sub openfile_krpc(filename$)
Open filename$ For Input As #1
Input #1, FRAC_kr
For i = 1 To 4
For j = 1 To 9
Input #1, end_point(i, j)
Next j
Next i
Input #1, A$
Input #1, krownum_m
If krownum_m >= 1 Then
For j = 1 To krownum_m
For k = 1 To 5
Input #1, krow_m(j, k)
Next k
Next j
End If
Input #1, A$
Input #1, krognum_m
If krognum_m >= 1 Then
For j = 1 To krognum_m
For k = 1 To 5
Input #1, krog_m(j, k)
Next k
Next j
End If
If FRAC_kr = -1 Then
Input #1, A$
Input #1, krownum_f
If krownum_f >= 1 Then
For j = 1 To krownum_f
For k = 1 To 5
Input #1, krow_f(j, k)
Next k
Next j
End If
Input #1, A$
Input #1, krognum_f
If krognum_f >= 1 Then
For j = 1 To krognum_f
For k = 1 To 5
Input #1, krog_f(j, k)
Next k
Next j
End If
End If
Close #1
End Sub
Public Sub savefile_krpc(filename$)
Open filename$ For Output As #1
Print #1, FRAC_kr
For i = 1 To 4
For j = 1 To 9
Print #1, outc$(end_point(i, j), "###0.0000");
Next j
Print #1,
Next i
Print #1, "satwo_m"
Print #1, Format$(krownum_m, "#0")
If krownum_m >= 1 Then
For j = 1 To krownum_m
For k = 1 To 5
Print #1, outc$(krow_m(j, k), kr_frt$(k));
Next k
Print #1,
Next j
End If
Print #1, "satgo_m"
Print #1, Format$(krognum_m, "#0")
If krognum_m >= 1 Then
For j = 1 To krognum_m
For k = 1 To 5
Print #1, outc$(krog_m(j, k), kr_frt$(k));
Next k
Print #1,
Next j
End If
If FRAC_kr = -1 Then
Print #1, "satwo_f"
Print #1, Format$(krownum_f, "#0")
If krownum_f >= 1 Then
For j = 1 To krownum_f
For k = 1 To 5
Print #1, outc$(krow_f(j, k), kr_frt$(k));
Next k
Print #1,
Next j
End If
Print #1, "satgo_f"
Print #1, Format$(krognum_f, "#0")
If krognum_f >= 1 Then
For j = 1 To krognum_f
For k = 1 To 5
Print #1, outc$(krog_f(j, k), kr_frt$(k));
Next k
Print #1,
Next j
End If
End If
Close #1
End Sub
'----------------------------------open-save wel -------------------------------------
Public Sub openfile_wel(filename$)
Open filename$ For Input As #1
Input #1, staok_name$
Input #1, A$
For i = 1 To wellnum
Input #1, B
For j = 1 To layernum
Input #1, kh_value(i, j)
Next j
Next i
Input #1, A$
Input #1, sk_time_num
For i = 1 To sk_time_num
Input #1, sk_tnum(i), sk_well_num(i)
For j = 1 To sk_well_num(i)
Line Input #1, A$
sk_jh(i, j) = val(Left$(A$, 4))
sk_welcond$(i, j) = Trim$(Mid$(A$, 6))
Next j
Next i
Close #1
End Sub
Public Sub savefile_wel(filename$)
Static printuse()
ReDim printuse(layernum)
Open filename$ For Output As #1
Print #1, staok_name$
Print #1, "KH值"
For i = 1 To wellnum
Print #1, i
For j = 1 To layernum
printuse(j) = kh_value(i, j)
Next j
Call printgrid(layernum, printuse(), "######0")
Next i
Print #1, "射孔状况"
Print #1, sk_time_num
For i = 1 To sk_time_num
Print #1, sk_tnum(i), sk_well_num(i)
For j = 1 To sk_well_num(i)
Print #1, outc$(sk_jh(i, j), "###0") + " " + sk_welcond$(i, j)
Next j
Next i
Close #1
End Sub
Public Sub re_modfile()
Call openfile_mod(maindrive$ + "\easysim\model\" & mod_filename$ & ".MOD")
Call js_matchtime
'If mod_filename$ <> "" And Dir(maindrive$+"\easysim\model\" & mod_filename$ & ".MOD") <> "" Then
' If griddxnum <= 1 Or griddynum <= 1 Then mod_filename$ = ""
'Else
' mod_filename$ = ""
'End If
'If mod_filename$ <> "" Then
' If wellnum >= 1 Then
' main1.singlewell.Enabled = -1
' main1.prohistory.Enabled = -1
' main1.pressure.Enabled = -1
' main1.Toolbar1.Buttons(5).Enabled = -1
' main1.Toolbar1.Buttons(6).Enabled = -1
' main1.Toolbar1.Buttons(8).Enabled = -1
' Else
' main1.singlewell.Enabled = 0
' main1.prohistory.Enabled = 0
' main1.pressure.Enabled = 0
' main1.Toolbar1.Buttons(5).Enabled = 0
' main1.Toolbar1.Buttons(6).Enabled = 0
' main1.Toolbar1.Buttons(8).Enabled = 0
' End If
' main1.stadata.Enabled = -1
' main1.Toolbar1.Buttons(4).Enabled = -1
'Else
' main1.stadata.Enabled = 0
' main1.singlewell.Enabled = 0
' main1.prohistory.Enabled = 0
' main1.pressure.Enabled = 0
'
' main1.Toolbar1.Buttons(4).Enabled = 0
' main1.Toolbar1.Buttons(5).Enabled = 0
' main1.Toolbar1.Buttons(6).Enabled = 0
' main1.Toolbar1.Buttons(8).Enabled = 0
' End If
End Sub
Public Sub printgrid(printnum, printdim(), unitfor$)
line_number = Int((printnum - 1) / 10) + 1
If line_number = 1 Then
For i = 1 To printnum
Print #1, outc$(printdim(i), unitfor$);
Next i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -