21 个解决方案
#1
先把以前的帖子结了再说
#2
结了,给40分。
#3
读取文件属性
如果你熟悉API的话,直接调用API更好。
如果你熟悉API的话,直接调用API更好。
#4
Me.Caption = FileLen(CommonDialog1.FileName)
#5
用得着API么?
大脖子,FileLen可是基本的函数
大脖子,FileLen可是基本的函数
#6
坐等结贴
#7
3楼你好,我对API不熟,请你给出使用API,判断CommonDialog1选中图像文件尺寸<20kb,而且分辨率<320*240的代码,谢谢!
#9
dbcontrols朋友,你好:
1、我必须得用CommonDialog1对话框,当选中的图像文件尺寸<20kb,而且分辨率<320*240时可以在image控件里显示该图片,否则提示并清除影像框,请问用API好还是函数FileLen()好?
2、你给的http://zhidao.baidu.com/question/114458391.html那些代码,会出现对话框来选择文件吗?
3、麻烦你给段符合我需求的API代码,谢谢!
1、我必须得用CommonDialog1对话框,当选中的图像文件尺寸<20kb,而且分辨率<320*240时可以在image控件里显示该图片,否则提示并清除影像框,请问用API好还是函数FileLen()好?
2、你给的http://zhidao.baidu.com/question/114458391.html那些代码,会出现对话框来选择文件吗?
3、麻烦你给段符合我需求的API代码,谢谢!
#10
FileLen可以判断
FileLen 函数
返回一个 Long,代表一个文件的长度,单位是字节。
语法
FileLen(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
说明
当调用 FileLen 函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。
注意 若要取得一个打开文件的长度大小,使用 LOF 函数。
FileLen 函数
返回一个 Long,代表一个文件的长度,单位是字节。
语法
FileLen(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
说明
当调用 FileLen 函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。
注意 若要取得一个打开文件的长度大小,使用 LOF 函数。
#11
FileLen()好
这还用说?
CommonDialog1.ShowOpen后面加
Msgbox FileLen(CommonDialog1.FileName)
就是你要的
这还用说?
CommonDialog1.ShowOpen后面加
Msgbox FileLen(CommonDialog1.FileName)
就是你要的
#12
谢谢你,dbcontrols:
用FileLen(filename)能判断文件尺寸,但如何判断分辨率<320*240呢?
用FileLen(filename)能判断文件尺寸,但如何判断分辨率<320*240呢?
#13
这个需要API读文件头的信息
#15
我用如下代码,怎么文件在20K以内还是大于20,都能显示,而且不提示信息?问题在哪?
If Len(.FileName) > 0 And Len(.FileName) <= 20480 Then '20KB以内。
ImgLogo.Picture = LoadPicture(.FileName)
Else
MsgBox "图像文件超过20K,请重新选择。"
imgLogo.Picture = LoadPicture("")
End If
If Len(.FileName) > 0 And Len(.FileName) <= 20480 Then '20KB以内。
ImgLogo.Picture = LoadPicture(.FileName)
Else
MsgBox "图像文件超过20K,请重新选择。"
imgLogo.Picture = LoadPicture("")
End If
#16
Option Explicit
Private Type BITMAPINFOHEADER '40 bytes
biSize As Long
biWidth As Long
biHeight As Long
biPlanes As Integer
biBitCount As Integer
biCompression As Long
biSizeImage As Long
biXPelsPerMeter As Long
biYPelsPerMeter As Long
biClrUsed As Long
biClrImportant As Long
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Sub Command1_Click()
Dim FileName As String
Dim bmpData() As Byte
Dim bmp_info As BITMAPINFOHEADER
FileName = InputBox("请输入 BMP 图片路径和文件名", "提取文件信息")
If FileName = "" Then
FileName = "C:\WINDOWS\Web\Wallpaper\Bliss.bmp"
End If
If Dir(FileName, vbNormal) = "" Then
MsgBox "BMP 文件不存在"
Exit Sub
End If
Open FileName For Binary As #1
ReDim bmpData(LOF(1) - 1) As Byte
Get #1, , bmpData
Close #1
CopyMemory bmp_info, bmpData(14), LenB(bmp_info)
MsgBox "BMP 文件分辨率为:" & CStr(bmp_info.biWidth) & " * " & CStr(bmp_info.biHeight)
MsgBox "BMP 文件为" & CStr(bmp_info.biBitCount) & "位色"
End Sub
#17
谢谢你!dbcontrols:
1、Private Type BITMAPINFOHEADER '40 bytes。这一句中什么意思?40字吗?
2、能在CommonDialog中直接套用上述API代码吗?
3、怎样在上述API代码中加入检测文件大小不大于20KB的语句?
1、Private Type BITMAPINFOHEADER '40 bytes。这一句中什么意思?40字吗?
2、能在CommonDialog中直接套用上述API代码吗?
3、怎样在上述API代码中加入检测文件大小不大于20KB的语句?
#18
记得结贴哦
#19
我用如下代码,判断图像文件大于0k切小于20kb,但不论什么情况都提示信息,问题在哪?
If Len(.FileName) > 0 And Len(.FileName) <= 20480 Then
ImgLogo.Picture = LoadPicture(.FileName)
Else
MsgBox "图像不合要求,请重新选择。"
imgLogo.Picture = LoadPicture("")
End If
If Len(.FileName) > 0 And Len(.FileName) <= 20480 Then
ImgLogo.Picture = LoadPicture(.FileName)
Else
MsgBox "图像不合要求,请重新选择。"
imgLogo.Picture = LoadPicture("")
End If
#20
文件长度大于20K不是你那么表示的,Len(.FileName) 不过返回文件名的长度,FIleLen(.FileName)才是
看清楚了吧。。。上面的回答了那么多,你竟然不仔细看看。
#21
谢谢楼上各位朋友,尤其感谢dbcontrols。
#1
先把以前的帖子结了再说
#2
结了,给40分。
#3
读取文件属性
如果你熟悉API的话,直接调用API更好。
如果你熟悉API的话,直接调用API更好。
#4
Me.Caption = FileLen(CommonDialog1.FileName)
#5
用得着API么?
大脖子,FileLen可是基本的函数
大脖子,FileLen可是基本的函数
#6
坐等结贴
#7
3楼你好,我对API不熟,请你给出使用API,判断CommonDialog1选中图像文件尺寸<20kb,而且分辨率<320*240的代码,谢谢!
#8
#9
dbcontrols朋友,你好:
1、我必须得用CommonDialog1对话框,当选中的图像文件尺寸<20kb,而且分辨率<320*240时可以在image控件里显示该图片,否则提示并清除影像框,请问用API好还是函数FileLen()好?
2、你给的http://zhidao.baidu.com/question/114458391.html那些代码,会出现对话框来选择文件吗?
3、麻烦你给段符合我需求的API代码,谢谢!
1、我必须得用CommonDialog1对话框,当选中的图像文件尺寸<20kb,而且分辨率<320*240时可以在image控件里显示该图片,否则提示并清除影像框,请问用API好还是函数FileLen()好?
2、你给的http://zhidao.baidu.com/question/114458391.html那些代码,会出现对话框来选择文件吗?
3、麻烦你给段符合我需求的API代码,谢谢!
#10
FileLen可以判断
FileLen 函数
返回一个 Long,代表一个文件的长度,单位是字节。
语法
FileLen(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
说明
当调用 FileLen 函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。
注意 若要取得一个打开文件的长度大小,使用 LOF 函数。
FileLen 函数
返回一个 Long,代表一个文件的长度,单位是字节。
语法
FileLen(pathname)
必要的 pathname 参数是用来指定一个文件名的字符串表达式。pathname 可以包含目录或文件夹、以及驱动器。
说明
当调用 FileLen 函数时,如果所指定的文件已经打开,则返回的值是这个文件在打开前的大小。
注意 若要取得一个打开文件的长度大小,使用 LOF 函数。
#11
FileLen()好
这还用说?
CommonDialog1.ShowOpen后面加
Msgbox FileLen(CommonDialog1.FileName)
就是你要的
这还用说?
CommonDialog1.ShowOpen后面加
Msgbox FileLen(CommonDialog1.FileName)
就是你要的
#12
谢谢你,dbcontrols:
用FileLen(filename)能判断文件尺寸,但如何判断分辨率<320*240呢?
用FileLen(filename)能判断文件尺寸,但如何判断分辨率<320*240呢?
#13
这个需要API读文件头的信息
#14
#15
我用如下代码,怎么文件在20K以内还是大于20,都能显示,而且不提示信息?问题在哪?
If Len(.FileName) > 0 And Len(.FileName) <= 20480 Then '20KB以内。
ImgLogo.Picture = LoadPicture(.FileName)
Else
MsgBox "图像文件超过20K,请重新选择。"
imgLogo.Picture = LoadPicture("")
End If
If Len(.FileName) > 0 And Len(.FileName) <= 20480 Then '20KB以内。
ImgLogo.Picture = LoadPicture(.FileName)
Else
MsgBox "图像文件超过20K,请重新选择。"
imgLogo.Picture = LoadPicture("")
End If
#16
Option Explicit
Private Type BITMAPINFOHEADER '40 bytes
biSize As Long
biWidth As Long
biHeight As Long
biPlanes As Integer
biBitCount As Integer
biCompression As Long
biSizeImage As Long
biXPelsPerMeter As Long
biYPelsPerMeter As Long
biClrUsed As Long
biClrImportant As Long
End Type
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Sub Command1_Click()
Dim FileName As String
Dim bmpData() As Byte
Dim bmp_info As BITMAPINFOHEADER
FileName = InputBox("请输入 BMP 图片路径和文件名", "提取文件信息")
If FileName = "" Then
FileName = "C:\WINDOWS\Web\Wallpaper\Bliss.bmp"
End If
If Dir(FileName, vbNormal) = "" Then
MsgBox "BMP 文件不存在"
Exit Sub
End If
Open FileName For Binary As #1
ReDim bmpData(LOF(1) - 1) As Byte
Get #1, , bmpData
Close #1
CopyMemory bmp_info, bmpData(14), LenB(bmp_info)
MsgBox "BMP 文件分辨率为:" & CStr(bmp_info.biWidth) & " * " & CStr(bmp_info.biHeight)
MsgBox "BMP 文件为" & CStr(bmp_info.biBitCount) & "位色"
End Sub
#17
谢谢你!dbcontrols:
1、Private Type BITMAPINFOHEADER '40 bytes。这一句中什么意思?40字吗?
2、能在CommonDialog中直接套用上述API代码吗?
3、怎样在上述API代码中加入检测文件大小不大于20KB的语句?
1、Private Type BITMAPINFOHEADER '40 bytes。这一句中什么意思?40字吗?
2、能在CommonDialog中直接套用上述API代码吗?
3、怎样在上述API代码中加入检测文件大小不大于20KB的语句?
#18
记得结贴哦
#19
我用如下代码,判断图像文件大于0k切小于20kb,但不论什么情况都提示信息,问题在哪?
If Len(.FileName) > 0 And Len(.FileName) <= 20480 Then
ImgLogo.Picture = LoadPicture(.FileName)
Else
MsgBox "图像不合要求,请重新选择。"
imgLogo.Picture = LoadPicture("")
End If
If Len(.FileName) > 0 And Len(.FileName) <= 20480 Then
ImgLogo.Picture = LoadPicture(.FileName)
Else
MsgBox "图像不合要求,请重新选择。"
imgLogo.Picture = LoadPicture("")
End If
#20
文件长度大于20K不是你那么表示的,Len(.FileName) 不过返回文件名的长度,FIleLen(.FileName)才是
看清楚了吧。。。上面的回答了那么多,你竟然不仔细看看。
#21
谢谢楼上各位朋友,尤其感谢dbcontrols。