OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3485|回复: 9

请教一下原子哥与大家,我现在想做一个登陆界面,出现了一些问题

[复制链接]

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
发表于 2020-8-17 10:46:32 | 显示全部楼层 |阅读模式
1金钱
请教一下原子哥与大家,我现在想做一个登陆界面,出现了一些问题。这是我的程序
  1.   if(t9->outstr[0]!=NULL)  //读取输入的密码,密码可以在编辑框内显示,这一步没问题
  2.                 {
  3.                         if(editflag)
  4.                         {
  5.                        
  6.                          phone = t9->outstr;
  7.                         edit_add_text(tedit,phone);//êy×Ö/í˸ñ¼ü
  8.                        
  9.                                
  10.                         }


  11.                         t9->outstr[0]=NULL;                                
  12.                 }

  13.                    res=btn_check(sbtn,&in_obj);   //点击确认按键 对输入的密码与设置的密码进行对比,如果对比正确的话,会出现提示窗口,这一步出不来,有问题
  14.                    if(res==1)
  15.                 {
  16.                         if(strcmp(phone,LOGIN_PHONE)==0)
  17.                         {
  18.                         window_msg_box((lcddev.width-200)/2,(lcddev.height-80)/2,200,80,(u8*)sms_remind_msg_tbl[8][gui_phy.language],(u8*)APP_REMIND_CAPTION_TBL[gui_phy.language],12,0,1<<6,1200);       
  19.                         }
  20.                   }
复制代码


最佳答案

