代码的优化(20)

  • 主题发起人 terry_zhou82
  • 开始时间
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
我有2个FORM.每个FORM里面分别有下列的代码,总是感觉好像有点重复,效率不高,大家帮我看看,要怎么更改呢?FORM3:procedure TForm3.MP3ini;var Mp3Path1: AnsiString;begin OpenDialog1.Filter := 'Mp3 文件(*.mp3)|*.mp3|Wav 文件(*.wav)|*wav'
if OpenDialog1.Execute then begin Mp3Path1 := AnsiString(OpenDialog1.FileName)
BASS_StreamFree(hs)
hs := BASS_StreamCreateFile(False, PAnsiChar(Mp3Path1), 0, 0, 0)
if hs < BASS_ERROR_ENDED then Text := 'ReminDer 1.0 ----- MP3文件打开失败' else Text := string(Mp3Path1)
end
label5.Caption :=opendialog1.FileName;end;FORM1:procedure TForm1.setmp3;var mp3path:AnsiString;begin Mp3Path := AnsiString(ABSTable1.FieldByName('声音文件').AsString);//有区别,一个是OPENDIALOG,另外一个是ABSTABLE取值,其他代码没有变化。 BASS_StreamFree(hs)
hs := BASS_StreamCreateFile(False, PAnsiChar(Mp3Path), 0, 0, 0)
if hs < BASS_ERROR_ENDED then Text := 'ReminDer 1.0 ----- MP3文件打开失败' else Text := 'ReminDer 1.0 ----- 正在播放: '+string(Mp3Path)
BASS_ChannelPlay(hs, False);end;
 
没有人知道啊
 
你把播放的部分写成一个过程,参数为文件名就行了。
 
如果用上面的办法后,效率会有所提高吗?还是一样?
 
效率不会变,只是将代码合并了而已,运行时还是要一样时间的
 
你的这两段播放代码可以写成一个函数或过程。或许你还有用的着的时候,今天或明年。效率一样。但这是一种良好的编程习惯。不注重细节哪里会有提高。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
602
SUNSTONE的Delphi笔记
S
S
回复
0
查看
592
SUNSTONE的Delphi笔记
S
S
回复
0
查看
794
SUNSTONE的Delphi笔记
S
S
回复
0
查看
797
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
顶部