好象不少人在弄winbinder,讨论一下好吗?

xuzuning 2005-06-17 03:50:13
包括安装、配置、小例子及遇到的问题
...全文
1146 28 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhanghongwen 2005-06-20
  • 打赏
  • 举报
回复
UP,学习
bflovesnow 2005-06-20
  • 打赏
  • 举报
回复
有意义吗?
wanghao1985 2005-06-20
  • 打赏
  • 举报
回复
是啊,不能跨平台了啊
-神仙- 2005-06-19
  • 打赏
  • 举报
回复
不过这样就不能跨平台了
Altaori 2005-06-19
  • 打赏
  • 举报
回复
偶昨天在timteam.org才知道这么个东东
那有1个winbinder版,但只有几帖
转个安装帖:
WinBinder 安装方法

下载套件
先到 http://www.hypervisual.com/winbinder/download.php 下载以下档案:
- WinBinder Libraries : winbinder_0.3x.xxx.zip (下载 ZIP 档即可)
- Minimal PHP : php5_minimal.zip & php5_libs.zip
- WinBinder OOi : wb_ooi_0.3.zip

安装
1. 将 winbinder_0.3x.xxx.zip 解压缩至 C:\WinBinder 下。应该会有以下文件夹:
- Code
- PHP
- Source
- Tools

2. 解压缩 wb_ooi_0.3.zip 至 C:\WinBinder 下,将其中的 Code 及 Tools 文件夹复盖掉上面的文件夹。 (其实是新增一些档案)

3. 为了不和已安装的 PHP 起冲突,建议安装 PHP 最小化版本。将上面的 php5_minimal.zip 及 php5_libs.zip 内的档案,解压缩至 C:\WinBinder\PHP\PHP5 下。

4. 打开档案总管,选择「工具 / 文件夹选项 / 档案类型」。新增一个扩展名「PHPW」,然后将打开档案的程序选择为「C:\WinBinder\PHP\PHP5\php-win.exe」。

运行 Script
到 C:\WinBinder\Code\Sample 下,就可以看到很多 .phpw 档。随便找一个点击两下,试试看能不能正常运行。

注意事项
1. 这里所用的 PHP 最小化版本,其设置档为 C:\WinBinder\PHP\PHP5\php.ini 。所以不会和站点用的 PHP 打架。

2. 用 php.exe 也可以运行,不过会看到一个很丑的 Console 窗口大剌剌地跟在运行接口的后头,而且还会显示一堆原始码。 (注:这样的方式能够知道程序错在哪。)

3. 如果要把程序码搬到其他地方运行的话,要注意路径的问题。

4. 其他请有经验的先进们补充罗。

5. 如果在 PHP.INI 中,将短标签关掉,会造成部份 PHPW 程序无法运行。如果决定要关闭短标签,则需要把 C:\WinBinder\Code\* 中的 PHP 档案内之 <? 改为 <?php 。

贫身亦飘然 (jaceju) 修改于 西元 2005 年 05 月 30 日 09:07 AM
nationzhou 2005-06-18
  • 打赏
  • 举报
回复
winbinder 是开发桌面应用程序的吗?
gu1dai 2005-06-18
  • 打赏
  • 举报
回复
呵呵,很好的东西


























我从没用过
vitalgg 2005-06-18
  • 打赏
  • 举报
回复
谢谢GaoXX(我即老高,老高即我) 把我的翻译帖出来.

不过这只是我一时冲动翻译了几节最基本的内容.
由于这个文档没有CVS,也不是用DOCBOOK之类的写的,维护起来也很不方便.
直接翻译 html 文件简直是一种折磨.

安装
--
下载winbinder
把 php_winbinder.dll 的相应版本(PHP5/PHP4)复制到php 的 extensions 的扩展模块目录下.
在php.ini中加入
extension=php_winbinder.dll
把 下载包中的 code/inc 下的.php程序放到 php.ini 指定的 include 目录下
或干脆和开发的程序放在一起.

--
配置
--
暂时没有发现要配置的项.
--
小例子(一个什么也不能做只有界面的程序,资源文件就不帖了)
--
<?php

$basedir = dirname(__FILE__)."/";
include $basedir . "inc/winbinder.php"; // 引入 WinBinder 库

//程序参数

define("APPNAME", "唯她 PHP 工具箱"); // 应用程序名
define("PATH_RES", $basedir . "res/"); // 资源路径

//-------------------------------------------------------------------- CONSTANTS

// 控件ID (有点VC++的味道)

define("ID_INSTALL_APACHE", 102);
define("ID_INSTALL_PHP", 103);
define("ID_INSTALL_MYSQL", 104);
define("ID_INSTALL_ALL", 105);

define("ID_CONFIG_APACHE", 201);
define("ID_CONFIG_PHP", 202);
define("ID_CONFIG_MYSQL", 203);

define("ID_TOOLS_SETUP", 301);
define("ID_TOOLS_RESTART_APACHE", 302);
define("ID_TOOLS_RESTART_MYSQL", 303);
define("ID_TOOLS_STOP_APACHE", 304);
define("ID_TOOLS_STOP_MYSQL", 305);

