史萊姆論壇

返回   史萊姆論壇 > 綜合討論二區 > 生活話題、日常閒聊、喇勒唬爛灌水區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』


發文 回覆
 
主題工具 顯示模式
舊 2017-06-11, 11:34 PM   #1
魔術王子
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2020小時 | 升級還需:1小時級別:42 | 在線時長:2020小時 | 升級還需:1小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3049
精華: 0
現金: 15220 金幣
資產: 2678850 金幣
Talking 灌水 - 回味一下Basic吧

其實這又是一篇很怪異的發文
多怪異呢
看下去就知道啦
相信有很多曾經玩過DOS的人一定接觸過Basic
我覺得那是我玩電腦的時光中,最快樂的時光
就算是現在的系統多強大多好用,就因為過於強大好用,用起來反而覺得綁手綁腳的
最後還是懷念直譯式的Basic
曾經透過虛擬機器來回味,可是仍覺得太過於麻煩
因為我想要玩Basic的操作環境,卻又希望能有Windows般的控制環境
最後就突發奇想的想自己用C++ Builder設計一個
我的做法很簡單
在新表單上放一個Rich的元件,這元件的功能就類似記事本,但比記事本強大,所以其實是Windwos附屬應用程式裡的Wordpad(因為大家比較常用記事本,所以先講記事本,讓大家對原本功能有點印象)
接著放兩個ListBox元件一個存放變數名稱,一個存放變數值
當程式指令下達A=10時
程式會先搜尋ListBox的項目,看是否有這個變數值若有,就改變值
引用:
_for (int i=0 ; i<=ListBox1->Items->Count-1 ; i++)
__if (ListBox1->Items->Strings[i]==v1) {
___p=i;
___ListBox2->Items->Strings[p]=v2;
___break;
__}
若沒有新增值
引用:
_if (p<0){
__ListBox1->Items->Add(v1);
__ListBox2->Items->Add(v2);
__p=ListBox1->Items->Count-1;
然後就是最基本的PRINT指令
PRINT必須顯示""中間的文字
引用:
_String v1,v2;
_if(s.Pos("\"")){
__s=s.SubString(s.Pos("\"")+1,s.Length()-s.Pos("\""));
__if(s.Pos("\"")) s=s.SubString(1,s.Length()-1);
_} else {
以及顯示變數值
引用:
__v1=s.SubString(s.Pos(" ")+1,s.Length()).UpperCase();
__for (int i=0 ; i<=ListBox1->Items->Count-1 ; i++) if (ListBox1->Items->Strings[i]==v1) s=ListBox2->Items->Strings[i];
_}
_RichEdit1->Lines->Add(s);
有輸出就一定要有輸入
但利用Rich元件實在很難控制輸入的指令,而且既然是在Windows環境,就該"入境隨俗",利用Windows的資源InputBox
引用:
_if(s.Pos("\"")){
__v1=s.SubString(s.Pos(",")+1,s.Length()).UpperCase();
__s=s.SubString(s.Pos("\"")+1,s.Pos(",")-s.Pos("\"")+1);
__if(s.Pos("\"")) s=s.SubString(1,s.Length()-1);
__v2=InputBox("選擇",s.c_str(),"");
__for (int i=0 ; i<=ListBox1->Items->Count-1 ; i++)
___if (ListBox1->Items->Strings[i]==v1) {
____p=i;
____ListBox2->Items->Strings[p]=v2;
____break;
___}
__if (p<0){
___ListBox1->Items->Add(v1);
___ListBox2->Items->Add(v2);
___p=ListBox1->Items->Count-1;
__}
_}
感謝的沒學過C++ Builder或C++的朋友,很感謝你耐心的看到這裡
實在想不出該發些什麼文了,只好把這個無聊的興趣也跟大家分享
不知大家看了有沒有什麼想法
__________________
『唸金母心咒:嗡。金母。悉地。吽。』
持此咒者,可免一切瘟疫,一切瘟神抱頭四散。

魔術就是欣賞神奇的效果
如果魔術的秘密被破解了
那魔術就失去欣賞的價值
魔術王子 目前離線  
送花文章: 1540, 收花文章: 1574 篇, 收花: 3928 次
回覆時引用此帖
有 2 位會員向 魔術王子 送花:
a471 (2017-06-12),johnss (2017-06-11)
感謝您發表一篇好文章
舊 2017-06-11, 11:58 PM   #2 (permalink)
長老會員
榮譽勳章
UID - 9349
在線等級: 級別:24 | 在線時長:698小時 | 升級還需:27小時級別:24 | 在線時長:698小時 | 升級還需:27小時級別:24 | 在線時長:698小時 | 升級還需:27小時級別:24 | 在線時長:698小時 | 升級還需:27小時
註冊日期: 2002-12-10
文章: 310
精華: 0
現金: 16362 金幣
資產: 21442 金幣
預設

Visual Basic(VB)會不會比較符合你所需
__________________
史版是一個有人情味的地方
johnss 目前離線  
送花文章: 2918, 收花文章: 156 篇, 收花: 427 次
回覆時引用此帖
有 2 位會員向 johnss 送花:
a471 (2017-06-12),魔術王子 (2017-06-12)
感謝您發表一篇好文章
舊 2017-06-12, 06:47 AM   #3 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2020小時 | 升級還需:1小時級別:42 | 在線時長:2020小時 | 升級還需:1小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3049
精華: 0
現金: 15220 金幣
資產: 2678850 金幣
預設

引用:
作者: johnss 查看文章
Visual Basic(VB)會不會比較符合你所需
不會
因為想要 直譯式 的感覺
魔術王子 目前離線  
送花文章: 1540, 收花文章: 1574 篇, 收花: 3928 次
回覆時引用此帖
向 魔術王子 送花的會員:
a471 (2017-06-12)
感謝您發表一篇好文章
舊 2017-06-12, 03:57 PM   #4 (permalink)
管理版主
 
mini 的頭像
榮譽勳章
UID - 4144
在線等級: 級別:98 | 在線時長:10162小時 | 升級還需:35小時級別:98 | 在線時長:10162小時 | 升級還需:35小時級別:98 | 在線時長:10162小時 | 升級還需:35小時級別:98 | 在線時長:10162小時 | 升級還需:35小時級別:98 | 在線時長:10162小時 | 升級還需:35小時級別:98 | 在線時長:10162小時 | 升級還需:35小時級別:98 | 在線時長:10162小時 | 升級還需:35小時級別:98 | 在線時長:10162小時 | 升級還需:35小時
註冊日期: 2002-12-07
文章: 13488
精華: 0
現金: 26849 金幣
資產: 3024779 金幣
預設


https://voicespice.com/Player.aspx?c...C7DB11&j=52C8B
mini 目前離線  
送花文章: 2053, 收花文章: 8067 篇, 收花: 26919 次
回覆時引用此帖
有 2 位會員向 mini 送花:
a471 (2017-06-12),魔術王子 (2017-06-12)
感謝您發表一篇好文章
舊 2017-06-12, 06:57 PM   #5 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2020小時 | 升級還需:1小時級別:42 | 在線時長:2020小時 | 升級還需:1小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3049
精華: 0
現金: 15220 金幣
資產: 2678850 金幣
預設

其實呢小王子也沒有那麼無聊,只設計變數跟輸出/輸入指令,就拿來當做Basic
再來就分享小王子自行設計的判別式IF...THEN...ELSE
引用:
__String v1,v2,v3;
__int p=-1,n1,n2;
__if(s.Pos("=")) {
____v1=s.SubString(s.Pos(" ")+1,s.Pos("=")-s.Pos(" ")-1).UpperCase();
____v3=s.SubString(s.Pos("=")+1,s.UpperCase().Pos("THEN")-s.Pos("=")-2);
____if (v3.Pos("\"")) v3=v3.SubString(2,v3.Length()-2);
____for (int i=0 ; i<=Form2->ListBox1->Items->Count-1 ; i++)
______if (Form2->ListBox1->Items->Strings[i]==v1) {
________p=i;
________v2=Form2->ListBox2->Items->Strings[p];
________break;
______}
____if ((p>=0)&&(v2==v3)){
______if(s.UpperCase().Pos("ELSE")) v1=s.SubString(s.UpperCase().Pos("THEN")+5,s.UpperCase().Pos("ELSE")-s.UpperCase().Pos("THEN")-6); else v1=s.SubString(s.UpperCase().Pos("THEN")+5,s.Length());
______RESOLVE(v1);*
____} else {
______if(s.UpperCase().Pos("ELSE")) {
________v2=s.SubString(s.UpperCase().Pos("ELSE")+5,s.Length()-s.UpperCase().Pos("ELSE")-1);
________RESOLVE(v2);
______}
____}
__} else {
____v1=s.SubString(s.Pos(" ")+1,s.UpperCase().Pos("THEN")-s.Pos(" ")-2).UpperCase();
____if(v1[1]=='!') { v3="False"; v1=v1.SubString(2,v1.Length()); } else v3="True";
____for (int i=0 ; i<=Form2->ListBox1->Items->Count-1 ; i++)
______if (Form2->ListBox1->Items->Strings[i]==v1) {
________p=i;
________v2=Form2->ListBox2->Items->Strings[p];
________break;
______}
____if ((p>=0)&&(v2==v3)){
______if(s.UpperCase().Pos("ELSE")) v1=s.SubString(s.UpperCase().Pos("THEN")+5,s.UpperCase().Pos("ELSE")-s.UpperCase().Pos("THEN")-6); else v1=s.SubString(s.UpperCase().Pos("THEN")+5,s.Length());
______RESOLVE(v1);
____} else {
______if(s.UpperCase().Pos("ELSE")) {
________v2=s.SubString(s.UpperCase().Pos("ELSE")+5,s.Length()-s.UpperCase().Pos("ELSE")-1);
________RESOLVE(v2);
______}
____}
__}
*RESOLVE()是收集所有的指令的函式,以後會介紹
魔術王子 目前離線  
送花文章: 1540, 收花文章: 1574 篇, 收花: 3928 次
回覆時引用此帖
舊 2017-06-13, 06:55 AM   #6 (permalink)
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:2020小時 | 升級還需:1小時級別:42 | 在線時長:2020小時 | 升級還需:1小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 3049
精華: 0
現金: 15220 金幣
資產: 2678850 金幣
預設

在思考如何設計這個程式時
小弟有一個感覺,就好像在跟電腦對話一樣
如果沒記錯的話,Basic可以用?來代替PRINT指令
所以如果要BASIC幫你運算,除了輸入PRINT 1+2之外,也可以輸入? 1+2
不過現在這些產品已經都走向商業化了,大概也沒機會體驗這種感覺了
魔術王子 目前離線  
送花文章: 1540, 收花文章: 1574 篇, 收花: 3928 次
回覆時引用此帖
向 魔術王子 送花的會員:
a471 (2017-06-13)
感謝您發表一篇好文章
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用

相似的主題
主題 主題作者 討論區 回覆 最後發表
Visual Basic封裝後安裝程式會認機器 s.h.e. 程式語言討論區 9 2004-09-11 10:03 PM
[找尋]visual basic.net(英文版)的下載點 cell 一般電腦疑難討論區 3 2003-10-03 10:43 AM
有誰知道哪個網站可以下載Visual Basic 6.0中文版 tina007 一般電腦疑難討論區 0 2003-03-18 10:45 PM


所有時間均為台北時間。現在的時間是 01:11 AM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1