安卓记事本要有时间的源码(安卓日记本源代码)
本文目录一览:
- 1、android开发的记事本 能实现简单的功能就行 求源码 ...
- 2、谁有记事本的源码
- 3、开发!做安卓记事本,如何实现写一个记事的时候 保存 写记事的时间??急急!!
- 4、java:求一个记事本源代码。要可以直接运行的。
- 5、跪求易语言记事本源码。
android开发的记事本 能实现简单的功能就行 求源码 ...
如果只是有个界面,能输入,能保存的话,那是比较简单的。这样的我可以写。
谁有记事本的源码
用VB做一个记事本实在不很复杂,我们完全可以通过向导来很方便地做出来。但本文只打算讨论用手动方法制作记事本,旨在向VB初学者展示:学VB原来是如此容易! 通过阅读、研究本文并按本文所述进行尝试,初学者将学到很多东西,如怎样使用RichText控件来打开和保存文件,怎样制作菜单、工具栏和状态栏以及如何对其编写代码等。 第一章 让我们的记事本马上运行 急于求成是初学者共有的心愿。那好,请按如下三个步骤做,我们的愿望立即就可以实现! 步骤一:绘制界面。 新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到Microsoft RichText Box 6.0和公共对话框Microsoft Common Dialog 6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了我们刚才新添的两个控件了。在窗体上绘制RichText Box和Commn Dialog,其中RichText Box的大小和位置可不用理睬,我们将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。 步骤二:编辑菜单。 按Ctrl+E调出菜单编辑器,我们来做如下几个菜单: 一.文件菜单: 文件(第一层) mnuFile 新建(第二层) mnuNew 打开(第二层) mnuOpen 保存(第二层) mnuSave - (第二层) mnuFileSep (分隔线) 退出(第二层) mnuExit 二.编辑菜单: 编辑(第一层) mnuEdit 复制(第二层) mnuCopy 剪切(第二层) mnuCut 粘贴(第二层) mnuPaste - (第二层) mnuEditSep (分隔线) 全选(第二层) mnuSelecAll 三.搜索菜单: 搜索(第一层) mnuSearch 查找(第二层) mnuFind 查找下一个(第二层) mnuFindOn 四.帮助菜单: 帮助(第一层) mnuHelp 使用说明(第二层) mnuUsage 关于(第二层) mnuAbout (注:各菜单项的快捷键请自行设置) 好了,其它的菜单项以后再根据需要添加。现在进入: 步骤三:编写代码。 '声明查找变量 Dim sFind As String '声明文件类型 Dim FileType, FiType As String '初始化程序 Private Sub Form_Load() '设置程序启动时的大小 Me.Height = 6000 Me.Width = 9000 End Sub '设置编辑框的位置和大小 Private Sub Form_Resize() On Error Resume Next '出错处理 RichTextBox1.Top=20 RichTextBox1.Left=20 RichTextBox1.Height = ScaleHeight-40 RichTextBox1.Width = ScaleWidth-40 End Sub '新建文件 Private Sub mnuNew_Click() RichTextBox1.Text = "" '清空文本框 FileName = "未命名" Me.Caption = FileName End Sub '打开文件 Private Sub mnuOpen_Click() CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" CommonDialog1.ShowOpen RichTextBox1.Text = "" '清空文本框 FileName = CommonDialog1.FileName RichTextBox1.LoadFile FileName Me.Caption = "超级记事本:" FileName End Sub '保存文件 Private Sub mnuSave_Click() CommonDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" CommonDialog1.ShowSave FileType = CommonDialog1.FileTitle FiType = LCase(Right(FileType, 3)) FileName = CommonDialog1.FileName Select Case FiType Case "txt" RichTextBox1.SaveFile FileName, rtfText Case "rtf" RichTextBox1.SaveFile FileName, rtfRTF Case "*.*" RichTextBox1.SaveFile FileName End Select Me.Caption = "超级记事本:" FileName End Sub '退出 Private Sub mnuExit_Click() End End Sub '复制 Private Sub mnuCopy_Click() Clipboard.Clear Clipboard.SetText RichTextBox1.SelText End Sub '剪切 Private Sub mnuCut_Click() Clipboard.Clear Clipboard.SetText RichTextBox1.SelText RichTextBox1.SelText = "" End Sub '全选 Private Sub mnuSelectAll_Click() RichTextBox1.SelStart = 0 RichTextBox1.SelLength = Len(RichTextBox1.Text) End Sub '粘贴 Private Sub mnuPaste_Click() RichTextBox1.SelText = Clipboard.GetText End Sub '查找 Private Sub mnuFind_Click() sFind = InputBox("请输入要查找的字、词:", "查找内容", sFind) RichTextBox1.Find sFind End Sub '继续查找 Private Sub mnuFindOn_Click() RichTextBox1.SelStart = RichTextBox1.SelStart + RichTextBox1.SelLength + 1 RichTextBox1.Find sFind, , Len(RichTextBox1) End Sub '使用说明 Private Sub mnuReadme_Click() On Error GoTo handler RichTextBox1.LoadFile "Readme.txt", rtfText '请写好Readme.txt文件并存入程序所在文件夹中 Me.Caption = "超级记事本:" "使用说明" Exit Sub handler: MsgBox "使用说明文档可能已经被移除,请与作者联系。", vbOKOnly, " 错误信息" End Sub '关于 Private Sub mnuAbout_Click() MsgBox "超级记事本 Ver1.0 版权所有(C) 2001 土人",vbOKOnly,"关于" End Sub '设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单) Private Sub RichTextBox1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu mnuEdit, vbPopupMenuLeftAlign Else Exit Sub End If End Sub '防止在切换输入法时字体自变(感谢王必成先生提供此方案) Private Sub RichTextBox1_KeyUp(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeySpace Then RichTextBox1.SelFontName = CommonDialog1.FontName End If End Sub 至此,我们的记事本可以编译使用了。点击菜单“文件”-“生成XXX.EXE”,回到桌面运行我们的记事本看看,是不是颇有成就感? 当然,这样的记事本还比较粗糙,我们还需要做些工作,请看下一章。 第二章 美化程序界面 多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化我们的程序使其更具有专业性质外,还给用户带来操作上的便利。现在我们就来做一做这两样东西。 一.工具栏 (一)制作工具栏 单击“工程”-“部件”,选中Microsoft Windows Common Control 6.0并确定。这时,我们要用到的控件就出现在左边的工具栏上了。 要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在C:\Microsoft Visual Studio\Common\Graphics\Bitmaps\TlBr_W95下选择(这里假设你的VB安装在C盘下)。注意了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建”的图片,我们在“关键字”栏注明“New”。 图片有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项: 1.“图像列表”:选择ImageList1 2.“样式”:根据喜爱选择1-trbStandard或者2-trbFlat 继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即ImageList1中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。 (二)编写工具栏的按钮代码 工具栏按钮的代码编辑很简单,可以按照下面的格式去编写: Private Sub ToolBar1_ButtonClick(ByVal Button As MSComctlLib.Button) On Error Resume Next '出错处理 Select Case Button.Key '按关键字选择 Case "新建" mnuNew_Click '等于菜单项“新建”被单击 Case "打开" '等于菜单项“打开”被单击 mnuOpen_Click '......(继续编写其它按钮的代码) End Select End Sub 完成后试运行一下我们的程序,我们发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的RichTextBox1.Top = 20 和 RichTextBox1.Height = Me.ScaleHeight - 40分别改为RichTextBox1.Top = 380,RichTextBox1.Height = Me.ScaleHeight - 400即可。 二.状态栏 (一)制作状态栏 状态栏的英文名字叫StatusBar,在窗体上添加它后会默认出现在窗体的最下方。用鼠标右键点击它,调出“属性页”对话框,单击“窗格”项,插入一些窗格,可以将各个窗格的“样式”设置为: 0-sbrText 显示文本,需编写代码 1-sbrCaps 显示大小写状态,无需编程 2-sbrNum 显示NumLock键开关状态,无需编程 3-sbrIns 显示Insert键状态,无需编程 4-sbrScr1 5-sbrTime 显示时间,不编程时时间不会随系统时钟变化 6-sbrDate 显示日期,无需编程 注意:加进状态栏后需将Form_Resze中的RichTextBox1.Height = Me.ScaleHeight - 400改为RichTextBox1.Height = Me.ScaleHeight - 600。 (二)状态栏根据其“样式”属性决定用不用编写代码(如上文所述)。下面举些例子,读者可以认真揣摩,从而达到举一反三的效果。 例一:用户选取了“新建”后,让第一个窗格显示:“目前状态:正在打开文件《……》”。请将下面代码写进“打开”菜单里面: StatusBar1.Panels(1).Text = "目前状态:正在打开文件" "《" CommonDialog1.FileTitle "》" 例二:让第三个窗格显示时间并让时间跟随系统时钟变化。 首先,给程序加一个Timer控件,将其Interval属性设为1000。然后: 在Form_Load过程加入:StatusBar1.Panels(1).Text = Time;然后给Timer控件编写代码: Private Sub Timer1_Timer() If StatusBar1.Panels(3).Text CStr(Time) Then StatusBar1.Panels(3).Text = Time End If End Sub 例三:当编辑框的文本发生变化时让第一个窗格显示:“正在编辑文档:文件名”。 Private Sub RichTextBox1_Chang() StatusBar1.Panels(1).Text = "正在编辑文档:" CommonDialog1.FileName End Sub 辛苦了那么久,我们现在已经拥有一个象模象样的记事本了。这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。当然,还有一些其它的功能需要添加和完善,这就靠你慢慢去完成了。 回答完毕! 转来的,不过很详细....
开发!做安卓记事本,如何实现写一个记事的时候 保存 写记事的时间??急急!!
使用安卓本地sqlite记录记事内容,或者通过webservice将数据内容存放到远程数据库,比如MySql,MsSql等等。
java:求一个记事本源代码。要可以直接运行的。
//文件功能;
if(e.getSource()==fileNew)//新建
{
area.setText("");
}
if(e.getSource()==fileOpen)//打开
{
chooser=new JFileChooser();
int result=chooser.showOpenDialog(this);
String path=chooser.getSelectedFile().getPath();
System.out.println(path);
String s="";
if(result==chooser.APPROVE_OPTION)
{
int n=0;
try
{
r=new FileReader(path);
while((n=r.read())!=-1)
{
s+=(char)n;
}
area.setText(s);
r.close();
}catch(IOException ex)
{
ex.printStackTrace();
}
}
}
if(e.getSource()==fileSaveAs)//另存为
{
chooser.setDialogTitle("另存为");
chooser=new JFileChooser();
int result=chooser.showSaveDialog(this);
String s=chooser.getSelectedFile().getPath();
String surs=chooser.getName();
if(result==JFileChooser.APPROVE_OPTION)
{
if(s.endsWith(surs)==false)
{
try
{
w=new FileWriter(s,false);
w.write(area.getText());
w.close();
} catch (IOException ex)
{
ex.printStackTrace();
}
}
else
{
int n=JOptionPane.showConfirmDialog(this,s+"已存在。要替换它吗?","记事本",JOptionPane.YES_NO_OPTION);
if(n==JOptionPane.YES_OPTION)
{
try
{
w=new FileWriter(s,false);
w.write(area.getText());
w.close();
} catch (IOException ex)
{
ex.printStackTrace();
}
}
}
}
}
if(e.getSource()==fileExit)//退出
{
MassageDialog massagedialog=new MassageDialog(this);
massagedialog.setVisible(true);
}
//编辑功能;
if(e.getSource()==editUndo)//撤销
{
try
{
undoManager.undoOrRedo();
} catch (CannotRedoException cre)
{
cre.printStackTrace();
}
updateButtons();
}
if(e.getSource()==editCut)//剪切
area.cut();
if(e.getSource()==editCopy)//复制
area.copy();
if(e.getSource()==editPaste)//粘贴
area.paste();
if(e.getSource()==editFind)//查找
{
FindDialog findDialog=new FindDialog(this,area);
findDialog.setVisible(true);
}
if(e.getSource()==editReplace)
{
ReplaceDialog replaceDialog=new ReplaceDialog(this,area);
replaceDialog.setVisible(true);
}
if(e.getSource()==editDelete)//删除
area.replaceSelection("");
//area.replaceRange("",area.getSelectionStart(),area.getSelectionEnd());
if(e.getSource()==editSeletedAll)//全选
area.selectAll();
if(e.getSource()==editTime)//时间
{
Date date=new Date();
SimpleDateFormat df=new SimpleDateFormat("hh:mm yyyy-MM-dd");
area.append(df.format(date));
}
//格式;
if(e.getSource()==formatFont)//字体
{
FontDialog fontdialog=new FontDialog(this,area);
fontdialog.setVisible(true);
}
if(e.getSource()==formatAutoline)//自动换行
{
if(formatAutoline.getState()==true)
{
area.setLineWrap(true);
textPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
textPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
}
if(formatAutoline.getState()==false)
{
area.setLineWrap(false);
textPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
textPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
}
}
}
public static void main(String[] args)
{
new Notepad();
}
}
//点击文件的“退出”按钮时,弹出的提示对话框;
class MassageDialog extends JDialog implements ActionListener
{
JButton quit,canel;
JPanel p;
JLabel hints;//提示信息;
public MassageDialog(JFrame f)
{
this.setBounds(100,100,250,100);
this.setTitle("提示");
this.setModal(true);
this.getContentPane().setLayout(new FlowLayout());
quit=new JButton("退出");
canel=new JButton("取消");
p=new JPanel();
quit.addActionListener(this);
canel.addActionListener(this);
hints=new JLabel("你确定要放弃所编辑的内容,退出吗?");
p.add(quit);
p.add(canel);
this.getContentPane().add(hints);
this.getContentPane().add(p);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==quit)//退出
System.exit(0);
if(e.getSource()==canel)//取消
this.setVisible(false);
}
}
//字体对话框
class FontDialog extends JDialog implements ActionListener,ListSelectionListener
{
JTextArea area;
JLabel fontFamily,fontStyle,fontSize,labelModel;
JTextField textFontFamily,textFontStyle,textFontSize;
JList listFont,listFontStyle,listFontSize;;
JButton enter,canel;
JPanel ptop,pbottom,ptwo,pone;
JScrollPane spLeft,spRight;
String fonts[]={"黑体","仿宋GB2321","华文行楷","楷体_GB2312","宋体","宋体-PUA","新宋体","Arial Black","Arial","MS PGothic","Lucida Sans"};
String styles[]={"常规","斜体","粗体","粗斜体"};
String sizes[]=new String[40];
String font;
int style,size;
public FontDialog(JFrame f,JTextArea area)
{
this.area=area;
this.setTitle("字体");
this.setModal(true);
this.setBounds(200,200,400,350);
this.getContentPane().setLayout(new FlowLayout());
ptop=new JPanel(new GridLayout(2,3));
fontFamily=new JLabel("字体(F):");
fontStyle=new JLabel("字形(Y):");
fontSize=new JLabel("大小(S):");
ptop.add(fontFamily);
ptop.add(fontStyle);
ptop.add(fontSize);
textFontFamily=new JTextField(10);
textFontStyle=new JTextField(10);
textFontSize=new JTextField(10);
ptop.add(textFontFamily);
ptop.add(textFontStyle);
ptop.add(textFontSize);
pbottom=new JPanel(new GridLayout(1,3));
listFont=new JList(fonts);
listFont.setSelectedValue("宋体",true);
listFont.addListSelectionListener(this);
textFontFamily.setText((String) listFont.getSelectedValue());
listFontStyle=new JList(styles);
listFontStyle.setSelectedValue("常规",true);
textFontStyle.setText((String) listFontStyle.getSelectedValue());
listFontStyle.addListSelectionListener(this);
for(int i=0;isizes.length;i++)
{
sizes[i]=String.valueOf(i+8);
}
listFontSize=new JList(sizes);
listFontSize.setSelectedValue("12",true);
textFontSize.setText((String) listFontSize.getSelectedValue());
listFontSize.addListSelectionListener(this);
spLeft=new JScrollPane(listFont,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
spRight=new JScrollPane(listFontSize,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
pbottom.add(spLeft);
pbottom.add(listFontStyle);
pbottom.add(spRight);
ptwo=new JPanel(new GridLayout(2,1));
enter=new JButton("确定");
canel=new JButton("取消");
enter.addActionListener(this);
canel.addActionListener(this);
ptwo.add(enter);
ptwo.add(canel);
pone=new JPanel();
pone.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.gray,2),"示例",TitledBorder.LEFT,TitledBorder.CENTER,new Font("宋体",0,13),Color.blue));
labelModel=new JLabel(" 微软中文软件 ");
labelModel.setBorder(BorderFactory.createLoweredBevelBorder());
pone.add(labelModel);
this.getContentPane().add(ptop);
this.getContentPane().add(pbottom);
this.getContentPane().add(ptwo);
this.getContentPane().add(pone);
}
public void valueChanged(ListSelectionEvent e) //字体
{
if(e.getSource()==listFont)
{
textFontFamily.setText((String) listFont.getSelectedValue());
font=textFontFamily.getText();
style=listFontStyle.getSelectedIndex();
size=Integer.parseInt((String) listFontSize.getSelectedValue());
labelModel.setFont(new Font(font,style,size));
}
if(e.getSource()==listFontStyle)//字形
{
textFontStyle.setText((String)listFontStyle.getSelectedValue());
int n=listFontStyle.getSelectedIndex();
switch(n)
{
case 0:
style=Font.PLAIN;
break;
case 1:
style=Font.ITALIC;
break;
case 2:
style=Font.BOLD;
break;
default:
style=Font.BOLD+Font.ITALIC;
break;
}
labelModel.setFont(new Font(font,style,size));
}
if(e.getSource()==listFontSize)//字体大小
{
textFontSize.setText((String)listFontSize.getSelectedValue());
size=Integer.parseInt(textFontSize.getText());
labelModel.setFont(new Font(font,style,size));
}
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==enter)
{
if(area.getText()=="")
this.repaint(1000);
else
{
area.setFont(new Font(font,style,size));
this.setVisible(false);
}
}
if(e.getSource()==canel)
{
this.dispose();
}
}
}
//查找对话框
class FindDialog extends JDialog implements ActionListener,CaretListener
{
JTextArea area;
JTextField jtContent;
JButton jbFindNext,jbcanel;
JLabel jlFindContent;
int index=0;
int location;
public FindDialog(JFrame j,JTextArea area)
{
this.area=area;
this.setTitle("查找");
this.setBounds(150,150,300,120);
this.getContentPane().setLayout(new FlowLayout());
jlFindContent=new JLabel("查找内容(N):");
jtContent=new JTextField(17);
jtContent.addCaretListener(this);
jbFindNext=new JButton("查找下一个(F)");
jbFindNext.setEnabled(false);
jbFindNext.addActionListener(this);
jbcanel=new JButton("取消");
jbcanel.addActionListener(this);
this.getContentPane().add(jlFindContent);
this.getContentPane().add(jtContent);
this.getContentPane().add(jbFindNext);
this.getContentPane().add(jbcanel);
}
public void actionPerformed(ActionEvent e)
{
String superText=jtContent.getText();
if(e.getSource()==jbFindNext)//查找下一个
{
location=area.getText().indexOf(superText,index);//从头开始查找,返回第一个字串所在的索引location
if(location!=-1)
{
area.setSelectionStart(location);
area.setSelectionEnd(location+superText.length());
index=location+superText.length()+1;
}
if(location==-1)
JOptionPane.showMessageDialog(this,"没有找到\""+superText+"\"");
}
if(e.getSource()==jbcanel)//取消
this.setVisible(false);
}
public void caretUpdate(CaretEvent e)
{
if(jtContent.getText()!="")
{
jbFindNext.setEnabled(true);
}
else
jbFindNext.setEnabled(false);
}
}
//替换对话框
class ReplaceDialog extends JDialog implements ActionListener
{
JLabel jlFindContent,jlReplaceContent;
JTextField jtFindContent,jtReplaceContent;
JButton jbFindNext,jbReplace,jbReplaceAll,jbCanel;
JPanel contentPane,buttonPane;
JTextArea area;
int index=0;
int location;
public ReplaceDialog(JFrame j,JTextArea area)
{
this.setTitle("替换");
this.setModal(true);
this.area=area;
this.setBounds(150,150,480,200);
this.getContentPane().setLayout(new FlowLayout());
contentPane=new JPanel();
buttonPane=new JPanel(new GridLayout(4,1));
jlFindContent=new JLabel("查找内容:");
jlReplaceContent=new JLabel("替换为:");
jtFindContent=new JTextField(15);
jtReplaceContent=new JTextField(15);
jbFindNext=new JButton("查找下一个(F)");
jbReplace=new JButton("替换(R)");
jbReplaceAll=new JButton("全部替换(A)");
jbCanel=new JButton("取消");
jbFindNext.addActionListener(this);
jbReplace.addActionListener(this);
jbReplaceAll.addActionListener(this);
jbCanel.addActionListener(this);
contentPane.add(jlFindContent);
contentPane.add(jtFindContent);
contentPane.add(jlReplaceContent);
contentPane.add(jtReplaceContent);
buttonPane.add(jbFindNext);
buttonPane.add(jbReplace);
buttonPane.add(jbReplaceAll);
buttonPane.add(jbCanel);
this.getContentPane().add(contentPane);
this.getContentPane().add(buttonPane);
}
public void actionPerformed(ActionEvent e)
{
String surText=jtFindContent.getText();
if(e.getSource()==jbFindNext)
{
location=area.getText().indexOf(surText,index);//从头开始查找,返回第一个字串所在的索引location
if(location!=-1)
{
area.setSelectionStart(location);
area.setSelectionEnd(location+surText.length());
index=surText.length()+location+1;
}
if(location==-1)
JOptionPane.showMessageDialog(this,"没有找到\""+surText+"\"");
}
if(e.getSource()==jbReplace)
{
location=area.getText().indexOf(surText,index);//从头开始查找,返回第一个字串所在的索引location
if(location!=-1)
{
area.setSelectionStart(location);
area.setSelectionEnd(location+surText.length());
index=surText.length()+location+1;
area.replaceSelection(jtReplaceContent.getText());
}
if(location==-1)
JOptionPane.showMessageDialog(this,"没有找到\""+surText+"\"");
}
if(e.getSource()==jbReplaceAll)
{
while(true)
{
location=area.getText().indexOf(surText,index);//从头开始查找,返回第一个字串所在的索引location
if(location!=-1)
{
area.setSelectionStart(location);
area.setSelectionEnd(location+surText.length());
index=surText.length()+location+1;
area.replaceSelection(jtReplaceContent.getText());
}
if(location==-1)
break;
}
}
if(e.getSource()==jbCanel)
{
this.dispose();
}
}
跪求易语言记事本源码。
.版本 2
.支持库 iext2
.支持库 iext
.支持库 eAPI
.程序集 窗口程序集1
.程序集变量 文件路径, 文本型
.程序集变量 当前是否正在打字, 逻辑型
.子程序 _超级编辑框1_内容被改变, , , 更改超级编辑框的颜色
.局部变量 颜色, 字符格式
颜色.文本颜色 = 取颜色值 (取随机数 (0, 255), 取随机数 (0, 255), 取随机数 (0, 255))
超级编辑框1.置选择区字符格式 (颜色)
状态条1.置文本 (0, “行 ” + 到文本 (超级编辑框1.取行数 ()) + “ 文本长度 ” + 到文本 (超级编辑框1.取文本长度 ()))
.子程序 __启动窗口_创建完毕, , , 设置通用对话框
通用对话框1.过滤器 = “txt|*.txt”
通用对话框1.默认文件后缀 = “txt”
通用对话框1.标题 = “传说记事本保存对话框...”
_时间日期_被选择 ()
_炫银皮肤_被选择 ()
备忘录提醒 ()
.子程序 __启动窗口_位置被改变, , , 位置被改变后超级编辑框也跟着改变(按钮1也跟着改变)
.如果真 (_启动窗口.位置 = 3)
超级编辑框1.宽度 = 取屏幕宽度 () - 3
超级编辑框1.高度 = 取屏幕高度 () - 80 - 按钮1.高度 - 10
按钮1.顶边 = 取屏幕高度 () - 状态条1.高度 - 100
按钮1.宽度 = 取屏幕宽度 () - 5
按钮1.高度 = 状态条1.高度 + 10
.如果真结束
.如果真 (_启动窗口.位置 = 0)
超级编辑框1.宽度 = _启动窗口.宽度 - 10
超级编辑框1.高度 = _启动窗口.高度 - 55 - 按钮1.高度 - 10
按钮1.顶边 = 200
按钮1.宽度 = 560
.如果真结束
.子程序 _新建_被选择, , , New文件
.如果真 (超级编辑框1.内容 ≠ “”)
.如果真 (信息框 (“您还没保存!请问您要进行保存吗?”, 4, ) = #是钮)
通用对话框1.类型 = 1
通用对话框1.打开 ()
写到文件 (通用对话框1.文件名, 到字节集 (超级编辑框1.内容))
.如果真结束
.如果真结束
.子程序 _打开_被选择, , , Open文件
通用对话框1.类型 = 0
通用对话框1.打开 ()
.如果真 (通用对话框1.文件名 ≠ “”)
超级编辑框1.内容 = 到文本 (读入文件 (通用对话框1.文件名))
文件路径 = 通用对话框1.文件名
.如果真结束
.子程序 _保存_被选择, , , Save文件
.如果真 (文件路径 = “”)
通用对话框1.类型 = 1
通用对话框1.打开 ()
写到文件 (通用对话框1.文件名, 到字节集 (超级编辑框1.内容))
.如果真结束
.如果真 (文件路径 ≠ “”)
写到文件 (文件路径, 到字节集 (超级编辑框1.内容))
.如果真结束
.子程序 _保存到_被选择, , , Save As文件
通用对话框1.类型 = 1
通用对话框1.打开 ()
.如果真 (通用对话框1.文件名 ≠ “”)
写到文件 (通用对话框1.文件名, 到字节集 (超级编辑框1.内容))
.如果真结束
.子程序 _撤销_被选择, , , Undo 文本
超级编辑框1.撤消 ()
.子程序 _剪切_被选择, , , Cut 文本
超级编辑框1.剪切 ()
.子程序 _复制_被选择, , , Copy 文本
超级编辑框1.复制 ()
.子程序 _粘连_被选择, , , Paste文本
超级编辑框1.粘贴 ()
.子程序 _删除_被选择, , , Delete文本
超级编辑框1.删除 ()
超级编辑框1.内容 = 取文本左边 (超级编辑框1.内容, 取文本长度 (超级编辑框1.内容) - 1)
.子程序 _寻找_被选择, , , Find文本
载入 (Find窗口, , 真)
.子程序 _寻找下一个_被选择, , , 还没解决好
.子程序 _文本替换_被选择, , , 文本替换
载入 (文本替换窗口, , 真)
.子程序 _跳到_被选择, , , 还没解决好
载入 (跳到窗口, , 真)
.子程序 _全选_被选择, , , Select All文本
超级编辑框1.被选择字符数 = 取文本长度 (超级编辑框1.内容)
.子程序 _时间日期_被选择, , , Time-Date
.局部变量 小时, 文本型
.局部变量 分钟, 文本型
.局部变量 日期, 文本型
.局部变量 年份, 文本型
.局部变量 月份, 文本型
.局部变量 日份, 文本型
小时 = 到文本 (取小时 (取现行时间 ()))
分钟 = 到文本 (取分钟 (取现行时间 ()))
年份 = 到文本 (取年份 (取现行时间 ()))
月份 = 到文本 (取月份 (取现行时间 ()))
日份 = 到文本 (取日 (取现行时间 ()))
状态条1.置文本 (1, 小时 + “:” + 分钟 + “ ” + 年份 + “-” + 月份 + “-” + 日份)
.子程序 _传说记事本v13_被选择, , , About Notepad
信息框 (“软件作者:古老的传说” + #换行符 + “QQ:1041750677” + #换行符 + “MSN:thum_wai_lun@hotmail.com” + #换行符 + “编写工具:易语言” + #换行符 + “软件版本:1.3” + #换行符, 0, )
.子程序 _密码保管_被选择, , , Password Protect
载入 (密码窗口, , 真)
.子程序 _备忘录_被选择, , , 载入备忘录窗口
载入 (备忘录窗口, , 真)
.子程序 备忘录提醒, , , 备忘录提醒
.局部变量 分割文本, 文本型, , "0"
.局部变量 今天日期, 文本型
.局部变量 分割今天日期, 文本型, , "0"
分割文本 = 分割文本 (读配置项 (取运行目录 () + “\备忘录.ini”, “备忘录”, “提示日期”, ), “日”, )
今天日期 = 到文本 (取日期 (取现行时间 ()))
分割今天日期 = 分割文本 (今天日期, “日”, )
.如果真 (取数组成员数 (分割文本) = 1 或 取数组成员数 (分割文本) > 1)
.如果真 (分割文本 [1] = 分割今天日期 [1])
状态条1.置文本 (2, “您今天有一份备忘录噢^_^”)
.如果真结束
.如果真结束
.子程序 _银白皮肤_被选择, , , 银白皮肤
更换新皮肤 (1)
.子程序 _浅白皮肤_被选择, , , 浅白皮肤
更换新皮肤 (10)
.子程序 _浅灰皮肤_被选择, , , 浅灰皮肤
更换新皮肤 (13)
.子程序 _浅蓝皮肤_被选择, , , 浅蓝皮肤
更换新皮肤 (19)
.子程序 _浅黑皮肤_被选择, , , 浅黑皮肤
更换新皮肤 (5)
.子程序 _炫银皮肤_被选择, , , 炫银皮肤
更换新皮肤 (2)
.子程序 _炫白皮肤_被选择, , , 炫白皮肤
更换新皮肤 (15)
.子程序 _炫蓝皮肤_被选择, , , 炫蓝皮肤
更换新皮肤 (18)
.子程序 _深黑皮肤_被选择, , , 深黑皮肤
更换新皮肤 (14)
.子程序 __启动窗口_可否被关闭, 逻辑型, , 透明显示最小化运行
.局部变量 变量1, 整数型
变量1 = 255
.计次循环首 (255, )
设置窗口透明度 (_启动窗口.取窗口句柄 (), 变量1)
变量1 = 变量1 - 1
.如果真 (变量1 = 1)
置托盘图标 (#程序图标, “古老的传说记事本v1.2”)
_启动窗口.可视 = 假
.如果真结束
.计次循环尾 ()
返回 (假)
.子程序 __启动窗口_托盘事件, , , 透明显示_启动窗口
.参数 操作类型, 整数型
.局部变量 变量1, 整数型
.如果真 (操作类型 = 1)
_启动窗口.可视 = 真
.计次循环首 (255, 变量1)
设置窗口透明度 (_启动窗口.取窗口句柄 (), 变量1)
.计次循环尾 ()
.如果真结束
.如果真 (操作类型 = 3)
弹出菜单 (图标菜单, 取鼠标水平位置 (), 取鼠标垂直位置 ())
.如果真结束
.子程序 __启动窗口_将被销毁, , , 销毁任务栏图标
置托盘图标 ({ }, )
.子程序 _打开传说记事本_被选择, , , _启动窗口.可视=真
__启动窗口_托盘事件 (1)
.子程序 _销毁_被选择, , , 销毁软件
销毁 ()
.子程序 _超级编辑框1_按下某键, 逻辑型, , 正在打字中...
.参数 键代码, 整数型
.参数 功能键状态, 整数型
当前是否正在打字 = 真
按钮1.标题 = “正在打字中...”
时钟1.时钟周期 = 800
返回 (真)
.子程序 _超级编辑框1_放开某键, 逻辑型, , 暂停打字中...
.参数 键代码, 整数型
.参数 功能键状态, 整数型
当前是否正在打字 = 假
返回 (真)
.子程序 _时钟1_周期事件, , , 暂停打字中...
.如果真 (当前是否正在打字 = 假)
按钮1.标题 = “暂停打字中...”
.如果真结束
.子程序 _超级编辑框1_选择区被改变, , , 超级编辑框1.滚动
超级编辑框1.滚动 (1)