标题:詳解VFP編程之二:Hello, world!
只看楼主
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
结帖率:100%
 问题点数:0 回复次数:10 
詳解VFP編程之二:Hello, world!
創建項目之後,我們在項目對話框的<Documents><Forms>中<New>一個表單,並在屬性對話框中填寫其Caption="MainForm"。在表單上拖出一個Label,採用默認命名Label1,設置其Caption="Hello, world!"。保存這個表單,命名爲MainForm。

現在,界面如下:

注意:此时右側項目對話框中MainForm是粗體的,表明這個單元是整個程序的主入口。在某個可執行的單元上,點擊鼠標右鍵,勾選Set Main,就可以把這個單元改爲程序的主入口。後面我將會修改它。

點擊Run,執行這個表單,畫面如下:
搜索更多相关主题的帖子: 命名 world 
2016-02-03 23:59
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:0 
好,谢谢!可惜是英文的……

只求每天有一丁点儿的进步就可以了
2016-02-04 08:24
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
菜单上的几个英文,看也看的明白。

活到老,学到老! http://www. E-mail:hu-jj@
2016-02-04 08:43
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
捎带学学英文也8错哦
2016-02-04 09:17
胡七七
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:304
专家分:851
注 册:2015-5-14
得分:0 
启蒙教育。期待后期更新
2016-02-04 09:39
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
現在,我們回億一下前面所做的動作:首先,創建了一個窗體(Form),設置它的各種屬性(給屬性賦値),然後,在窗體中創建一個控件,再給它的屬性賦値。這是一系列分散、不連貫的動作,有時,可能遺漏,有時忘了哪一個屬性是否已經設置過,爲了找到某個屬性,需要到處翻查,查的時間長了,可能忘了自己原先想幹什麽。其實,這些動作,就相當於我們在Command窗口中手動操作數據表,鍵入一條指令,看某些結果,又再鍵入下一條指令,有些指令是單獨就可以達到目的的,但有些目的需要多條指令綜合才可以達到,爲了組織這些有順序的指令,需要我們時刻記住原先想幹什麽、現在幹到哪了、還需要什麽,一旦中間發生差錯,一系列的指令極可能要重新鍵入一次。正是爲了解決這種麻煩,“編程”的概念就出來了。要把一堆指令連貫地按邏輯組織執行,可以把這些指令寫好在一起,然後讓計算機依次執行,所謂“程序”,就是這樣的按部就班序列,就如去飯店喫飯,先付後食或先食後付,這麽一個規定流程,就是程序,我們常説“按程序做事”,也是這個意思。

其實,1樓的動作,用程序寫,就是如下這樣:
程序代码:
oMainForm = CREATEOBJECT("Form")              && 創建一個變量名爲oMainForm的對象,這個對象是Form控件,這是New Form手動後VFP IDE替我們寫的指令
WITH oMainForm                                && WITH體,是指下面的操作默認對象是oMainForm
    .Caption = "測試"                         && 給oMainForm.Caption賦値,在屬性框填寫每一個屬性,都是這麽一條賦値語句
    .AddObject("Label1", "Label")             && 在窗體上添加一個Label控件,命名爲Label1,此時它是不可見的
    WITH .Label1                              && 對oMainForm.Label1操作
        .Caption = "Hello, world!"            && 給oMainForm.Label1.Caption賦値
        .Visible = .T.                        && 給oMainForm.Label1.Visible賦値,此時對象從不可見變爲可見
    ENDWITH                                   && 結束對oMainForm.Label1的WITH範圍
    .Show(1)                                  && 窗體內所有控件添加和屬性設置完畢後,讓窗體可見,執行oMainForm.Show方法
ENDWITH                                       && 結束對oMainForm的WITH範圍


以上指令序列,VFP將會依次執行,每執行一條,效果馬上見效,因此,調整每一句的順序,都會影嚮效果,當計算機執行慢動作的時候,就可以看到這樣的區別。現在,我們瀏覽這一套指令序列,就很清楚程序在幹什麽,先做什麽後做什麽,當屏蔽(用*註釋)掉一行時,會怎樣,要在什麽時機做什麽事,都可以看得很清楚。比如,在窗體上添加控件,可以不讓它可見,而要讓它在適當的時候可見,也是邏輯上的需求,這都是可控的。寫程序,就必須能够精細控制計算機的行爲,而不是它到底怎麽運作的都不知道,那樣,計算機就如不聽話的孩子,頭痛就難免了。

[此贴子已经被作者于2016-2-4 14:38编辑过]


授人以渔,不授人以鱼。
2016-02-04 14:33
胡七七
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:304
专家分:851
注 册:2015-5-14
得分:0 
已学习完毕。
2016-02-04 15:14
aaaaaa
Rank: 8Rank: 8
等 级:贵宾
威 望:21
帖 子:796
专家分:937
注 册:2012-9-4
得分:0 
Hello, The World 是任何编程语言的启蒙课、必修课和基础课,10年前在某个综合编程网站上,各种语言设擂台,要求是不用外部控件,只用你熟悉的语言,用不同的方式(命令、函数等)打印或显示出:Hello World 字符,胜者的评判标准是用最多的方式显示,最后是 Foxer(s) 的 50+种不同的方法显示出:Hello World 字符,遥遥领先其他语言,下面列出前20+种方式:

1.\Hello World && uses set textmerge on, not the same as text..endtext ;-)
2.? "Hello world"
3.Error "Hello World!"
4.@ x, y SAY "Hello world"
5.input "Hello World" to x
6.Wait Window "Hello World"
7.MessageBox ("Hello World")
8.SET MESSAGE TO "Hello world"
9._screen.Print("Hello World")
10.ACCEPT "Hello World" TO lcVar
11._screen.Caption="Hello world"
12._vfp.StatusBar = "Hello World"  
13.InputBox("?","Hello World","")
14.KEYBOARD "{Ctrl+F2}Hello world!"  
15.Assert .F. Message "Hello World" && Debugging, not allowed in interactive mode
16.DEFINE PAD HelloWorld OF _MSYSMENU PROMPT "Hello World"  
17.MODIFY FILE "Hello World." && -- Geoff Franklin - wishing he hadn't started this.
18.WAIT "Hello World" TO lcVar && -- And before you ask: No, it's not the same as WAIT WINDOW Mike Lewis
19.@ x, y GET HelloWorld DEFAULT "Hello World"
20.? CHRTRAN(CHRTRAN('67882 3258D', '6789', 'HELP()'), '12345','POWER()')
21.select '' as Helloworld from (_foxcode) where .f.
22.oResponse.Write([Hello World]) && (to web browser from VFP/IIS)
23.SELECT "HelloWord" AS HelloWorld FROM (SYS(2005)) WHERE RECNO() = 1

民工子弟学校22班团小组长阳光模特队长冲锋篮球队前锋小苹果合唱队领唱蓝天舞蹈队编舞
2016-02-04 16:02
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
解释语言的优势,如果用函数而不受参数的限制,用VFP的EXECSCRIPT()看看。
2016-02-05 07:29
wengbin
Rank: 10Rank: 10Rank: 10
来 自:陕西西安
等 级:贵宾
威 望:19
帖 子:370
专家分:1846
注 册:2015-5-8
得分:0 
标记
2016-02-05 09:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-461565-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.243819 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved