怎么在微信上做小程序

怎么在微信上做小程序,第1张

微信版本升级后,打开微信,点击底部的“发现”这个菜单项,就会发现升级后的“发现”菜单里,增加了“小程序”这样一个功能。

2点击打开小程序后,可以看到有附近的小程序和我的小程序,附近的小程序是所在定位周边的小程序。

下面的小程序列表可以看到的是我们之前打开过的一些小程序,如果有自己觉得很好用的小程序就可以点击左上角,添加到我的小程序里面。

3微信小程序还有具有搜索功能,打开搜索页面可以输入想要找的小程序。

您正在看的汇编语言是:hello,world!win32汇编小程序。

首先我们看一个“复杂”的Win32汇编程序

程序用来显示一个消息框

--------------------------------------------------

;文件名:3asm

386

model flat ,stdcall

NULL equ 0

MB_OK equ 0

ExitProcess PROTO :Dword

MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:Dword

includelib kernel32lib

includelib user32lib

data

szText db "Hello, world!",0

szCaption db "Win32Asm",0

code

start:

push MB_OK

lea eax,szCaption

push eax

lea eax,szText

push eax

push NULL

call messageboxa

xor eax,eax

push eax

call exitprocess

end start

--------------------------------------------------

编译链接:

分下面两步进行:

ml /c /coff 3asm

link /subsystem:Windows /libpath:d:\masm7\lib 3obj

第一步编译生成3obj文件

/c 表示只编译,不链接

/coff 表示生成COFF格式的目标文件

第二步链接生成3exe文件

/subsystem:windows 表示生成Windows文件

/libpath:d:\masm7\lib 表示引入库的路径为:d:\masm7\lib。

在安装Masm32后,引入库位于Masm32\Lib目录下。

也可设置环境变量Lib的值:在dos提示符下键入Set Lib=d:\masm7\lib,这样“链接”就可简单写成:

link /subsystem:Windows 3obj,试想一下,在程序调试过程中,修改源程序是常用的事啦,每次编译链接都要带/libpath:那该有多烦人呢。当然,我们也可在源程序中直接给出引入库的位置,这样,链接时就方便啦,如下:

includelib d:\masm7\lib\kernel32lib

includelib d:\masm7\lib\user32lib

--------------------------------------------------

执行:在dos提示符下键入3,回车,出现一个消息框,哈哈,真正的Win32程序!

--------------------------------------------------

深入分析:

看一下源程序,有这么两行:call messageboxa\call exitprocess。大家一看都知道,这是子程序调用,但是我们并没写这样的子程序,事实上,这些是API函数。作为函数,我们在调用时可能需要传送给函数一些参数,程序怎么知道传送的参数有哪些,类型是什么呢?就是通过函数原型定义,如下所示:

ExitProcess PROTO :Dword

MessageBoxA PROTO :DWORD,:DWORD,:DWORD,:Dword

可以看出,ExitProcess有一个参数,MessageBoxA有四个参数,这些参数都是Dword类型。

在Win32中,参数的传递都是通过堆栈来完成的。象MessageBoxA这个函数有四个参数,究竟是左边的先压入堆栈还是右边的先入栈呢?model flat,stdcall给出了答案。stdcall 指定参数是从右到左压入堆栈的,且调整堆栈是在子程序返回时完成的。在源程序中不需要用“add sp,值”来保持堆栈平衡。对MessageBox,在API手册中是这样定义的:

int MessageBox(

HWND hWnd, // handle of owner window

LPCTSTR lpText, // address of text in message box

LPCTSTR lpCaption, // address of title of message box

UINT uType &n

您正在看的汇编语言是:hello,world!win32汇编小程序。

bsp; // style of message box

)

;所以会有我们的程序段:

push MB_OK

lea eax,szCaption

push eax

lea eax,szText

push eax

push NULL

call messageboxa

看看上面的程序,不难想到,假如在写程序时,少往堆栈里压入一个数据,那将是一个致命的错误。能不能将这种检查参数个数是否匹配的工作交给计算机来完成呢?这是可以的,INVOKE指令可以帮助我们完成这样的工作。假如你的参数个数不正确,连接器将给出错误提示。所以,极力建议你使用invoke代替call来调用子程序,当然,这不是绝对的。使用invoke上面的指令就可简写成下面的样子,看起来简炼多啦,查错也方便啦!

invoke messageboxa, NULL,addr szText,addr szCaption,MB_OK

