全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1431
推到 Plurk!
推到 Facebook!

[急]迴圈問題比較...

缺席
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-06-12 16:20:45 IP:122.116.xxx.xxx 訂閱
小弟在Open SQL之後 想在某欄位作回圈比較
如果跑出來值之中含有 1 就要發出聲音
如果跑出來值都是 = 2 就不用

可小弟寫下列迴圈程式可以跑
但是卻不會發出聲音
不曉得那裏錯了 能請各位大大幫我看嗎?


[code delphi]

commandtext := w1;
open;
end;
while not eof do
i := 0;
for j := 0 to RecordCount - 1 do
begin
if j = 1 then
begin
Form1.Man_player.Close;
Form1.Man_player.Open;
Form1.Man_player.Notify := True;
Form1.Man_player.Play;
end;

[/code]
------
Program : Delphi 7
DataBase : Oracle 9i
Client : ClientDataSet
老大仔
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-06-12 16:46:37 IP:59.114.xxx.xxx 未訂閱
for j := 0 to RecordCount - 1 do
begin
if j = 1 then
begin
Form1.Man_player.Close;
Form1.Man_player.Open;
Form1.Man_player.Notify := True;
Form1.Man_player.Play;
end;

問題是出在紅色字那邊吧
怎麼會是用 j :=1咧
應該是用 某欄位的值:= 1吧....

應該...
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-06-12 17:09:34 IP:122.116.xxx.xxx 訂閱

大大 我改成這樣
但程式卻HOLD住了



[code delphi]
while not eof do
i := 0;
for j := 0 to StringGrid1.RowCount - 1 do
begin
if ClientDataSet.Fieldbyname('STATUS').AsString = '1' then
begin
Form1.Man_player.Close;
Form1.Man_player.Open;
Form1.Man_player.Notify := True;
Form1.Man_player.Play;

end;
[/code]
------
Program : Delphi 7
DataBase : Oracle 9i
Client : ClientDataSet
編輯記錄
lovemari 重新編輯於 2009-06-12 17:10:02, 註解 無‧
老大仔
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-06-12 18:00:26 IP:59.114.xxx.xxx 未訂閱
呃~不好意思
我剛剛的講法有誤
不是某欄位的值:= 1
sorry~

因為照你這樣的寫法就錯了= =
if ClientDataSet.Fieldbyname('STATUS').AsString = '1' then
這句語法的意思是:”假如Status欄位值 = 1 然後...”
可是你本身要的卻是"欄位值中含有1"
所以這樣寫法是錯滴@@|||
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-06-12 18:09:31 IP:122.116.xxx.xxx 訂閱
Dear  老大

我的欄位值跑出來 不是 1 就是 2

我想寫說跑迴圈比較之後 "假如發現欄位裡面有1 就要發出聲音"
If ClientDataSet.FieldDbyName('STATUS') = '1' then ....


那我該怎麼改呢??
------
Program : Delphi 7
DataBase : Oracle 9i
Client : ClientDataSet
編輯記錄
lovemari 重新編輯於 2009-06-12 18:11:03, 註解 無‧
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-06-12 18:30:03 IP:122.116.xxx.xxx 訂閱

目前我改成這樣程式可以跑

卻不會發出聲響@@



[code delphi]
i := 0;
for j := 1 to StringGrid1.RowCount - 1 do
begin
with StringGrid1 do
if Cells[15, j] = '1' then
begin
Form1.Man_player.Close;
Form1.Man_player.Open;
Form1.Man_player.Notify := True;
Form1.Man_player.Play;
i := 1;
end;
[/code]
------
Program : Delphi 7
DataBase : Oracle 9i
Client : ClientDataSet
lovemari
中階會員


發表:134
回覆:224
積分:76
註冊:2005-08-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2009-06-12 19:01:05 IP:122.116.xxx.xxx 訂閱
我寫出來了


[code delphi]
i := 0;
for j := 1 to StringGrid1.RowCount - 1 do
begin
with StringGrid1 do
if Cells[15, j] = '1' then
begin
if Button9.Tag = 0 then
begin
Form1.Man_player.Close;
Form1.Man_player.Open;
Form1.Man_player.Notify := True;
Form1.Man_player.Play;
i := 1;
end;
[/code]
------
Program : Delphi 7
DataBase : Oracle 9i
Client : ClientDataSet
系統時間:2024-05-17 0:30:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!