- 浏览: 165167 次
-
最新评论
-
px_dn:
灰常感谢!!!!
转 Lucene中文分词组件 JE-Analysis 1.5.1 天狼 -
infinite:
转了你就不能注明一下出处?
转 Lucene中文分词组件 JE-Analysis 1.5.1 天狼 -
fxbird:
不过是翻译了下文档,没意义。在topic里要写什么东西?
OSCache文档-3.3在集群系统中使用OSCache -
chq32:
同问,tomcat集群下,oscache的异常如何解决
OSCache文档-3.3在集群系统中使用OSCache -
czwangelo:
]
转 Lucene中文分词组件 JE-Analysis 1.5.1 天狼
javaVMEditor功能
在以php168模板模型的系统上制作专题、主页模板时可以快速切割页面代码,并生成相应文件入库。一旦自动入库的数据和要制作的页面的模板对应好,就可在cms上主页、专题管理中不用录入任何数据就可以预览到页面的全貌。
javaVMEditor使用方法
1 添加要制作的页面 ,记住ID
2 把要制作的页面的代码贴入javaVMEditor
3 在编辑工具中删除不需要的头尾代码
4 区分并选中要制成块的代码段,点工具的红、绿、蓝块中的一个
5 当把所有要制作的块选择制作完成后,点设置中的数据库设置,录入好数据库信息和页面ID
6 点文件保存
7 把生成好的文件打开,查看代码,把代码内容作为模板内容填写到模板管理系统中
8 设置要制作页面的模板为刚刚制作的模板
9. 预览页面完成制作
工具下载
java 写道
/*******************************************************************************
* Copyright (c) 2000, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package com.jh.app.texteditor;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.FontDialog;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
/**
*/
public class JavaVMEditor {
private Image createStockImage(Display display, String path) {
InputStream stream = JavaVMEditor.class.getResourceAsStream(path);
ImageData imageData = new ImageData(stream);
ImageData mask = imageData.getTransparencyMask();
Image result = new Image(display, imageData, mask);
try {
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
Display display = new Display();
JavaVMEditor example = new JavaVMEditor();
Shell shell = example.open(display);
while (!shell.isDisposed())
if (!display.readAndDispatch())
display.sleep();
display.dispose();
}
private Color BLUE = null;
private FileDialog fileDialog;
private Font font = null;
private Color GREEN = null;
private Images images = new Images();
private JavaLineStyler lineStyler = new JavaLineStyler();
private Color RED = null;
private Shell shell;
private StyledText text;
private ToolBar toolBar;
private SaveAction action = null;
static private void setActionMethod(final Object obj, Menu menu,
String actionName, final String mname ){
setActionMethod(obj, menu, actionName, mname,new Object[] {});
}
static private void setActionMethod(final Object obj, Menu menu,
String actionName, final String mname,final Object[] args) {
try {
MenuItem item = new MenuItem(menu, SWT.PUSH);
item.setText(actionName);
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
try {
Util.privateMethodRun(obj.getClass(), mname, obj, args);
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
private Menu createSetMenu() {
Menu bar = shell.getMenuBar();
Menu menu = new Menu(bar);
setActionMethod(action, menu, "数据库设置", "initSet");
setActionMethod(this, menu, "设置字体", "setFont");
return menu;
}
private Menu createFileMenu() {
Menu bar = shell.getMenuBar();
Menu menu = new Menu(bar);
setActionMethod(this, menu, "打开文件", "openFile");
setActionMethod(this, menu, "退出", "menuFileExit");
return menu;
}
private void createMenuBar() {
Menu bar = new Menu(shell, SWT.BAR);
shell.setMenuBar(bar);
MenuItem fileItem2 = new MenuItem(bar, SWT.CASCADE);
fileItem2.setText("文件");
fileItem2.setMenu(createFileMenu());
MenuItem editItem2 = new MenuItem(bar, SWT.CASCADE);
editItem2.setText("设置");
editItem2.setMenu(createSetMenu());
createHelpMenu(bar);
}
private void createHelpMenu(Menu parent) {
Menu menu = new Menu(parent);
MenuItem header = new MenuItem(parent, SWT.CASCADE);
header.setText("帮助");
header.setMenu(menu);
MenuItem item = new MenuItem(menu, SWT.PUSH);
item.setText("关于");
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
MessageBox box = new MessageBox(shell, SWT.ICON_INFORMATION
| SWT.OK);
box.setText("模板代码生成器");
box.setMessage("欢迎使用代码生成器V0.5");
box.open();
}
});
}
private void createShell(Display display) {
shell = new Shell(display);
shell.setText("Cms v9 模板制作工具 V0.5");
images.loadAll(display);
shell.setImage(createStockImage(display, "generic_example.gif"));
GridLayout layout = new GridLayout();
layout.numColumns = 1;
shell.setLayout(layout);
shell.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
if (font != null)
font.dispose();
images.freeAll();
RED.dispose();
GREEN.dispose();
BLUE.dispose();
}
});
}
void createToolBar() {
toolBar = new ToolBar(shell, SWT.NONE);
new ToolItem(toolBar, SWT.SEPARATOR);
String menu[] = {
"切块",
"标题",
"作者",
"责编",
"时间",
"来源",
"URL",
"栏目",
"内容",
"分页",
"上一篇",
"下一篇"
};
String menuAction[] = {
null,
"$rsdb[title]",
"$rsdb[author]",
"$rsdb[username]",
"$rsdb[posttime]",
"$rsdb[copyfrom]",
"$rsdb[copyfromurl]",
"<a href='list.php?fid={$rsdb[fid]}'>{$rsdb[fname]}</a>",
"$rsdb[content]",
"$showpage",
"[<a href=\"bencandy.php?fid=$backdb[fid]&id=$backdb[aid]\" onclick=\"$backdb[click]\">上一篇</a>]\n<a href=\"bencandy.php?fid=$backdb[fid]&id=$backdb[aid]\" onclick=\"$backdb[click]\" title=\"$backdb[title]\">$backdb[subject]</a>\n",
"[<a href=\"bencandy.php?fid=$nextdb[fid]&id=$nextdb[aid]\" onclick=\"$nextdb[click]\">下一篇</a>]\n<a href=\"bencandy.php?fid=$nextdb[fid]&id=$nextdb[aid]\" onclick=\"$nextdb[click]\" title=\"$nextdb[title]\">$nextdb[subject]</a>\n" };
for (int i = 0; i < menu.length; i++) {
cutBlockButton(toolBar, menu[i], menuAction[i]);
}
setActionMethod(action, toolBar, "生成专题页模板", "save");
setActionMethod(action, toolBar, "生成最终页模板", "savelastpage");
}
private void setActionMethod(final Object obj, ToolBar toolBar,
String actionName, final String mname) {
try {
ToolItem item = new ToolItem(toolBar, SWT.SEPARATOR);
item = new ToolItem(toolBar, SWT.PUSH);
item.setText(actionName);
item.setToolTipText(actionName);
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
try {
Util.privateMethodRun(obj.getClass(), mname, obj,
new Object[] {});
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
void cutBlockButton(ToolBar toolBar, String btName) {
cutBlockButton(toolBar, btName, null);
}
void cutBlockButton(ToolBar toolBar, String btName, final String txt) {
ToolItem item = new ToolItem(toolBar, SWT.SEPARATOR);
item = new ToolItem(toolBar, SWT.PUSH);
item.setText(btName);
item.setToolTipText(btName);
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
if (txt == null) {
cutblock(RED, null);
} else {
cutblock(BLUE, txt);
}
}
});
}
boolean flag = false;
private void cutblock(Color fg, String info) {
text.removeLineStyleListener(lineStyler);
try {
Point sel = text.getSelectionRange();
String txt = text.getSelectionText();
if (txt == null || txt.indexOf("#@start") > -1
|| txt.indexOf("#@end") > -1) {
msgbox("此处代码不适合切块!");
return;
}
Event eventz = new Event();
Point selection = text.getSelection();
eventz.start = selection.x;
eventz.end = selection.y;
if (info == null) {
eventz.text = "#@start@#" + txt + "#@end@#";
} else {
eventz.text = "#@start@#" + txt + "@var@" + info + "#@end@#";
}
try {
Util.privateMethodRun(StyledText.class, "sendKeyEvent", text,
new Object[] { eventz });
} catch (Exception e) {
e.printStackTrace();
}
if ((sel == null) || (sel.y == 0))
return;
text.setStyleRange(new StyleRange(sel.x, eventz.text.length(), fg,
null, SWT.NORMAL));
} catch (Exception e) {
}
}
private void initializeColors() {
Display display = Display.getDefault();
RED = new Color(display, new RGB(255, 0, 0));
BLUE = new Color(display, new RGB(0, 0, 255));
GREEN = new Color(display, new RGB(0, 128, 0));
}
void menuFileExit() {
shell.close();
}
private void msgbox(String msg) {
MessageBox box = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.OK);
box.setMessage(msg);
box.open();
}
private void createStyledText() {
initializeColors();
text = new StyledText(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL
| SWT.H_SCROLL);
GridData spec = new GridData();
spec.horizontalAlignment = GridData.FILL;
spec.grabExcessHorizontalSpace = true;
spec.verticalAlignment = GridData.FILL;
spec.grabExcessVerticalSpace = true;
text.setLayoutData(spec);
text.addLineStyleListener(lineStyler);
}
private Shell open(Display display) {
createShell(display);
action = new SaveAction(shell);
createMenuBar();
createToolBar();
createStyledText();
action.setText(text);
shell.setSize(850, 650);
shell.open();
return shell;
}
private void openFile(final StyledText text, String name) {
final String textString;
if ((name == null) || (name.length() == 0))
return;
File file = new File(name);
try {
textString = Util.readFile(file);
} catch (IOException e) {
String message = "文件" + file.getName() + "读写错误";
msgbox(message);
return;
} catch (Exception e) {
String message = "文件" + file.getName() + "不存在";
msgbox(message);
return;
}
// Guard against superfluous mouse move events -- defer action until
// later
Display display = text.getDisplay();
display.asyncExec(new Runnable() {
public void run() {
text.setText(textString);
}
});
}
void openFile() {
if (fileDialog == null) {
fileDialog = new FileDialog(shell, SWT.OPEN);
}
fileDialog.setFilterExtensions(new String[] { "*.vm", "*.htm",
"*.html", "*.*" });
String name = fileDialog.open();
openFile(text, name);
}
void setFont() {
FontDialog fontDialog = new FontDialog(shell);
fontDialog.setFontList((text.getFont()).getFontData());
FontData fontData = fontDialog.open();
if (fontData != null) {
Font newFont = new Font(shell.getDisplay(), fontData);
text.setFont(newFont);
if (font != null)
font.dispose();
font = newFont;
}
}
}
* Copyright (c) 2000, 2004 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package com.jh.app.texteditor;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyleRange;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.ImageData;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.FontDialog;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
/**
*/
public class JavaVMEditor {
private Image createStockImage(Display display, String path) {
InputStream stream = JavaVMEditor.class.getResourceAsStream(path);
ImageData imageData = new ImageData(stream);
ImageData mask = imageData.getTransparencyMask();
Image result = new Image(display, imageData, mask);
try {
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
public static void main(String[] args) {
Display display = new Display();
JavaVMEditor example = new JavaVMEditor();
Shell shell = example.open(display);
while (!shell.isDisposed())
if (!display.readAndDispatch())
display.sleep();
display.dispose();
}
private Color BLUE = null;
private FileDialog fileDialog;
private Font font = null;
private Color GREEN = null;
private Images images = new Images();
private JavaLineStyler lineStyler = new JavaLineStyler();
private Color RED = null;
private Shell shell;
private StyledText text;
private ToolBar toolBar;
private SaveAction action = null;
static private void setActionMethod(final Object obj, Menu menu,
String actionName, final String mname ){
setActionMethod(obj, menu, actionName, mname,new Object[] {});
}
static private void setActionMethod(final Object obj, Menu menu,
String actionName, final String mname,final Object[] args) {
try {
MenuItem item = new MenuItem(menu, SWT.PUSH);
item.setText(actionName);
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
try {
Util.privateMethodRun(obj.getClass(), mname, obj, args);
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
private Menu createSetMenu() {
Menu bar = shell.getMenuBar();
Menu menu = new Menu(bar);
setActionMethod(action, menu, "数据库设置", "initSet");
setActionMethod(this, menu, "设置字体", "setFont");
return menu;
}
private Menu createFileMenu() {
Menu bar = shell.getMenuBar();
Menu menu = new Menu(bar);
setActionMethod(this, menu, "打开文件", "openFile");
setActionMethod(this, menu, "退出", "menuFileExit");
return menu;
}
private void createMenuBar() {
Menu bar = new Menu(shell, SWT.BAR);
shell.setMenuBar(bar);
MenuItem fileItem2 = new MenuItem(bar, SWT.CASCADE);
fileItem2.setText("文件");
fileItem2.setMenu(createFileMenu());
MenuItem editItem2 = new MenuItem(bar, SWT.CASCADE);
editItem2.setText("设置");
editItem2.setMenu(createSetMenu());
createHelpMenu(bar);
}
private void createHelpMenu(Menu parent) {
Menu menu = new Menu(parent);
MenuItem header = new MenuItem(parent, SWT.CASCADE);
header.setText("帮助");
header.setMenu(menu);
MenuItem item = new MenuItem(menu, SWT.PUSH);
item.setText("关于");
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
MessageBox box = new MessageBox(shell, SWT.ICON_INFORMATION
| SWT.OK);
box.setText("模板代码生成器");
box.setMessage("欢迎使用代码生成器V0.5");
box.open();
}
});
}
private void createShell(Display display) {
shell = new Shell(display);
shell.setText("Cms v9 模板制作工具 V0.5");
images.loadAll(display);
shell.setImage(createStockImage(display, "generic_example.gif"));
GridLayout layout = new GridLayout();
layout.numColumns = 1;
shell.setLayout(layout);
shell.addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
if (font != null)
font.dispose();
images.freeAll();
RED.dispose();
GREEN.dispose();
BLUE.dispose();
}
});
}
void createToolBar() {
toolBar = new ToolBar(shell, SWT.NONE);
new ToolItem(toolBar, SWT.SEPARATOR);
String menu[] = {
"切块",
"标题",
"作者",
"责编",
"时间",
"来源",
"URL",
"栏目",
"内容",
"分页",
"上一篇",
"下一篇"
};
String menuAction[] = {
null,
"$rsdb[title]",
"$rsdb[author]",
"$rsdb[username]",
"$rsdb[posttime]",
"$rsdb[copyfrom]",
"$rsdb[copyfromurl]",
"<a href='list.php?fid={$rsdb[fid]}'>{$rsdb[fname]}</a>",
"$rsdb[content]",
"$showpage",
"[<a href=\"bencandy.php?fid=$backdb[fid]&id=$backdb[aid]\" onclick=\"$backdb[click]\">上一篇</a>]\n<a href=\"bencandy.php?fid=$backdb[fid]&id=$backdb[aid]\" onclick=\"$backdb[click]\" title=\"$backdb[title]\">$backdb[subject]</a>\n",
"[<a href=\"bencandy.php?fid=$nextdb[fid]&id=$nextdb[aid]\" onclick=\"$nextdb[click]\">下一篇</a>]\n<a href=\"bencandy.php?fid=$nextdb[fid]&id=$nextdb[aid]\" onclick=\"$nextdb[click]\" title=\"$nextdb[title]\">$nextdb[subject]</a>\n" };
for (int i = 0; i < menu.length; i++) {
cutBlockButton(toolBar, menu[i], menuAction[i]);
}
setActionMethod(action, toolBar, "生成专题页模板", "save");
setActionMethod(action, toolBar, "生成最终页模板", "savelastpage");
}
private void setActionMethod(final Object obj, ToolBar toolBar,
String actionName, final String mname) {
try {
ToolItem item = new ToolItem(toolBar, SWT.SEPARATOR);
item = new ToolItem(toolBar, SWT.PUSH);
item.setText(actionName);
item.setToolTipText(actionName);
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
try {
Util.privateMethodRun(obj.getClass(), mname, obj,
new Object[] {});
} catch (Exception e1) {
e1.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
void cutBlockButton(ToolBar toolBar, String btName) {
cutBlockButton(toolBar, btName, null);
}
void cutBlockButton(ToolBar toolBar, String btName, final String txt) {
ToolItem item = new ToolItem(toolBar, SWT.SEPARATOR);
item = new ToolItem(toolBar, SWT.PUSH);
item.setText(btName);
item.setToolTipText(btName);
item.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
if (txt == null) {
cutblock(RED, null);
} else {
cutblock(BLUE, txt);
}
}
});
}
boolean flag = false;
private void cutblock(Color fg, String info) {
text.removeLineStyleListener(lineStyler);
try {
Point sel = text.getSelectionRange();
String txt = text.getSelectionText();
if (txt == null || txt.indexOf("#@start") > -1
|| txt.indexOf("#@end") > -1) {
msgbox("此处代码不适合切块!");
return;
}
Event eventz = new Event();
Point selection = text.getSelection();
eventz.start = selection.x;
eventz.end = selection.y;
if (info == null) {
eventz.text = "#@start@#" + txt + "#@end@#";
} else {
eventz.text = "#@start@#" + txt + "@var@" + info + "#@end@#";
}
try {
Util.privateMethodRun(StyledText.class, "sendKeyEvent", text,
new Object[] { eventz });
} catch (Exception e) {
e.printStackTrace();
}
if ((sel == null) || (sel.y == 0))
return;
text.setStyleRange(new StyleRange(sel.x, eventz.text.length(), fg,
null, SWT.NORMAL));
} catch (Exception e) {
}
}
private void initializeColors() {
Display display = Display.getDefault();
RED = new Color(display, new RGB(255, 0, 0));
BLUE = new Color(display, new RGB(0, 0, 255));
GREEN = new Color(display, new RGB(0, 128, 0));
}
void menuFileExit() {
shell.close();
}
private void msgbox(String msg) {
MessageBox box = new MessageBox(shell, SWT.ICON_INFORMATION | SWT.OK);
box.setMessage(msg);
box.open();
}
private void createStyledText() {
initializeColors();
text = new StyledText(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL
| SWT.H_SCROLL);
GridData spec = new GridData();
spec.horizontalAlignment = GridData.FILL;
spec.grabExcessHorizontalSpace = true;
spec.verticalAlignment = GridData.FILL;
spec.grabExcessVerticalSpace = true;
text.setLayoutData(spec);
text.addLineStyleListener(lineStyler);
}
private Shell open(Display display) {
createShell(display);
action = new SaveAction(shell);
createMenuBar();
createToolBar();
createStyledText();
action.setText(text);
shell.setSize(850, 650);
shell.open();
return shell;
}
private void openFile(final StyledText text, String name) {
final String textString;
if ((name == null) || (name.length() == 0))
return;
File file = new File(name);
try {
textString = Util.readFile(file);
} catch (IOException e) {
String message = "文件" + file.getName() + "读写错误";
msgbox(message);
return;
} catch (Exception e) {
String message = "文件" + file.getName() + "不存在";
msgbox(message);
return;
}
// Guard against superfluous mouse move events -- defer action until
// later
Display display = text.getDisplay();
display.asyncExec(new Runnable() {
public void run() {
text.setText(textString);
}
});
}
void openFile() {
if (fileDialog == null) {
fileDialog = new FileDialog(shell, SWT.OPEN);
}
fileDialog.setFilterExtensions(new String[] { "*.vm", "*.htm",
"*.html", "*.*" });
String name = fileDialog.open();
openFile(text, name);
}
void setFont() {
FontDialog fontDialog = new FontDialog(shell);
fontDialog.setFontList((text.getFont()).getFontData());
FontData fontData = fontDialog.open();
if (fontData != null) {
Font newFont = new Font(shell.getDisplay(), fontData);
text.setFont(newFont);
if (font != null)
font.dispose();
font = newFont;
}
}
}
全部代码见附件
- Editor_3-13.rar (5.3 MB)
- 下载次数: 52
发表评论
-
背包算法留存
2014-05-15 10:47 786转自http://zyfromcq.iteye.com/blo ... -
数据库字段<-->java属性 互转方法
2009-06-10 15:22 1545public class Util { public ... -
php 正则表达式的是一个使用范例 统计链接生成与替换
2008-12-04 14:59 1484<?php class acmeCache{ fu ... -
批量文件字符集编码转换
2008-11-26 17:16 2210import java.io.BufferedReader; ... -
数码相机照片压缩处理类
2007-03-04 13:37 1616为解决数码像机体积过 ... -
关于sso
2007-03-08 14:59 1066关于sso, 我的实现方法是用一个存储在cookie里的 ... -
关于网站优化问题
2007-03-08 15:03 990网站优化问题,其实主要都是针对速度. 对于速度大家主要的解决办 ... -
转 Lucene中文分词组件 JE-Analysis 1.5.1 天狼
2007-03-21 12:05 114022006-05-29 17:40 主题 ...
相关推荐
【NLP 66、实践 ⑰ 基于Agent + Prompt优化进行文章优化】
无
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
# 【tokenizers-***.jar***文档.zip】 中包含: ***文档:【tokenizers-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【tokenizers-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【tokenizers-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【tokenizers-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【tokenizers-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: tokenizers-***.jar***文档.zip,java,tokenizers-***.jar,ai.djl.huggingface,tokenizers,***,ai.djl.engine.rust,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,djl,huggingface,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【tokenizers-***.jar***文档.zip】,再解压其中的 【tokenizers-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>ai.djl.huggingface</groupId> <artifactId>tokenizers</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'ai.djl.huggingface', name: 'tokenizers', version: '***' Gradle (Short): implementation 'ai.djl.huggingface:tokenizers:***' Gradle (Kotlin): implementation("ai.djl.huggingface:tokenizers:***") ``` # 含有的 Java package(包): ``` ai.djl.engine.rust ai.djl.engine.rust.zoo ai.djl.huggingface.tokenizers ai.djl.huggingface.tokenizers.jni ai.djl.huggingface.translator ai.djl.huggingface.zoo ``` # 含有的 Java class(类): ``` ai.djl.engine.rust.RsEngine ai.djl.engine.rust.RsEngineProvider ai.djl.engine.rust.RsModel ai.djl.engine.rust.RsNDArray ai.djl.engine.rust.RsNDArrayEx ai.djl.engine.rust.RsNDArrayIndexer ai.djl.engine.rust.RsNDManager ai.djl.engine.rust.RsSymbolBlock ai.djl.engine.rust.RustLibrary ai.djl.engine.rust.zoo.RsModelZoo ai.djl.engine.rust.zoo.RsZooProvider ai.djl.huggingface.tokenizers.Encoding ai.djl.huggingface.tokenizers.HuggingFaceTokenizer ai.djl.huggingface.tokenizers.HuggingFaceTokenizer.Builder ai.djl.hu
人形机器人产业的发展需要人工智能、高端制造、新材料等先进技术的协同创新和突破。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
开关电源的尖峰干扰及其抑制.zip
房地产培训 -新进业务员压马路市调培训.ppt
内容概要:本文探讨了基于MATLAB平台的虚拟电厂优化调度方法,特别关注电转气(P2G)协同、碳捕集技术和垃圾焚烧的应用。文中介绍了虚拟电厂的概念及其重要性,详细解释了碳捕集、需求响应和电转气协同调度的关键技术,并展示了如何使用MATLAB和CPLEX求解器进行优化调度的具体步骤。通过定义决策变量、构建目标函数和设定约束条件,最终实现了多目标优化,即经济性最优和碳排放最低。此外,还讨论了一些常见的代码实现技巧和潜在的问题解决方案。 适合人群:从事能源管理和优化调度研究的专业人士,尤其是那些熟悉MATLAB编程和优化算法的人士。 使用场景及目标:适用于希望深入了解虚拟电厂运作机制和技术实现的研究人员和工程师。主要目标是通过优化调度提高能源利用效率,减少碳排放,降低成本。 其他说明:文章提供了详细的代码片段和理论分析,有助于读者更好地理解和复现实验结果。同时,强调了在实际应用中需要注意的一些细节问题,如约束条件的平衡、求解器配置等。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
# 【spring-ai-pinecone-store-1.0.0-M7.jar中文-英文对照文档.zip】 中包含: 中文-英文对照文档:【spring-ai-pinecone-store-1.0.0-M7-javadoc-API文档-中文(简体)-英语-对照版.zip】 jar包下载地址:【spring-ai-pinecone-store-1.0.0-M7.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【spring-ai-pinecone-store-1.0.0-M7.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【spring-ai-pinecone-store-1.0.0-M7.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【spring-ai-pinecone-store-1.0.0-M7-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: spring-ai-pinecone-store-1.0.0-M7.jar中文-英文对照文档.zip,java,spring-ai-pinecone-store-1.0.0-M7.jar,org.springframework.ai,spring-ai-pinecone-store,1.0.0-M7,org.springframework.ai.vectorstore.pinecone,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,springframework,spring,ai,pinecone,store,中文-英文对照API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【spring-ai-pinecone
内容概要:本文详细介绍了如何使用MATLAB及其优化工具箱,通过混合整数规划(MILP)方法对微网电池储能系统的容量进行优化配置。主要内容包括定义目标函数(如最小化运行成本),设置约束条件(如充放电功率限制、能量平衡约束),并引入决策变量(如电池容量、充放电功率和状态)。文中提供了具体的MATLAB代码示例,演示了如何将实际问题转化为数学模型并求解。此外,还讨论了一些实用技巧,如避免充放电互斥冲突、考虑电池寿命损耗等。 适用人群:从事微电网设计与运维的技术人员,尤其是那些希望通过优化算法提高系统性能和经济效益的专业人士。 使用场景及目标:适用于需要确定最佳电池储能容量的微电网项目,旨在降低总体运行成本,提高系统的稳定性和可靠性。具体应用场景包括工业园区、商业建筑或其他分布式能源系统。 其他说明:文章强调了模型的实际应用价值,并指出通过精确控制充放电策略可以显著减少不必要的容量闲置,从而节省大量资金。同时提醒读者注意模型的时间粒度选择、电池退化成本等因素的影响。
# 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;
内容概要:本文详细介绍了基于TMS320F28335的光伏离网并网逆变器设计方案,涵盖了从硬件架构到软件控制的各个方面。首先,文章阐述了TMS320F28335作为高性能DSP的优势及其初始化配置方法。其次,探讨了逆变器的数字控制策略,如双闭环控制(电压外环和电流内环)的具体实现方式。然后,深入讲解了SPWM(正弦脉宽调制)技术,包括SPWM波的生成方法和相关代码示例。此外,还讨论了硬件保护逻辑、过流检测、死区时间配置等实际应用中的注意事项。最后,提供了调试经验和学习资源建议。 适合人群:从事光伏逆变器设计、嵌入式系统开发的技术人员,尤其是有一定DSP编程基础的研发人员。 使用场景及目标:适用于需要深入了解光伏逆变器设计原理和技术实现的研究人员和工程师。主要目标是掌握基于TMS320F28335的逆变器控制系统设计,包括数字控制策略和SPWM技术的应用。 其他说明:文中提供的代码示例和实践经验有助于读者更好地理解和应用于实际项目中。建议读者结合TI官方提供的学习资料进行进一步学习和实践。
内容概要:深度学习在医疗影像分析中展现出显著的优势,主要体现在自动特征学习、高准确性和效率、多模态数据融合与综合分析、个性化治疗与预测、减少主观性、处理复杂和高维数据、实时分析与远程医疗支持、数据挖掘与科研突破以及可扩展性与持续优化九个方面。通过卷积神经网络(CNN)、U-Net等模型,深度学习能够自动从影像中提取多层次特征,无需手动干预,在分类、分割任务中表现出色,处理速度远超人工。此外,它还能够整合多源数据,提供全面的诊断依据,实现个性化治疗建议,减少误诊和漏诊,支持实时分析和远程医疗,挖掘病理模式并加速研究,同时具有可扩展性和持续优化的能力。; 适合人群:医疗行业从业者、科研人员、计算机视觉和深度学习领域的研究人员。; 使用场景及目标:①用于医疗影像的自动特征提取和分类,如乳腺癌筛查、皮肤癌诊断等;②整合多模态数据,如CT、MRI等,提高诊断准确性;③提供个性化治疗建议,优化治疗方案;④支持实时分析和远程医疗,尤其适用于偏远地区的急诊场景;⑤挖掘病理模式,加速疾病机制的研究。; 其他说明:深度学习正逐渐成为医疗影像分析的核心诊断伙伴,未来发展方向包括增强可解释性、保护数据隐私和轻量化部署,旨在进一步提升医疗效率和患者护理质量。
内容概要:深度学习是机器学习的一个子领域,通过构建多层次的“深度神经网络”来模拟人脑结构,从而学习和提取数据的复杂特征。文章介绍了深度学习的核心概念,包括神经元、多层感知机、深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)和Transformer等常见网络结构。同时,详细讲解了激活函数、损失函数与优化器的作用。此外,还探讨了深度学习的关键突破,如大数据与算力的支持、正则化技术和迁移学习的应用。文中列举了深度学习在计算机视觉、自然语言处理、语音与音频以及强化学习等领域的应用场景,并指出了其面临的挑战,如数据依赖、计算成本和可解释性问题。最后提供了使用PyTorch和TensorFlow/Keras框架的经典代码示例,涵盖图像分类、文本生成和迁移学习等内容。; 适合人群:对机器学习有一定了解,希望深入学习深度学习理论和技术的研究人员、工程师及学生。; 使用场景及目标:①理解深度学习的基本原理和核心概念;②掌握常见深度学习框架的使用方法,如PyTorch和TensorFlow;③能够根据具体应用场景选择合适的网络结构和算法进行实践。; 其他说明:本文不仅提供了理论知识,还附带了详细的代码示例,便于读者动手实践。建议读者结合理论与实践,逐步深入理解深度学习的各个方面。
适用于理工专业的毕业生,毕业答辩时可供参考,叙述详细准确,可以作为自己答辩PPT的参考
# 【tokenizers-***.jar***文档.zip】 中包含: ***文档:【tokenizers-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【tokenizers-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【tokenizers-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【tokenizers-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【tokenizers-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: tokenizers-***.jar***文档.zip,java,tokenizers-***.jar,ai.djl.huggingface,tokenizers,***,ai.djl.engine.rust,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,djl,huggingface,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【tokenizers-***.jar***文档.zip】,再解压其中的 【tokenizers-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>ai.djl.huggingface</groupId> <artifactId>tokenizers</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'ai.djl.huggingface', name: 'tokenizers', version: '***' Gradle (Short): implementation 'ai.djl.huggingface:tokenizers:***' Gradle (Kotlin): implementation("ai.djl.huggingface:tokenizers:***") ``` # 含有的 Java package(包): ``` ai.djl.engine.rust ai.djl.engine.rust.zoo ai.djl.huggingface.tokenizers ai.djl.huggingface.tokenizers.jni ai.djl.huggingface.translator ai.djl.huggingface.zoo ``` # 含有的 Java class(类): ``` ai.djl.engine.rust.RsEngine ai.djl.engine.rust.RsEngineProvider ai.djl.engine.rust.RsModel ai.djl.engine.rust.RsNDArray ai.djl.engine.rust.RsNDArrayEx ai.djl.engine.rust.RsNDArrayIndexer ai.djl.engine.rust.RsNDManager ai.djl.engine.rust.RsSymbolBlock ai.djl.engine.rust.RustLibrary ai.djl.engine.rust.zoo.RsModelZoo ai.djl.engine.rust.zoo.RsZooProvider ai.djl.huggingface.tokenizers.Encoding ai.djl.huggingface.tokenizers.HuggingFaceTokenizer ai.djl.huggingface.tokenizers.HuggingFaceTokenizer.Builder ai.djl.hu
内容概要:本文详细介绍了考虑阶梯式碳交易与供需灵活双响应的综合能源系统优化调度方法。在供给侧,引入了有机朗肯循环(ORC)实现热电联产机组的灵活响应;在需求侧,提出电、热、气负荷之间的可替代性,以提高能源利用效率。构建了以最小化碳排放成本、购能成本、弃风成本和需求响应成本为目标的优化调度模型,并采用MATLAB和CPLEX进行了模型构建和求解。文中提供了具体的代码示例,展示了如何处理热电耦合、负荷替代和阶梯式碳交易等问题。 适合人群:从事能源系统优化、电力系统调度、碳交易等相关领域的研究人员和技术人员。 使用场景及目标:适用于需要优化能源系统调度、降低成本并减少碳排放的实际应用场景。目标是帮助读者理解和掌握如何通过先进的技术和算法实现更加灵活和高效的能源调度。 其他说明:文章提供了完整的代码实现和服务支持,包括12种典型场景的数据集和预设模型,方便读者快速上手实践。