查看完整内容[请看2#楼]

我感觉可能有,如果这个外层还有循环而且很快的话。那岂不是我输入密码一位它就进入这个if然后清空了 if(t9->outstr[0]!=NULL) //读取输入的密码,密码可以在编辑框内显示,这一步没问题 { if(editflag) { phone = t9->outstr; edit_add_text(tedit,phone);//êy×Ö ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

269

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1053
金钱
1053
注册时间
2020-5-11
在线时间
253 小时
发表于 2020-8-17 10:46:33 | 显示全部楼层
支持者2400 发表于 2020-8-17 11:04
老哥,你看程序逻辑有没有啥问题?

我感觉可能有,如果这个外层还有循环而且很快的话。那岂不是我输入密码一位它就进入这个if然后清空了  
if(t9->outstr[0]!=NULL)  //读取输入的密码,密码可以在编辑框内显示,这一步没问题
                {
                        if(editflag)
                        {
                        
                         phone = t9->outstr;
                        edit_add_text(tedit,phone);//êy×&#214;/í&#203;&#184;&#241;&#188;ü
                        
                                
                        }


                        t9->outstr[0]=NULL;                                 
                }

回复

使用道具 举报

5

主题

269

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1053
金钱
1053
注册时间
2020-5-11
在线时间
253 小时
发表于 2020-8-17 10:51:18 | 显示全部楼层
你这外层应该有个循环把。代码不全啊。你debug看一下。
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2020-8-17 10:53:08 | 显示全部楼层
4fd7c388e085a0821170972cfab2e81.jpg
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2020-8-17 10:54:20 | 显示全部楼层
thisisdemo 发表于 2020-8-17 10:51
你这外层应该有个循环把。代码不全啊。你debug看一下。

是的,别的地方都没问题,就是密码比对哪里没有反应
回复

使用道具 举报

34

主题

255

帖子

0

精华

高级会员

Rank: 4

积分
912
金钱
912
注册时间
2019-7-5
在线时间
189 小时
发表于 2020-8-17 10:57:25 | 显示全部楼层
支持者2400 发表于 2020-8-17 10:54
是的,别的地方都没问题,就是密码比对哪里没有反应

分步调试,把你输入的密码通过串口打印出来看看
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2020-8-17 10:58:40 | 显示全部楼层
liaohaijian 发表于 2020-8-17 10:57
分步调试,把你输入的密码通过串口打印出来看看

好的。我试试
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2020-8-17 11:04:13 | 显示全部楼层
liaohaijian 发表于 2020-8-17 10:57
分步调试,把你输入的密码通过串口打印出来看看

老哥,你看程序逻辑有没有啥问题?
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2020-8-17 11:13:08 | 显示全部楼层
thisisdemo 发表于 2020-8-17 11:07
我感觉可能有,如果这个外层还有循环而且很快的话。那岂不是我输入密码一位它就进入这个if然后清空了  
...
  1. void sms_send_sms(sms_node* pnode,u8 mode)
  2. {
  3.         _edit_obj* tedit;
  4.         _edit_obj* tedit1;
  5.           _btn_obj* sbtn=0;                                //·¢&#203;í&#182;ìD&#197;°′&#197;¥
  6.         _t9_obj * t9=0;                                        //ê&#228;è&#235;·¨  
  7.         _memo_obj * rmemo=0,* smemo=0;        //memo&#191;&#216;&#188;t
  8.         sms_node *pnew;
  9.        
  10.         u8 pnum_height,pnum_fsize;
  11.         u8 rmsg_height,rmsg_fsize;
  12.         u16 rmemo_height,smemo_width;
  13.         u8 smemo_height,smemo_offx,sarea_height;
  14.         u8 sbtn_width,sbtn_height,sbtn_fize;
  15.         u8 smsg_height,smsg_fsize;
  16.         u16 t9height;
  17.         u16 res;
  18.         u8 rval=0;
  19.         u8 ccnt=70;                //×&#214;·&#251;&#188;&#198;êy&#198;÷,ò&#187;ì&#245;&#182;ìD&#197;,×&#238;&#182;à70&#184;&#246;×&#214;·&#251;
  20.         u8 editflag=0;        //0,±à&#188;-μ&#196;ê&#199;smemo
  21.                                         //1,±à&#188;-μ&#196;ê&#199;ê&#213;&#188;tè&#203;(tedit)
  22.         u8 *str=sms_contact_tbl[mode][gui_phy.language];
  23.         u8 *str1=sms_contact_tbl[mode][gui_phy.language];
  24.         u8 *p;
  25.         u8 curmsg=0;
  26.         u8 *phone;
  27.         u8 *password;
  28.         LCD_Clear(SMS_RMEMO_BACK_COLOR);//&#199;&#229;&#198;á
  29. if(lcddev.width==480)
  30.         {
  31.                 pnum_height=54;pnum_fsize=24;
  32.                 rmsg_height=36;rmsg_fsize=16;
  33.                 rmemo_height=304;
  34.                 smemo_height=112;smemo_width=304;smemo_offx=26;sarea_height=140;
  35.                 sbtn_width=90;sbtn_height=60;sbtn_fize=24;
  36.                 smsg_height=20;smsg_fsize=16;       
  37.                 t9height=266;
  38.         }

  39.        
  40.         //rmemo=memo_creat(0,pnum_height+rmsg_height,lcddev.width,rmemo_height,0,0,16,SMS_RMEMO_MAXLEN);//′′&#189;¨memo&#191;&#216;&#188;t,×&#238;&#182;àSMS_RMEMO_MAXLEN&#184;&#246;×&#214;·&#251;       
  41.        
  42.         tedit=edit_creat(strlen((char*)str)*pnum_fsize/2+10,(pnum_height-pnum_fsize-6)/2-10,lcddev.width-strlen((char*)str)*pnum_fsize/2-10-100,pnum_fsize+6+50,0,4,pnum_fsize);//′′&#189;¨±à&#188;-&#191;ò
  43.         tedit1=edit_creat(strlen((char*)str1)*pnum_fsize/2+10,(pnum_height-pnum_fsize-6)/2+90,lcddev.width-strlen((char*)str1)*pnum_fsize/2-10-100,pnum_fsize+6+50,0,4,pnum_fsize);       
  44.         //tedit1=edit_creat(20,100,300,50,0,4,pnum_fsize);       
  45.         //smemo=memo_creat(smemo_offx,pnum_height+rmsg_height+rmemo_height+(sarea_height-smemo_height)/2,smemo_width,smemo_height,0,1,16,140);//×&#238;&#182;à140&#184;&#246;×&#214;·&#251;       
  46.        
  47.         t9=t9_creat(0,lcddev.height-t9height,lcddev.width,t9height,0);        
  48.         sbtn=btn_creat(smemo_offx+smemo_width+(lcddev.width-smemo_offx-smemo_width-sbtn_width)/2,pnum_height+rmsg_height+rmemo_height+(sarea_height-sbtn_height)/2,sbtn_width,sbtn_height,0,2);        //′′&#189;¨±&#223;&#189;&#199;°′&#197;¥
  49.         str=gui_memin_malloc(300);        //éê&#199;&#235;300×&#214;&#189;ú&#196;ú′&#230;
  50.         str1=gui_memin_malloc(300);
  51.         p=gui_memin_malloc(300);        //éê&#199;&#235;300×&#214;&#189;ú&#196;ú′&#230;

  52.         if(rval==0)//′′&#189;¨3é1|
  53.         {
  54.                 sbtn->bkctbl[0]=0X6BF6;        //±&#223;&#191;ò&#209;&#213;é&#171;
  55.                 sbtn->bkctbl[1]=0X545E;        //0X8C3F.μúò&#187;DDμ&#196;&#209;&#213;é&#171;                               
  56.                 sbtn->bkctbl[2]=0X5C7E;        //0X545E,é&#207;°&#235;2&#191;·&#214;&#209;&#213;é&#171;
  57.                 sbtn->bkctbl[3]=0X2ADC;        //&#207;&#194;°&#235;2&#191;·&#214;&#209;&#213;é&#171;         
  58.                 sbtn->bcfucolor=WHITE;        //&#203;é&#191;aê±&#206;a°×é&#171;
  59.                 sbtn->bcfdcolor=BLACK;        //°′&#207;&#194;ê±&#206;aoúé&#171;
  60.                 sbtn->caption=sms_send_tbl[gui_phy.language];
  61.                 sbtn->font=sbtn_fize;
  62.                 tedit->textbkcolor=SMS_PNUM_BACK_COLOR;
  63.                 tedit->textcolor=SMS_PNUM_NUM_COLOR;       
  64.           tedit1->textbkcolor=SMS_PNUM_BACK_COLOR;
  65.                 tedit1->textcolor=SMS_PNUM_NUM_COLOR;

  66.                 if(mode==0)
  67.                 {

  68.                 }else
  69.                 {
  70.                         editflag=1;                        //&#196;&#172;è&#207;±à&#188;-áa&#207;μè&#203;
  71.                         tedit->type=0X07;        //1a±êéá&#203;&#184;
  72.                         tedit1->type=0X00;       
  73.                         //smemo->type=0X00;        //memo2&#187;&#191;é±à&#188;-,1a±ê2&#187;éá&#203;&#184;
  74.                 }
  75.                 sprintf((char*)str,"(%02d)",ccnt);
  76.                 //sprintf((char*)str1,"(%02d)",ccnt);
  77.                 gui_show_strmid(smemo_offx+smemo_width+(lcddev.width-smemo_offx-smemo_width-sbtn_width)/2,pnum_height+rmsg_height+rmemo_height+(sarea_height-sbtn_height)/2+sbtn_height,sbtn_width,smsg_height,BLACK,smsg_fsize,str);//&#207;&#212;ê&#190;×&#214;·&#251;
  78.                 edit_draw(tedit);//&#187;-±à&#188;-&#191;ò
  79.                 edit_draw(tedit1);
  80.                
  81.                 t9_draw(t9);       
  82.                 btn_draw(sbtn);
  83.         }
  84.         while(rval==0)
  85.         {
  86.                 tp_dev.scan(0);   
  87.                 in_obj.get_key(&tp_dev,IN_TYPE_TOUCH);        //μ&#195;μ&#189;°′&#188;ü&#188;ü&#214;μ   
  88.                 delay_ms(1000/OS_TICKS_PER_SEC);                //&#209;óê±ò&#187;&#184;&#246;ê±&#214;ó&#189;ú&#197;&#196;
  89.                 if(system_task_return)break;                        //TPAD·μ&#187;&#216;
  90.                
  91.                 if(mode==1)//D&#194;&#189;¨&#182;ìD&#197;μ&#196;ê±oò,òa&#199;D&#187;&#187;tedit/rmemoμ&#196;&#209;&#161;&#212;&#241;
  92.                 {
  93.                         if(tedit->top<in_obj.y&&in_obj.y<(tedit->top+tedit->height)&&(tedit->left<in_obj.x)&&in_obj.x<(tedit->left+tedit->width))//&#212;úedit&#191;ò&#196;ú2&#191;
  94.                         {
  95.                                 editflag=1;                        //&#196;&#172;è&#207;±à&#188;-áa&#207;μè&#203;
  96.        
  97.                           edit_show_cursor(tedit1,0);
  98.                                 tedit->type=0X06;        //1a±êéá&#203;&#184;
  99.                        
  100.                                 tedit1->type=0X00;
  101.                         }
  102.                 if(tedit1->top<in_obj.y&&in_obj.y<(tedit1->top+tedit1->height)&&(tedit1->left<in_obj.x)&&in_obj.x<(tedit1->left+tedit1->width))//&#212;úedit1&#191;ò&#196;ú2&#191;
  103.                         {
  104.                                 editflag=0;                        //&#196;&#172;è&#207;±à&#188;-áa&#207;μè&#203;
  105.        
  106.                                 edit_show_cursor(tedit,0);
  107.                                 tedit1->type=0X06;        //1a±êéá&#203;&#184;
  108.                                 tedit->type=0X00;        //memo2&#187;&#191;é±à&#188;-,1a±ê2&#187;éá&#203;&#184;
  109.                
  110.                         }

  111.                 }               
  112.                
  113.                 edit_check(tedit,&in_obj);
  114.                 edit_check(tedit1,&in_obj);
  115.                 t9_check(t9,&in_obj);                  


  116.                 if(t9->outstr[0]!=NULL)//ìí&#188;ó×&#214;·&#251;
  117.                 {
  118.                         if(editflag)
  119.                         {

  120.                                 phone = t9->outstr;
  121.                                 edit_add_text(tedit,phone);//êy×&#214;/í&#203;&#184;&#241;&#188;ü       
  122.                                
  123.                         }

  124.                         t9->outstr[0]=NULL;                                 //&#199;&#229;&#191;&#213;ê&#228;3&#246;×&#214;·&#251;
  125.                         }
  126.                 res=btn_check(sbtn,&in_obj);   
  127.                 if(res==1)

  128.                 {
  129.                
  130.                         printf(phone);
  131.                         if(strcmp(phone,LOGIN_PHONE)==0)
  132.                         {
  133.                         window_msg_box((lcddev.width-200)/2,(lcddev.height-80)/2,200,80,(u8*)sms_remind_msg_tbl[8][gui_phy.language],(u8*)APP_REMIND_CAPTION_TBL[gui_phy.language],12,0,1<<6,1200);       
  134.                         }
  135.                 }


  136.         }
  137.         gui_memin_free(str);
  138.         gui_memin_free(p);
  139.         memo_delete(rmemo);
  140.         memo_delete(smemo);
  141.         t9_delete(t9);
  142.         btn_delete(sbtn);
  143.         edit_delete(tedit);
  144.         edit_delete(tedit1);
  145.         system_task_return=0;
  146. }
复制代码
回复

使用道具 举报

210

主题

773

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2018-3-26
在线时间
288 小时
 楼主| 发表于 2020-8-17 11:13:55 | 显示全部楼层
thisisdemo 发表于 2020-8-17 11:07
我感觉可能有,如果这个外层还有循环而且很快的话。那岂不是我输入密码一位它就进入这个if然后清空了  
...

老哥,你帮我看看呗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 08:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表