使用Extractfileext()时出了点问题,请求帮助!!(50分)

  • 主题发起人 wangxian11
  • 开始时间

太阳火

Unregistered / Unconfirmed
GUEST, unregistred user!
怪不得,ExtractFileExt是取从第一个点开始的内容
 

太阳火

Unregistered / Unconfirmed
GUEST, unregistred user!
所以ExtracFileExt('../inf/12.bmp')结果就是../inf/12.bmp
 
P

pandababy

Unregistered / Unconfirmed
GUEST, unregistred user!
这是我在你的基础上做的,没问题你看能有什么区别
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:Integer;
SL1:TStringList;
begin
SL1:=TStringList.Create;
if OpenDialog1.Execute then
SL1.LoadFromFile(OpenDialog1.FileName);
for i:=0 to SL1.Count-1 do
begin
if Extractfileext(SL1.Strings)='.bmp' then
begin
Image1.Picture.LoadFromFile(SL1.Strings);
Image1.Enabled:=True;
// Image1.Effect:= TEffect(ieCircle);
Image1.Invalidate;
end;
end;
end;
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
TO JamesBond_L:
出现了两次text。
 

太阳火

Unregistered / Unconfirmed
GUEST, unregistred user!
真糊涂,越来越搞不懂你在作什么了
 
J

JamesBond_L

Unregistered / Unconfirmed
GUEST, unregistred user!
那就是图像处理有问题了!晕倒~
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
不是图象肯定没问题,因为把那个判断去掉,直接Image.Picture.LoadFromFile('../aaa.txt');
是能显示图片的
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
如果把showmessage('test');放入到IF语句后的begin和end之间就没反应了
所以肯定是判断出了问题
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢pandababy,:
不过我想做的就是从文本文件中读去路径,然后判断,如果是.bmp就显示该路径的图片
 
J

JamesBond_L

Unregistered / Unconfirmed
GUEST, unregistred user!
程序没有问题啊,你的图像处理部分有问题啊!
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
TO pandababy,:
我试了一下你的程序,不能打开图片。
TO JamesBond_L:
谢谢你,我再试试,
 
J

JamesBond_L

Unregistered / Unconfirmed
GUEST, unregistred user!
你执行:
Image.Picture.LoadFromFile(../inf/12.bmp');
Image.Enabled:=True;
Image.Effect := TEffect(ieCircle);
Image.Invalidate;
看看!
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
TO JamesBond_L:
程序如下,则能正常显示图片。

procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
SL1:TStringList;
begin
SL1:=TStringList.Create;
SL1.LoadFromFile('../aaa.txt');
for i:=0 to SL1.Count-1 do
begin
// if Extractfileext(SL1.Strings)='.bmp' then
begin
Image.Picture.LoadFromFile('../inf/12.bmp');
Image.Enabled:=True;
Image.Effect := TEffect(ieCircle);
Image.Invalidate;
end;
end;
end;
 
J

JamesBond_L

Unregistered / Unconfirmed
GUEST, unregistred user!
TO JamesBond_L:
出现了两次text。

你这个是否在循环里面的啊?你说只有一个BMP文件,如果是的话,就可以是第二次读入有问题了,你那个文本有多大啊?能否贴出来?
还有,你想做到什么效果啊????
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
文本里就一句话:
../inf/12.bmp
我做的效果是:从一个文本中读取路径,然后判断是什么格式,然后做相应的事情,
比如是.bmp则显示图片,要有显示效果,如百叶窗之类的效果
如果是.txt文件则上移或下移文本,如果是.avi则播放
其他都没问题,就是碰到判断图片是,就是不能显示图片
所以我简写了程序,专门来判断图片格式,就是不能显示,肯定是判断这里出了问题
 
J

JamesBond_L

Unregistered / Unconfirmed
GUEST, unregistred user!
你不是说出现两次信息吗?(回答一下)

只有一个,怎么会呢?你自己设断点来调试吧,这样说,不知道说到什么时候呢!
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
确实出现了两次,文本里就一个,可能就这里出了问题
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
好了,是这里出了问题,可能是文本文件中在那行字后面留了空字符
判断就出了错,谢谢你,JamesBond_L,
 
W

wangxian11

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢:)
 
J

JamesBond_L

Unregistered / Unconfirmed
GUEST, unregistred user!
你把代码改为,再把两次出现的文本内容告诉我:
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
SL1:TStringList;
str : string;
begin
SL1:=TStringList.Create;
SL1.LoadFromFile('../aaa.txt');
for i:=0 to SL1.Count-1 do
begin
str := Extractfileext(SL1.Strings);
if str='.bmp' then
begin
ShowMessage(format('%s %d %s',[str,i,SL1.Strings]);
Image.Picture.LoadFromFile('../inf/12.bmp');
Image.Enabled:=True;
Image.Effect := TEffect(ieCircle);
Image.Invalidate;
end;
end;
end;
 
顶部