c# 调用word、wps里的printOut方法显示成文档的真实名字呢?

c# 调用word、wps里的printOut方法实现文档的打印功能时,如何让“打印进程”里的“正在打印文件”显示成文档的真实名字呢?

直接打开word打印时,“打印进程”里的“正在打印文件”显示的是文档的真实名字;

但是用c#调用document对象的printOut方法打印时,“打印进程”里的“正在打印文件”显示的是“文档1”,怎么才能显示成文档的真实名字呢?

1个回答

看看document对象的属性和方法, C++ COM里就有,没在C#弄过

ttsoft888
ttsoft888 谢谢
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于C# 接口 提示不实现接口成员 问题
interface IIfic1 { void PrintoUT(string s); } class MyClass:IIfic1 { public void PrintOut(string s) { Console .WriteLine("Calling through: {0}",s); } } class Program { static void Main(string[] args) { MyClass mc = new MyClass(); mc.PrintOut("1"); } } }
jacob的问题,我在操作word,替换文字的时候,第一次调用可以成功,第二次调用就没有效果了
package com.hundsun.cby.htblthsz; import com.jacob.activeX.ActiveXComponent; import com.jacob.com.ComThread; import com.jacob.com.Dispatch; import com.jacob.com.Variant; public class HtblthszUtil { // word文档 private Dispatch doc; // word运行程序对象 private ActiveXComponent word; // 所有word文档集合 private Dispatch documents; // 选定的范围或插入点 private Dispatch selection; private boolean saveOnExit = true; /** */ /** * * @param visible * 为true表示word应用程序可见 */ public HtblthszUtil(boolean visible) { if (word == null) { word = new ActiveXComponent("Word.Application"); word.setProperty("Visible", new Variant(visible)); } if (documents == null) documents = word.getProperty("Documents").toDispatch(); } /** */ /** * 设置退出时参数 * * @param saveOnExit * boolean true-退出时保存文件,false-退出时不保存文件 */ public void setSaveOnExit(boolean saveOnExit) { this.saveOnExit = saveOnExit; } /** */ /** * 创建一个新的word文档 * */ public void createNewDocument() { doc = Dispatch.call(documents, "Add").toDispatch(); selection = Dispatch.get(word, "Selection").toDispatch(); } /** */ /** * 打开一个已存在的文档 * * @param docPath */ public void openDocument(String docPath) { closeDocument(); doc = Dispatch.call(documents, "Open", docPath).toDispatch(); selection = Dispatch.get(word, "Selection").toDispatch(); } /** */ /** * 把选定的内容或插入点向上移动 * * @param pos * 移动的距离 */ public void moveUp(int pos) { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); for (int i = 0; i < pos; i++) Dispatch.call(selection, "MoveUp"); } /** */ /** * 把选定的内容或者插入点向下移动 * * @param pos * 移动的距离 */ public void moveDown(int pos) { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); for (int i = 0; i < pos; i++) Dispatch.call(selection, "MoveDown"); } /** */ /** * 把选定的内容或者插入点向左移动 * * @param pos * 移动的距离 */ public void moveLeft(int pos) { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); for (int i = 0; i < pos; i++) { Dispatch.call(selection, "MoveLeft"); } } /** */ /** * 把选定的内容或者插入点向右移动 * * @param pos * 移动的距离 */ public void moveRight(int pos) { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); for (int i = 0; i < pos; i++) Dispatch.call(selection, "MoveRight"); } /** */ /** * 把插入点移动到文件首位置 * */ public void moveStart() { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); Dispatch.call(selection, "HomeKey", new Variant(6)); } public void moveEnd() { if (selection == null) selection = Dispatch.get(word, "Selection").toDispatch(); Dispatch.call(selection, "EndKey", new Variant(6)); } /** */ /** * 从选定内容或插入点开始查找文本 * * @param toFindText * 要查找的文本 * @return boolean true-查找到并选中该文本,false-未查找到文本 */ public boolean find(String toFindText) { if (toFindText == null || toFindText.equals("")) return false; // 从selection所在位置开始查询 Dispatch find = word.call(selection, "Find").toDispatch(); // 设置要查找的内容 Dispatch.put(find, "Text", toFindText); // 向前查找 Dispatch.put(find, "Forward", "True"); // 设置格式 Dispatch.put(find, "Format", "True"); // 大小写匹配 Dispatch.put(find, "MatchCase", "True"); // 全字匹配 Dispatch.put(find, "MatchWholeWord", "True"); // 查找并选中 return Dispatch.call(find, "Execute").getBoolean(); } /** */ /** * 把选定选定内容设定为替换文本 * * @param toFindText * 查找字符串 * @param newText * 要替换的内容 * @return */ public boolean replaceText(String toFindText, String newText) { if (!find(toFindText)){ return false; } Dispatch.put(selection, "Text", newText); return true; } /** */ /** * 全局替换文本 * * @param toFindText * 查找字符串 * @param newText * 要替换的内容 */ public void replaceAllText(String toFindText, String newText) { while (find(toFindText)) { Dispatch.put(selection, "Text", newText); Dispatch.call(selection, "MoveRight"); } } /** */ /** * 在当前插入点插入字符串 * * @param newText * 要插入的新字符串 */ public void insertText(String newText) { Dispatch.put(selection, "Text", newText); } /** */ /** * 关闭全部应用 * */ public void close() { closeDocument(); if (word != null) { Dispatch.call(word, "Quit"); word = null; } selection = null; documents = null; ComThread.Release(); } /** */ /** * 打印当前word文档 * */ public void printFile() { if (doc != null) { Dispatch.call(doc, "PrintOut"); } } public static void main(String args[]) throws Exception { HtblthszUtil msWordManager = new HtblthszUtil(false); msWordManager.openDocument("F:\\基础版-基金子公司(1).docx"); msWordManager.replaceText("资产管理", "castiel计划"); msWordManager.replaceText("123", "客户资产管理计划"); msWordManager.moveEnd(); msWordManager.close(); } }
调用java虚拟机打印将ceb转换为pdf时参数问题,求大神指导
ActiveXComponent doc=new ActiveXComponent("word.Application"); //设置是否显示打开 Dispatch.put(doc, "Visible", new Variant(true)); //打开具体的工作簿 Dispatch documents = doc.getProperty("Documents").toDispatch(); Dispatch word = Dispatch.call(documents,"Open",path).toDispatch(); //设置打印属性并打印 Dispatch.callN(word,"PrintOut",new Object[]{ Variant.VT_MISSING, Variant.VT_MISSING, new Integer(1), new Boolean(false),PRINT_NAME, new Boolean(true),Variant.VT_MISSING, "" }); //关闭文档 Dispatch.call(word, "Close", new Variant(false)); 调用java虚拟机打印将word转换为pdf时 ActiveXComponent doc=new ActiveXComponent("word.Application"),那么ceb转pdf时应该new ActiveXComponent("“)参数写什么呢?求大神知道,十分感谢。
求大神 帮我看看问题 Java中 调用虚拟打印机 把word转存为PDF
``` public class SaveWordAspdf { public static void saveWordAspdf(String filePath, String outFile) throws Exception { ComThread.InitSTA(); ActiveXComponent actcom = new ActiveXComponent("Word.Application"); Dispatch documents = null; Dispatch document = null; try { actcom.setProperty("Visible", new Variant(false)); documents = actcom.getProperty("Documents").toDispatch(); document = Dispatch.invoke(documents,"Open", Dispatch.Method, new Object[] { filePath, new Variant(false), new Variant(false) }, new int[1]).toDispatch(); Dispatch.invoke(document, "SaveAs", Dispatch.Method, new Object[] { outFile,new Variant(false)},new int[1]); Dispatch.call(document, "Close", new Object[] { new Variant(false) }); if (actcom != null) { actcom.invoke("Quit", new Variant[] {}); actcom = null; } ComThread.Release(); } catch (Exception e) { e.printStackTrace(); } finally { if (actcom != null) { actcom.invoke("Quit", new Variant[] {}); actcom = null; } ComThread.Release(); } } public static void print(String path)throws Exception { String PRINT_NAME="pdfFactory Pro";//打印机名称 //初始化COM线程 ComThread.InitSTA(); ActiveXComponent doc=new ActiveXComponent("Word.Application"); try { //设置是否显示打开word Dispatch.put(doc, "Visible", new Variant(true)); //打开具体的工作簿 Dispatch documents = doc.getProperty("Documents").toDispatch(); Dispatch word = Dispatch.call(documents,"Open",path).toDispatch(); //设置打印属性并打印 Dispatch.callN(word,"PrintOut",new Object[]{Variant.VT_MISSING, Variant.VT_MISSING, new Integer(1), new Boolean(false),PRINT_NAME, new Boolean(true),Variant.VT_MISSING, ""}); //关闭文档 Dispatch.call(word, "Close", new Variant(false)); } catch (Exception e) { e.printStackTrace(); throw new Exception(); } finally{ doc.invoke("Quit",new Variant[0]); //始终释放资源 ComThread.Release(); } } public static void main(String[] args) { try { System.out.println(0); saveWordAspdf("d:/1234.doc","d:/1234.pdf"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } ```
怎么用matlab编写幂函数计算方法及其步长?
老师要求看MATLAB英文手册,然后发现连题目都看不懂???(扎心) 题目是: **Write a function program to perform the Power Method on the input matrix A. Use a while loop to make it continue until the values stop changing (up to some tol). Put a counter in the loop to count the number of steps. Try your program on some random symmetric matrices of various sizes (Hint: use A=randn(n) then A=A·A’). Is there a relationship between the size and the number of steps needed or between the size and the ew? Turn in a printout of your program and a brief report on the trial.** 我用有道翻译了一遍,发现大致是:**编写函数程序,在输入矩阵a上执行幂函数方法。使用while循环使其继续,直到值停止变化(直到某个tol)。在循环中放置一个计数器来计算步数。在不同大小的随机对称矩阵上尝试您的程序(提示:使用A=randn(n)然后A=A·A ')。大小和需要的步骤数之间或者大小和ew之间有关系吗?提交一份你的程序打印件和一份关于试验的简要报告。** 所以我真的懵逼了!求助这个到底应该怎么解决? 其中手册上附带了 > A = hilb(5) > x = ones(5,1) > x = A*x > el = max(x) > x = x/el 这么一段……__ 求助!!!!!! 我不知道这个标签什么鬼,求不忽略
OneNote等虚拟打印机会影响VB.NET调用指定打印机吗?
项目上要使用用户选择的打印机打印报表,发现装有OneNote(有XPS和Fax打印机)打印机的电脑都是使用的默认打印机打印的,并不是使用的用户选择的打印机打印的。本来以为OneNote打印机影响的。可是又发现一个没有OneNote(也没有XPS和Fax打印机)打印机的电脑也是使用默认打印机打印的。没有OneNote(有XPS和Fax打印机)打印机的电脑是按用户选择的打印机打印的。 打印的代码是 xl_Sheet.Application.ActivePrinter = sSprt(prt, prtList) xl_Sheet.PrintOut() sSprt(prt, prtList)是获取打印机名字的
单链表前面的函数如何通过最后的case语句实现调用
#include <stdlib.h> #include <stdio.h> #include <conio.h> #include<iostream.h> #define OK 1 #define ERROR 0 typedef int Status; typedef char ElemType; typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; //单链表的初始化 Status InitList(LinkList &L) { L=new LNode; L->next=NULL; return OK; } //单链表的建立 void CreateList_R(LinkList &L,int n) { LinkList p; L=new LNode; L->next=NULL; LinkList q=L; int i; for(i=0;i<n;++i) { p=new LNode; cin>>p->data; p->next=NULL; q->next=p; q=p; } } //单链表的取值 Status GetElem(LinkList L,int i,ElemType &e) { LinkList p=L->next; int j=1; while(p&&j<i) { p=p->next; ++j; } if(!p||j>i)return ERROR; e=p->data; return OK; } //单链表的按值查找 LNode *LocateElem(LinkList L,ElemType e) { LinkList p=L->next; while (p && p->data!=e) p=p->next; return p; } //单链表的按位置删除 Status ListDelete(LinkList &L,int i) { LinkList p=L; int j=0; while((p->next) && (j<i-1)) {p=p->next;++j;} if(!(p->next)||(j>i-1)) return ERROR; LinkList q=p->next; p->next=q->next; delete q; return OK; } //单链表的遍历 Status PrintLink(LinkList L) { LinkList P = L->next; while (P != NULL) { printf("%d ",P->data); P = P->next; } printf("\n"); return OK; } //单链表的表长 int Length(LinkList L) { LinkList p=L->next;int i=0; while (p) { i++; p=p->next; } return i; } //单链表的销毁 void DestroyList(LinkList &L) { LinkList p; LinkList q; p=L; q=p->next; while(p!=NULL) { free(p); p=q; q=p->next; } } void main(int argc, char* argv[]) { LinkList MyList; ElemType x; int pos,y; int c; int n1; while(true) { printf("------单链表的基本操作------------\n"); printf("------1.单链表的初始化------------\n"); printf("------2.线性表的建立---------------\n"); printf("------3.线性表的遍历---------------\n"); printf("------4.线性表的按位置插入---------\n"); printf("------5.线性表的表长---------------\n"); printf("------6.线性表按位置删除------------\n"); printf("------7.按位置查询线性表的元素------\n"); printf("------8.退出------------------------\n"); printf("请输入要操作的步骤:\n"); scanf("%d",&c); switch(c){ case 1: if(InitList(MyList)==OK) { printf("线性表初始化成功!\n"); } else printf("线性表初始化失败!\n"); break; case 2: CreateList_R(MyList) break; case 3: Printout(MyList); break; case 4: printf("请输入你要插入的数据:"); scanf("%d",&x); printf("请输入你要插入的位置:"); scanf("%d",&pos); if(ListInsert(MyList,pos,x)==OK) { printf("插入成功:\n"); printf("插入后的数据为:\n"); Printout(MyList); } else { printf("插入失败:\n"); } break; case 5: n1=ListLength(MyList); printf("线性表的长度%d\n",n1); break; case 6: printf("请输入你要删除元素的位置:"); scanf("%d",&y); if(ListDelete(MyList,y)==OK) { printf("\n线性表删除成功\n"); printf("线性表删除后的数据:\n"); Printout(MyList); } else printf("删除失败:\n"); break; case 7: printf("你选择数据的位置是:"); scanf("%d",&n1); if(GetElem(MyList,n1,x)==ERROR) printf("i值不合法/n"); else printf("第%d个元素的值为%d\n",n1,x); break; case 8: exit(OK); default: printf("输入错误!"); } } }
自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急.
自己编的c语言建立二叉树的代码,运行时出错了,自己找不到错误,求大神帮忙,指点,急. #include<stdio.h> #include<stdlib.h> typedef struct tnode Tnode; struct tnode { Tnode *left; Tnode *right; int data; }; Tnode *new_tnode(int data) { Tnode *new = malloc(sizeof(Tnode)); new->left=NULL; new->right=NULL; new->data=data; return new; } void insert(Tnode *root,Tnode *tree) { if(root==NULL) { tree=root; return; } if(root->data<tree->data) { tree->left=root; insert(root,tree->left); } else if(root->data>tree->data) { tree->right=root; insert(root,tree->right); } } void printout(Tnode *tree) { if(tree==NULL) { return; } printf("%d",tree->data); printout(tree->left); printout(tree->right); } int main() { Tnode *tree=NULL; int i; int data; for(i=0;i<10;i++) { scanf("%d",&data); insert(new_tnode(data),tree); } printout(tree); return 0; }
vb.net打开excel并打印的时候如果选择指定打印机
目前用vb.net打开excel文件并打印的时候用到xlsheet.printout()的时候系统总默认为默认的打印机~在之前用show printdialog调取打印机对话框并选择其中一个指定的打印机后还是没法让系统用指定的打印机打印,是不是我缺少了什么关键步骤,请高手指点下
java实现打印(C/S模式的),有没有例子?
java实现打印(C/S模式的),有没有例子?目前我用的是JCOM实现打印,但是卸载office之后报“jp.ne.so_net.ga2.no_ji.jcom.JComException:createInstance()failed HRESULT=0x800401F3L”,怎样让它在不安装office的情况下也能打印(即支持WPS)?源代码如下:package com.psbc.print; import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager; import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelApplication; import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbook; import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorkbooks; import jp.ne.so_net.ga2.no_ji.jcom.excel8.ExcelWorksheet; public class JCOM { public boolean print(String fname) { ReleaseManager rm = new ReleaseManager(); try { ExcelApplication excel = new ExcelApplication(rm); ExcelWorkbooks xlBooks = excel.Workbooks(); ExcelWorkbook xlBook = xlBooks.Open(fname); ExcelWorksheet xlSheet = excel.ActiveSheet(); xlSheet.PrintOut(); xlBook.Close(false, null, false); excel.Quit(); } catch (Exception e) { e.printStackTrace(); return false; } finally { rm.release(); } return true; } public static void main(String[] args) { JCOM test = new JCOM(); try { test.print("D://test.xls"); } catch (Exception e) { e.printStackTrace(); } } }
打印文件夹下所有工作簿中指定的工作表
现已拥有2003版代码,但由于即03版excel之后,微软取消了vba的filesearch功能,不知为何,请问有高手可以用别的代码代替此功能吗? 可以在excel2010中使用的代码 有人会用filesystemobject ,或者其他代码能达到效果就可以~ 谢谢~ Sub printer1() Dim fd As FileDialog, oFile As Object Dim Fso, myFolder As Object, myFiles As Object Dim fn$ '定义一些要用到的变量,分别获取文件夹名,文件名 Set Fso = CreateObject("Scripting.FileSystemObject") '创建文件操作 Set fd = Application.FileDialog(msoFileDialogFolderPicker) '用对话框获取文件夹路径 If fd.Show <> -1 Then Exit Sub '如果在文件夹选择时点"取消"则退出过程 Set myFolder = Fso.GetFolder(fd.InitialFileName) '将文件夹路径赋值到变量 With Application.FileSearch .LookIn = myFolder '设置文件的搜索路径 .FileType = msoFileTypeExcelWorkbooks '设置要搜索的文件类型为工作簿 If .Execute > 0 Then '如果找到一个或多个文件 For i = 1 To .FoundFiles.Count '设置打开工作簙的循环 Workbooks.Open Filename:=.FoundFiles(i) '打开找到的每一个工作簙 ol = 1 Sheets("评级审批表").PrintOut Copies:=ol '打印指定工作表 ActiveWorkbook.Save '保存当前工作簙 ActiveWorkbook.Close '关闭当前工作簙 Next i '打开下一个工作簙 Else MsgBox "没有找到任何工作簿文件" '提示没有找到任何工作簿文件 End If End With End Sub 另
自己编的建立二叉树出错了,求大神指导
最近在学二叉树的建立,自己尝试着编了一个二叉树,然而在运行时出错了,程序自动关闭。不知道问题出在哪,求大神指导 #include<stdio.h> #include<stdlib.h> typedef struct tnode Tnode; struct tnode { Tnode *left; Tnode *right; int data; }; Tnode *new_tnode(int data) { Tnode *new = malloc(sizeof(Tnode)); new->left=NULL; new->right=NULL; new->data=data; return new; } void insert(Tnode *root,Tnode *tree) { if(root==NULL) { tree=root; return; } if(root->data<tree->data) { insert(root,tree->left); } else if(root->data>tree->data) { insert(root,tree->right); } } void printout(Tnode *tree) { if(tree->left) { printout(tree->left); } printf("%d",tree->data); if(tree->right) { printout(tree->right); } } int main() { Tnode *tree=NULL; int i; int data; for(i=0;i<10;i++) { scanf("%d",data); insert(new_tnode(data),tree); } return 0; }
小白刚学数据结构,有问题请教,求大神解答
请大神帮我看一下代码有什么问题,我一直找不出问题在哪里 #include<stdio.h> #include<stdlib.h> #include<malloc.h> #define maxsize 100; typedef char datetype; typedef struct { datetype date[maxsize]; int len; }sq; void creatlist(sq *L) { int n; int i; char tmp; printf("请输入一个数字给n:"); scanf("%d", &n); for (i = 0;i < n;i++) { printf("date[%d]=", i); fflush(stdin); scanf("%c", &tmp); L->date[i] = tmp; } L->len = n - 1; printf("\n"); } void printout(sq *L) { int i; for (i = 0;i <= L->len;i++) { printf("date[%d]=", i); printf("%c\n", L->date[i]); } } void main() { sq *L; char cmd, x; L = (sq *)malloc(sozeof(sq)); creatlist(L); printout(L); system("pause"); }
急!!!!!!!!!!!C++中关于strcat()函数占用其他变量内存地址的问题?
源代码有点长,我就只贴关键部分了! ``` int main(){ /省略部分代码。。。。/ LinearList *L=(LinearList *)malloc(sizeof(LinearList)); InitList(L,MAX); while(1){ printf("Input file:"); gets(filename); //用get函数,避免scanf以空格分割数据, if (filename[0]==34) filename[strlen(filename)-1]=0,strcpy(filename,filename+1); //支持文件拖曳,但会多出双引号,这里是处理多余的双引号 if (!strcmp(filename,"exit")) exit(0); //输入exit退出 if (!(fp=fopen(filename,"rb"))) {printf("Can not open this file!\n");continue;} //以二进制打开文件 fseek(fp, 0, SEEK_END); //文件指针转到文件末尾 if((len=ftell(fp))==-1) {printf("Sorry! Can not calculate files which larger than 2 GB!\n");fclose(fp);continue;} //ftell函数返回long,最大为2GB,超出返回-1 rewind(fp); //文件指针复位到文件头 A=0x67452301,B=0xefcdab89,C=0x98badcfe,D=0x10325476; //初始化链接变量 flen[1]=len/0x20000000; //flen单位是bit flen[0]=(len%0x20000000)*8; memset(x,0,64); //初始化x数组为0 fread(&x,4,16,fp); //以4字节为一组,读取16组数据 for(i=0;i<len/64;i++){ //循环运算直至文件结束 md5(); memset(x,0,64); fread(&x,4,16,fp); } ((char*)x)[len%64]=128; //文件结束补1,补0操作,128二进制即10000000 if(len%64>55) md5(),memset(x,0,64); memcpy(x+14,flen,8); //文件末尾加入原文件的bit长度 md5(); fclose(fp); char str1[8]; sprintf(str1,"%08x",PP(A)); char *s1=str1; char str2[8]; sprintf(str2,"%08x",PP(B)); char *s2=str2; char str3[8]; sprintf(str3,"%08x",PP(C)); char *s3=str3; char str4[8]; sprintf(str4,"%08x",PP(D)); char *s4=str4; strcat(str1,str2); strcat(str1,str3); strcat(str1,str4); cout<<str1<<endl; char *p=str1; node x(p,filename); InsertElem(L,x); } Printout(L); return 0; } ``` 然后问题是这样的: 通过调试发现:我在while循环外面定义和初始化了变量L之后,L的相关成员变量都有了内存地址。结果当运行完strcat(str1,str2)之后,奇怪的是L变量的内存地址突然变了,导致它所有的成员变量都没有有效内存地址。接下来,任何需要传入L作为参数的函数都没有办法运行,报错。 请问:这是怎么一回事啊???解决办法是????或者我通过其他方法把str1、str2、str3连接起来????
BarTender Active 在打印多份时, 会有停顿该怎么处理.
代码如下: BarTender.Application btEngine = new BarTender.Application(); BarTender.Format btFormat = btEngine.Formats.Open(cTempletFile); btFormat.PrintSetup.IdenticalCopiesOfLabel = 1; btFormat.PrintSetup.NumberSerializedLabels = 1; btFormat.SetNamedSubStringValue("ItemName", ItemNewName); btFormat.SetNamedSubStringValue("Qrcode", ItemNewQrBarCode); //Messages oRet; //BtPrintResult result = btFormat.Print("", false, -1, out oRet); btFormat.PrintOut(false, false); btEngine.Quit(BtSaveOptions.btDoNotSaveChanges); 因为二维码比较复杂, 所以没有设置序列化打印, 采用的是程序赋值的方式. 循环调用上面的代码时,打印机会在打印好前一张之后,才会重新接受下一个打印指令,两张之间会有约 0.5 秒的等待, 请问该如何处理?
EXT.Js 弹出事件 为什么不能弹出新生成的单据
/** * @author Administrator */ /* grid.store.on('load', function() { grid.el.select("table[class=x-grid3-row-table]").each(function(x) { x.addClass('x-grid3-cell-text-visible'); }); }); grid.getStore().on('load',function(s,records){ var girdcount=0; s.each(function(r){ if(r.get('10')=='数据错误'){ grid.getView().getRow(girdcount).style.backgroundColor='#F7FE2E'; } girdcount=girdcount+1; }); //scope:this }); */ var arrgrid = new Array(); var storenurse = new Ext.data.JsonStore({ data :[], fields : ['desc', 'id'] }); var storenurse1 = new Ext.data.JsonStore({ data :[], fields : ['desc', 'id'] }); var patward = new Ext.form.ComboBox({ id : 'patward', //hiddenName : 'region1', store : storenurse, width : 200, // fieldLabel : '区', valueField : 'id', displayField : 'desc', value:"", allowBlank : true, mode : 'local' }); var CCERR = new Ext.form.ComboBox({ id : 'CCERR', //hiddenName : 'region1', store : storenurse1, width : 150, fieldLabel : '事件', valueField : 'id', value:"", displayField : 'desc', allowBlank : true, mode : 'local' }); function gethead() { /* var GetCurrHeadDR=document.getElementById('GetCurrHeadDR'); //alert(EmrCode); var ret=cspRunServerMethod(GetCurrHeadDR.value,EpisodeID,session['LOGON.USERID'],EmrCode); //alert(ret) if (ret!="") { var dd=ret.split("||"); CurrHeadDr=dd[0]+"_"+dd[1]; } */ var GetHead=document.getElementById('GetHead'); var ret=cspRunServerMethod(GetHead.value,EpisodeID); //alert(ret) var hh=ret.split("^"); //alert(hh) //alert(hh[0]) return hh[0]+" "+hh[1]; //debugger; } function BodyLoadHandler(){ setsize("mygridpl", "gform", "mygrid"); //fm.doLayout(); //alert(EmrCode) var but1 = Ext.getCmp("mygridbut1"); but1.on('click', newEvent); var but = Ext.getCmp("mygridbut2"); but.hide(); var grid = Ext.getCmp('mygrid'); grid.setTitle(gethead()); var mydate = new Date(); var tobar = grid.getTopToolbar(); grid.on('rowdblclick',modccevent); //tobar.addItem('病区', //patward,'-' ,'事件',CCERR,'-'); /* tobar.addItem({ xtype: 'datefield', format: 'Y-m-d', id: 'mygridstdate', value: (diffDate(new Date(), -7)) }, { xtype: 'datefield', format: 'Y-m-d', id: 'mygridenddate', value: diffDate(new Date(), 1) }); */ tobar.addButton({ className: 'new-topic-button', text: "查询", handler: find, id: 'mygridSch' }); tobar.addItem ("-",{ xtype:'checkbox', id:'IfCancelRec', checked:false, boxLabel:'显示作废记录' }); /*tobar.addItem("-"); tobar.addButton({ className: 'new-topic-button', text: "提交", handler: qdtj, id: 'SubmitFu' });*/ /* tobar.addItem("-"); tobar.addButton({ className: 'new-topic-button', text: "审核", handler: AuditFu, id: 'AuditFu' }); tobar.addItem("-"); tobar.addButton({ className: 'new-topic-button', text: "退回", handler: RefundFu, id: 'RefundFu' }); */ /*tobar.addItem("-"); tobar.addButton({ className: 'new-topic-button', text: "删除", handler: qddelete, id: 'delete' });*/ tobar.addItem("-"); tobar.addButton({ //className: 'new-topic-button', text: "作废", handler: CancelRecord, id: 'Cancel' }); tobar.addItem ("-") tobar.addButton({ className: 'new-topic-button', text: "打印", handler: butPrintFn, id: 'butPrintFn' }); tobar.addItem ("-") tobar.addButton({ className: 'new-topic-button', text: "生成图片", handler: MakePicture, id: 'MakePicture' }); var bbar = grid.getBottomToolbar (); bbar.hide(); var bbar2 = new Ext.PagingToolbar({ pageSize:30, store:grid.store, displayInfo:true, displayMsg:'显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg:"没有记录" }); bbar2.render(grid.bbar); tobar.doLayout(); //inidata("patward","Desc","web.DHCNurblsjflwh:GetWard","Loc$W"); // inidata("CCERR","Desc","web.DHCNurblsjflwh:CRItem",""); patward.setValue(session['LOGON.CTLOCID']); //layoutset(); find(); //alert(); //debugger; } //生成图片 function MakePicture() { var mygrid = Ext.getCmp("mygrid"); var rowObj = mygrid.getSelectionModel().getSelections(); var len = rowObj.length; if (len < 1) { alert("请选择需要生成图片的数据!"); return; } else { id = rowObj[0].get("par") } if(id) { PrintCommPic.StartMakePic="Y" //图片 //以下4句请参考butPrintFn方法 PrintCommPic.WebUrl=WebIp+"/dthealth/web/DWR.DoctorRound.cls"; PrintCommPic.ItmName = "DHCNURMouldPrn_AYgxheddfxdy"; var subid=id PrintCommPic.MthArr="Nur.DHCMoudData:getVal&parr:"+subid+"!"; PrintCommPic.PrintOut(); PrintCommPic.NurRecId=id //图 片 PrintCommPic.EmrCode=EmrCode //图片 PrintCommPic.EpisodeID=EpisodeID //图片 PrintCommPic.curPages=0; //图片 PrintCommPic.MakeTemp="Y"; //图片 PrintCommPic.filepath=WebIp+"/DHCMG/HLBLMakePictureSet.xml" //图片 //PrintComm.MakeAllPages="Y"; //图片 PrintCommPic.MakePicture(); //图片 alert("成功") } } function butPrintFn() { var mygrid = Ext.getCmp("mygrid"); var rowObj = mygrid.getSelectionModel().getSelections(); var len = rowObj.length; if (len < 1) { alert("请选择需要打印的数据!") return; } else { id = rowObj[0].get("par") } if(id) { PrintComm.RHeadCaption='dddd'; PrintComm.LHeadCaption="3333333"; PrintComm.SetConnectStr(CacheDB); PrintComm.WebUrl=WebIp+"/dthealth/web/DWR.DoctorRound.cls"; PrintComm.ItmName = "DHCNURMouldPrn_AYgxheddfxdy"; var subid=id PrintComm.MthArr="Nur.DHCMoudData:getVal&parr:"+subid+"!"; PrintComm.PrintOut(); } } function qdtj() { var grid=Ext.getCmp('mygrid'); var objCancelRecord=document.getElementById('CancelRecord'); var objRow=grid.getSelectionModel().getSelections(); if (objRow.length == 0) { alert("请先选择一条护理记录!"); return; } else { var flag = confirm("你确定要作废此条记录吗!") if (flag) { SubmitFu(); } } //find(); } function qddelete() { var grid=Ext.getCmp('mygrid'); var objCancelRecord=document.getElementById('CancelRecord'); var objRow=grid.getSelectionModel().getSelections(); if (objRow.length == 0) { alert("请先选择一条护理记录!"); return; } else { var flag = confirm("你确定要删除此条记录吗!") if (flag) { delete1(); } } //find(); } function CancelRecord() { var grid=Ext.getCmp('mygrid'); var objRow=grid.getSelectionModel().getSelections(); if (objRow.length == 0) { alert("请先选择一条护理记录!"); return; } else { var flag = confirm("你确定要删除此条记录吗!") if (flag) { var par=objRow[0].get("par"); var a = tkMakeServerCall("web.DHCNurseRecordComm","CancelMoudRecord", par, session['LOGON.USERID'], session['LOGON.GROUPDESC']); if (a!=0){ alert(a); return; }else { find(); } } } } function delete1() { var grid=Ext.getCmp("mygrid"); var objRow=grid.getSelectionModel().getSelections(); if (objRow.length == 0) { return; } else { var SetStatus=document.getElementById('delete1'); var par = objRow[0].get("par"); var a = cspRunServerMethod(SetStatus.value,par); find(); } } function layoutset() { var GetLayoutItem=document.getElementById('GetLayoutItem'); var ret=cspRunServerMethod(GetLayoutItem.value,session['LOGON.GROUPID'] ,EmrCode); //alert(session['LOGON.GROUPID']+EmrCode); var arr=ret.split("^"); //alert(arr); for (var i=0;i<arr.length;i++) { var itm=arr[i]; if (itm=="") continue; var itmarr=itm.split("|"); var com=Ext.getCmp(itmarr[0]); com.disable(); } //var com=Ext.getCmp("AuditFu"); //com.disable(); } function SetStatusFu(stat) { var grid=Ext.getCmp("mygrid"); //alert(grid) var objRow=grid.getSelectionModel().getSelections(); //alert(objRow) if (objRow.length == 0) { return; } else { var SetStatus=document.getElementById('SetStatus'); //var rw = objRow[0].get("rw"); var id= objRow[0].get("par"); //var id=rw+"||"+chl; var a = cspRunServerMethod(SetStatus.value,id,stat,session['LOGON.USERID'] ); if (a=="") {find();} } } function SubmitFu() { //提交 //alert(); SetStatusFu('S'); } function AuditFu() { //审核 SetStatusFu('A'); } function RefundFu() { //退回 SetStatusFu('V'); } function modccevent() { var grid=Ext.getCmp("mygrid") var objRow=grid.getSelectionModel().getSelections(); var id=objRow[0].get("rw")+"||"+objRow[0].get("chl"); if (objRow.length == 0) { return; } else { var par = objRow[0].get("par"); var Status = objRow[0].get("Status"); //var EpisodeID = objRow[0].get("EpisodeID"); //var Status = objRow[0].get("Status"); //var EpisodeID = objRow[0].get("EpisodeID"); //alert(EpisodeID) //alert(EpisodeID) var lnk= "DHCNurEmrComm.csp?"+"&EmrCode=DHCNURPGD_AYgxheddfx&EpisodeID="+EpisodeID+"&NurRecId="+par ;//"&DtId="+DtId+"&ExamId="+ExamId window.open(lnk,"htm",'toolbar=no,location=no,directories=no,resizable=yes,width=1000,height=800'); } } function inidata(cmbname,desc,quer,parr) { var cmb=Ext.getCmp(cmbname); var querymth=document.getElementById('GetQueryCombox'); if (cmb!=null) { arrgrid=new Array(); var a = cspRunServerMethod(querymth.value, quer, parr , "AddRec",desc); //alert(arrgrid) // debugger; cmb.store.loadData(arrgrid); } } var logonht=1; function newEvent() { // var CurrAdm=selections[rowIndex].get("Adm"); //if (DtId=="")return; //var getcurExamId=document.getElementById('getcurExamId'); //var ExamId=cspRunServerMethod(getcurExamId.value,SpId); // alert(ExamId); //alert(logonht) //alert(EpisodeID) if (logonht==1) { var lnk= "DHCNurEmrComm.csp?"+"&EmrCode=DHCNURPGD_AYgxheddfx&EpisodeID="+EpisodeID ;//"&DtId="+DtId+"&ExamId="+ExamId } if (logonht==0) { var lnk= "DHCNurEmrComm.csp?"+"&EmrCode=DHCNURPGD_AYgxheddfx&EpisodeID="+EpisodeID ;//"&DtId="+DtId+"&ExamId="+ExamId } window.open(lnk,"htm",'toolbar=no,location=no,directories=no,resizable=yes,width=1000,height=800'); } var REC=new Array(); function addtitCon(tobar,lab) { var but1=Ext.getCmp(lab+"but1"); but1.hide(); var but2=Ext.getCmp(lab+"but2"); but2.hide(); tobar.addItem( { xtype:'datefield', format: 'Y-m-d', id:lab+'stdate', value:(diffDate(new Date(),-1)) }, { xtype:'datefield', format: 'Y-m-d', id:lab+'enddate', value:new Date() } ); tobar.addButton( { className: 'new-topic-button', text: "查询", //handler:find, id:lab+'Sch' } ); } function find() { //var StDate = Ext.getCmp("mygridstdate"); //var Enddate = Ext.getCmp("mygridenddate"); var GetQueryData = document.getElementById('GetQueryData'); var mygrid = Ext.getCmp("mygrid"); var parr ="DHCNURPF^"+EpisodeID; arrgrid=new Array(); //alert(EpisodeID); arrgrid = new Array(); MeasureRel = new Hashtable(); //REC = new Array(); var adm = EpisodeID; var ward=Ext.getCmp("patward"); var CCEV=Ext.getCmp("CCERR"); //var StDate = Ext.getCmp("mygridstdate"); //var Enddate = Ext.getCmp("mygridenddate"); var loc=session['LOGON.CTLOCID']; var IfCncelRec=Ext.getCmp("IfCancelRec").getValue(); //alert(StDate.vlaue); var parr = "DHCNURPGD_AYGXHEDDFX^"+adm+"^"+loc+"^"+"^"+"^"+IfCncelRec; //var parr = "DHCNURXHFFDD^"+adm+"^"+loc+"^"+StDate.value+"^"+Enddate.value+"^"+IfCncelRec; //alert(parr); //var a = cspRunServerMethod(GetQueryData.value, "web.DHCNurblsjflwh:MoudData2", "parr$" +parr,"AddRec"); //var a = cspRunServerMethod(GetQueryData.value, "web.DHCNurblsjflwh:MoudDatabyadm", "parr$" +parr,"AddRec"); //alert(a); //mygrid.store.loadData(arrgrid); var mygrid = Ext.getCmp("mygrid"); mygrid.store.on("beforeLoad",function(){ mygrid.store.baseParams.parr=parr; //传参数,根据原来的方式修改 }); //mygrid.getStore().addListener('load',handleGridLoadEvent); //护理记录表格需要:日期转换及出入量统计行加颜色 mygrid.store.load({ params:{ start:0, limit:30 } }) } function AddRec(str) { //var a=new Object(eval(str)); //alert(str); //var obj = eval('(' + str + ')'); //alert(str); //obj.CareDate=getDate(obj.CareDate); //obj.PregHPregDate=getDate(obj.PregHPregDate); var obj = eval('(' + str + ')'); arrgrid.push(obj); //debugger; } //Ext.util.Format.dateRenderer //ext.util.format.date(ext.getcmp("控件id").getvalue(),y-m-d)Y-m-d H:m:s function gettime() { var a=Ext.util.Format.dateRenderer('h:m'); return a; } function diffDate(val,addday){ var year=val.getFullYear(); var mon=val.getMonth(); var dat=val.getDate()+addday; var datt=new Date(year,mon,dat); return formatDate(datt); } function getDate(val) { var a=val.split('-'); var dt=new Date(a[0],a[1]-1,a[2]); return dt; } function formatDate(value){ try { return value ? value.dateFormat('Y-m-d') : ''; } catch(err) { return ''; } }; function MultiFun() { var GetMulti=document.getElementById('GetMulti'); var getcheckform=document.getElementById('getcheckform'); var ret= cspRunServerMethod(GetMulti.value, "DHCNUR6"); var grid=Ext.getCmp('mygrid'); var tt=ret.split('^'); var ab=""; for (i=0;i<tt.length;i++) { if (tt[i]=="") continue; //debugger; var dd=grid.getSelectionModel().getSelections()[0].get(tt[i]); if (dd==undefined)dd="" if (dd!="") ab=ab+dd+"^"+tt[i]+"!"; else ab=ab+"^"+tt[i]+"!"; } var tabstr=cspRunServerMethod(getcheckform.value, "DHCNUR6",ab); var tabarr=tabstr.split('!'); var tbitm=new Array(); for (i = 0; i < tabarr.length; i++) { if (tabarr[i] == "") continue; var itmm = tabarr[i].split('^'); tbitm.push({ xtype: 'panel', id: itmm[0], title: itmm[1], //height: 1000, layout: 'absolute', //frame:false, //palin:false, closable: false, items: eval(itmm[2]) }) //alert(itmm[2]); } var subttab=new Ext.TabPanel({ activeTab : 0,// autoTabs: true, resizeTabs:true, //height:200, // width:300, enableTabScroll:true, items:tbitm }); var window = new Ext.Window({ title: '多选', width: 450, height: 480, id:'mulForm', autoScroll: true, layout: 'fit', plain: true, frame:true, items: subttab , buttons:[{id:'mulselbut',text:'保存',handler:SaveMulCheck}] }); window.show(); } var checkret=""; function SaveMulCheck() { checkret=""; var gform=Ext.getCmp("mulForm"); gform.items.each(eachItem, this); var aa=checkret.split('^'); var ht = new Hashtable(); //debugger; for (i = 0; i < aa.length; i++) { if (aa[i] == "") continue; var itm = aa[i].split('|'); var aitm = itm[0].split('_'); if (ht.contains(aitm[0])) { var val=ht.items(aitm[0]) ht.remove(aitm[0]); var dd=val+";"+itm[1]; ht.add(aitm[0],dd); } else { ht.add(aitm[0], itm[1]) } } var mygrid=Ext.getCmp('mygrid'); for(var i in ht.keys()) { var key =ht.keys()[i]; var restr = ht.items(key); mygrid.getSelectionModel().getSelections()[0].set(key,restr); } alert(checkret); } function add(a1, a2){ attenitm.push({ xtype:'panel', id: a1, title: a2, region:'center', height:1000, layout:'fit', closable:true, items:[] }) } function multiSel(ret) { var grid1=Ext.getCmp('multigrid'); var code=grid1.getSelectionModel().getSelections()[0].get("itm3"); var itname=grid1.getSelectionModel().getSelections()[0].get("itm4"); var getcheckform=document.getElementById('getcheckform'); alert(itname+"!!"+code) var ret=cspRunServerMethod(getcheckform.value, "DHCNUR6",itname,code,""); var CareDate=grid.getSelectionModel().getSelections()[0].get("CareDate"); var aa=new Array(); aa=eval(aa); /* debugger; for(var i=0;i<items.length;i++){ panl.remove(items[i]); } panl.doLayout(); panl.add(new Ext.form.Checkbox({ id:"addboxModule", name:"userModule", boxLabel : 'moduleName' }));*/ panl.doLayout(); debugger; } function addMulitm(ret) { var grid1=Ext.getCmp('multigrid'); var Plant = Ext.data.Record.create([ {name:'itm1'}, {name:'itm2'}, {name:'itm3'}, {name:'itm4'} ]); var itm=ret.split('^'); for (i = 0; i < itm.length; i++) { if (itm[i]=="") continue; var aa=itm[i].split('!'); var count = grid1.store.getCount(); var r = new Plant({ itm1: aa[0], itm2: "", itm3:aa[1], itm4:aa[2] }); grid1.store.commitChanges(); grid1.store.insert(count, r); } return; } function Measure1() { selections = grid.getSelectionModel().getSelections(); var arr = new Array(); var a = cspRunServerMethod(pdata1, "", "DHCNURMeasure", EpisodeID, ""); arr = eval(a); var window = new Ext.Window({ title: '医嘱', width: 550, height: 450, autoScroll: true, layout: 'absolute', plain: true, frame:true, //modal: true, //bodyStyle: 'padding:5px;', ///buttonAlign: 'center', items: arr }); var mydate=new Date(); var butord=Ext.getCmp('_Button5'); butord.on=('click',OrdSch1); window.show(); } function InOutNod() { //小结 var SaveOutIn=document.getElementById('SaveOutIn'); var objRow=grid.getSelectionModel().getSelections(); if (objRow.length == 0) { Ext.Msg.alert('提示', "请先点'统计'按钮!"); return; } else { var countstr=""; //合计项 var countcls=ICountCls+"&"+OCountCls; var tt=countcls.split('&'); for (i=0;i<tt.length;i++) { if (tt[i]=="") continue; countstr=countstr+tt[i]+"|"+objRow[0].get(tt[i])+"^"; } var CareDate=objRow[0].get("CareDate"); var CareTime=objRow[0].get("CareTime"); var inamount=objRow[0].get(DisplaySumInAmount); var OutQtAmount=objRow[0].get(DisplaySumOutAmount); var InPart=objRow[0].get(PartInAmount); var OutPart=objRow[0].get(PartOutAmount); //var StatTime=objRow[0].get("Item1"); //var StatHours=objRow[0].get("Item2"); var CaseMeasure=objRow[0].get("CaseMeasure"); var CaseMeasureArr=CaseMeasure.split(" "); if (CaseMeasureArr.length>1) { var StatTime=CaseMeasureArr[0]; var StatHours=CaseMeasureArr[1]; } else { var StatTime=""; var StatHours=""; } var str=countstr+"^SumInAmount|"+inamount+"^SumOutAmount|"+OutQtAmount+"^CareDate|"+formatDate(CareDate)+"^CareTime|"+CareTime+"^Typ|Nod^"+"InPart|"+InPart+"^OutPart|"+OutPart+"^StatTime|"+StatTime+"^StatHours|"+StatHours; var diaggrid = Ext.getCmp('diaggrid'); if (diaggrid) { var selModel=diaggrid.getSelectionModel(); if (selModel.hasSelection()) { var objDiagRow = selModel.getSelections(); DiagnosDr=objDiagRow[0].get("rw"); } else { DiagnosDr=""; } } else { DiagnosDr=""; } str=str+"^DiagnosDr|"+DiagnosDr; //alert(str); var a=cspRunServerMethod(SaveOutIn.value,EpisodeID,str,session['LOGON.USERID'],"DHCNUR6"); find(); } } function InOutSum() { var SaveOutIn=document.getElementById('SaveOutIn'); var objRow=grid.getSelectionModel().getSelections(); if (objRow.length == 0) { Ext.Msg.alert('提示', "请先点'统计'按钮!"); return; } else { var countstr=""; //合计项 var countcls=ICountCls+"&"+OCountCls; var tt=countcls.split('&'); for (i=0;i<tt.length;i++) { if (tt[i]=="") continue; countstr=countstr+tt[i]+"|"+objRow[0].get(tt[i])+"^"; } var CareDate=objRow[0].get("CareDate"); var CareTime=objRow[0].get("CareTime"); var inamount=objRow[0].get(DisplaySumInAmount); var OutQtAmount=objRow[0].get(DisplaySumOutAmount); var InPart=objRow[0].get(PartInAmount); var OutPart=objRow[0].get(PartOutAmount); //var StatTime=objRow[0].get("Item1"); //var StatHours=objRow[0].get("Item2"); var CaseMeasure=objRow[0].get("CaseMeasure"); var CaseMeasureArr=CaseMeasure.split(" "); if (CaseMeasureArr.length>1) { var StatTime=CaseMeasureArr[0]; var StatHours=CaseMeasureArr[1]; } else { var StatTime=""; var StatHours=""; } var str=countstr+"^SumInAmount|"+inamount+"^SumOutAmount|"+OutQtAmount+"^CareDate|"+formatDate(CareDate)+"^CareTime|"+CareTime+"^Typ|Sum^"+"InPart|"+InPart+"^OutPart|"+OutPart+"^StatTime|"+StatTime+"^StatHours|"+StatHours; //alert(str); var diaggrid = Ext.getCmp('diaggrid'); if (diaggrid) { var selModel=diaggrid.getSelectionModel(); if (selModel.hasSelection()) { var objDiagRow = selModel.getSelections(); DiagnosDr=objDiagRow[0].get("rw"); } else { DiagnosDr=""; } } else { DiagnosDr=""; } str=str+"^DiagnosDr|"+DiagnosDr; //alert(str); var a=cspRunServerMethod(SaveOutIn.value,EpisodeID,str,session['LOGON.USERID'],"DHCNUR6"); find(); } } function OrdSch1(){ // var CurrAdm=selections[rowIndex].get("Adm"); selections = grid.getSelectionModel().getSelections(); var arr = new Array(); var a = cspRunServerMethod(pdata1, "", "DHCPatOrdList", EpisodeID, ""); arr = eval(a); var window = new Ext.Window({ title: '医嘱', width: 550, height: 550, autoScroll: true, layout: 'absolute', plain: true, frame: true, //modal: true, //bodyStyle: 'padding:5px;', ///buttonAlign: 'center', items: arr }); var butin=Ext.getCmp('ordgridbut1'); butin.text="确定"; //debugger; butin.on('click',SureIn); window.show(); } function OrdSch() { // var CurrAdm=selections[rowIndex].get("Adm"); selections = grid.getSelectionModel().getSelections(); var arr = new Array(); var a = cspRunServerMethod(pdata1, "", "DHCPatOrdList", EpisodeID, ""); arr = eval(a); var window = new Ext.Window({ title: '医嘱', width: 450, height: 550, autoScroll: true, layout: 'absolute', plain: true, frame:true, //modal: true, //bodyStyle: 'padding:5px;', ///buttonAlign: 'center', items: arr }); var mydate=new Date(); var grid1=Ext.getCmp("ordgrid"); tobar=grid1.getTopToolbar(); tobar.addItem( { xtype:'datefield', format: 'Y-m-d', id:'ordgridstdate', value:(diffDate(new Date(),-1)) }, { xtype:'datefield', format: 'Y-m-d', id:'ordgridenddate', value:new Date() } ); tobar.addButton( { className: 'new-topic-button', text: "查询", //handler:find, id:'ordgridSch' } ); var butin=Ext.getCmp('ordgridbut2'); butin.hide(); var butin=Ext.getCmp('ordgridbut1'); butin.text="确定"; //debugger; butin.on('click',SureIn); var butschord=Ext.getCmp('ordgridSch'); butschord.on('click',SchOrd); window.show(); } var condata=new Array(); function add(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o) { //OrdDate,OrdTime,ARCIMDesc,PriorDes,Meth,PHFreq,Dose,PhQtyOrd,OrdStat,Doctor,Oew,OrdSub,Sel,SeqNo condata.push({ OrdDate: a, OrdTime: b, ARCIMDesc: c, PriorDes: d, Meth: e, PHFreq: f, Dose: g, DoseUnit: h, PhQtyOrd: i, OrdStat: j, Doctor: k, Oew: l, OrdSub: m, SeqNo: o }); } function printNurRec() { var GetPrnSet=document.getElementById('GetPrnSet'); var GetHead=document.getElementById('GetPatInfo'); var ret=cspRunServerMethod(GetHead.value,EpisodeID); var hh=ret.split("^"); //alert("ddd"); //debugger; var a=cspRunServerMethod(GetPrnSet.value,"DHCNUR6",EpisodeID); //page, caredattim, prnpos, adm,Typ,user if (a=="") return; var GetLableRec=document.getElementById('GetLableRec'); var LabHead=cspRunServerMethod(GetLableRec.value,"DHCNUR6^"+session['LOGON.CTLOCID']); var tm=a.split("^"); var stdate="" //tm[2]; var stim="" //tm[3]; var edate="" //tm[4]; var etim="" //tm[5]; //PrintComm.RHeadCaption=hh[1]; //PrintComm.LHeadCaption=hh[0]; //PrintComm.RFootCaption="第"; //PrintComm.LFootCaption="页"; //PrintComm.LFootCaption=hh[2]; PrintComm.TitleStr=ret; PrintComm.SetPreView("1"); PrintComm.PrnLoc=session['LOGON.CTLOCID']; var aa=tm[1].split("&"); //PrintComm.stPage=aa[0]; //if (aa.length>1) PrintComm.stRow=aa[1]; PrintComm.stPage=0; PrintComm.stRow=0; PrintComm.previewPrint="1"; //是否弹出设置界面 //PrintComm.stprintpos=tm[0]; PrintComm.stprintpos=0; //alert(PrintComm.Pages); PrintComm.SetConnectStr(CacheDB); PrintComm.ItmName = "DHCNurPrnMould6"; //338155!2010-07-13!0:00!! //debugger; var parr=EpisodeID+"!"+stdate+"!"+stim+"!"+edate+"!"+etim+"!DHCNUR6"; PrintComm.ID = ""; PrintComm.MultID = ""; //PrintComm.MthArr="web.DHCConsult:getConsultInfo&id:"+myid; if(LabHead!="")PrintComm.LabHead=LabHead; PrintComm.SetParrm(parr); // ="EpisodeId" ; //"p1:0^p2:" PrintComm.PrintOut(); var SavePrnSet=document.getElementById('SavePrnSet'); //debugger; var CareDateTim=PrintComm.CareDateTim; if (CareDateTim=="") return ; var pages=PrintComm.pages; var stRow=PrintComm.stRow; //debugger; var stprintpos=PrintComm.stPrintPos; //alert(pages+","+CareDateTim+","+stprintpos+","+EpisodeID+","+"DHCNUR6"+","+session['LOGON.USERID']+","+PrintComm.PrnFlag); //PrnFlag==1说明是打印预览 if (PrintComm.PrnFlag==1) return; //如果原记录保存打印到第8页则当打印第8页之前页时不保存打印记录 if (pages<aa[0]) return; var a=cspRunServerMethod(SavePrnSet.value,pages,CareDateTim,stprintpos,EpisodeID,"DHCNUR6",session['LOGON.USERID']); //page, caredattim, prnpos, adm,Typ,user //find(); } function eachItem(item,index,length) { if (item.xtype=="checkbox") { //修改下拉框的请求地址 //debugger; if (item.checked==true) checkret=checkret+item.id+"|"+item.boxLabel+"^"; } if (item.items && item.items.getCount() > 0) { item.items.each(eachItem, this); } } function DBC2SBC(str) { var result = ''; if ((str)&&(str.length)) { for (i = 0; i < str.length; i++) { code = str.charCodeAt(i); if (code >= 65281 && code <= 65373) { result += String.fromCharCode(str.charCodeAt(i) - 65248); } else { if (code == 12288) { result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32); } else { result += str.charAt(i); } } } } else{ result=str; } return result; }
又是一个DP算法问题,实在想不出来了,问问高手
Problem Description A small boy named Tommy has some toy centipedes that are a series of 1 centimeter segments. Tommy assembles his centipedes to any length he likes and places them on a 30 x 30 centimeter board that allows the centipedes to travel in 1 centimeter wide tracks that criss-cross the board. The centipedes travel only parallel to either the x or y axis on the board. Centipede segments of the same centipede advance at the same time and centipedes advance in cyclic numerical order (all of centipede 0 first, then 1, etc.). When more than one segment of two or more centipedes occupy the same x,y coordinate, there is a centipede collision. Anytime a collision occurs, all segments occupying the collistion site stop and continue to occupy the collision site. All remaining segments on a centipede detach from the segment involved in the collision and continue their march until another collision occurs or an existing collision site is encountered or until the segments fall off the edge of the board. Anytime a segment enters a collision site, it becomes part of the collision. Since Tommy left home without his centipede set, his mother has hired you to write a simulation program for his entertainment. Your program will simulate his board with a text printout of his grids. For example, Tommy may simulate 5 centipedes on his board that start out as shown on the grid on the left and finish as shown on the grid on the right (note the example grid is only 10 x 10 whereas Tommy's is 30 x 30.) 9 . . . . . . . . . . . . . . . . . . . . 8 . . . . . . . . . . . . . . . . . . . . 7 1 1 1 1 1 . . . . . . . . . . X . . . X 6 . 0 . . . . . . . . . . . . . . . . . . 5 . 0 . . . . . . . 3 . . . . . . . . . . 4 . 0 . . . 2 . . . 3 . . . . . . . . . . 3 . 0 . . . 2 . . . 3 . . . . . . . . . . 2 . . . . . 2 . . . 3 . . . . . . . . . . 1 . . . . . 2 . . . 3 . . . . . . . . . . 0 . . . . . 2 4 4 4 3 . X . . . . . . . . Y Y /X /X Where 0 represents a centipede segment traveling from top to bottom, 1 represents a centipede segment traveling from left to right, 2 represents a centipede segment traveling from bottom to top, 3 represents a centipede segment traveling from bottom to top, 4 represents a centipede segment traveling from right to left, and X represents a collision site involving 2 or more segments. Your program will simulate up to 10 centipedes that travel on a 30 x 30 board. Tommy has 100 segments that he may use in his simulation. Of course, no centipede can be longer than 30 segments. Input Input to your program will consist of a series of simulation sets. The first line of each input set will be a single integer (1 <= N <= 10) representing the number of centipedes in the simulation. (Centipedes are numbered 0 through N-1 in the same order as the input.) The next N lines will each represent one centipede and will contain a single direction character followed by 3 integers. The direction character can be `U', `D', `L', or `R' for ``Up", ``Down", ``Left", or ``Right" respectively and indicate the direction of travel. The next integer (1 <= L <= 30) indicates the length of the centipede in segments. The second and third integers indicate the x,y coordinates of the lead segment (0 <= x & y <= 29). The next L-1 segments of the centipede occupy the L-1 board positions extending in the opposite direction from the direction of travel starting adjacent to the lead segment. You can be assured that no centipede segment will originate off the board nor will the original configuration involve any collisions. Output For each input simulation set, you should print (exactly) the following lines as the first two lines of output (starting in column 4). 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 The next 30 lines represent the state of the board after the simulation has completed (all centipede segments have entered a collision site or fallen off the edge of the board). Columns 1 and 2 should contain the row number (rows are numbered 29 down to 00) with leading zeroes. Even numbered columns between 4 and 62 (inclusive) represent the contents of the board cells. Board cells can contain either an X or a period. A period represents an empty cell and X represents a cell that contains 2 or more centipede segments involved in a collision. The last line of each output set is a blank line. Follow the Sample Output for the exact format of the expected output. Sample Input 10 R 9 11 23 U 8 11 17 U 5 15 15 U 5 15 8 D 9 23 13 U 6 23 6 R 9 8 9 L 13 17 0 U 12 13 11 L 5 20 9 Sample Output 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 29 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 . . . . . . . . . . . X . . . X . . . . . . . . . . . . . . 22 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 09 . . . . . . . . . . . . . X . X . . . . . . . X . . . . . . 08 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 06 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 05 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 03 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 02 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 00 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
关于package的一个难题
我在硬盘的D,E分区上做这个实验: <br />在E:\she 盘上建一Display.java源文件并编译好: <br />public class Display{ <br /> public void printout(){ <br />  System.out.println("the class Display say......"); <br /> } <br />} <br /> <br />在D盘上建一DisplayOthers.java源文件: <br />import she.*; <br />public class DisplayOthers{ <br /> public static void main(String[] args){ <br />  Display dis = new Display(); <br />  dis.printout(); <br /> } <br />} <br /> <br />设置classpath为E:\   , 在D:\下编译DisplayOthers出现错误,找不到Display ! <br />这是为什么? <br /> <br /><br /><strong>问题补充:</strong><br />首先感谢大家的回答!特别感谢 <span style="font-size: xx-large;">asin</span>的回答. <br />但是我按照asin的做法做了,还是找不到类Display!!! <br />我还在想办法......<br /><strong>问题补充:</strong><br />我是这么编译Display.java: <br />E:\&gt; javac -d . Display.java <br />这时的classpath的值不要紧的吧. <br /> <br />接着编译DisplayOthers.java: <br />D:\&gt; set classpath=e:\ <br />D:\&gt; javac DisplayOthers.java <br />这时就出现上述错误! <br /><br /><strong>问题补充:</strong><br />我在Eclipse环境下做这个实验没有问题.<br /><strong>问题补充:</strong><br />我现在的问题是编译不了DisplayOthers.java
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
源码阅读(19):Java中主要的Map结构——HashMap容器(下1)
(接上文《源码阅读(18):Java中主要的Map结构——HashMap容器(中)》) 3.4.4、HashMap添加K-V键值对(红黑树方式) 上文我们介绍了在HashMap中table数组的某个索引位上,基于单向链表添加新的K-V键值对对象(HashMap.Node&lt;K, V&gt;类的实例),但是我们同时知道在某些的场景下,HashMap中table数据的某个索引位上,数据是按照红黑树
c++制作的植物大战僵尸,开源,一代二代结合游戏
    此游戏全部由本人自己制作完成。游戏大部分的素材来源于原版游戏素材,少部分搜集于网络,以及自己制作。 此游戏为同人游戏而且仅供学习交流使用,任何人未经授权,不得对本游戏进行更改、盗用等,否则后果自负。 目前有六种僵尸和六种植物,植物和僵尸的动画都是本人做的。qq:2117610943 开源代码下载 提取码:3vzm 点击下载--&gt; 11月28日 新增四种植物 统一植物画风,全部修
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成喔~) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
深度学习图像算法在内容安全领域的应用
互联网给人们生活带来便利的同时也隐含了大量不良信息,防范互联网平台有害内容传播引起了多方面的高度关注。本次演讲从技术层面分享网易易盾在内容安全领域的算法实践经验,包括深度学习图
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程实用技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法,并会持续更新。
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
"狗屁不通文章生成器"登顶GitHub热榜,分分钟写出万字形式主义大作
前言 GitHub 被誉为全球最大的同性交友网站,……,陪伴我们已经走过 10+ 年时间,它托管了大量的软件代码,同时也承载了程序员无尽的欢乐。 上周给大家分享了一篇10个让你笑的合不拢嘴的Github项目,而且还拿了7万+个Star哦,有兴趣的朋友,可以看看, 印象最深刻的是 “ 呼吸不止,码字不停 ”: 老实交代,你是不是经常准备写个技术博客,打开word后瞬间灵感便秘,码不出字? 有什么
推荐几款比较实用的工具,网站
1.盘百度PanDownload 这个云盘工具是免费的,可以进行资源搜索,提速(偶尔会抽风????) 不要去某站买付费的???? PanDownload下载地址 2.BeJSON 这是一款拥有各种在线工具的网站,推荐它的主要原因是网站简洁,功能齐全,广告相比其他广告好太多了 bejson网站 3.二维码美化 这个网站的二维码美化很好看,网站界面也很...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
相关热词 c# plc s1200 c#里氏转换原则 c# 主界面 c# do loop c#存为组套 模板 c# 停掉协程 c# rgb 读取图片 c# 图片颜色调整 最快 c#多张图片上传 c#密封类与密封方法
立即提问