| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1815 人关注过本帖, 1 人收藏
标题:求助:存取外部文件数据
只看楼主 加入收藏
新手VB
Rank: 2
等 级:论坛游民
帖 子:72
专家分:11
注 册:2016-1-24
结帖率:92.31%
收藏(1)
已结贴  问题点数:20 回复次数:8 
求助:存取外部文件数据
系统登陆如何记住用户名和密码,下次登陆只需要点击确定按钮就自动登陆系统。
搜索更多相关主题的帖子: 用户名 密码 如何 
2016-02-03 07:32
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
记得有个什么"Open 文件名 For Output"命令,这可以把数据存入文件,需要登陆时先检测有没有这个文件。有的话用"Open 文件名 For Input", 将读出的数据填入文本框
2016-02-03 08:56
新手VB
Rank: 2
等 级:论坛游民
帖 子:72
专家分:11
注 册:2016-1-24
收藏
得分:0 
回复 2楼 yangfrancis
谢谢!可否做个实例或者给个链接。
2016-02-03 09:04
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
有三种方法:
1、OPEN 文件,可以自己封装加解密和使用二进制文件。加密强度可以提升。
2、使用INI文件,这个有专用 API 函数,并且网上有大把封装好了的函数。可以使用 字符串加密方式。
3、使用注册表。VB6自带注册表函数,虽然是固定一个位置,也可以用的。

简便,推荐第2种。加密,推荐第1种。一般情况下不推荐第3种。

授人于鱼,不如授人于渔
早已停用QQ了
2016-02-03 09:06
新手VB
Rank: 2
等 级:论坛游民
帖 子:72
专家分:11
注 册:2016-1-24
收藏
得分:0 
谢谢老师关注。
2016-02-03 09:43
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 3楼 新手VB
'这是我一个程序当中直接剪贴出来的代码,道理是一样的。只不过我存入的是数组,你只存两个字符串,当然更加容易。
Private Sub mnuSave_Click()
Index = 0
For datanumber = 1 To 19 Step 2
  savedata(datanumber) = character(Index).Left
  Index = Index + 1
Next datanumber
Index = 0
For datanumber = 2 To 20 Step 2
  savedata(datanumber) = character(Index).Top
  Index = Index + 1
Next datanumber
savedata(21) = stage
Open App.Path + "\save\savefile.dat" For Output As 1
For datanumber = 1 To 21
  Print #1, savedata(datanumber)
Next datanumber
Close #1
End Sub
'-----------------------------------------
Private Sub mnuRead_Click()
Open App.Path + "\save\savefile.dat" For Input As 1
For Index = 1 To 21
  Input #1, savedata(Index)
Next Index
Index = 0
For datanumber = 1 To 19 Step 2
  character(Index).Left = savedata(datanumber)
  Index = Index + 1
Next datanumber
Index = 0
For datanumber = 2 To 20 Step 2
  character(Index).Top = savedata(datanumber)
  Index = Index + 1
Next datanumber
stage = savedata(21)
Me.Caption = "华容道-第" + Str(stage) + "关"
Close #1
End Sub
2016-02-03 12:08
新手VB
Rank: 2
等 级:论坛游民
帖 子:72
专家分:11
注 册:2016-1-24
收藏
得分:0 
回复 6楼 yangfrancis
谢谢!我是刚学习vb,没有实例很难理解代码。
2016-02-04 08:17
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
INI 文件的方法:

一、模块文件,可以保存为通用,以便其他程序调用
程序代码:
Option Explicit
'
Public Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
'
Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
   
'保存到INI文件
Public Function Wini(ByValAs String, ByValAs String, ByValAs String, IniFile As String) As Boolean
Dim X As Long, buff As String * 128, i As Long                    '警告:最大长度不得超过127,否则会导致错误
buff = 值 & Chr(0)
X = WritePrivateProfileString(段, 键, buff, IniFile)
Wini = X
End Function

'从INI文件中读取
Public Function Rini(ByValAs String, ByValAs String, IniFile As String) As String
Dim X As Long, buff As String * 128, i As Long                '警告:最大长度不得超过127,否则会导致数据不完整
X = GetPrivateProfileString(段, 键, "", buff, 128, IniFile)
i = InStr(buff, Chr(0))
Rini = Trim(Left(buff, i - 1))
End Function


二、程序中的使用
如保存:
    Wini "Print", "左边距", 左边距, Path & ConfigPath & "\" & 打印设置
    Wini "Print", "右边距", 右边距, Path & ConfigPath & "\" & 打印设置

如对应的读取
    左边距 = Val(Rini("Print", "左边距", Path & ConfigPath & "\" & 打印设置))
    右边距 = Val(Rini("Print", "右边距", Path & ConfigPath & "\" & 打印设置))


生成的 INI 文件内容是:
[Print]
左边距=2
右边距=2

生成的文件可以使用 记事本 进行编辑,对于用户来说,如果不加密,就相当于明文。
如果保存的密码,需要还原,可以去找那些可逆的加密方式。

授人于鱼,不如授人于渔
早已停用QQ了
2016-02-04 09:08
新手VB
Rank: 2
等 级:论坛游民
帖 子:72
专家分:11
注 册:2016-1-24
收藏
得分:0 
回复 8楼 风吹过b
谢谢版主,太深奥了,一时半会儿还消化不了。
2016-02-04 10:14
快速回复:求助:存取外部文件数据
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030596 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved