視窗程式設計流程
1.請由左側工具列點選工具置放於表單上
2.右上角的方案總管內設定資源或是視窗程式所需的新增項目
3.右下角的屬性視窗:可變更表單上的控制項屬性
4.右下角的事件視窗:可選擇表單上的控制項執行哪一個事件
例如 我按下按鈕之後,label上會顯示現在的時間
==>
按鈕被按下了,才會有後面的事情。所以程式寫在button1的click事件內
至於程式部分該怎麼寫,就請參考成是基本處理流程
--------------------------------------------------------------------
程式基本處理流程
1.先有想法才有做法。請先把想法整理出來,一次只做一個動作,請排順序。
2.畫流程圖
3.流程圖中每一個執行動作可以有多個上一步,但每個執行動作只能有一個下一步。
若對這主題想做進一步社團討論,請參考以下連結
博客來網路書店查詢
星期二, 8月 16, 2016
星期一, 6月 06, 2016
蘋果電腦上的C++程式開發
首先請先開啟Xcode,也就是最左邊數過來第三個軟體:
接著請您點選 Create a new Xcode project:
接著請您選取OS X內的Application內的Command Line Tool後按下Next:
請您輸入專案名稱(Product Name)以及組織單位簡稱(Organization identifier),再請您挑選程式語言(Language),為了配合課本,C語言只提格式代碼,後續練習均以C++為主,再請按下Next:
請您輸入挑選儲存的路徑,再請按下Create,專案建立了:
請您輸入程式碼,接著再請您按下執行鈕(最左邊的三角形按鈕):
執行畫面將會出現在程式碼的右下方:
接著請您點選 Create a new Xcode project:
請您輸入專案名稱(Product Name)以及組織單位簡稱(Organization identifier),再請您挑選程式語言(Language),為了配合課本,C語言只提格式代碼,後續練習均以C++為主,再請按下Next:
請您輸入挑選儲存的路徑,再請按下Create,專案建立了:
請您輸入程式碼,接著再請您按下執行鈕(最左邊的三角形按鈕):
執行畫面將會出現在程式碼的右下方:
星期日, 5月 29, 2016
組裝的第二個問題-電池供電給Arduino板子
本例由電池供電給Arduino板子有2種方式
1. 使用圖一的DC快速接頭(公頭), 接至Arduino板子的DC母插座, 正極是接至L298N的12V-GND-5V插座中的5V
2. 直接由L298N 5V拉一條線(杜邦公公線即可)接至Arduino板子的VIN供電
1是之前的接法, 2是簡化後的接法, 都可以
--
L298N的GND一條是接到電池負極, 一條是接到Arduino板的GND
--
因掃地機有多個馬達, 故電池採用4節+2節(原2馬達輪子用的話, 4節就夠了), 所以請將4+2電池盒串聯(4節的黑接到2節的紅)即可
--
快速接頭使用較彈性, 一個可用在掃地機, 另一個可搭配9V電池扣, 使用9V電池供電給離線的Arduino板使用(例機械手臂、LED/LCD)
另外一個配線的補充
星期五, 5月 27, 2016
C++與SQLite--資料列表
void getTableData()
{
sqlite3_stmt *statement;
char *query = "select * from student";
if ( sqlite3_prepare(dbfile, query, -1, &statement, 0 ) == SQLITE_OK )
{
int ctotal = sqlite3_column_count(statement);
int res = 0;
while ( 1 )
{
res = sqlite3_step(statement);
if ( res == SQLITE_ROW )
{
for ( int i = 0; i < ctotal; i++ )
{
string s = (char*)sqlite3_column_text(statement, i);
cout << s << " " ;
}
cout << endl;
}
if ( res == SQLITE_DONE )
{
cout << "done " << endl;
break;
}
}
}
}
{
sqlite3_stmt *statement;
char *query = "select * from student";
if ( sqlite3_prepare(dbfile, query, -1, &statement, 0 ) == SQLITE_OK )
{
int ctotal = sqlite3_column_count(statement);
int res = 0;
while ( 1 )
{
res = sqlite3_step(statement);
if ( res == SQLITE_ROW )
{
for ( int i = 0; i < ctotal; i++ )
{
string s = (char*)sqlite3_column_text(statement, i);
cout << s << " " ;
}
cout << endl;
}
if ( res == SQLITE_DONE )
{
cout << "done " << endl;
break;
}
}
}
}
C++與SQLite--刪除資料
int deleteRow()
{
int rollno;
cout << " 輸入學號 :" ;
cin >> rollno ;
if(cin.fail( ))
{
cin.clear( );
cout<<"學號格式錯了";
return 0;
}
std::stringstream strm;
strm << "delete from student " << " where roll=" << rollno ;
string s = strm.str();
char *str = &s[0];
//cout << str << endl;
sqlite3_stmt *statement;
int result;
char *query = str;
{
if(sqlite3_prepare(dbfile,query,-1,&statement,0)==SQLITE_OK)
{
int res=sqlite3_step(statement);
result=res;
sqlite3_finalize(statement);
}
return result;
}
return 0;
}
{
int rollno;
cout << " 輸入學號 :" ;
cin >> rollno ;
if(cin.fail( ))
{
cin.clear( );
cout<<"學號格式錯了";
return 0;
}
std::stringstream strm;
strm << "delete from student " << " where roll=" << rollno ;
string s = strm.str();
char *str = &s[0];
//cout << str << endl;
sqlite3_stmt *statement;
int result;
char *query = str;
{
if(sqlite3_prepare(dbfile,query,-1,&statement,0)==SQLITE_OK)
{
int res=sqlite3_step(statement);
result=res;
sqlite3_finalize(statement);
}
return result;
}
return 0;
}
訂閱:
文章 (Atom)








