linux c開發軟體 [論壇 - Ubuntu 程式設計]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 (2)


回覆: linux c開發軟體
會員三級
註冊日期:
2009/4/25 16:55
所屬群組:
已註冊使用者
等級: 12
HP : 0 / 294
MP : 62 / 10178
EXP: 76
離線
這是新增資料表的範例,新增資料也是使用::mysql::sel就可以了:(記得要加裝mysqltcl延伸函式庫)

#!/usr/bin/wish8.5
set ::var "create table new(a1 int(3), b1 varchar(5))"
# 新增資料表範例字串

package require mysqltcl
set myid [::mysql::connect -host 主機IP -user XXX -password XX]
::mysql::use $myid "資料庫名"
# 指定mysql中的資料庫,相當於"mysql> use 資料庫名;"

label .main -text "目前有以下資料表:"
set ::tablel [::mysql::info $myid tables]
label .mainlist -textvariable ::tablel
button .add_table -text "新增資料表" -command {
toplevel .add
entry .add.e -textvariable ::var
button .add.b -text "確定" -command {
::mysql::sel $myid "$::var"
set ::tablel [::mysql::info $myid tables]
destroy .add
}
pack .add.e .add.b -side top

}
button .exit -text "結束" -command { exit }
pack .main .mainlist .add_table .exit -side top

2010/12/20 22:26
太空工程車準備完成。

嘎!你嚇了我啦~~~
這就是你的計畫?!
你是沒路戰隊員了嗎?
應用擴展 工具箱
回覆: linux c開發軟體
會員三級
註冊日期:
2010/9/8 13:55
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 242
MP : 45 / 7431
EXP: 71
離線
感謝前輩提供例子
比起GTK的程式碼
看起來真的簡易許多
讓小弟再好好考慮一下了...

2010/12/21 9:26
應用擴展 工具箱
回覆: linux c開發軟體
會員二級
註冊日期:
2009/11/3 20:56
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 112
MP : 15 / 3736
EXP: 51
離線
建議你用GTK來開發, 開發流程如下

1. 用Glade將圖形介面設計完成. (注意! Glade 的元件擺放方式不像
Delphi 或 Visual studio的方式, 他是用所謂"填滿"的方式
來layout, 所以你必須先用panel來布局

2. 各個button 要自行定義callback 函數的宣告.

3. c的部份可以用libglade 來取得callback函數定義的入口, 將你的
功能寫在callback 內

gtk 設計的方式有點類似Mac MVC的觀念, 把介面與程式部份分開, 以後
如果要變更畫面, 只要修改view的xml檔即可, 相當的有彈性

2010/12/21 10:40
應用擴展 工具箱
回覆: linux c開發軟體與流程
會員三級
註冊日期:
2010/9/8 13:55
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 242
MP : 45 / 7431
EXP: 71
離線
感謝pica前輩提供的開發流程
小弟想請問
pica 寫到:
1. 用Glade將圖形介面設計完成.
2. 各個button 要自行定義callback 函數的宣告.
3. c的部份可以用libglade 來取得callback函數定義的入口, 將你的
功能寫在callback 內


因為我已經有一些程式完成,
但對於如何用GTK和我的程式做結合,現在還不是很清楚
如:用一個button就能執行我的程式

前輩的意思是說,
我的程式都要用callback函數的方式去呼叫才可以嗎?
是否是都一定要用函數的方式呢?!

另外,小弟也有用Glade將圖形介面設計完成,
但如何和我的程式結合,小弟就一直想破頭
這部份卡了很久,可否請前輩稍微再指點一下呢

謝謝!

補充一下,
小弟需要學習的就是再多多了解開發流程的相關知識(所以標題也稍微改了一下)
若有前輩們能提供小弟一些意見
小弟感激不盡!!

2010/12/21 10:53
應用擴展 工具箱
回覆: linux c開發軟體
會員二級
註冊日期:
2009/11/3 20:56
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 112
MP : 15 / 3736
EXP: 51
離線
我大概整理了一下

1. 引入gtk
#include <gtk/gtk.h>
#include <glib.h>

2. 宣告builder及其他元件
static GtkBuilder *builder;
static GtkWidget *window = NULL;

3.與glade所產生的介面檔連結
builder = gtk_builder_new();
if (!gtk_builder_add_from _file(builder, GLAD_FILE_NAME,
&error) {
顯示錯誤訊息();
g_error_free();
return;
}

4.取得galde內的元件名稱 (有點類似mac cocoa 的 IBOutlet)
window = GTK_WIDGET(gtk_builder_get_object(builder,
"window1"));

5.取得glade 的callback 函數 (就是你在button內on click定義的
callback 函數, 類似mac cocoa 的 IBAction)

G_MODULE_EXPORT void on_button1_clicked(GtkWidget *widget,
gpointer data)
{
這裡寫你需要button clicked 的程式;
}


編譯的時侯, 別忘了要 `pkg-config --cflags --libs gtk+-2.0
gmodule-2.0`

2010/12/21 14:27
應用擴展 工具箱
回覆: linux c開發軟體
會員三級
註冊日期:
2010/9/8 13:55
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 242
MP : 45 / 7431
EXP: 71
離線
很感謝提供方法
這部份小弟會好好研究的

謝謝!!

2010/12/21 15:02
應用擴展 工具箱
回覆: linux c開發軟體
會員一級
註冊日期:
2010/12/30 13:50
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 15
MP : 2 / 448
EXP: 60
離線
你所描述的情況可以寫成C/S或者B/S的程式都可以。又如你所描述的這種情況是一個簡單的基於GUI的對數據庫進行CURD操作的程式,所以不一定非要用C寫。推薦Perl,Python,Ruby。

2010/12/30 14:00
應用擴展 工具箱
回覆: linux c開發軟體
會員一級
註冊日期:
2010/12/30 13:50
所屬群組:
已註冊使用者
等級: 1
HP : 0 / 15
MP : 2 / 448
EXP: 60
離線
GTK 是C開發的,Qt是C++開發的。
如果你選擇GTK和非得用C開發的話,自己去讀GTK的資料,比如GTK的官方手冊。
編譯程式要看Gcc的手冊。然後還要看Make,可以閱讀Make的手冊。

一看你就是在Windows下開發的。
Linux下不同Windows,自己學習學習基本知識。
《鳥哥的Linux私房菜》推薦你這本書。

個人建議你先明白如何在Linux下基於sourcecode安裝軟體,再做下一步。

以上全是僅屬個人意見。呵呵。

2010/12/30 14:10
應用擴展 工具箱
回覆: linux c開發軟體
會員三級
註冊日期:
2010/9/8 13:55
所屬群組:
已註冊使用者
等級: 10
HP : 0 / 242
MP : 45 / 7431
EXP: 71
離線
無為 寫到:
GTK 是C開發的,Qt是C++開發的。
如果你選擇GTK和非得用C開發的話,自己去讀GTK的資料,比如GTK的官方手冊。
編譯程式要看Gcc的手冊。然後還要看Make,可以閱讀Make的手冊。

一看你就是在Windows下開發的。
Linux下不同Windows,自己學習學習基本知識。
《鳥哥的Linux私房菜》推薦你這本書。

個人建議你先明白如何在Linux下基於sourcecode安裝軟體,再做下一步。

以上全是僅屬個人意見。呵呵。


感謝前輩的建議,
小弟的開發環境是ubuntu 10.04
因小弟對相關的知識建立還不夠,所以,這部份小弟會再加強!!
謝謝!!

2010/12/30 14:48
應用擴展 工具箱

« 1 (2)

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.