关于PB开发B/S结构的系统的例子

sunsatan 2002-06-03 10:04:20
水可以给我一份用PB做的关于开发B/S结构系统的例子,实在一点经验也没有,难死了,如果能够提供我可以在多给一些分。(目前只能在弄一个帖子给分)
sunsatan@163.com
...全文
314 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
海洋‘s 2002-06-05
  • 打赏
  • 举报
回复
目前还没有做过,等待学习...
weinfo 2002-06-05
  • 打赏
  • 举报
回复
帖一把。
jackygan 2002-06-03
  • 打赏
  • 举报
回复
我主页上也有关于这方面的例子,有时间可以去看看:
http://pbcorner.yeah.net/ PB程序员一角
jackygan 2002-06-03
  • 打赏
  • 举报
回复
以下一这篇文章不知道是否适你:
  Powersoft的Web.PB技朮可以將分布式PowerBuilder的客戶端應用分布到Web服務器上﹐由Web服務器調用PowerBuilder應用。用戶可以用Web□PB技朮實現完全瘦客戶機的PB Web應用。

  1.Web應用的執行過程

  瀏覽器訪問Web服務器﹐向Web服務器提出請求﹐服務器給瀏覽器返回HTML文檔。如果HTML頁面中嵌入了通過〈A〉元素鏈接到Web□PB的超級鏈接﹐或HTML頁面中嵌入了通過〈FORM〉元素對Web□PB的調用﹐則Web服務器調用Web□PB建立與PowerBuilder服務器應用的連接﹐向PowerBuilder服務器應用提出請求﹐PowerBuilder服務器應用處理請求。如有數據庫訪問的請求﹐則PowerBuilder服務器應用訪問數據庫服務器。PowerBuilder服務器應用將處理結果以HTML文檔格式返回到Web服務器。Web服務器將PowerBuilder服務器應用的處理結果以HTML文檔格式發布給瀏覽器。

  2.應用實例

  本人已將利用Web.PB技朮開發的學校管理查詢系統應用于實際應用中。下面通過簡單的例子說明如何利用Web.PB技朮實現瘦客戶機的Web應用。

  2.1. 運行環境

  服務器為HP NetServer 5/133 LC﹐內裝Windows NT 4.0﹑SQL Server 6.5﹑IIS 4□0和PowerBuilder 6.0。

  2.2. 配置

  拷貝Web□PB文件﹐將PBISA60□DLL拷入\scripts虛擬目錄下﹐拷貝PBWEB□INI文件到WINNT目錄下。用記事本編輯\Winnt\System32\Drivers\Etc\目錄下的Hosts和Services文件﹐在Hosts文件中填加一行﹕202.194.168.88 server─sls﹐在Services文件中填加一行﹕pb─sls─server 10099/tcp。

  2.3. 創建PowerBuilder服務器應用

  2.3.1. 創建服務器應用及應用對象

  啟動PowerBuilder﹐點取PowerBar上Application畫筆﹐進入Application工作區。從Application工作區上的PainterBar點取New﹐創建一個新的PowerBuilder應用sls.pbl。按下“保存”按鈕﹐彈出“Save Application”對話框﹐定義Application對象“sls”﹐按下“OK”按鈕。彈出“Application”對話框﹐選擇對話框中“NO”按鈕﹐應用sls.pbl創建完成。修改該應用對象的Library屬性﹐在Application工作區中點擊PainterBar上的Property工具﹐彈出“Application”對話框﹐選擇“Libraries”。定義應用的可搜索路徑﹐填加“c:\program Files\Powersoft\PB6\IT\webpb.pbl”﹐按下“OK”按鈕﹐服務器應用及應用對象創建完畢。

  2.3.2. 創建PowerBuilder服務器應用的用戶界面

  點取PowerBar上Windows畫筆﹐彈出“Select Window”窗口﹐點取“New”按鈕﹐進入新創建的窗口的工作區。在該窗口上放置兩個命令按鈕cb─1﹑cb─2和一個靜態文本st─1﹐在兩個命令按鈕cb─1﹑cb─2上的文本分別改為“啟動服務器應用”﹑“關閉服務器應用”。

  定義窗口上transport類型實例變量mytransport﹐用于監聽Web.PB的調用請求﹕

  transport mytransport

  為cb─1的Clicked事件編程如下﹕