另外,像NULL,MB_OK都是一些常量,这样的常量有很多,还有很多的结构,如果在我们的程序中一开始都写这么多的东西,可能一下子就把你吓怕啦,也容易出错,更不便于看程序的主要部分。hutch整理的Windowsinc包含了WIN32编程所需要的常量和结构体的定义,我们可简单的用一个include指令将这些常量和结构的定义插入到我们的文件中:

include d:\masm32\include\Windowsinc

但是Windowsinc中并不包含函数原型的声明,还要从其他的头文件中得到函数原型的声明,比如:messageboxa的原型声明在user32inc文件中,exitprocess在kernel32inc文件中。这些头文件都放在 \masm32\include文件夹下。

还有,要用Windowsinc,必须使用option casemap:none,它的意思是告诉 MASM 要区分符号的大小写,譬如:start和START是不一样的。否则,一个小小的程序,可能会出成百上千的错误呀!

其他的,就不再细说啦,到此,上面的程序可重新修改如下:

-----------------------------------------------------------------

;最终的结果

386 ;表示要用到386指令

model flat,stdcall ;32位程序,要用flat啦!;stadcall,标准调用

option casemap:none ;区别大小写

include Windowsinc ;包括常量及结构定义

include kernel32inc ;函数原型声明

include user32inc

includelib kernel32lib ;用到的引入库

includelib user32lib

data;数据区,定义2个字符串

szText db "Hello, world!",0

szCaption db "Win32Asm",0

code ;代码开始执行处

start:

invoke MessageBox,NULL,addr szText,addr szCaption,MB_OK

;调用MessageBoxAPI函数

invoke ExitProcess,NULL ;程序退出

end start;结束

------------------------------------

编译链接:

ml /c /coff /I d:\masm7\include 3asm ;注意开关符识别大小写

link /subsystem:Windows /libpath:d:\masm7\lib 3obj

/I d:\masm7\include 表示inc文件的位置,也可设置环境变量Set include=d:\masm7\include来简化 *** 作,也可在程序中明确指出inc的位置。

前面讲的都是用两条指令来完成编译链接,实际上用一条指令也可完成,如下:

ml /coff /I d:\masm7\include 3asm /link /subsystem:Windows /libpath:lib

若inc及引入库在源程序中都明确指出其位置,则可简化为:

ml /coff 3asm /link /subsystem:

我也是刚学Applet的,下面是我写的,有什么问题可以提出来,大家一起研究

import javaappletApplet;

import javaawtButton;

import javaawtColor;

import javaawtGraphics;

import javaawtTextField;

import javaawteventMouseAdapter;

import javaawteventMouseEvent;

import javaxswingJLabel;

public class oval extends Applet{

private TextField tf1;

private JLabel jb1;

private JLabel jb2;

private int x,y;

Button b1;

Button b2;

private Graphics g;

private String i;

Thread t = new Thread();

public void init(){

g = thisgetGraphics();

jb1=new JLabel();

jb1setText("半径(cm)=");

add(jb1);

tf1=new TextField(2);

add(tf1);

setSize(700, 600);

b1 = new Button("输出");

add(b1);

b1addMouseListener(new MouseAdapter() {

@Override

public void mousePressed(MouseEvent e) {

i=tf1getText();

gsetColor(ColorWHITE);

gfillRect(10, 25, getWidth(), getHeight());

gsetColor(Colorred);

gdrawString("面积="+IntegerparseInt(i)IntegerparseInt(i)314,50,40);

gsetColor(ColorBLACK);

gdrawString("圆:", 50, 160);

gdrawOval(60, 160,IntegerparseInt(i),IntegerparseInt(i));

gdrawString("线:", 50, 60);

gdrawLine(100, 60, 100+IntegerparseInt(i), 60);

}

});

}

}

Java仿抖音短视频小程序开发 全栈式实战项目免费下载

85xy

Java仿抖音短视频小程序开发源码(仿抖音短视频程序开发)是很好用的仿抖音短视频小程序开发的源码。Java仿抖音短视频小程序开发源码功能强大,使用简便,给用户带来很多开发便利

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

我们修的汇编语言是JAVA,怎奈自己学术不精现在此象高手请教小程序是期末做课程设计用的题目有日历记事本,学籍管理系统,计算器,画图程序其他的也可以现需要两个程序,谢谢大家!

解析:

import javaio;

import javautilCalendar;

import javaawt;

import javaawtevent;

import javaxswing;