define("ID_HELP_UPGRADE", 401);
define("ID_HELP_WEBSITE", 401);
define("ID_HELP_ABOUT", 402);

// EXE file structures


define("WINHEADER_SIZE", 93);

// 定义常量

define("ABOUT",
APPNAME . "\n\n" .
"唯她PHP工具箱是使用 PHP+WinBinder 制作的一款用于在 Windows 系统下的 PHP 及相关软件的配置管理工具.\n\n" .
"本程序运行于 PHP 4.3 或 PHP 5 之上.\n\n" .
"作 者:Vital(唯她) vital@m121m.net\n".
"主 页:http://www.m121m.net\n" .
"软件主页:http://www.m121m.net/products/VitalPhpTools\n"

);

// 创建主窗口

$mainwin = wb_create_window(NULL, PopupWindow, APPNAME, 640, 480);
wb_set_handler($mainwin, "process_main");

// 创建菜单, 工具栏

wb_create_control($mainwin, Menu, array(
"安装与更新(&I)",
array(ID_INSTALL_APACHE, "安装 &Apache", NULL, PATH_RES ."apache.bmp"),
array(ID_INSTALL_PHP, "安装 &PHP", NULL, PATH_RES ."php.bmp"),
array(ID_INSTALL_MYSQL, "安装 &MySQL", NULL, PATH_RES ."mysql.bmp"),
array(ID_INSTALL_ALL, "安装 Apache+PHP+MySQL", NULL, NULL),
null,
array(IDCLOSE, "退出 (&X)\tAlt+F4", NULL, PATH_RES ."menu_exit.bmp"),
"配置管理(&C)",
array(ID_CONFIG_APACHE, "&Apache 配置", NULL,PATH_RES ."apache.bmp"),
array(ID_CONFIG_PHP, "&PHP 配置", NULL,PATH_RES ."php.bmp"),
array(ID_CONFIG_MYSQL, "&MySQL 配置", NULL,PATH_RES ."mysql.bmp"),
"日志(&L)",
array(ID_LOG_APACHE, "查看 &Apache 日志", NULL,PATH_RES ."apache.bmp"),
array(ID_LOG_PHP, "查看 &PHP 日志", NULL,PATH_RES ."php.bmp"),
array(ID_LOG_MYSQL, "查看 &MySQL 日志", NULL,PATH_RES ."mysql.bmp"),
"工具(&T)",
array(ID_TOOLS_SETUP, "设置(&C)", NULL,PATH_RES."config.bmp","Ctrl+P"),
array(ID_TOOLS_STOP_APACHE, "停止 Apache 服务(&S)", NULL,PATH_RES."stop_apache.bmp"),
array(ID_TOOLS_RESTART_APACHE, "重起 Apache 服务(&R)", NULL,PATH_RES."restart_apache.bmp"),
array(ID_TOOLS_STOP_MYSQL, "停止 MySQL 服务(&D)", NULL,PATH_RES."stop_mysql.bmp"),
array(ID_TOOLS_RESTART_MYSQL, "重起 MySQL 服务(&M)", NULL,PATH_RES."restart_mysql.bmp"),
"帮助(&H)",
array(ID_HELP_UPGRADE, "检查与更新(&U)...", NULL, PATH_RES . "upgrade.bmp"),
array(ID_HELP_WEBSITE, "软件主页(&W)...", NULL, PATH_RES . "upgrade.bmp"),
array(ID_HELP_ABOUT, "关于(&A)...\tF1", NULL, PATH_RES . "menu_help.bmp", "F1"),
));

//工具条(图标在资源文件下)
$toolbar = wb_create_control($mainwin, ToolBar, array(
null,
array(ID_CONFIG_APACHE, NULL, "安装 Apache", 1),
array(ID_CONFIG_PHP, NULL, "安装 PHP", 22),
array(ID_CONFIG_MYSQL, NULL, "安装 MySQL", 12),
null,
array(ID_HELP_ABOUT, NULL, "帮助", 13),
), 0, 0, 16, 15, 0, 0, PATH_RES . "toolbar.bmp");

$mainFrame = wb_create_control($mainwin, Frame, "", 0, 18, 634, 400);

$maintab = wb_create_control($mainFrame, TabControl,
"Tab1\nTab2\nTab3\nTab4\nTab5", 4, 4, 305, 185, 101, WBC_VISIBLE);

// Create child controls

wb_create_control($maintab, Slider, "", 110, 30,140, 25, 102, 0, 0);
wb_create_control($maintab, ScrollBar, "", 20, 30, 16,120, 103, 0, 0);
wb_create_control($maintab, ScrollBar, "", 115, 90,140, 16, 104, 0, 0);

wb_create_control($maintab, Label, "Hi", 40, 40, 70, 20, 201, 0, 1);
wb_create_control($maintab, CheckBox, "Op1", 40, 60, 70, 20, 202, 0, 1);
wb_create_control($maintab, CheckBox, "Op2", 40, 80, 70, 20, 203, 0, 1);