transport mytransport

mytransport=CREATE transport

mytransport.driver=〞winsock〞

mytransport.location=〞202.194.168.88〞

mytransport.application=〞10099〞

mytransport.Listen()

IF (mytransport.ErrCode<>0) THEN

   MessageBox(〞錯誤信息〞﹐〞服務器應用不能啟動監聽~r~n〞+〞錯誤號為﹕〞+string(mytransport.ErrCode)+〞~r~n〞+〞錯誤信息為﹕〞+mytransport.ErrText)

  Close(this.getparent())

   return

  ELSE

  St─1.text=〞服務器正在運行〞

  END IF

  為cb─2的Clicked事件編程如下﹕

  Close(Parent)

  上述工作完成后﹐選取選單項File下的Save選單項﹐彈出“Save Window”對話框﹐定義窗口名為w─sls─server﹐然后點擊“OK”按鈕﹐保存窗口。這個窗口對象將是應用服務器中第一個打開的窗口。為應用對象sls的open事件編寫如下程序﹕

  open(w─sls─server)

  2.3.3. 創建PowerBuilder服務器應用中的用戶對象

  進入PowerBuilder工作區﹐點取PowerBar上User Object畫筆﹐彈出“Select User Object”對話框。選擇“New”按鈕﹐彈出“New User Object”對話框。選擇Class類Custom用戶對象﹐單擊“OK”按鈕﹐進入到用戶對象工作區。選取選單項File下的Save選單項﹐彈出“Save User Object”對話框﹐輸入“u─sls”﹐然后點擊“OK”按鈕﹐保存該用戶對象。

  為用戶對象u─sls的constructor事件編寫處理程序﹕

  transaction mytransaction

  mytransaction=CREATE transaction

  mytransaction.dbms=〞odbc〞

  mytransaction.dbparm=〞ConnectString=′DSN=Powersoft Demo DB V6;〞&+〞UID=dba;PWD=sql′ 〞

  CONNECT USING mytransaction;   

  Sqlca.dbms=〞odbc〞

  Sqlca.dbparm=〞ConnectString=′DSN=Powersoft Webpb;UID=dba;PWD=sql′〞

  CONNECT USING sqlca;

  IF sqlca.sqlcode<>0 THEN

     MessageBox(〞Sqlca Error:〞+String(sqlca.sqldbcode),

       sqlca.SqlErrText)

  END IF

  為該用戶對象的destructor事件編寫處理程序﹕

  transaction mytransaction

  DISCONNECT USING mytransaction;

  DISCONNECT USING SQLCA;

  DESTROY mytransaction

  這樣﹐當Web.PB調用PowerBuilder服務器應用中用戶對象時先建立了和數據庫的連接。當調用完成時關閉連接。

  在用戶對象u─sls的工作區中﹐選取選單項Declare下的Instance Variables選單項﹐定義用戶對象上的實例變量﹐輸入﹕

  u─html─form my─html─form

  u─session my─session

  u─transaction my─transaction

  integer ii─count

  datastore mydatastore

  按下“OK”按鈕﹐返回用戶對象工作區。

  創建用戶對象函數在查詢時所需的數據窗口對象dw─rsda(假定已創建了Powersoft Demo DB V6庫rsda(bh,xm,xb,bm,…)表)﹐進入PowerBuilder工作區。點取PowerBar上Data Window畫筆﹐彈出“Select DataWindow”對話框。點擊“New”按鈕﹐彈出“New DataWindow”對話框﹐在“DataSource”選擇框中選擇Quick Select﹐“Presentation Style”選擇框中選擇Grid。點擊“OK”按鈕﹐彈出“Quick Select”對話框﹐選取表rsda和表中相應的列(bh,xm,xb,bm)。按下“OK”按鈕﹐進入數據窗口工作區﹐存此數據窗口為“dw─rsda”。

  打開已創建好的用戶對象u─sls。在用戶對象工作區點取選單項Declare下的“User Object Functions”選單項﹐彈出“Select Function in User Object”對話框。單擊“New”按鈕﹐彈出“New Function”對話框。在此對話框中定義函數的參數及返回值。定義函數名為﹕f─rsda﹐函數返回值為﹕string。點擊“OK”按鈕﹐進入函數編程工作區﹐編寫程序如下﹕

  string return─html

  long ll─dw─row

  transaction mytransaction

  datastore datastore─rsda

  datastore─rsda=CREATE datastore

  datastore─rsda.dataobject=〞dw─rsda〞

  datastore─rsda.settransobject(mytransaction)

  ll─dw─row=datastore─rsda.retrieve()

  IF LL─dw─row>=1 THEN

  Return─html=return─html+

  datastore─rsda.object.datawindow.data.htmltable

  ELSE

  Return─html=〞沒有檢索到數據〞

  END IF

  RETURN return─html

  這個函數的主要作用是調用數據窗口dw─rsda進行數據查詢﹐將查詢結果以HTML的語法格式返回。Web服務器將得到這個返回參數﹐并發布給調用函數的瀏覽器客戶。

  2.4. 用Web.PB Wizard創建訪問Web.PB的HTML文件

  在PowerBuilder環境下﹐點取PowerBar上的Web.PB Wizard畫筆。輸入或瀏覽選擇Web.PB要訪問的PowerBuilder服務器應用名后﹐點擊“Next”按鈕。在彈出的窗口中選擇所需的用戶對象u─sls﹐然后點擊“Next”﹐在彈出的窗口中選擇所需的用戶對象函數f─rsda。然后點擊“Next”﹐在彈出的窗口中分別作如下的選擇﹕在Select the program interface框中選擇“Internet Server API(ISAPI)”﹐在Enter the URL path for CGI program框中輸入“/scripts”﹐在Select the HTML style框中選擇“Anchor”。然后點擊“Next”按鈕﹐在彈出的窗口中分別作如下的選擇﹕在位置框中輸入“C:\winnt\pbweb.ini”﹐在Enter Server Alias Section框中輸入“Internet”﹐在Driver框中選擇“Winsock”﹐在Application框中輸入“10099”﹐在Location框中輸入“202□194□168□88”。然后點擊“Next”按鈕﹐在彈出的窗口中﹐在HERF text框中輸入“人事檔案查詢”﹐在Specity location and name of HTML file框中輸入“c:\intepub\wwwroot\rsdaweb.htm”。然后點擊“Next”按鈕﹐在彈出的窗口中點擊“Finish”。到此為止﹐能夠訪問PowerBuilder服務器應用中用戶對象u─sls上函數f─rsda的HTML頁面已經完成。

  2.5. 啟動服務器應用

  在PowerBuilder環境下﹐按下PowerBar上的Run畫筆﹐應用打開w─sls─server窗口﹐點取“啟動服務器應用”按鈕。在靜態文本框中顯示“服務器正在運行”﹐使服務器應用能夠監聽Web.PB的調用。

  2.6. 啟動瀏覽器瀏覽

  打開IE4.0﹐在Location框中輸入﹕http://202.194.168.88/rsdaweb.htm﹐然后再在“人事檔案查詢”上單擊﹐則在頁面中按照PowerBuilder的Data Window格式顯示出rsda表中的記錄。

  摘自《賽迪網》 孫連三/文




