pb 得到数组和字符串的长度

 

string  slevalue;//这样是为了初始化 因为他有默认值的 默认值为“”;
slevalue = sle_value.text;
int i ;
if slevalue="" then
	messagebox("","null");
	sle_value.setFocus( );
	return;
else 
    if IsNumber(slevalue) then 
		messagebox("","is Number");
		//for  i = 1 to integer(slevalue) 
		//	messagebox("",i);
		//next
		int arr[] = {1,2,3,4,5,6};
		string  s ;
		s="abc";
		messagebox("string的长度",len(s));
		for i = 1 to upperBound(arr)//得到数组的长度
			messagebox("",arr[i]);
			next
		
	else 
		messagebox("","not number");
		end if
end if
下面是转换
//pb中是先定义变量后赋值 不想java可以直接初始化 要先默认定义变量 然后在

string sleValue ;
 sleValue = sle_value.text;
 if sleValue="" then
	Messagebox("提示","你输入的为控制请重新输入");
	sle_value.setFocus( );
	return;
 else
	if isNumber(sleValue) then
//	int sleInt = integer(sleValue);
//	messagebox("数字为",sleInt);
//    choose case sleInt
 Integer ii;
  ii =Integer(sleValue);
Messagebox("ii", ii);
else
	messagebox("","你输入的不是数字,请重新输入");
	sle_value.text="";
	sle_value.setFocus( );
	return;
end if
 end if
 
//pb中是先定义变量后赋值 不想java可以直接初始化 要先默认定义变量 然后在

string sleValue ;
 sleValue = sle_value.text;
 if sleValue="" then
	Messagebox("提示","你输入的为控制请重新输入");
	sle_value.setFocus( );
	return;
 else
	if isNumber(sleValue) then
//	int sleInt = integer(sleValue);
//	messagebox("数字为",sleInt);
//    choose case sleInt
 Integer ii;
  ii =Integer(sleValue);
//Messagebox("ii", ii);
choose case ii
	case IS > 90 
		st_grade.text="你的成绩优秀";
	case 80 to 90 
		st_grade.text="你的成绩良好";
	case 70 to 80
   st_grade.text="你的成绩中等";
case 60 to 70
	st_grade.text="你的成绩及格";
case else
	st_grade.text="你的成绩不及格";
end choose
else
	messagebox("","你输入的不是数字,请重新输入");
	sle_value.text="";
	sle_value.setFocus( );
	return;
end if
 end if
 

 用select语句

/*select 一个记录
string  a ;
select  account.name into :a from account where id = 1  using sqlca;
messagebox("",a);
*/
/*
insert 一条记录
String str;
str = "我是";
insert into account(account.name)values(:str) 
using sqlca;
*/
/*
删除一条语句
delete from account where account.id=6
using sqlca;
*/
/*update语句
string a ;
a = "update数据";
update account set account.name = :a ,account.age=1 where account.id=7
using sqlca;
if sqlca.sqlcode= -1  then
	messagebox("","连接失败"+sqlca.sqlerrtext );
end if
*/
	

 使用游标

//唔系好明 点解当我change的时候会少一个的
int li_int;
string ls_name;
//声明游标
declare lcur_name cursor for
select project.name from project ;
open lcur_name;
if sqlca.sqlcode<>0 then
	messagebox("","open falie"+sqlca.sqlerrtext );
	return
else
 messagebox("","open success");
end if
ddlb_1.setredraw( false);
do while sqlca.sqlcode = 0
	fetch lcur_name into :ls_name;
 	if sqlca.sqlcode=0 then
	//messagebox("",ls_name);
	ddlb_1.addItem( ls_name);
else
	messagebox("","fetch fail"+sqlca.sqlerrtext );
	return;
end if
loop
//ddlb_1.setredraw( true);

close lcur_name;

 获取环境 和 messagebox的使用方法

msg="你要查看powerbuilder的版本信息吗";
int rnt;//get environment return code
 Environment env ;
 
 messagebox("","welcome to use booking system");
 

 rnt = getEnvironment(env);
 
 if rnt =-1 then 
	messagebox("","enviromnent fali");
	return
end if



 
 
rnt = messagebox("ation",msg,Question!,YesNo! ,2);
 //确认了是的话
 
 
 if rnt = 1 then
	
	msg="";
	msg +=string(env.pbbuildnumber);
	messagebox("",msg);	
 end if

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用C语言编写的解答代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STR_LEN 20 #define MAX_STR_NUM 10 int is_chinese(char *str) { // 判断字符串是否为中文 int i; for (i = 0; i < strlen(str); i++) { if (str[i] < 0) { // 中文字符的ASCII码值为负数 return 1; // 返回1表示为中文 } } return 0; // 返回0表示为英文 } int cmp(const void *a, const void *b) { // 定义比较函数 char **pa = (char **)a; char **pb = (char **)b; int i, j, lena, lenb; lena = strlen(*pa); lenb = strlen(*pb); if (is_chinese(*pa) && is_chinese(*pb)) { // 中文字符串的比较 for (i = 0, j = 0; i < lena && j < lenb; i++, j++) { if ((*pa)[i] == (*pb)[j]) { // 若当前字符相等,则继续比较下一个字符 continue; } else { // 若当前字符不相等,则返回它们ASCII码值的差 return (*pa)[i] - (*pb)[j]; } } return lena - lenb; // 若前面的字符都相等,则长度较长的字符串排在后面 } else if (is_chinese(*pa) && !is_chinese(*pb)) { // 中文字符串与英文字符串的比较 return -1; // 中文字符串排在英文字符串的前面 } else if (!is_chinese(*pa) && is_chinese(*pb)) { // 英文字符串与中文字符串的比较 return 1; // 英文字符串排在中文字符串的后面 } else { // 英文字符串的比较 return strcmp(*pa, *pb); } } int main() { char str[MAX_STR_NUM][MAX_STR_LEN + 1]; // 二维数组保存字符串 int n, i; printf("请输入字符串个数:"); scanf("%d", &n); printf("请输入所有的字符串:\n"); for (i = 0; i < n; i++) { scanf("%s", str[i]); } qsort(str, n, sizeof(str[0]), cmp); // 使用qsort()函数进行排序 printf("排序后的字符串顺序如下:\n"); for (i = 0; i < n; i++) { printf("%s ", str[i]); } printf("\n"); return 0; } ``` 运行示例: ``` 请输入字符串个数:4 请输入所有的字符串: 张三三 李四 wangwu laoliu 排序后的字符串顺序如下: laoliu wangwu 李四 张三三 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值