 |
xbeyoung
初級會員
註冊日期: Oct 2005
來 自:
文章數量: 10 |
If ..Then 寫法的問題 (已看過教學)
myHour := HOUR;
myMin := MINUTE;
If ((myHour = 9) And (myMin = 1)) Then Begin
Exp1;
Exp2;
:
:
Exp100;
End;
編譯結果是 "語法錯誤" , 好像是錯在 序列變數上,
但是, 類似的程式區塊, 如何改寫呢 ?
|
|
向版主報告此篇 |  |
|
2008-07-18 02:15 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
回覆: If ..Then 寫法的問題 (已看過教學)
引用: 最初由 xbeyoung 發表
myHour := HOUR;
myMin := MINUTE;
If ((myHour = 9) And (myMin = 1)) Then Begin
Exp1;
Exp2;
:
:
Exp100;
End;
編譯結果是 "語法錯誤" , 好像是錯在 序列變數上,
但是, 類似的程式區塊, 如何改寫呢 ?
myHour 和 myMin 均為數列, 不能直接帶進 IF... THEN ... 中
需搭配迴圈
for i=1 to datacount do begin
if myHour[i]=9 and myMin[i]=1 then begin
........
end;
end;
若算的東西簡單, 可用 if(cond,a,b) 的語法, 例如:
x:=if(myHour = 9 And myMin = 1, 算式A, 算式B);
|
|
向版主報告此篇 |  |
|
2008-07-18 08:34 |
|
|
|  |
 |
xbeyoung
初級會員
註冊日期: Oct 2005
來 自:
文章數量: 10 |
個人覺得 奇狐的 "if ... then ... else" 根本是個沒用的東西, 直言感覺, 若有得罪, 請見諒 !!
|
|
向版主報告此篇 |  |
|
2008-07-18 13:15 |
|
|
|  |
 |
xbeyoung
初級會員
註冊日期: Oct 2005
來 自:
文章數量: 10 |
謝謝版主的耐心回應, 只是個人覺得 if 後面的條件裡的限制規則,
真是綁手綁腳 , 而他的精簡版 if 函數, 卻無如此限制, 當然我無從知道此程式語言內部的實作, 但是他真的讓程式邏輯無法像一般程式語言一樣順暢
|
|
向版主報告此篇 |  |
|
2008-07-18 14:10 |
|
|
|  |
 |
cgjj
總版主

註冊日期: Oct 2003
來 自:
文章數量: 18091 |
引用: 最初由 xbeyoung 發表
謝謝版主的耐心回應, 只是個人覺得 if 後面的條件裡的限制規則,
真是綁手綁腳 , 而他的精簡版 if 函數, 卻無如此限制, 當然我無從知道此程式語言內部的實作, 但是他真的讓程式邏輯無法像一般程式語言一樣順暢
用途出發點並不相同
if(cond,a,b) 主要是針對數列
if ...then ... else .... 是針對常數或數列中的單一元素(單值)
故 if ...then ... else ... 常與迴圈搭配來應用
您到 [指標公式\進階教學] 中, 將我們安排的學習項目
按次序看完, 應就能體會其中的道理....
|
|
向版主報告此篇 |  |
|
2008-07-18 14:18 |
|
|
|  |
 |
alpha
資深會員
註冊日期: Oct 2006
來 自:
文章數量: 225 |
呵呵
if ... then ... else 是極具威力的東西之一啊
另外 其它語言中 C , C++ , VB , Java .... 你所可以找到的語言中 , 哪裡會看不見他的身影
針對數列的 if(cond,a,b) 是為了簡化一些 "經常用到" 的功能 , 而再去延生出來的功用函數
它把迴圈步驟 , 判斷式包覆了起來 , 因而簡化了程式碼
__________________
偶而是不是也感覺有些老
像個大人般的戀愛
有時心情糟
請你相信我在你身邊別忘了
|
最後由 alpha 在 2008-07-18 18:12 編輯 |
向版主報告此篇 |  |
|
2008-07-18 18:04 |
|
|
|  |
 |
xbeyoung
初級會員
註冊日期: Oct 2005
來 自:
文章數量: 10 |
引用: 最初由 alpha 發表
if ... then ... else 是極具威力的東西之一啊
另外 其它語言中 C , C++ , VB , Java .... 你所可以找到的語言中 , [/B]
我沒有否定 "If ... Then ... else" 的意思, 畢竟這個語法我自己也用了二三拾年了, 沒有任何程式語言可以沒有他, 我只單就 "奇狐" 在此語法加了一些限制, 覺得很不滿而已, 要能博大精深, 限制還是少一些好 !! 不過, 也謝謝你的指教 !!
|
|
向版主報告此篇 |  |
|
2008-07-19 00:40 |
|
|
|  |
 |
kway
初級會員
註冊日期: Jan 2008
來 自: taipei
文章數量: 27 |
if ... then ... else 是極具威力的東西之一啊
===================================
沒錯.....可是再在奇狐裡面簡直無用武之地
原因為使用者求出來的值都是列數
跟本無法使用於極具威力的東西........可惜ㄚ
建議改善.....提供一個能從列數求取整數值的功能
整數值A:H;
整數值B:C;
整數值C:O;
就能使用... if 整數值B> 整數值C then ... else
這將使奇狐的公式活用度大增百倍
|
|
向版主報告此篇 |  |
|
2008-07-20 23:05 |
|
|
|  |
 |
kway
初級會員
註冊日期: Jan 2008
來 自: taipei
文章數量: 27 |
引用: 最初由 kway 發表
if ... then ... else 是極具威力的東西之一啊
===================================
沒錯.....可是再在奇狐裡面簡直無用武之地
原因為使用者求出來的值都是列數
跟本無法使用於極具威力的東西........可惜ㄚ
建議改善.....提供一個能從列數求取整數值的功能
整數值A:H;
整數值B:C;
整數值C:O;
就能使用... if 整數值B> 整數值C then ... else
這將使奇狐的公式活用度大增百倍
我想版主應該會說.....用....
if(C>O,.....,......);
這樣就可以了...其實整數的功能在有邏輯運算時才能用.....
|
|
向版主報告此篇 |  |
|
2008-07-20 23:14 |
|
|
|  |
 |
kway
初級會員
註冊日期: Jan 2008
來 自: taipei
文章數量: 27 |
請問版主?
if(C>O,.....,......);這樣可以
if C>O then .....;這樣不行,語法錯誤(因為是c及o數列)
若想運用到C及O及H及L來做迴圈控制該如何做?
|
|
向版主報告此篇 |  |
|
2008-07-21 18:24 |
|
|
|  |
本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。
|
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved. 聯絡我們
|