yuanbo824 2002-06-03
  • 打赏
  • 举报
回复
介不介意也发给我一份,谢谢
yuanbo824@sina.com
"管家婆加密狗读写工具"是一款专门针对管家婆软件的辅助工具,旨在帮助用户进行加密狗的读取和写入操作。加密狗是一种硬件设备,通常用于软件的授权管理,确保只有拥有正确密钥的用户才能运行特定的软件。在IT行业中,这种技术被称为硬件锁或USB Dongle,它通过USB接口连接到计算机,存储了软件的许可证信息。 管家婆软件是一款广泛应用于中小企业财务管理、进销存管理、生产管理等领域的应用软件。它的不同版本可能需要不同的加密狗来验证用户的使用权。"适用于多种版本"表明这款工具兼容管家婆的多个产品版本,为用户提供了一站式的加密狗管理解决方案。 "已测试可用"意味着开发者或提供者已经对这个工具进行了实际的测试,确保它在实际环境中可以正常工作。这是非常重要的,因为它给用户带来了一定程度的信任,表明该工具在使用时不会出现严重的兼容性问题或功能失效。 "要有狗才能用哦"这一提示强调了加密狗是必不可少的,没有加密狗,这个读写工具将无法执行其功能。这意味着用户必须拥有合法的管家婆加密狗才能使用这个工具,否则将无法进行任何读写操作。 从压缩包中的文件名"管家婆写狗(R4ND全集)无壳版.exe"可以看出,这是一个针对管家婆软件的写狗工具,而且是"无壳版"。"无壳版"通常指的是软件去除了保护壳,即没有额外的防逆向工程措施,这可能使工具更易于理解和使用,但同时也可能让软件更容易被破解。"R4ND全集"可能表示这个工具包含了针对各种随机情况的全面支持,比如处理各种类型的加密狗或者各种数据写入需求。 "管家婆加密狗读写工具"是为了解决管家婆软件用户在加密狗管理上的问题而设计的,它具备广泛的版本兼容性,并经过了实际测试,确保功能的稳定性和可靠性。用户需要拥有管家婆的加密狗才能使用此工具进行读写操作,而提供的无壳版本可能方便了用户进行更深入的使用或调试。然而,使用无壳版工具也需谨慎,因为这可能会增加软件被非法利用的风险。
【PA1实验报告1】是关于计算机系统和软件开发的一个实验项目,主要涵盖了以下几个关键知识点: 1. **指令集架构**:实验的目标之一是熟悉指令集的架构。指令集是计算机处理器理解和执行的基本命令集合,它定义了处理器如何处理数据和控制硬件。在这里,虽然可以选择不同的指令集,如RISC-V或x86,但因为实现多个指令集的复杂性,实验选择了x86。x86架构是一种复杂的CISC(复杂指令集计算)架构,包含了大量的单条指令,可以执行多种操作。 2. **图灵机原理**:图灵机是一种理论计算模型,用于描述通用计算能力的极限。在实验中,探究图灵机的运行原理意味着理解其基本操作,包括如何读取和修改存储带上的符号,以及如何根据当前状态和读取的符号来改变状态和移动读写头。 3. **调试器的工作原理**:调试器是软件开发中的重要工具,用于检查和控制程序的执行。实验要求用代码模拟寄存器结构,实现调试器的基本功能。这包括设置断点、单步执行、查看寄存器和内存状态等。调试器的工作原理涉及追踪程序执行流程,中断执行以便分析,并能恢复执行以继续调试。 4. **寄存器结构模拟**:在x86架构中,有不同大小的寄存器,如32位、16位和8位寄存器。实验要求使用`union`结构来模拟这些寄存器,因为`union`可以在同一内存空间中存储不同大小的数据类型,从而反映x86寄存器的共用特性。例如,EAX寄存器可以视为AX、AH和AL的组合。 5. **NEMU模拟器**:NEMU是一个程序模拟器,它的目的是使其他程序能够在NEMU上运行,就像在真实的硬件上一样。实验中提到的`init_monitor()`函数是NEMU启动时调用的关键初始化函数,负责处理参数解析、日志文件初始化、镜像加载和ISA相关的初始化工作。`load_img()`函数用于加载客户程序的镜像,而`init_isa()`则涉及CPU状态的初始化,包括寄存器的设置。 6. **内存管理**:实验中提到了固定内存位置0x10000来加载客户镜像,以及抽象出来的API如`isa_default_img[]`和`isa_default_img_size`,这些API简化了镜像加载和内存管理。 7. **设备初始化**:`init_device()`函数用于初始化设备,这是模拟真实计算机环境的关键部分,因为模拟器需要模拟I/O设备以处理输入输出操作。 8. **断点和监视点**:实验还要求实现监视点功能,即断点。断点是调试中的一个关键元素,允许在特定代码行暂停程序执行,以便检查程序的状态。 这个实验全面地覆盖了计算机系统的基础知识,从底层的指令集到高级的调试技术,旨在加深学生对计算机系统运行机制的理解,并提供实践经验。通过这样的实验,学生不仅能够学习到理论知识,还能提升实际编程和解决问题的能力。
Nexus是Sonatype公司开发的一款强大的 Maven仓库管理器,它集成了Maven仓库代理、存储库聚合以及组件发布等功能,广泛应用于Java开发者的构建和部署流程中。标题"nexus-3.30.0-01-win64.zip"表示的是Nexus 3的30.0.0.1版本的Windows 64位安装包,这通常用于在Windows操作系统上搭建和管理本地或企业级的Maven仓库。 描述中提到可以从官方网站下载,这确保了软件来源的正规性与安全性。下载地址是https://help.sonatype.com/repomanager3/download/,这是Sonatype官方的帮助页面,用户可以在此获取最新版本的Nexus Repository Manager及其相关的文档和资源。 Nexus的核心功能包括: 1. **代理仓库**:Nexus可以作为Maven中央仓库的代理,减少对互联网的直接访问,提高开发效率。通过配置,它可以缓存远程仓库中的组件,本地团队可以快速获取所需依赖。 2. **存储库聚合**:允许用户将多个存储库(如Maven、npm、NuGet等)组合成一个逻辑组,便于管理和查找组件。 3. **组件发布**:开发者可以使用Nexus发布自己的软件组件,确保版本控制和权限管理。 4. **安全控制**:Nexus提供了精细的访问控制策略,可以限制不同用户或团队对不同存储库的访问权限。 5. **质量检查**:内置的构件验证功能可以检查上传的组件是否符合预设的规则,比如POM格式正确性、签名验证等。 6. **搜索与浏览**:Nexus提供图形界面,方便用户搜索、浏览和管理仓库中的组件。 7. **持续集成**:与CI/CD工具如Jenkins、GitLab CI/CD等集成,自动化构建和部署过程。 8. **版本管理**:支持SNAPSHOT版本的管理,方便进行开发阶段的版本迭代。 压缩包内的两个主要文件“sonatype-work”和“nexus-3.30.0-01”可能是Nexus的安装目录结构。"sonatype-work"通常包含Nexus运行时的数据和配置,如数据库连接信息、日志文件等;而"nexus-3.30.0-01"可能是Nexus的可执行程序和配置文件,用于启动和配置服务。 在安装和配置Nexus时,用户需要注意以下几点: - 安装路径应避免有空格和特殊字符,以防运行时出现问题。 - 配置文件通常位于“nexus-3.30.0-01/conf”目录下的“nexus.properties”,根据实际需求进行修改。 - 启动Nexus通常需要指定JAVA_HOME环境变量,确保使用的是兼容的Java版本。 - 需要创建并配置至少一个仓库,如Maven公共仓库的代理,以便开始使用。 - 对于生产环境,应考虑设置备份策略,防止数据丢失。 Nexus作为一款强大的软件仓库管理工具,对于Java开发者和企业来说,是构建高效、安全的软件供应链的重要组成部分。通过正确配置和使用,能够大大提高软件开发和发布的效率,同时保障组件的质量和安全性。

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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