public class NoteBook extends JFrame implements ActionListener,ItemListener,WindowListener,MouseListener{

Container c = thisgetContentPane();

JMenuBar jmb = new JMenuBar();

JColorChooser jcc = new JColorChooser();

JMenu jm1 = new JMenu("文件(F)");

JMenu jm2 = new JMenu("编辑(E)");

JMenu jm3 = new JMenu("格式(O)");

JMenu jm4 = new JMenu("查看(V)");

JMenu jm5 = new JMenu("帮助(H)");

JMenuItem jmi1 = new JMenuItem("新建(N)");

JMenuItem jmi2 = new JMenuItem("打开(O)");

JMenuItem jmi3 = new JMenuItem("保存(S)");

JMenuItem jmi4 = new JMenuItem("退出(X)");

JMenuItem jmi5 = new JMenuItem("撤消(U)");

JMenuItem jmi6 = new JMenuItem("复制(C)");

JMenuItem jmi7 = new JMenuItem("粘贴(P)");

JMenuItem jmi8 = new JMenuItem("剪切(T)");

JMenuItem jmi12 = new JMenuItem("日期和时间");

JMenuItem jmi9 = new JMenuItem("字体(E)");

JCheckBoxMenuItem jcbmi = new JCheckBoxMenuItem("自动换行(W)");

JMenuItem jmi10 = new JMenuItem("删除(S)");

JMenuItem jmi11 = new JMenuItem("背景颜色(H)");

JTextArea jta = new JTextArea(15,15);

JScrollPane jsp = new JScrollPane(jta);

PupolMenu pm = new Pupolmenu();

NoteBook(){

thisaddWindowListener(this);

csetLayout(new BorderLayout());

cadd(jmb,BorderLayoutNORTH);

thissetTitle("新建 文本文档");

jmbadd(jm1);

jm1setMnemonic('f');

jm1addActionListener(this);

jmbadd(jm2);

jm2setMnemonic('e');

jmbadd(jm3);

jm3setMnemonic('o');

jmbadd(jm4);

jm4setMnemonic('v');

jmbadd(jm5);

jm5setMnemonic('h');

jm1add(jmi1);

jmi1addActionListener(this);

jmi1setAccelerator(KeyStrokegetKeyStroke('N',EventCTRL_MASK,false));

jm1addSeparator();

jm1add(jmi2);

jmi2setAccelerator(KeyStrokegetKeyStroke('O',EventCTRL_MASK,false));

jmi2addActionListener(this);

jm1addSeparator();

jm1add(jmi3);

jmi3setAccelerator(KeyStrokegetKeyStroke('S',EventCTRL_MASK,false));

jmi3addActionListener(this);

jm1addSeparator();

jm1add(jmi4);

jmi1setMnemonic('n');

jmi2setMnemonic('o');

jmi3setMnemonic('s');

jmi4setMnemonic('x');

jmi4addActionListener(this);

jm2add(jmi5);

jm2addSeparator();

jm2add(jmi6);

jm2addSeparator();

jm2add(jmi7);

jm2addSeparator();

jm2add(jmi8);

jm2add(jmi12);

jmi12addActionListener(this);

jm3add(jcbmi);

jcbmiaddItemListener(this);

jm3addSeparator();

jm3add(jmi9);

jm4add(jmi10);

jmi10addActionListener(this);

jm5add(jmi11);

jmi11addActionListener(this);

cadd(jsp);

thissetDefaultCloseOperation(JFrameDISPOSE_ON_CLOSE);

thissetSize(500,500);

thissetVisible(true);

}

public void actionPerformed(ActionEvent e){

if(egetSource()==jmi1){

jtasetText("");

thissetTitle("无标题 - 记事本");

}

if(egetSource()==jmi2){

File f1;

JFileChooser jfc1 = new JFileChooser();

int num1 = jfc1showOpenDialog(this);

if(num1==JFileChooserAPPROVE_OPTION){

try{

f1 = jfc1getSelectedFile();

thissetTitle(f1getName());

FileReader fr = new FileReader(f1);

BufferedReader br = new BufferedReader(fr);

String str;

while((str = brreadLine())!=null){

jtasetText(str);

}

frclose();

brclose();

}catch(FileNotFoundException e1){

e1printStackTrace();

}catch(IOException e2){

e2printStackTrace();

}

}

}

if(egetSource()==jmi3){

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2showSaveDialog(this);

if(num2==JFileChooserAPPROVE_OPTION){

f2=jfc2getSelectedFile();

thissetTitle(f2getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bwwrite(jtagetText());

bwclose();

fwclose();

}catch(IOException e2){

e2printStackTrace();

}

}

}

if(egetSource()==jmi4){

int a = JOptionPaneshowConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPaneYES_NO_CANCEL_OPTION);

if(a==1){

thisdispose();

}else if(a==0){

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2showSaveDialog(this);

if(num2==JFileChooserAPPROVE_OPTION){

f2=jfc2getSelectedFile();

thissetTitle(f2getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bwwrite(jtagetText());

bwclose();

fwclose();

}catch(IOException e2){

e2printStackTrace();

}

thisdispose();

}

}

}

if(egetSource()==jmi12){

Calendar c1 =CalendargetInstance();

int y = c1get(CalendarYEAR);

int m = c1get(CalendarMONTH);

int d = c1get(CalendarDATE);

int h = c1get(CalendarHOUR);

int m1 = c1get(CalendarMINUTE);

int m2 = m+1;

jtasetText(y+"年"+m2+"月"+d+"日"+h+":"+m1);

}

if(egetSource()==jmi11){

Color ccc = JColorChoosershowDialog(this,"color",ColorBLACK);

jtasetSelectedTextColor(ccc);

jtasetBackground(ccc);

}

if(egetSource()==jmi10){

jtareplaceRange("",jtagetSelectionStart(),jtagetSelectionEnd());

}

}

