RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-580576

ArTimon's questions

Martin Hope
ArTimon
Asked: 2024-12-28 01:44:36 +0000 UTC

如何在每次单击按钮时清除文本框

  • 5

我无法理解它的工作原理,在button_onclick事件的开头我调用textBox.Clear(),即我希望每次单击此按钮时,文本框都会被清除,但如果我不关闭表单,则不会发生这种情况,输出结果会累积。在这段代码中:

private void but_OK_Click(object sender, EventArgs e)
        {
            txt_output.Clear();
            string str_input = txt_input.Text;

            Format_Rule(str_input);

            for (int i = 0; i < str_in.Count; i++)
            {
                txt_output.Text += str_in.GetKey(i) + " " + str_in.Get(i) + Environment.NewLine;
            }
        }

这是所有代码

using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ТЯП_Лаб1
{
    public partial class Form1 : Form
    {
        NameValueCollection str_in = new NameValueCollection();

        string alphabet = "abcdefghijklmnopqrstuvwxyz";
        string alpha_number = "0123456789";
        string alpha_operand = "-+*/";

        private bool Search_Operand(string str)
        {
            for (int i = 0; i < alpha_operand.Length; i++)
            {
                if (str.Contains(alpha_operand[i]))
                {
                    return true;
                }
            }
            return false;
        }

        private bool Search_Number(string str)
        {
            for (int i = 0; i < alpha_number.Length; i++)
            {
                if (str.Contains(alpha_number[i]))
                {
                    return true;
                }
            }
            return false;
        }

        private bool Search_Word(string str)
        {
            for (int i = 0; i < alphabet.Length; i++)
            {
                if (str.Contains(alphabet[i]))
                {
                    return true;
                }
            }
            return false;
        }
        
        private void Format_Rule(string str )
        {
            string str_oper = "";
            string str_set = "";

            if (!Search_Operand(str))
            {
                for (int i = 0; i < str.Length; i++)
                {
                    if(i == str.Length)
                        str_set += str[i];
                    else
                        str_set += str[i] + " | ";
                }

                str_in.Add("S->", "T");
                str_in.Add("T->", "T | TF");
                str_in.Add("F->", str_set);

            }
            else
            {
                for (int i = 0; i < str.Length; i++)
                {
                    if(str[i] == '+' || str[i] == '-' || str[i] == '*' || str[i] == '/')
                    {
                        if(i != str.Length)
                            str_oper += str[i] + "T" + " | ";
                        else
                            str_oper += str[i] + "T";
                    }
                    else
                    {
                        if(i != str.Length)
                            str_set += str[i] + " | ";
                        else
                            str_set += str[i];
                    }
                }

                str_in.Add("S->", str_oper);
                str_in.Add("T->", "T | TF");
                str_in.Add("F->", str_set);
            }
        }

        public Form1()
        {
            InitializeComponent();
        }

        private void but_OK_Click(object sender, EventArgs e)
        {
            txt_output.Clear();
            string str_input = txt_input.Text;

            Format_Rule(str_input);

            for (int i = 0; i < str_in.Count; i++)
            {
                txt_output.Text += str_in.GetKey(i) + " " + str_in.Get(i) + Environment.NewLine;
            }
        }
    }
}

应该如何

怎么不应该这样

c#
  • 1 个回答
  • 33 Views
Martin Hope
ArTimon
Asked: 2024-01-17 01:32:33 +0000 UTC

为什么结构被笨拙地填充?或者它显示得很笨拙?

  • 5

请帮我弄清楚为什么它在第一行显示街道名称两次。注解。一般来说,我有一个 .DAT 文件(包含名称、街道、房屋、公寓、日期的数据库),我试图将其放入类似的结构中。第一种方法:通过fread,看起来正常填充到结构体中(还有一个问题是调试器中数据(象形文字)显示不正确,看不到字段中保存的内容,这是一个问题,据我了解,由于编码的原因,我不知道该怎么做),所以我只能通过字符数来判断,例如姓氏_名字_父名。但输出是随机的,同一件事会输出多次,一行中的数据从另一行出现在某处,房屋和公寓号码要么通过存储单元的编号要么通过其他方式输出。在屏幕上方法一。第二种方法:笨拙,我通过文件运行fgetc,将其保存到临时数组中,我将它倒入结构中。现在数据显示得更好了,但我不明白第二次第一行的街道来自哪里。如果你逐个字符地显示它,它就不在那里,如果%s那么它就会出现。这两种结构只是举例。文件链接 D B

工作成果

调试器中显示不正确`

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <io.h>
#include <Windows.h>

FILE * fp;
char bp[255] = "";
int m = 0;

struct adres_book
{
    char fio[32];
    char street[20];
    unsigned int home;
    unsigned int flat;
    char date[8];
}book;

struct adres_book2
{
    char fio[32];
    char street[20];
    unsigned int home;
    unsigned int flat;
    char date[8];
}book2;

void abb() {
    int i = 0;
    int j = 0;
    int t = 0;
    int k = 0;
    int l1 = 32;
    int l2 = 20;
    int l3 = 8;

    for (int i = 0; i < 64; i++) {
        bp[i] = fgetc(fp);
    }

    for (i = m; i < l1 + m; i++) {
        book2.fio[k] = bp[i];
        k++;
    }
    k = 0;
    for (j = i; j < l2 + i; j++) {
        book2.street[k] = bp[j];
        k++;
    }
    k = 0;
    book2.home = bp[j];
    j++;
    j++;
    book2.flat = bp[j];
    for (t = j + 2; t <= j + 2 + l3; t++) {
        book2.date[k] = bp[t];
        k++;
    }
    k = 0;
    m = t;
}

int main() {
    fp = fopen("BASE4.DAT", "r");

    if (fp == NULL) {
        printf("Error File!\n");
        system("pause");
        exit(1);
    }

    //memset(&book, 0, sizeof(book));

    rewind(fp);

    fread(book.fio, sizeof(book.fio), 32, fp);
    fread(book.street, sizeof(book.street), 20, fp);
    fread(&book.home, sizeof(book.home), 1, fp);
    fread(&book.flat, sizeof(book.flat), 1, fp);
    fread(book.date, sizeof(book.date), 8, fp);

    rewind(fp);

    abb(); // Топорный метод

    printf("Method one: \n\n%s\n%s\n%u %u\n%s\n+--------+\n", book.fio, book.street, &book.home, &book.flat, book.date);

    printf("\nMethod two: \n\n%s\n%s\n%u %u\n%s\n", book2.fio, book2.street, book2.home, book2.flat, book2.date);

    for (int y = 0; y < 31; y++)
        printf("%c", book.fio[y]);

    system("pause");
}
c
  • 1 个回答
  • 54 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5