線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:770
推到 Plurk!
推到 Facebook!

代码的优化

缺席
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-02-26 21:46:05 IP:116.230.xxx.xxx 訂閱
我有2个FORM.每个FORM里面分别有下列的代码,总是感觉好像有点重复,效率不高,大家帮我看看,要怎么更改呢?

[code delphi]
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
OpenDialog1.Filter := 'Mp3 文件(*.mp3)|*.mp3|Wav 文件(*.wav)|*wav';
if OpenDialog1.Execute then
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;
[/code]
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
編輯記錄
zhouying82 重新編輯於 2009-02-26 21:48:34, 註解 無‧
老大仔
尊榮會員


發表:78
回覆:837
積分:1088
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-02-26 22:09:01 IP:59.114.xxx.xxx 未訂閱
那為何不另外寫在一個unit呢?
這樣一來就可以共用一個unit了
要用的時候再uses進來即可~
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-02-27 10:05:06 IP:114.137.xxx.xxx 未訂閱
1.我想了解一下你對設計的接觸有多深, 程式有一種procedure, function 可以使用! 
2.既然你知道代碼有重覆, 那你想如何做? 那些有可能可以怎麼做? 是不是可以先提出你的想法?
小傑克
資深會員


發表:5
回覆:209
積分:357
註冊:2009-02-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-02-27 20:31:56 IP:59.112.xxx.xxx 訂閱
記得小時後學應數每次都有 F(X)=一堆亂七八糟的  , 那時候對 F(X) 沒什麼感覺....

X -->變數
------
額有朝天骨,眼中有靈光
系統時間:2024-05-15 16:26:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!