public void itemStateChanged(ItemEvent e2){

if(e2getItemSelectable()==jcbmi){

jtasetLineWrap(true);

}else

jtasetLineWrap(false);

}

public static void main(String[] args){

new NoteBook();

}

public void windowOpened(WindowEvent arg0) {

}

public void windowClosing(WindowEvent arg0) {

int a = JOptionPaneshowConfirmDialog(this,"文件已被改变,是否要保存?","提示",JOptionPaneYES_NO_CANCEL_OPTION);

if(a==1){

thisdispose();

}else if(a==0){

File f2 = null;

JFileChooser jfc2 = new JFileChooser();

int num2 = jfc2showSaveDialog(this);

if(num2==JFileChooserAPPROVE_OPTION){

f2=jfc2getSelectedFile();

thissetTitle(f2getName());

try{

FileWriter fw = new FileWriter(f2);

BufferedWriter bw = new BufferedWriter(fw);

bwwrite(jtagetText());

bwclose();

fwclose();

}catch(IOException e2){

e2printStackTrace();

}

}

if(a==2){

/

}

}

}

public void windowClosed(WindowEvent arg0) {

}

public void windowIconified(WindowEvent arg0) {

TODO Auto-generated method stub

}

public void windowDeiconified(WindowEvent arg0) {

TODO Auto-generated method stub

}

public void windowActivated(WindowEvent arg0) {

TODO Auto-generated method stub

}

public void windowDeactivated(WindowEvent arg0) {

TODO Auto-generated method stub

}

public void mouseClicked(MouseEvent arg0) {

TODO Auto-generated method stub

}

public void mousePressed(MouseEvent arg0) {

TODO Auto-generated method stub

}

public void mouseReleased(MouseEvent arg0) {

TODO Auto-generated method stub

}

public void mouseEntered(MouseEvent arg0) {

TODO Auto-generated method stub

}

public void mouseExited(MouseEvent arg0) {

TODO Auto-generated method stub

}

}

一、首先打开可免费小程序制作网站类似网站还有不少,大家可以多找几个对比试试。打开网站后,填写好基本信息注册并登陆,然后点击立刻免费建站。

二、接下来选择要建立的小程序类型,如下图所示。

三、再下来是点击选择小程序模板,也就是你喜欢的风格样式,然后会打开对应的模板,然后根据自己想要的进行选择即可!

四、然后根据小程序制作向导进行编辑修改就可以了,如下图所示。

编辑好后可以进行预览效果,直到编辑到自己满意为止。

五、自己的小程序制作好了之后,最后就是绑定微信小程序,发布即可。

以上就是10分钟制作属于自己的小程序教程,可视化 *** 作,无需会编程,小白也可以轻松制作自己的小程序了。

当然是一样的。

++在前在后只体现给别的变量赋值时。对自身而言,都是加1。

比如a=i++;a=++i;如果i=5;那么前者a=5;后者a=6;原因是前者i先赋值给a后自加,而后者是先自加了然后再赋值,当然a的差别就体现出来了。对于i本身来说,都是加了1,i=6。

你这个程序就是i,j,k本身自加,放前放后当然是一样的,没影响

以上就是关于怎么在微信上做小程序全部的内容,包括:怎么在微信上做小程序、用汇编语言编写一个小程序(比如hello,word!)请懂的人帮忙提供源码、编写一个Applet(Java 小程序) a) 画出给定半径的圈,并求出此圆圈儿的面积,打印在画面上 b) 画出给定长度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10631803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存