解析findnext.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { int c=0; int a = 0, b = 0; int FindStartPos = textArea.getCaretPosition(); String strA,strB; // 选中区分大小写,大小写转换 if (matchcase.isSelected()) { strA = textArea.getText(); strB = ftext.getText(); } else { strA = textArea.getText().toLowerCase(); strB = ftext.getText().toLowerCase(); } //向上查找,否则向下查找 if (up.isSelected()) { a = strA.lastIndexOf(strB, FindStartPos - ftext.getText().length() - 1); } else if (down.isSelected()) { a = strA.indexOf(strB, FindStartPos - ftext.getText().length() + 1); } //查找到边界 if (a > -1) { if (up.isSelected()) { textArea.setCaretPosition(a); b = ftext.getText().length(); textArea.select(a, a + b); } else if (down.isSelected()) { textArea.setCaretPosition(a); b = ftext.getText().length(); textArea.select(a, a + b); } } else { JOptionPane.showMessageDialog(null, "找不到查找的内容", "查找", JOptionPane.INFORMATION_MESSAGE); } //显示关键字的总数量 Pattern p=Pattern.compile(ftext.getText()); Matcher m=p.matcher(textArea.getText()); while(m.find()) { c++; } count.setText("找到"+c+"个"); } }); //取消的监听器 no.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jdlg.setVisible(false); }
时间: 2024-02-14 12:35:28 浏览: 140
这段代码是一个查找功能的实现,当用户点击"查找下一个"按钮后,会执行addActionListener中的代码。首先,获取用户在文本框中输入的关键字,然后判断是否选择了大小写选项,对应地将文本框中的内容转为小写或保持原样。接着判断用户选择的查找方向,向上或向下。然后在文本框中查找关键字,如果找到了,则将光标定位到该位置并将关键字选中,如果没有找到,则弹出提示框。最后,统计关键字在文本框中出现的总数量,并更新界面上的计数器。另外,代码中还包含一个"取消"的监听器,当用户点击"取消"按钮时,隐藏对话框。
相关问题
int main(){ clock_t start, end;//首先用clock_t定义两个变量来存储开始与结束的值 double diff; //文件存储信息结构体 struct _finddata_t fileinfo; //保存文件句柄 long fHandle; //文件数记录器 int i = 0; char mlq[40] = "D://before";//要加密的文件存放的目录 char mlh[40] = "D://after";//加密文件存放的目录 char mlj[40] = "D://de";//解密后文件存放的目录 char filename[40]; strcpy(filename, mlq); strcat(filename, "/*"); if( (fHandle=_findfirst( filename, &fileinfo )) == -1L ){ printf( "当前目录下没有文件\n"); return 0; } start = clock();//记录开始的值 do{ i++; char file1[40]; strcpy(file1, mlq); strcat(file1, "//"); strcat(file1, fileinfo.name); char file2[40]; strcpy(file2, mlh); strcat(file2, "//"); strcat (file2, fileinfo.name); char file3[40]; strcpy(file3, mlj); strcat(file3, "//"); strcat (file3, fileinfo.name); printf("加密文件:%s\n",fileinfo.name); //printf("加密前\n"); //PrintFile(file1); DES_Encrypt(file1,"D://key.txt",file2); printf("加密完成\n"); //PrintFile(file2); printf("-----------------------------------\n"); DES_Decrypt(file2,"D://key.txt",file3); printf("解密完成\n"); //PrintFile(file3); printf("\n\n\n"); }while( _findnext(fHandle,&fileinfo)==0); end = clock();//记录结束的值 diff =((double)(end - start))/CLK_TCK;//用结束时间减去开始时间,因为毫秒单位为此除以CLK_TCK来转化为秒 printf("加密解密耗时%fs\n", diff); //关闭文件 _findclose(fHandle); printf("文件数量:%d\n",i - 2); return 0; }为它设计一个简单界面
好的,为这段代码设计一个简单的界面,可以采用如下方式:
```
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
int main() {
// 界面布局
printf("*************************************\n");
printf("* 文件加密解密工具 v1.0 *\n");
printf("*************************************\n");
printf("* *\n");
printf("* 1. 加密文件 *\n");
printf("* 2. 解密文件 *\n");
printf("* 3. 退出程序 *\n");
printf("* *\n");
printf("*************************************\n");
// 选择操作
int choice;
printf("请选择要进行的操作(输入数字):");
scanf("%d", &choice);
// 执行相应的操作
switch (choice) {
case 1:
printf("你选择了加密文件操作\n");
// TODO: 执行加密文件操作
break;
case 2:
printf("你选择了解密文件操作\n");
// TODO: 执行解密文件操作
break;
case 3:
printf("程序已退出\n");
exit(0);
default:
printf("无效的选择\n");
break;
}
// 暂停程序,等待用户按任意键结束
printf("\n按任意键结束程序...");
getch();
return 0;
}
```
这个界面只是一个示例,你可以根据自己的需要进行修改和调整。
delphi function MakeFileList(Path, FileExt: string): TStringList; var sch: TSearchrec; begin Result := TStringlist.Create; Path := trim(Path); if not DirectoryExists(Path) then begin Result.Clear; Exit; end; if FindFirst(Path + '*', faAnyfile, sch) = 0 then begin repeat // Application.ProcessMessages; if ((sch.Name = '.') or (sch.Name = '..')) then Continue; if DirectoryExists(Path + sch.Name) then begin //Result.AddStrings(MakeFileList(Path+sch.Name,FileExt)); end else begin if (UpperCase(extractfileext(Path + sch.Name)) = UpperCase(FileExt)) or (FileExt = '.*') then Result.Add(Path + sch.Name); end; until FindNext(sch) <> 0; SysUtils.FindClose(sch); end; end;
这是一个Delphi函数,用于获取指定路径下所有符合指定文件扩展名的文件列表,并返回一个TStringList类型的结果。函数名为MakeFileList,参数包括Path和FileExt。函数使用TSearchRec来进行文件搜索,首先判断指定路径是否存在,如果不存在则返回一个空的结果。接着使用FindFirst和FindNext函数来遍历指定路径下的所有文件和文件夹,如果遇到文件夹则递归调用MakeFileList函数来获取该文件夹下符合指定扩展名的文件列表,并将结果添加到当前结果中,如果遇到文件则判断该文件的扩展名是否符合要求,如果符合则将文件的完整路径添加到结果中。最后使用FindClose函数来关闭搜索句柄,并返回结果。
阅读全文