如何将SSTab上的内容保存为文件?在线等

时间:2022-10-04 11:50:48
我是一个菜鸟,要搞毕业设计,各位大侠请帮帮我。我搞的是工程预算系统,在一个SSTab控件上,有几个MSFlexGrid控件和几个TextBox控件,我想将几个MSFlexGrid控件和几个TextBox控件的内容保存为文件格式,可以将文件携带到另一台计算机上修改。现在的问题是如何保存和打开文件,再好附有源程序,不胜感激!

7 个解决方案

#1


既然到另一台机器上能修改
那台机器就应该有VB
那还需要保存成其他格式?
直接保存然后把工程拷贝过去就行啊

另一种方式是转成文本格式

#2


直接保存到文本文件里,到时候再读就可以

#3


不是这样,你误会我的意思了,我的意思是程序运行时所输入的数据能保存成文件形式以及能打开文件

#4


可否提供源程序,不胜感激,4月30日前要交上去了

#5


如果有需要,我可提供源程序。

#6


应该是最基本的文件操作

#7


已找到答案
  保存
Public Sub save()
   With MDIForm1.ActiveForm
    '分项工程费
         Print #1, "[MSFlexGrid1]"
         For r = 1 To .MSFlexGrid1.Rows - 1 '循环行
            S_Str = vbTab + ""
            For c = 1 To .MSFlexGrid1.Cols - 1 '循环列
              
              S_Str = S_Str & .MSFlexGrid1.TextMatrix(r, c) + vbTab
              
            Next c
            Print #1, S_Str   '输出一行
            'Print #1, Chr(13) + Chr(10)
         Next r
         '材料表
         Print #1, "[MSFlexGrid2]"
         For r = 1 To .MSFlexGrid2.Rows - 1 '循环行
            S_Str = vbTab + ""
            For c = 1 To .MSFlexGrid2.Cols - 1 '循环列
              
              S_Str = S_Str & .MSFlexGrid2.TextMatrix(r, c) + vbTab
              
            Next c
            Print #1, S_Str   '输出一行
            'Print #1, Chr(13) + Chr(10)
         Next r
end sub

打开
Do While Not EOF(1)
         Line Input #1, textLine
            Select Case textLine
                Case "[MSFlexGrid1]"
                  Do While textLine <> "[MSFlexGrid2]"
                    Line Input #1, textLine
                    realLine = textLine
                    'realLine = Mid(textLine, InStr(textLine, ":") + 1)
                    Form1.MSFlexGrid1.AddItem (realLine)
                  Loop
                  Form1.MSFlexGrid1.RemoveItem (Form1.MSFlexGrid1.Rows - 1)
             End Select
             
             Select Case textLine
                Case "[MSFlexGrid2]"
                  Do While textLine <> "[text1]"
                    Line Input #1, textLine
                    realLine = textLine
                    'realLine = Mid(textLine, InStr(textLine, ":") + 1)
                    Form1.MSFlexGrid2.AddItem (realLine)
                  Loop
                  Form1.MSFlexGrid2.RemoveItem (Form1.MSFlexGrid2.Rows - 1)'这个为什么要删除一行,我也不明白
             End Select
多谢你能回答我的问题,我想把分送出去,但不知怎样送?谁能告诉我

#1


既然到另一台机器上能修改
那台机器就应该有VB
那还需要保存成其他格式?
直接保存然后把工程拷贝过去就行啊

另一种方式是转成文本格式

#2


直接保存到文本文件里,到时候再读就可以

#3


不是这样,你误会我的意思了,我的意思是程序运行时所输入的数据能保存成文件形式以及能打开文件

#4


可否提供源程序,不胜感激,4月30日前要交上去了

#5


如果有需要,我可提供源程序。

#6


应该是最基本的文件操作

#7


已找到答案
  保存
Public Sub save()
   With MDIForm1.ActiveForm
    '分项工程费
         Print #1, "[MSFlexGrid1]"
         For r = 1 To .MSFlexGrid1.Rows - 1 '循环行
            S_Str = vbTab + ""
            For c = 1 To .MSFlexGrid1.Cols - 1 '循环列
              
              S_Str = S_Str & .MSFlexGrid1.TextMatrix(r, c) + vbTab
              
            Next c
            Print #1, S_Str   '输出一行
            'Print #1, Chr(13) + Chr(10)
         Next r
         '材料表
         Print #1, "[MSFlexGrid2]"
         For r = 1 To .MSFlexGrid2.Rows - 1 '循环行
            S_Str = vbTab + ""
            For c = 1 To .MSFlexGrid2.Cols - 1 '循环列
              
              S_Str = S_Str & .MSFlexGrid2.TextMatrix(r, c) + vbTab
              
            Next c
            Print #1, S_Str   '输出一行
            'Print #1, Chr(13) + Chr(10)
         Next r
end sub

打开
Do While Not EOF(1)
         Line Input #1, textLine
            Select Case textLine
                Case "[MSFlexGrid1]"
                  Do While textLine <> "[MSFlexGrid2]"
                    Line Input #1, textLine
                    realLine = textLine
                    'realLine = Mid(textLine, InStr(textLine, ":") + 1)
                    Form1.MSFlexGrid1.AddItem (realLine)
                  Loop
                  Form1.MSFlexGrid1.RemoveItem (Form1.MSFlexGrid1.Rows - 1)
             End Select
             
             Select Case textLine
                Case "[MSFlexGrid2]"
                  Do While textLine <> "[text1]"
                    Line Input #1, textLine
                    realLine = textLine
                    'realLine = Mid(textLine, InStr(textLine, ":") + 1)
                    Form1.MSFlexGrid2.AddItem (realLine)
                  Loop
                  Form1.MSFlexGrid2.RemoveItem (Form1.MSFlexGrid2.Rows - 1)'这个为什么要删除一行,我也不明白
             End Select
多谢你能回答我的问题,我想把分送出去,但不知怎样送?谁能告诉我