wb_create_control($maintab, RadioButton,"Op1", 40, 40, 60, 20, 301, 0, 2);
wb_create_control($maintab, RadioButton,"Op2", 40, 60, 60, 20, 302, 0, 2);
wb_create_control($maintab, RadioButton,"Op3", 40, 80, 60, 20, 303, 0, 2);

wb_create_control($maintab, Label, "Hey", 40, 40, 70, 20, 401, 0, 3);
wb_create_control($maintab, CheckBox, "Op1", 40, 60, 70, 20, 402, 0, 3);
wb_create_control($maintab, CheckBox, "Op2", 40, 80, 70, 20, 403, 0, 3);

wb_create_control($maintab, Slider, "", 110, 30,140, 25, 501, 0, 0);
wb_create_control($maintab, ScrollBar, "", 20, 30, 16,120, 502, 0, 0);
wb_create_control($maintab, ScrollBar, "", 115, 90,140, 16, 503, 0, 0);


//状态栏
$statusbar = wb_create_control($mainwin, StatusBar, "欢迎使用唯她 PHP 工具箱!");
wb_set_image($mainwin, PATH_RES . 'hyper.ico');

wb_set_handler($mainwin, "process_main"); //设置主处理函数.

//主循环
wb_main_loop();


/* 主处理函数 */

function process_main($window, $id)
{
global $toolbar,$maintab;

switch($id) {

case ID_HELP_WEBSITE:
if(!wb_exec("http://expert.51.net/"))
wb_message_box($window, "无法打开软件主页.");
break;
case ID_HELP_ABOUT:
$about = wb_create_window(NULL, ModalDialog, " 关于".APPNAME."...", 480, 330);
$list = wb_create_control($about, EditBox, ABOUT, 0, 0, 475, 250, 101, WBC_MULTILINE | WBC_READONLY);
wb_create_control($about, PushButton, "Close", 80, 260, 80, 22, IDCANCEL);

wb_set_handler($about, "process_dlg");
break;
case $maintab:
$val = wb_get_value($ctrl);
wb_set_value(wb_get_control($window, 103), $val);
wb_set_value(wb_get_control($window, 104), $val);
break;

case IDCLOSE:
wb_destroy_window($window);
break;
}
}

function process_dlg($window, $id)
{
switch($id) {
case IDCLOSE:
case IDCANCEL:
wb_destroy_window($window);
break;
}
}


?>
-----
遇到的问题
稳定性(可能是正处于测试阶段,反正...)

====
发布的程序也很小.(把没有使用的 php 扩展模块删减后,php本身并不大)
加上开发的程序也不大,而且可以打包成一个可执行文件.(写大型软件自然是不适合的)
uuq 2005-06-18
  • 打赏
  • 举报
回复
ice_berg16(寻梦的稻草人)
那个winbinder目录下面已经有了php.exe了。
就是双击phpw文件打开方式。选择winbinder下面的php.exe可以了
zhiin1 2005-06-18
  • 打赏
  • 举报
回复


关注一下.....
patchclass 2005-06-17
  • 打赏
  • 举报
回复
从来没有用过哦,好东西吗?学习
hope1983 2005-06-17
  • 打赏
  • 举报
回复
刚才自己试了一下,用EditPlus可以打开和调试代码...
GaoXX 2005-06-17
  • 打赏
  • 举报
回复
找到一篇中文介绍
http://phpexpert.51.net/doc/winbinder/
GaoXX 2005-06-17
  • 打赏
  • 举报
回复
请问这么好的东西,哪里可以下载的到?
hope1983 2005-06-17
  • 打赏
  • 举报
回复
能不能看到.phpw里的代码???如何看?
phpsessid 2005-06-17
  • 打赏
  • 举报
回复
jf
majiming 2005-06-17
  • 打赏
  • 举报
回复
不错!接分
unijune 2005-06-17
  • 打赏
  • 举报
回复
我很看好这个东西,用过前面的2个版本,最新的版本没用过,做过一个RssReader,不过没做完:) 很不爽的一点是还不支持右键菜单,但是发现新版本可以支持hyperlink了,这点不错。
还有是界面可以用WINSAM设计,呵呵,满方便的。
另外可以用PECL里的一个工具把一些简单的应用打包成EXE文件,直接运行。但是复杂的就打包不起来了。当然我用的是几个月以前的工具包了,新的或许可以了,呵呵~~
xuzuning 2005-06-17
  • 打赏
  • 举报
回复
to spacet(空格t) 你的回复将要被我删去!贴那些英文的说明毫无意义,解包后就能看到。不烦劳你大驾在这里贴!

这个东西还是很好的,比phpgtk强。不过只能在windows环境下使用。
用他开发点桌面应用还是很不错的。
mikespook 2005-06-17
  • 打赏
  • 举报
回复
安装倒也简单,我因为装的是AppServ所以我只要把 解压缩目录\PHP\PHP4\ext下的php_winbinder.dll复制到extentions目录下,比如我的C:\AppServ\php\extensions目录。再修改php.ini文件在extentions部分加入extension=php_winbinder.dll,就可以了~~~

我的做法跟ice_berg16类似,本身php和phpw我就做了一个run命令,默认还是用dev-php打开,但是鼠标右键,选RUN就是直接执行~~~
加载更多回复(8)

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