用C++或VB实现

来源:百度知道 编辑:UC知道 时间:2024/06/16 11:07:48
打开.mif后缀的文件,里面的内容:
DEPTH = 1024;
WIDTH = 10;
ADDRESS_RADIX = HEX;
DATA_RADIX = DEC;
CONTENT
BEGIN
0000 : 0;
0001 : 3;
0002 : 6;
0003 : 9;
0004 : 12;
0005 : 15;
0006 : 18;
0007 : 21;
0008 : 25;
0009 : 28;
000A : 31;
000B : 34;
000C : 37;
END ;

要求转换BEGIN和END之间的数据;转成十六进制;
如:
0000 : 0;
0001 : 3;
转换成:
0x00 0x00 0x00 0x00
0x00 0x01 0x00 0x03

要求:有打开文件按钮,然后有保存按钮,保存转换后的数据.还要有一个文本框显示转换后的数据.
要有换行.如上面给出的例子.

VB 程序

'打开
Private Sub Command1_Click()

Dim s As String, str As String
Dim b As Integer
Dim i As Long

Open "d:\001.mif" For Input As #1
b = 0 '0 还未开始,1开始了,2结束了
Text1.Text = ""
Do
Line Input #1, s
If InStr(s, "END") > 0 Then b = 2
If b = 2 Then
Exit Do
ElseIf b = 1 Then
str = Left(Trim(s), 4)
Text1.Text = Text1.Text & "0x" & Left(str, 2) & " 0x" & Right(str, 2)
i = Val(Mid(s, InStr(s, ":") + 1))
str = Right("0000" & Hex(i), 4)
Text1.Text = Text1.Text & " 0x" & Left(str, 2) & " 0x" & Right(str, 2) & vbCrLf
End If
If InStr(s, "BEGIN") > 0 Then b = 1
Loop Until EOF(1)
Close 1

End Sub

'保存
Private Sub Command2_Click()