ArcView GIS Avenue培训教程

ArcView GIS Avenue培训教程
ArcView GIS Avenue培训教程

1、AVENUE基础

1.1 AVENUE简介

ArcView提供了显示、浏览、查询与分析地理数据的方法。AVENUE是ArcView面向对象的程序设计语言。ESRI 公司开发AVENUE的目的是为用户提供按自己的要求建立ArcView应用程序。用户编写的AVENUE程序可以在任何具有ArcView的平台上运行。ArcView自身的某些部分以及许多直接服务于用户的功能都是用AVENUE实现的。利用AVENUE可以做如下工作:

①定制ArcView的界面:可以去除不需要的控制单元,改变控制单元的排列及显示形式。如我们可以汉化ArcView 的界面。

②开发新的功能:用户可以通过AVENUE开发ArcView没有提供的功能。

③连接ArcView和其它应用程序:在工作中可能同时用到几个软件,如利用WORD进行文字处理,利用EXCEL 管理数据,利用ArcView分析地理数据。有时侯需要在软件之间进行数据交换,如利用ArcView更新EXCEL数据,执行其它的应用程序等。

④按用户的要求开发应用系统:根据用户要求,包括功能、界面、人机对话方式等开发应用系统。

1.2 Script (脚本)编辑器

ArcView 提供了Script (脚本)编辑器用于建立、编译和修改AVENUE程序(即Script)。与其它ArcView 文档一样,Script编辑器也有一套自己的菜单、按钮和工具。

ArcView中的每一个标准菜单、按钮和工具都有相应的Script,这些Script称为系统Script。通过Script编辑窗口可以打开和编辑Script。可以通过对系统Script的修改来产生新的满足要求的Script,如我们希望在显示某一特征时同时进行放大,可以把放大工具的Script文件增加到显示属性信息工具的Script中。任何Script都是与项目文件一同存储的,但也可以把它存储为文本文件。

Script输入

Script 编辑器提供各种控制单元,帮助用户创建Script 源代码。源代码的输入有三种方式:

从键盘输入:可以将AVENUE的语句直接从键盘输入到Script 窗口。ArcView提供了方便编辑操作的按钮,可以实现文本内容的剪切、粘贴等。

装载文本文件:用户可以使用该按钮选择某个文本文件,并将它插入到Script窗口中。被装载的文本文件可以用任何一种文本编辑器编辑。

拷贝已有的Script:当用户点击该按钮系统将打开Script管理器,选择需要拷贝的Script,该Script将插入到Script编辑窗口中。

编译和运行Script

点击编译(Compile)按钮,AVENUE将检查源代码的语法错误。如果没有错误,用户就可以执行该Script。如果Script语法有错,用户必须根据错误信息,修改并再次编译,一直到编译没有错误。

点击运行(Run)按钮,将执行经编译的Script。以下是一个Script及运行后的结果。

Script的调试

Script编辑器提供了一些调试按钮,用于帮助用户调试Script代码。

逐步追逐调试按钮:当Script已经正确编译,利用该按钮可以使用户逐步跟踪Script的运行。

断点按钮:可以通过设置断点中止Script的正常运行。如果Script在编译过程中出错,光标会停留在Script出错的地方。这时。可以在此行之前设置一个断点,然后编译并运行Script,并在断点处检查变量的值。该按钮是开关按钮。

显示变量值的按钮:可以显示全局和局部变量的值。

1.3 事件(Events)与Script的运行

当用户点击一个按钮、在某个文档窗口使用一个工具或更新一个文档,都称为事件的发生。AVENUE支持三种类型事件:点击(Click)、应用(Apply)和更新(Update)。

点击:当用户点击一个按钮、一个菜单子项或工具时,就发生了一个点击事件,这个事件会立即引起相应的Script

的执行。

应用:当用户在某个窗口中使用某个工具,就发生了一个应用事件。同样,该事件也会立即引起相应的Script的执行。

更新:当文档的状态发生变化(例如,向视图中加入主题,激活表格中的某个字段)时,就会发生一个更新事件。不同的控制单元识别不同类型的事件。按钮和菜单子项识别点击和更新事件。工具识别应用、点击和更新事件。菜单仅识别更新事件。

菜单菜单子项按钮工具更新点击点击点击更新更新应用更新

在ArcView应用程序的总体设计和建立符合用户需求的ArcView界面时,必须考虑到这些差异。例如,如果编写的Script需要用户从视图中选择时,Script必须与某个工具的Apply事件相联。

1.4定制对话框(Customize Dialog Box)

定制对话框提供了可视化的框架,用户可以利用它,按照自身的要求安排ArcView的菜单、按钮、和工具。Arcview 提供了两种方法打开定制对话框:从项目的Project菜单中选择Customize项,或者两次点击按钮或工具条的空白区。

双击空白处

定制对话框有6个部分:

文档类型(Document Type)用户可以在此选择具有所需控制单元的文档类型。

控制单元的分类(Control Category)在此选择用户所需的控制单元集合。用户作出选择后,对应的控制单元集合就会显示在控制单元编辑器(Control Editor)。

控制单元属性列表(Properties List)与选中的控制单元及当前的设置相关的所有属性信息显示在控制单元属性列表中。通过属性列表可以修改和设置菜单、按钮、工具的事件响应程序及属性信息。

Reset 按钮―Reset‖按钮用于将当前文档类型重新设置为初始的安装设置。初始设置存在ArcView的安装目录的ECT子目录下的default.apr文件中。

Make Default按钮使用―Make Default‖按钮将当前文档设置为用户的缺省设置。它替代用户家目录下default.apr文件。

控制单元编辑器中有一系列的按钮,它随着文档类型和控制单元的不同而不同。然而有三个按钮保持不变,New、Separator、Delete。New按钮是新建一个控制单元,Separator是分割不同类的控制单元,Delete是删除控制单元。下面以View文档为例来介绍控制单元编辑器的操作。

上图是《上海市河网演变系统》的一个界面,是通过定制对话框用户化和汉化的结果。汉化操作是对控制单元Label 属性修改的结果,由于Arcview地理信息系统软件的内核支持双字节,所以只需在Label中输入汉字即可。首先选中―File‖,双击其Label属性,输入―文件‖,如图所示,确定后就可得到上图所示的结果。

在《上海市河网演变系统》中没有Graphics菜单,我们可以通过两种方法达到这一结果。一种是选中此菜单按Delete 钮删除,这样同时删除其子菜单,且无法恢复,因此一般不推荐此方法;第二种是选中此菜单修改其Invisible属性,把―False‖改为―True‖即隐藏此菜单,这种方法可以再次修改Invisible属性而恢复原先的情况。

New按钮可以在选中的控制单元之后创建一个新的控制单元。选中Graphics按NewMenu,则产生一个新的菜单,在其Label属性中输入―图层‖,选中―图层‖按NewItem生成子菜单。如图所示:

以上是对菜单的操作,对按钮(Buttons)和工具(Tools)的操作与之相类似。不同的是按钮有一个Icon(图标属性),双击弹出图标管理器,从中选择或导入所需图标。如图所示:

至于快捷菜单(Popups)除了本身响应右击事件外,与一般菜单的设计完全相同。

建立Script与控制单元的关联

建立Script与控制单元关联的方法是双击控制单元属性列表中的事件属性,并从出现的Script管理器中选择当某个事件发生时需要执行的Script。

一个Script可以同时与多个控制单元建立关联。例如,诱发更新事件(如使控制单元生效或无效)的Script可以为多个控制单元所共享。

建立Script和项目的关联

在项目属性表中可建立Script与项目的启动(Startup)与关闭(Shutdown)事件的关联。当项目文件打开时,StartUp事件执行一个Script ,而关闭项目文件时,ShutDown事件执行另一个Script。这类事件可用于项目的环境初始化,例如,数据库联结,删除临时文件或表格。

视图、表格、图表等其它一些文档打开或关闭时也执行Script。

2 AVENUE是如何工作

2.1 理解对象

AVENUE是面向对象的程序设计语言。面向对象程序设计实际上是把复杂的问题分解成很多单元(称为对象),这些对象是封装的,包含了数据和数据操作的代码。编程人员不需要去了解对象内部情况,如果要操作这些对象,只要发送相应请求。如要制造汽车,不需要了解汽车如何生产,只要发送命令。

对象有特性(properties)、动作(Actions)和状态(States)。如汽车,型号、颜色、车门数等特性;有启动、停车、左转、右转等动作;有方向(北)、速度(60mph)等状态。

一个对象可以以很多方式与其它对象联系。一个对象可以包含其他对象,如汽车可以有音响、方向盘和座位等。一个对象也可以利用其他对象,如汽车使用燃料运行。对象也可以被其他对象利用,如某人驾驶汽车。

在ArcView,我们操作的每一事都是对象,打开一个视图,我们就操作视图对象;增加一个主题到视图,我们就操作主题对象;增加按钮到界面,我们就操作按钮对象;利用用户界面的操作实际上就操作ArcView对象。面向对象的编程就是操作对象。

在ArcView中,除了项目、视图和主题是对象外,还有一些我们原先可能不认为是对象,如数字和文本,Nil—空对象,布尔值。

具有相同特性的对象被组织成类。在某一类中的所有对象被定义成有相同特性,同一类中产生的对象是类的例子(instances),如图中下面两辆车是车这一类型的例子,具有车这个类型的特性(如,有轮子、车门等)。同样,在ArcView,View1、View2、View3都是View这一类型的例子。类分抽象类和具体类。抽象类没有直接的例子,它仅用于组织所有下级类共有的特性。具体类有自己直接的例子。

类可以通过层次图(class hierarchy)进一步组织,定义类之间关系。类关系可以以三种方式描述:继承、集合和关联。演示这些关系的一种方式是通过对象模式图。对象模式图的基本组成是方框(表示类)和线(连接类显示类之间关系)。通过分析类模式图,我们可以类及对象之间的关系。

继承表示一个类型,轿车是汽车的一个类型。汽车是一个超类,定义了所有汽车的一些特性。子类可以继承超类定义的特性。通过继承,层次中的特性只需要定义一次,没有继承的特性在类本身中定义。继承的符号是一个开放的三角形。

汽车

轿车卡车救护车

同样,ArcView中,视图是文档的一种类型,视图继承文档的特性,如包含在一个窗口,有图形用户界面等,但它也定义了自己的特性,如视图有主题和内容表。

集合表示组成关系,一辆汽车包括一个发动机,四个轮胎,一个汽车音响,座位。当然,一辆有很多东西组成,在示意图显示所有内容是不可能的。在ArcView关系图上,实际上只显示最重要的关系。集合的符号是菱形。另外,一个实心圆表示不止一个,空心圆表示可选。

关联表示类之间物理上或概念上的联系;汽车用汽油来运行,同样,汽车需要人来驾驶。单一线指示一个相关对象。对象模式图显示了类之间的关系。一旦理解了这些关系,就可以操作属于某一类的对象。如放大音响声音,首先确定音响所在的汽车,然后确定音响进行操作。同样,通过我们要控制视图中的一个主题,首先要确定包含这个主题的视图。当然,关键是确认正确的对象,要求它做一些它所知道如何做的事情。例如,我们不能要求汽车座位对象放大声音,但我们可以要求它倾斜(只要它能倾斜)。

汽车

发动机轮胎汽车音响座位

调音器磁带

2.2 对象请求(Requests)

在ArcView中,对对象的操作实际上是对对象提出请求。当我们按一个按钮或点击菜单,ArcView将发送请求给对象。一个请求可能将产生一个新的对象,如一个新的主题;也可能提取一个对象的信息,像当前视图名;也可能改变一个对象的属性,如改变主题名或使它成为活动主题。

大多数请求是提取或修改已有的对象。这些请求称为例子请求。如显示或隐藏图例。另一种请求称为类请求,类请求一般是产生新的目标类对象或返回影响类的事情信息。如增加一个主题对象。

在AVENUE中,定义了很多类以及对这些类的请求,对象的请求实际上是按照它所属类的请求方式进行操作,如汽球可以定义一个类,不同的汽球有共同的特性,当我们用针刺汽球,汽球就会爆炸;当我们松开汽球,汽球将会升上天。这些请求及结果在类中已经定义,对具体对象的请求将产生相应的结果。

不同的类支持不同的请求,如视图可以有放大请求,但数据表不能理解这个请求。

AVENUE请求命名一般是以动词开始指示它的动作,如,GetProject、FindScript、AddDoc和Setvalue,这里Get、Find、Add和Set是动作,Project、Script、Doc和value接受动作。下表显示了一些关键词以及它们的作用

关键词作用例子

Add 增加对象aView.AddTheme

As 对象类型转换aNumber.AsString

Can 确认对象是否可操作aTheme.CanEdit

Find 搜寻指定对象aVie w.FindTheme(―Roads‖)

Get 返回一个参考给对象aView.GetThemes

Has 指示对象是否有指定的条件或状态aScript.HasError

Is 返回―真‖或―假‖ aButton.IsVisible

Make 产生一个新例子View.Make

Return 产生一个新对象并返回一个参考给它aFileName.ReturnDir

Set 给对象赋特征aButton.SetIcon

2.3 对象请求语句

Avenue语句包含两个部分:对象和对这些对象提出请求。其中,请求可以带参数,这些参数使请求更加明确。Avenue 语句执行的结果是产生一个新的对象。

用一个赋值符号(=)可以将产生的对象赋给一个变量。

如theName = theView.GetName

对象请求的标记方式有三种:后缀式标记、内缀式标记和前缀式标记。

后缀式标记:这是对象请求最常用的方法,是在对象和请求之间加一个圆点,如theView.Print,请求在对象之后。内缀式标记:数字对象请求的标记,请求放在数字对象之间,如25+15。

前缀式标记:这种标记方式用于布尔对象,请求防在对象之前,如Not True。

2.4 变量

许多程序设计语言要求在使用变量之前必须确定变量的数据类型(例如:整数、浮点数、字符串)。AVENUE的变量不需要事前定义,也不需要事先确定数据类型。变量定义是通过一个赋值语句来完成,变量出现在赋值号(=)的左边。

例如:

Variable = Statement

TheNumber = 45

AString = ―abcdefg‖

变量名必须以字母开头,其中可以包括数字。变量名的长度没有限制。AVENUE不区分大小写,但采用一定的大小

写规范有助于程序的清晰和保持统一的风格。

AVENUE编译器会自动识别变量名与类名和请求的冲突。

以下划短线(_)开头的变量称全局变量。一旦定义了全局变量,在应用程序处于活动状态时,任何项目的任何Script 均可使用这些变量。全局变量会占用很多内存,因此,如果在一个项目中需要用到全局变量,一定要在项目关闭后使用av.RemoveGlobalVars删除全局变量,否则全局变量仍然占有分配给它的内存空间。

2.5 类和请求在线帮助

对于初学者来说类和请求在线帮助可能用处不大,但是对于Avenue编程人员来它是不可缺少的。因为它包含了Avenue所有的类和请求,内容丰富,而且通过目录和索引可以方便的获取所需信息。如果你想知道视图类有那些请求,那么你只要打开帮助,在索引中键入―view‖按回车,就可得到所有有关视图的请求。

3Avenue的组成要素

3.1字符串

有两种方法可以产生字符串对象:

将双引号括起来的字符串赋给一个变量,如Var = ―Shanghai‖;或将请求返回的字符串对象赋给一个变量,如Var = theView.GetName。

用―+‖或―++‖请求可以拼接字符串。其中,用―++‖时串之间包括一个空格。如:

Var1 = "Sahnghai"

Var2 = "China"

Var = Var1 ++ Var2

https://www.360docs.net/doc/8516469173.html,(Var,"")

Avenue有一些特殊的字符串,NL、TAB、CR,分别表示换行符、制表符和回车符。

可以使用―=‖、―<‖、―>‖、―< =‖、―>=‖、―<>‖等比较算符进行字符串的比较,在条件语句中常用到这种比较。用关键词As打头的转换请求可以将字符串转换为其它类,例如,可以用AsNumber这个请求将一个字符串转换为数字。

还有许多其他的字符串操作请求,可以用这些请求实现大小写转换、互换字符串等。

3.2 数字

数字可以直接赋给一个变量,也可以通过请求赋值。Avenue所支持的标准运算包括+、-、*和/、Max、Min、Cos、Sin、Ln、Sqrt、Mod、Round等。

+、-、*和/等请求采用标准的数学标记方式(中缀式标记)。但Cos、Sin、Tan和Round等以通用标记方式表示。

TheNumber = 7 +12 TheNumber = 35.Cos

除非使用括号,否则Avenue算子的优先级是从左到右。如:

x = 2+3*3 x=15 x = 2+(3*3) x=11

利用以关键字As打头的请求,可以将数字转换为其他对象。例如,三角函数需要以弧度作参数,这时就可以使用AsRadians和AsDegrees两个请求实现度数与弧度之间的变换。

利用格式化(formatting)字符串可以控制数字的格式。例如―D.DD‖使数字的格式在小数点左边至少有一位,而在小数点右边则必须有两位数字。

3.3 布尔对象

布尔类有两个例子:True和False。可以直接将True或False赋给一个变量,如:

done = false

也可以利用请求的返回值,如:

status = aTable.HasSelections

布尔表达式要么为True要么为False,而且布尔表达式必须出现在括号中。利用AND、OR和NOT可以构造出复合表达式。

布尔表达式可以构成分支和循环语句的条件判断部分。

3.4 NIL

NIL类只有一个例子,即NIL对象。NIL对象表示缺值。大多数请求返回NIL表示一个错误。在AVENUE中,通常根据一个返回值是否为NIL来判断一个对象是否存在。如:

theView = av.GetActiveDoc

theTheme = theView.FindTheme("Canada.shp")

if (theTheme = Nil)then

https://www.360docs.net/doc/8516469173.html,("No themes","")

else

https://www.360docs.net/doc/8516469173.html,("the theme is "+thetheme.getname,"")

end

3.5 枚举(enumerations)

枚举是一组关键词或选项,每一选项称为枚举元素(EnumerationElt)。如要产生一个文件,我们可以指定以下文件允许的操作:

#FILE_PERM_READ

#FILE_PERM_WRITE

#FILE_PERM_MODIFY

#FILE_PERM_APPEND等

在指定枚举时,关键词前加―#‖号,所有字母大写。

第一部分代表类,第二部分代表枚举,第三部分代表元素。

3.6 日期、时间和时间段

Avenue的日期类支持日期、时间和时间段。日期信息包括年、月、日,时间包括小时、分钟和秒,时间段指日期或时间的跨度。

可以用Now这个请求将当前的日期和时间赋给日期对象:

today = Date.Now

也可以将特定的时间和日期赋给一个日期类:

christmasday = Date.Make(―12/25/94‖, ―M/d/y‖)

可以用设定日期和时间的缺省格式,还可以用指定某个特定的日期或时间格式。

时间段,两个日期对象相减就生成一个时间段类。如:

DaysTilChristmas = today – christmasDay

时期和时间的增量也可以通过增加时间段来获得:

payday = today + 3.AsDays

curfew = time.now + 6.AsHours

3.7 列表

列表是不同类对象的有序集合。列表中可以包括多种类型的对象。字符串、主题和数字都可以成为同一个列表的成员。

生成列表的方法是将括在大括号({})中的一组元素赋给一个变量。如:

myList = { "red", 34, av.GetActiveDoc, av.GetProject }

for each i in mylist

https://www.360docs.net/doc/8516469173.html,( i.AsString, "List" )

end

一些请求返回列表:

theListOfTheme = theView.GetThemes

theview = av.getactivedoc

thelist = theview.getthemes

thecount = thelist.count

https://www.360docs.net/doc/8516469173.html,(thecount.asstring,"")

theView = av.GetActiveDoc

theTheme = theView.GetThemes.Get(0)

theThemeName = theTheme.GetName

https://www.360docs.net/doc/8516469173.html,(theThemeName,"")

也可以利用Make这个请求生成列表。Make这个请求生成一个空的列表,可以用Add和Insert这两个请求向列表中增加元素。Add在列表尾部增加一个新元素,Insert在列表头部增加一个元素。

通过索引号使用列表元素。第一个元素的索引号为0,最后一个元素的索引号为元素数减1。Get这个请求根据元素索引号检索元素,Set这个请求可以设置特定索引号(索引号必须在列表元素个数的范围内)的元素的值,Find 这个请求返回特定元素的索引号。Empty请求可以把列表置为空。

3.8 AV

AV是ArcView对象模式图的根,称为ArcView应用程序。当我们启动ArcView时,将产生一个一个应用程序的例子。

3.9 词典(Dictionary)

词典是键和值对的集合。词典必须保证各键唯一。键和值可以是任何一个类对象,也可以是不同类的对象。下面是一个词典的例程:

theList={"View","T able","Chart","Layout","Script"}

d=Dictionary.Make(theList.Count-1) ‘创建新词典

n=0

for each l in theList

n=n+1

d.Add(n,l) ‘增加词典的键和值

end

https://www.360docs.net/doc/8516469173.html,(d.Get(3),"Dictionary Sample") ‘返回与键相关的值

词典的定义和列表不同,它必须指定初始大小。这个初始值要与你想插入词典的元素个数相近。因为当元素的量大大超过词典的大小的时候,检索就会花费大量的时间。

3.10 堆栈(Stacks)

和列表一样,堆栈也是对象有序集合,不同的是它的存取方式,在堆栈中我们首先得到的是最后加进去的对象,即最后进,最先出。比如用堆栈可以存储(Push)视图前一次的缩放比例,

TheView=av.GetActiveDoc

?如果没有与视图相关的堆栈,就新建一个

savedState=theView.GetobjectTag

if (savedStated=nil) then

savedState=Stack.Make

theView.SetObjectTag(savedState)

end

savedState.Push(theView.GetDisplay.ReturnExtent)

同样也可以获得(Pop)前一次的缩放比例。

theView=av.GetActiveDoc

SavedState=theView.GetObjectTag

If ((savedState=nil) or (savedState.IsEmpty)) then

Msgbox .Inf o(―No more saved state‖,‖EMPTY‖)

Return nil

End

theView.GetDisplay.SetExtent(savedstate.Pop) ?删除堆栈顶层对象并返回此对象

3.11 If...Then...Else...语句

If...Then...Else...语句根据条件执行程序中某一部分。首先作条件判断,然后根据条件的真与假执行不同的语句。如根据主题是否可见,进行开关操作。

theView = av.getActiveDoc

theTheme = theView.getThemes.get(0)

if(theTheme.Isvisible)then

theTheme.setVisible(false)

else

theTheme.setVisible(true)

end

每个If...Then...Else...语句都必须有对应的End语句,可以进行ElseIf的多重嵌套。

3.11 While...statement(条件循环)

While语句常用于有条件地循环执行一个请求块,循环继续执行直至条件不满足。因此,请求块中就应包含使条件由真变假的语句。

每个While...语句必须有对应的End语句。

done = false

sum = 0

While(not done)

thevalue = MsgBox.input("Enter value:","","")

if(thevalue <> 0.asstring)then

sum = sum + thevalue.AsNumber

https://www.360docs.net/doc/8516469173.html,(sum.asstring,"")

else

done = true

end

end

3.12 For Each...语句(叠代循环)

For Each...语句对于集合中的每一个元素执行一组请求。集合是一个抽象类,它的下级类包括位图、字典、列表等。theView = av.GetActiveDoc

for each t in theView.GetActiveThemes

t.SetVisible(false)

end

上面的程序使视图中所有活动主题都可见。

For Each...语句还可用于对以间隔请求表达的数字、日期和时间范围的操作。

for each n in 0..10 by 2

https://www.360docs.net/doc/8516469173.html,(n.asstring,"")

end

―by‖语句可以缺省,在缺省情况下表示间隔为1。

3.13 循环内流控制(Continue,Break和Exit)

Continue,Break和Exit语句常用于改变控制流。

如果遇到Break语句,则退出最近的循环体,转向End语句的下一个语句。

如果遇到Continue语句,忽略当前循环所剩的未执行步骤,而将控制转给当前循环的下一个循环操作。

Exit语句中止Script的执行。

Return语句中止Script的执行,并返回一个对象给调用语句。如在test1中有如下代码

https://www.360docs.net/doc/8516469173.html,("You will get an Ok.","")

Return ―OK‖ ?返回对象―OK‖,并中止Script的执行

在test2中有如下代码

theReturn=av.Run("test1","")

https://www.360docs.net/doc/8516469173.html,(theReturn,"")

运行test2得到如下结果

如把test1里的第二个语句换成―Exit‖,则只能得到第一个消息框。

3.14 对象标签

每一个控制单元、文档、图形和主题都有对象标签字段。对象标签字段可以存储一个用户希望与这个对象建立关联的其它对象。利用SetObjectT ag和GetObjectTag存储和检索对象。

theView = av.GetActiveDoc

theView.SetObjectTag(―map‖)

theObject = theView.GetObjectTag

https://www.360docs.net/doc/8516469173.html,(theObject,‖‖)

下面一个例子是把目前的视图范围记录的对象标签

theView = av.GetActiveDoc

theView.SetObjectTag(theView.GetDisplay.ReturnExtent)

下面的程序是按视图的对象标签显示视图。

theView = av.GetActiveDoc

theView.GetDisplay.SetExtent(theView.GetObjectT ag )

此外,对象标签还具有持久性(Persistence),只要对象存在,标签的内容就可以获得。

3.15 SELF

SELF是用于指代当前Script的接收对象的关键字,比如下面这一段程序的接收对象是一个按钮(Button), 那么SELF就代表这个按钮。它常用于与更新(Update)事件(根据特定的条件使控制单元生效或无效)相关的Script 中。

theView = av.GetActiveDoc

SELF.SetEnabled(0

此外,SELF也可以用在被调用的Script中,来接收通过应用程序AV的Run这个请求传递的对象。如有一个Script1的代码是

av.Run(―myScript‖,‖SELF Example‖)

而在―myScript―中的代码是

https://www.360docs.net/doc/8516469173.html,(SELF,‖‖)

那么运行Script1就可得到如图所示的结果。

3.16 执行Script

应用程序AV会寻找并执行Script。应用程序首先在当前项目中寻找,然后再在用户缺省项目中找,最后在系统缺省项目中寻找。

执行Script的请求有两个,Run和DelayedRun。Run的用法在SELF一节中已经介绍,下面来讲讲DelayedRun 的用法。DelayedRun是一个延迟执行请求,即在延迟一定的时间以后执行某一特定的Script脚本,同样它也能像Run一样向所执行的脚本传递某些参数。DelayedRun的语法是:

av.DelayedRun (aScriptName, anObj, aDelay)

aScriptName是要执行的脚本名,无需写出路径;

anObj是DelayedRun要传递给aScriptName的参数列表;

aDelay是延迟时间,它的单位是秒,值要求整数(虽然非整数不会出错)。

下面这个例子是在运行5秒后显示一个消息框。

Script1的代码如下:

https://www.360docs.net/doc/8516469173.html,(self,"")

Script2的代码如下:

av.delayedrun("script1","zwf",5)

编译以后运行Script2,读者可以查看运行情况。

此外通过DelayedRun还可以实现类似于VB中Timer事件的功能。有两种方法可以实现此功能:通过Run和DelayedRun的组合;DelayedRun自调用。下面分别用两种方法来实现工程的定时保存。

Run和DelayedRun的组合。首先新建两个Script脚本ProSave和DelayedRun,

ProSave的代码:

https://www.360docs.net/doc/8516469173.html,("保存工程......","DelayedRun Sample")

av.GetProject.Save

av.Run("Delayed",nil)

DelayedRun的代码:

av.delayedrun("ProSave",nil,5)

编译以后执行DelayedRun。

DelayedRun自调用,首先新建一个Script脚本SelfDelayedRun,

SelfDelayedRun的代码:

https://www.360docs.net/doc/8516469173.html,("保存工程......","DelayedRun Sample")

av.GetProject.Save

av.delayedrun("SelfDelayed",nil,5)

编译以后执行看看与第一种方法是否相同。

3.17 注释

在Avenue中通过单引号来注释。注释可以提高程序的可读性,注释可以放在程序头也可以放在程序尾。在调试过程中也可以对某些语句进行注释,以免删除后无法恢复。

4视图与主题

4.1视图

视图文档是项目的一个组成部分,它提供了显示和查询用户定义的主题集合的方法。

Doc

MapDisplay Prj

GraphicList View TOC

Theme

视图包含一个或多个主题。

视图有以下相关类:

TOC(T able of Contents):目录表,负责管理视图中所显示的主题图例。

GraphicList:图形列表,它负责管理图形(Graphics)集合,如在主题上增加的圆、线、文本等。MapDisplay:它负责管理视图的地图显示区。

Prj:投影类,负责管理视图的投影。

下面的程序是产生一个视图,设置视图为China,产生并打开视图窗口。

利用Make请求产生一个新的视图,如:

theView = View.Make

利用GetWin和Open请求,视图将得到一个窗口并打开该窗口,

theView.GetWin.Open

利用Get(Return)和Set请求可以获得和设置视图的特性,如:

theView.SetName("China")

theName = theView.GetName

https://www.360docs.net/doc/8516469173.html,(theName,‖‖)

利用各种不同的请求,用户可以获得主题或主题集合,也可以移动到显示区的任何位置或设置当前显示范围。

4.2主题

主题是图形和图像的一个抽象基类,视图上显示的各种图形、图像和图例的集合共同组成了一个主题。

View

Legend

GraphicSet Theme

Threshold

Ftheme ITheme

4.2.1增加主题

一旦我们有了一个视图对象,我们就可以增加主题到视图上。主题可以是不同类型的地理数据,主要是两种:Ftheme 和Itheme。

如果要增加主题,我们必须指定数据源。在Avenue中,我们使用SrcName(Source Name)类来指定位置(在某些情况下,还要指定类型,如Polygon)。利用Theme.Make(theSrcName)或ITheme.Make(theImgSrcName)产生主题。

theView = av.GetActiveDoc

theSrcName = SrcName.Make("e:\av_gis30\avtutor\arcview\qstart\states.shp ")

theTheme = Theme.Make(thesrcName)

theView.AddTheme(theTheme)

theTheme.SetVisible(true)

theTheme.SetActive(true)

Itheme是图象的可视化,它可以作为视图的主题。它不同于Theme,Theme是矢量的而Itheme是栅格的。下面用ITheme.Make(theImgSrcName)产生主题。

theView=av.GetActiveDoc

anSrcName=SrcName.Make("e:\av_gis30\avtutor\arcview\images\spotimg.bil")

theImgSrc=ImgSrc.Make(anSrcName)

if (anSrcName<>nil) then

theTheme=Itheme.make(theImgSrc)

theView.AddTheme(theTheme)

theTheme.SetVisible(TRUE)

end

运行结果如下:

4.2.2 改变主题符号

主题与图例相关联,图例包含了所有主题使用的符号,因此,要改变主题符号,首先要得到主题的图例。下面的例子显示了对视图中的第一个主题的第一个符号进行操作,即把颜色变为蓝色。主题的获得可以按显示的顺序,也可以通过得到活动主题(theView.GetActiveThemes)或按指定的主题名(theView.FindTheme)。

theView = av.GetActiveDoc

theTheme = theView.Getthemes.Get(0)

thelegend = thetheme.GetLegend

theSymbol = thelegend.GetSymbols.Get(0)

theSymbol .SetColor(color.getBlue)

theTheme.UpdateLegend

也可以为符号定义新的颜色。

theColor = Color.Make

theList = {0,100,0}

theColor.SetRGBList(theList)

theSymbol.SetColor(theColor)

上例是在图例类型既定的情况下,对图例特征(Symbols)的设置。通过Avenue我们不仅可以改变图例的特征,还可以改变图例的类型(theLegend.SetLegendType(LegendTypeEnum))。下面的例子为视图新增一个具有特定图例的主题。

theView = av.GetProject.FindDoc("View1")

theSrcName=SrcName.Make("e:\av_gis30\avtutor\arcview\qstart\states.shp")

theTheme=Theme.Make(theSrcName)

theView.AddTheme(theTheme)

theTheme.SetVisible(True)

theTheme.SetActive(True)

theTheme = theView.GetActiveThemes.Get(0)

theLegend = theTheme.GetLegend

'首先设置图例类型

theLegend.SetLegendType(#LEGEND_TYPE_UNIQUE)

' 以主题字段的不同值分类

theLegend.Unique(theTheme,"state_name")

theLegend.SetNullvalue("state_name","long")

' 装入并设置颜色方案

theColorSchemes = SymbolList.GetPreDefined(#SYMLIST_TYPE_COLORSCHEME)

for each scheme in theColorSchemes

if (scheme.GetName = "pastels") then

theColorScheme = scheme

end

end

theLegend.GetSymbols.RandomSavedSymbols(theColorScheme)

'改变目录表并重绘主题

theTheme.UpdateLegend

程序运行结果如下:

此外还可以通过装入(Load)保存的图例文件来达到改变图例的目的,Load这个请求的语法如下:

aLegend.Load (aSavedLegend, loadType)

aSavedLegend是通过图例编辑器保存的文件。LoadType共有四种:#LEGEND_LOADTYPE_ALL、#LEGEND_LOADTYPE_CLASSESANDSYMBOLS、#LEGEND_LOADTYPE_CLASSES、#LEGEND_LOADTYPE_SYMBOLS至于其具体的功能在这里就不在赘述,读者可以自己尝试一下。

4.2.3 选择特征

在主题上选择特征的一种方法是利用鼠标进行选择。下面的例子是在活动主题上画一个矩形(另时),选中位于这个矩形内的特征。

theView = av.GetActiveDoc

theTheme = theView.GetActiveThemes.Get(0)

得到矩形,然后利用它选择特征

r = theView.ReturnUserRect

theTheme.SelectByRect(r,#VTAB_SELTYPE_NEW)

如果我们希望既可以通过画矩形来选择特征,也可以通过点击方式来选择特征,只要对上面的程序作简单的修改。修改后的程序如下:

theView = av.GetActiveDoc

theTheme = theView.GetThemes.Get(0)

theRectangle = theView.ReturnUserRect

if(theRectangle.IsNull) then

thePoint = theView.GetDisplay.ReturnUserPoint

theTheme.SelectByPoint(thePoint,#VTAB_SELTYPE_NEW)

else

theTheme.SelectByRect(theRectangle,#VTAB_SELTYPE_NEW)

end

此外,还可以通过一个主题来选择另一个主题的特征。假设你有两个主题,一个主题是某地的城市分布,另一主题是该地河流的分布。你想知道河流沿线5公里范围内有多少零售商业,那么就可用上述方法实现。首先打开― E:\ESRIDATA\CANADA\cities.shp‖和― E:\ESRIDATA\CANADA\rivers.shp‖,程序如下:

theView=av.GetActiveDoc

theTheme1=theView.FindTheme("Cities.shp")

theTheme2=theView.FindTheme("Rivers.shp")

theTheme1.SelectByTheme(theTheme2,#FTAB_RELTYPE_ISWITHINDISTANCEOF,0.5,#VTAB_SELTY PE_NEW)

运行结果如图所示(红色为选中城市):

4.2.4 热链接

热链接就是把某一特征和另外的图形、文本、文档、项目,或Avenue程序连接起来,当鼠标单击该特征时,立刻显示这些数据或执行这个程序。例如在上海工业地理应用中,当鼠标单击某一企业时,立刻弹出一幅与改企业相关的照片、文字描述,或一段录像,或Avenue程序完成某项特定任务。

通过ArcView的学习,对热链接的上述功能读者大概已并不陌生,但是有时Hot Link对话框并不能满足我们的要求,因此需要通过编程以一种更灵活的法式来实现。

下面这段程序是在鼠标单击某一特征时播放一段与该特征相关的录像,其中关键请求有SetHotField、GetHotField。假定已打开一个名为factories.shp的主题,其中有一字段―相关信息‖,且此字段存有相关媒体的路径。则我们只要把下面的程序与一个工具就可实现热链接。

theView = av.GetActiveDoc

theTheme=theView.FindTheme("factories.shp")

theHotField=theTheme.GetFtab.FindField("相关信息")

?设置热链接字段

theTheme.SetHotField(theHotField)

found = false

p = theView.GetDisplay.ReturnUserPoint

for each t in theView.GetActiveThemes

?判段主题是否有属性信息及热链接字段

if ((t.HasAttributes) and (t.GetHotField <> nil)) then

recs = t.FindByPoint(p)

for each rec in recs

theField = t.GetHotField

found = true

theVal = t.ReturnvalueString(theField.GetName, rec)

if (not (theVal.IsNull)) then

?判断磁盘上是否存在此文件

if (File.Exists(theVal.AsFileName)) then

?调用系统播放器播放相关媒体

system.execute("D:\Program Files\Windows Media Player\mplayer2.exe" ++ theVal) else MsgBox.Warning("File "+theVal+" not found.","Hot Link")

end

end

end

end

end

if (not found) then

System.Beep

end

4.2.5 视图地图投影设置

地图投影的实质是将地球椭球面上的经纬线网按照一定的数学法则转移到平面上。用不同投影方法建立的经纬线网形式不同,它们的变形性质和变形分布规律也各不相同。长度变形是地图投影的主要变形,它影响着面积变形和角度变形。变形性质不同的投影适用于不同用途的地图。制图区域的范围、地理位置和轮廓形状决定着地图投影应选用的构成方法。因此特定区域或者具有特定目的的地图应该选择与之相适应的投影方式。

下面以世界地图为例,考察Avenue的地图投影实现法式。首先打开―E:\ESRIDATA\WORLD\country.shp‖,然后新建两个按钮,分别与下面的两断程序相连。

?等面积方位投影

theView = av.GetActiveDoc

r = Rect.MakeXY(-122,18,-110,50)

'设置投影的参数

p = EqualAreaAzimuthal.Make(r)

p.SetCentralMeridian(-119)

p.SetReferenceLatitude(37.2)

' 设置地图单位为米,距离单位为米

theView.SetUnits(#UNITS_LINEAR_METERS)

theView.GetDisplay.SetDistanceUnits(#UNITS_LINEAR_METERS)

' 设置视图投影

theView.SetProjection(p)

按第一个按钮,得到如下结果:

theView = av.GetActiveDoc

'设置投影的参数

p = Robinson.Make(theView.ReturnExtent)

p.SetCentralMeridian(0)

' 设置地图单位为英尺,距离单位为英里

theView.SetUnits(#UNITS_LINEAR_FEET)

theView.GetDisplay.SetDistanceUnits(#UNITS_LINEAR_MILES)

' 设置视图投影

theView.SetProjection(p)

按第二个按钮,得到结果如下:

可见,不同的投影方式对地图的显示影响显著,读者想了解更多有关地图投影的信息,可以通过在线帮助检索关键字―Prj‖。

5 图形(Graphics)和符号(Symbols)

5.1图形

图形(Graphic)是一个抽象类,它包括三个子类(GraphicGroup、GraphicText和GraphicShape)。GraphicShape类和Shape类是相关的,Shape类定义形状,GraphicShape类是在此基础上定义如何画图形。如果要在视图上增加一个图形,首先通过对形状(shape)对象进行Make请求定义shape,shape包括Circle、Line、Point、Rect等,然后对GraphicShape对象进行Make请求,从数学上来定义如何画图形,最后从图形列表中增加该图形。

下面的例子是在视图上画一个圆。

theView = av.GetActiveDoc

theDisplay = theView.GetDisplay

theCircle = Circle.Make(0.5@0.5,0.2)

theGraphicCircle = GraphicShape.Make(theCircle)

theGraphicList = theView.GetGraphics

theGraphicList.Add(theGraphicCircle)

在视图上画了图形后我们还可以对图形进行编辑。如图形的联合(Combine)、合并(Union)、相减(Subtract)、相交(Intersection)等。下面就以相交为例,来说明上述功能的Avenue实现。

theView = av.GetActiveDoc

theGraphics = theView.GetGraphics

selGraphics = theGraphics.GetSelected

gra1 = selGraphics.Get(0)

shpgra1 = gra1.GetShape

theSym = gra1.GetSymbol

theGraphics.RemoveGraphic(gra1)

gra2 = selGraphics.Get(1)

shpgra2 = gra2.GetShape

theSym = gra2.GetSymbol

theGraphics.RemoveGraphic(gra2)

shpIntersect = shpgra1.ReturnIntersection(shpgra2)

if (shpIntersect.IsEmpty.Not) then

graIntersectAll = graphicShape.Make(shpIntersect)

graIntersectAll.SetSymbol(theSym)

theGraphics.Add(graIntersectAll)

end

5.2符号

符号类下有5个子类:ChartSymbol、Marker、Pen、Fill和TextSymbol。分别用于画图表、画点、画线、填充多边形和文本注记。其中前面四个还可进一步划分子类,如多边形填充可分为栅格填充、矢量填充以及多层复合填充。利用Symbol.Make可以产生一个新的符号或符号子类,一旦产生符号,我们可以设定符号的颜色以及其它特性。下面的例子是使新画的圆为红色。

theView = av.GetActiveDoc

theCircle = Circle.Make(0.5@0.5,0.2)

theGraphicCircle = GraphicShape.Make(theCircle)

theGraphicList = theView.GetGraphics

theGraphicList.Add(theGraphicCircle)

theSym = Symbol.Make(#SYMBOL_FILL)

theSym.Setstyle(#RASTERFILL_style_SOLID)

theSym.SetColor(Color.GetRed)

theGraphicCircle.SetSymbol(theSym)

运行结果如下:

Mark、Pen的使用与Fill的用法相似,都是对图形特征的设定,而TextSymbol是用来设置文本的属性特征的。下面这段程序就是使用工具按钮在视图中写―ABC―并设置其颜色为蓝色,字体大小为50。

theView=av.GetActiveDoc

?生成一个新的TextSymbol符号类

theTextSymbol=Symbol.Make(#SYMBOL_TEXT)

?设置字体大小为50

theTextSymbol.SetSize(50)

theView = av.GetActiveDoc

if (theView.GetGraphics.EditText.Not) then

pt = theView.GetDisplay.ReturnUserPoint

?在鼠标点击处产生―ABC―

t = GraphicText.Make("ABC", pt)

?取消所有图层的选折

theView.GetGraphics.UnselectAll

?把当前图层设置为选种状态

t.SetSelected(TRUE)

?设置文本的属性

t.SetSymbol(theTextSymbol)

t.GetSymbol.SetColor(Color.GetBlue)

?把文本添加到视图上

theView.GetGraphics.Add(t)

?刷新视图

theView.Invalidate

end

设置文本属性除了用TextSymbol类外还可以直接用它的父类Symbol,如上例的t.GetSymbol.SetColor(Color.GetBlue)。通过Symbol不仅可以设置文本的颜色,还可以设置文本的字体、字符的大小等。

5文件、表格和字段

1、文件

文件是一个抽象类,它的下级类是LineFile和TextFile。

LineFile按行操作文件,TextFile按字符操作文件。

LineFile.Make (aFileName, aFilePerm)或

TextFile.Make (aFileName, aFilePerm)

打开或产生一个LineFile(TextFile),aFileName 是文件名(包括路径),aFilePerm指示文件允许的操作(Read, Write, Append, etc.)。

theFN = "c:\test1.txt".AsFileName

theFile = LineFile.Make(theFN,#FILE_PERM_WRITE)

theFile.WriteElt("East China Normal University")

theFile.Close

ReadElt这个请求用于使用文件元素。当读到文件尾时,ReadElt返回Nil。

theString = theFile.ReadElt

https://www.360docs.net/doc/8516469173.html,(theString, ―‖)

在文件输入输出时,可以用FileDialog来显示文件和目录的列表。

myFile = FileDialog.Show("*.txt","Text File","Pick File")

产生新文件:

theFileName = "c:\tmp1.txt".AsFileName

theFile = FileDialog.Put(theFileName,"*.txt","")

2、表格

在ArcView中,Table文档是显示表格状数据的用户界面,这些表格状数据包含在VT ab(a virtual table虚拟表)中,VT ab是从磁盘中ArcView所支持的文件(INFO文件、dBASE文件以及分割的文本文件)中获得。

(1)表格的产生与打开

下面的程序是产生一个表格文档并打开。

theFileName = "c:\test.txt".AsFileName

theVTab = VTab.Make(theFileName,false,false)

myT able = T able.Make(theVtab)

myT able.GetWin.Open

在执行这个程序之前要在C盘下建立一个名为―TEST.TXT‖的文件,其内容如下:

Name , Age

张三, 22

李四, 33

(2)BuildQuery对话框

BuildQuery用来显示查询表达式的对话框。用户也可以构建自己的表达式,然后用Vtab中的Query这个请求来执行。

theT able = av.GetActiveDoc

theT able.BuildQuery

(3)记录选择位图(Selection Bitmap)

与Vtab相关的位图(Bitmap)可用于显示Vtab中哪些记录被选中,用户可以利用位图对表格中选中的记录进行操作。位图是称为位的布尔值的一个有序的集合。位的值说明元素(如表格记录)是否被选择。真值表示选中。

通过位图操作,可以返回选中元素数目。

theT able = av.GetActiveDoc

theVTab = theTable.GetVTab

theBitMap = theVT ab.GetSelection

theSize = theBitMap.Count

https://www.360docs.net/doc/8516469173.html,(theSize.AsString,"")

也可以利用Set和Clear对选中记录和取消选中。

theBitMap.Set(aBitNumber)

theBitMap.Clear(aBitNumber)

theBitMap.SelAll

theBitMap.ClearAll

下面的例子显示对所有记录的循环操作和仅对选中记录的循环操作。在调试下面程序之前要先打开―E:\ESRIDATA\USA\ Counties.dbf‖,并选中若干记录。

theT able = av.GetActiveDoc

theVTab = theTable.GetVTab

theField = theVT ab.FindField("Units")

theTotal = 0

for each r in theVTab.GetSelection

theTotal = theTotal + theVTab.Returnvalue(theField,r)

end

https://www.360docs.net/doc/8516469173.html,(theTotal.AsString,"")

如果选择操作是在视图上进行,编写下面的程序,并与一个工具相关联。当利用该工具在视图上选择后,将对选中的记录的某一字段进行统计并显示统计结果。在调试下面程序之前要先打开―E:\ESRIDATA\USA\ Counties.shp‖,并选中若干图形。

theView = av.GetActiveDoc

theTheme = theView.GetThemes.Get(0)

theRect = theView.ReturnUserRect

theTheme.SelectByRect(theRect,#VTAB_SELTYPE_NEW)

theVtab = theTheme.GetFtab

theField = theVT ab.FindField("pop1990")

theTotal = 0

for each r in theVTab.GetSelection

theTotal = theTotal + theVTab.Returnvalue(theField,r)

end

https://www.360docs.net/doc/8516469173.html,(theTotal.AsString,"")

(4)联结和关联表格

要完成表格的联结或关联,两个表格必须有一个公共字段。

toTable = av.FindDoc("states.dbf")

fromTable = av.FindDoc("sales.dbf")

toVt = toTable.GetVTab

fromVt = fromT able.GetVtab

toField = toVt.FindField("state_abbr")

fromField = fromVt.FindField("state")

toVt.Join(toField,fromVt,fromField)

以上是实现两个表格的联结,要实现两个表格的关联,只要把Join改为Link即可。

(5)主题表的操作

通过上面的学习读者对Vtab应该有了一定的了解,主题表(Ftab)是Vtab的子类。因此在外表上Ftab与Vtab 几乎是一样的,而且Vtab的所有请求都可以用于Ftab,唯一不同之处是Ftab多了一个Shape字段。这个Shape 字段包含一个定义图形几何特征的Shape对象,因此Ftab具有强大的空间分析功能。下面这段程序把原主题中的选中图形及其相关属性存放到一个新的主题中。在运行程序前先打开一个主题(如E:\ESRIDATA\CANADA\cities.shp),并选中若干图形,如图所示:

theView=av.GetActiveDoc

theTheme=theView.GetActiveThemes.Get(0)

theFtab=theTheme.GetFtab

theFields=theFtab.GetFields

theShpField=theFtab.FindField("Shape")

theClass=theFtab.GetShapeClass

def = av.GetProject.MakeFileName("theme", "shp")

def = FileDialog.Put(def, "*.shp", "New Theme")

if (def <> nil) then

theNewFtab = FTab.MakeNew(def, theClass) ‘生成新的Ftab

?下面的if语句判断新建的Ftab是否可用

if (theNewFtab.HasError) then

if (theNewFtab.HasLockError) then

MsgBox.Error("Unable to acquire Write Lock for file " + def.GetBaseName, "")

else

MsgBox.Error("Unable to create " + def.GetBaseName, "")

end

return nil

end

theNewFields={}

for each f in theFields

if (f.AsString="shape") then

continue

end

fld=f.Clone ?复制字段,包括其名称及格式

theNewFields.Add(fld)

end

theNewFtab.AddFields(theNewFields)

if (theNewFT ab.StartEditingWithRecovery) then ?判断Ftab是否可编辑

for each r in theFtab.GetSelection

newRecord=theNewFtab.AddRecord

for each f in theFields

theOldvalue=th eFtab.Returnvalue(f,r) ?返回字段的值

theField=theNewFtab.FindField(f.AsString)

if (theField=nil) then

continue

end

theNewFtab.Setvalue(theField,newRecord,theOldvalue) ?设置字段的值

end end end

theNewFTab.StopEditingWithRecovery(True) ?结束编辑并保存编辑结果

theNewTheme = FTheme.Make(theNewFtab)

theView.AddTheme(theNewTheme)

theNewTheme.SetActive(TRUE)

theNewTheme.SetVisible(TRUE)

av.GetProject.SetModified(true)

end

运行结果如图所示:

3、字段

(1)返回字段

有三种方式返回字段

f1 = theTable.GetActiveField

f2 = theTable.GetVTab.FindField(―ID‖)

f3= theTable.GetVTab.GetFields.Get(0)

可以指定字段别名,返回或设置字段的值。

theT able = av.GetActiveDoc

theField = theT able.GetActiveField

theField.SetAlias("人口")

返回字段值

theT able = av.GetActiveDoc

theVTab = theTable.GetVTab

theField = theT able.GetActiveField

theObject = theVTab.Returnvalue(theField,0)

https://www.360docs.net/doc/8516469173.html,(theObject.AsString,"")

设置字段值

theT able=av.GetActiveDoc

theVtab=theT able.GetVtab

theField=theTable.GetFields.Get(0)

theVtab.Setvalue(theField,0,‖NewYork‖)

theObject = theVTab.Returnvalue(theField,0)

https://www.360docs.net/doc/8516469173.html,(theObject.AsString,"")

(2)产生字段

Make这个字段可用于建立新的字段,这时需要指定字段名、字段类型、字段宽度和精度。新建立的字段将被加入到VT ab中。

Field.Make (aName, aFieldType, aWidth, aPrecision)

首先新建一个空白的Table,下面的例子是产生两个新字段。

theT able = av.GetActiveDoc

什么是淘宝直通车,具体怎么做直通车

什么是淘宝直通车,具体怎么做直通车 淘宝直通车是淘宝上的一种收费推广方式,按点击率来扣费的,这个能把你店铺的宝贝展示到买家搜索的第一页,效果很不错,但是也很烧钱;新店不建议做直通车,因为大多数新店都会亏钱;可以等店铺有一钻信誉后再尝试做淘宝直通车试试。 如有不懂的问题可以来咨询娟娟老师,娟娟老师可随时为你解答各种网店相关的疑问。 想开网店的话可以加娟娟老师微信或QQ,娟娟老师免费教新手开网店 如何找到娟娟老师的联系方式: (在电脑上的话,点击右侧【进入官网】即可看到娟娟老师的QQ和微信) (在手机上的话,点击左下角【访问官网】即可看到娟娟老师的QQ和微信) (“进入官网”旁边的电话是我的手机号,由于打电话的人太多,无法一一接听,所以请大家加我微信交谈, 手机号就是我的微信号) 自我介绍下:我叫黎娟娟,江苏南京人,89年的,大家都叫我娟娟老师。本人到目前为止网店已经开了有八九年了,经验非常丰富,收入也颇丰,每个月都有三万以上收入。现在我主要当网店老师专门教新手开网店。(当初我也是从新手一步步过来的,从最初月收入两千多,到第二个月的五千多,到第三个月的近一万,再到现在每月稳定在三万以上,经历了很多风雨,并积累了丰富经验)所以我很清楚新手如何才能把网店开成功。想开网店的话可以加我哦,免费教新手开网店。 附上一张本人照片,让大家认识下 开网店有两个关键:①找到稳定可靠的货源;②做好店铺的推广营销和活动;打算开淘宝网店的话,要把重点放在找货源和做推广营销上面!关于推广营销这个方面,大家可以加娟娟老师QQ或微信,来我这边学习经验,免费提供教学。 至于货源的话,由于大多数新手自己都没有货源,所以我在这篇文章下面重点跟新手们讲讲如何找货源。其实找货源并不难,但关键是要找到稳定可靠的货源才行!那怎样才能找到稳定可靠的货源呢?为了很好的解决这个问题,娟娟老师推荐新手使用商为开店软件来提供货源,为何要推荐用这个软件提供货源?下面跟大家详细介绍下这个软件作用就知道了【需要软件的话请联系娟娟老师】。

淘宝直通车新手入门教程

淘宝直通车新手入门教程 l新手入门第一课――广告位与竞价词 一.广告位 让我们来亲身感受一下什么是直通车的广告!按我的步骤来一起操作一下哦,Go 1. 首先打开淘宝首页,在搜索框输入”风衣”这个词,点击搜索按钮,显示搜索页面 2. 往右上角看,有一个掌柜热荐的位置,下面有5个广告位,这是直通车的广告位 3. 把页面拉到最底端,会看到三个大图,这三个也是直通车的广告位 以上的步骤可以演示为下图,红色框的为直通车广告位. 1. 2.

3. 二.竞价词 这些卖家的广告为什么会出现在这里呢? 因为他们都设置了风衣这个竞价词 那竞价词又是什么呢? 就是买家输入这个词搜索,你的广告就能出现。 就像百度的搜索,如果信息符合被搜索的关键词,这条信息就会出现,在直通车,我们把这个关键词称为竞价词. 比如你希望买家输入“风衣”这个词,他就可以在我们的广告位上看见你的宝贝,那么“风衣”就是你要设置的竞价词。

新手入门第二课——收费与排名原则 大家都知道,直通车是一个收费的产品,那到底是怎么收费呢? 多少钱一天还是有包月还是其他收费方式呢? 直通车不是按时间收费的,它的收费方式是:按点击收费 广告展示在广告位上了,我们不收费,只有当买家对您的宝贝感兴趣,点击了您的宝贝,才会有费用产生.所以广告展示跟时间无关,只和余额、日最高限额和定时投放有关(第三课有详细讲解)。 点一次多少钱呢? 每次点击最少1毛钱 那最多呢? 最多多少钱是您自己设置的,您设置的高,扣的钱就多,设置的低就扣的少. 大家都喜欢设置的低,可以少扣点,那设置的高和低有什么区别呢?(排名规则) 比如”风衣”这个词,有20个人买了这个词,但是第一页只有5个人广告位,谁排在前面呢?这时候就需要看谁对”风衣”这个词的出价高,出价越高,排位越前,当然排位越前的每次点击扣的费用也越多. 这个出价就是竞价词的价格 扣钱是从我的支付宝账户扣还是有什么其他方式呢? 是从直通车账户扣款的,首次充值直通车最少500元,按点击扣费,没有任何服务费用,也没有使用期限

直通车教程

在对淘宝直通车的运作模式和基础操作有了一定的了解后,就该进行淘宝直通车实战了。一大把服装圈为网友们带来《淘宝直通车技巧篇》,希望可以让广大网友更好的掌握淘宝直通车的技巧从而更好的进行推广活动。 我们知道,直通车搜索的原则是当卖家设置的词和买家搜索的词完全一样的时候,才会展示宝贝的广告。所以说,给宝贝设置竞价词是至关重要的。直接影响到您的推广效果。有的掌柜会问,那我该怎么设置竞价词?设置竞价词的思路是什么呢? 淘宝直通车技巧篇:设置竞价词的思路 设置竞价词一定要站在买家的角度去考虑,您要买这件宝贝的适合,会用些什么样的词搜索。要把浏览量大的词和浏览量小的词结合起来推广。浏览量大的词排名不要很前面(除非产品很有优势),浏览量小的词一定要排在前面,否则出现的机会就更少了。 设置竞价词的基本原则是:您要从买家的角度去考虑,如果我是买家,我要搜索这件宝贝要输入哪些关键词呢?

淘宝直通车技巧篇:设置竞价词的思路 首先,第一点,宝贝名称,从您宝贝的名称中提炼出来关键词来作为宝贝的竞价词。 第二点,宝贝详情里的属性词,宝贝详情是我们在编辑宝贝信息的时候抓取出来的关键信息,也是买家十分关注的,所以说用宝贝详情里的属性词作为宝贝的竞价词是十分明智的。 第三点,名称词和属性词里面的组合词。这些词相对比较精确,买家的购买欲望也十分强。 淘宝直通车技巧篇:设置竞价词的思路 总结了设置竞价词的思路,我们再来看一个例子。图中展示的是一件韩版风衣,它的宝贝详情已经给大家列出来了。包括它的价格,颜色,品牌以及风格。各位掌柜,您看到这件宝贝的话你会设置哪些竞价词呢?

淘宝直通车技巧篇:设置竞价词的思路 首先,第一点,宝贝的名称词中我们可以用“风衣”这个竞价词。 第二点,宝贝详情里面的属性词,我们可以用双排扣、韩版、淑女、绿色、长款等等作为竞价词。 第三点,在宝贝名称和宝贝详情的组合词中,我们可以用韩版风衣,双排扣风衣等作为关键词。

拼多多直通车推广场景基础入门教程

开拼多多场景推广的话,首先要有基础销量,还要有个不错的转化率。场景推广是很容易产生爆款的,曝光也高,但前提是你对拼多多各方面有所了解、有一定推广基础才行。 概说: 首先,我们先弄明白拼多多场景推广的展示以及扣费规则: 排名规则: 综合排名=商品质量分广告出价。 商品质量分=点击率转化率销量交易额。 扣费规则: 扣费=(下一位的出价*下一位的商品素材点击率)/自己的商品素材点击率+0.01元。 单次点击扣费,重复点击虚假点击系统会过滤,不计扣费。 定向: 1. 全体人群:所有普通用户 2. 访客重定向:浏览或购买过我的店内商品的用户。 3. 相似商品定向:浏览或购买过相似商品的用户。 4. 叶子类目定向:近期有推广商品所属叶子类目行为的用户。 5. 相似店铺定向:近期对我的店铺的竞品店铺感兴趣的用户。 6. 兴趣点:近期对我的商品相关属性感兴趣的用户。(最多设置5个定向点)。 资源位: 1. 基础流量包:默认包含以下3个展示资源位 2. 类目商品页:推广商品将展示在拼多多商城类目标签页、搜索标签页下方的商品列表中 3. 商品详情页:推广商品将展示在拼多多商城商品详情页为你推荐下方的商品列表中(相似商品) 4. 营销活动页:推广商品将展示在拼多多营销活动页面下方的商品列表中,包括多多果园、边逛边赚、现金签到页、天天领现金、拼多多微信公众号; ---开始正题--- 一. 排名权重与优化: 1. 场景一样有排名权重区分的。如何获得一个号的排名,这个就需要针对商品做出一定的优化。并且要了解场景排名权重的核心环节。 场景排名核心: 场景计划权重--开设每一个计划都有一定的计划权重分,具体是按照改个计划内所有商品的质量分与投入计算所得。 商品质量分--通俗的说法按照以下权重划分:点击率—转化率—产出—订单量—产出比。------这里面对于出价的标准就看你商品的质量分是否够高。 上述两个点是最为基础并且最主要的两个核心,只要懂这些核心内容才能提高场景的排名。 2. 优化推广内容: 计划以5天为一个优化周期,将所有定向与兴趣点5个选择,资源位全选;溢价标准以每个所需推广位置皆有曝光。分别记录每个的曝光量,点击数,点击率,订单量和投产比。5天结束后,记录下每日的点击率、转化率。横向对比你的点击率。根据记录的数据去分析,将曝光量大且点击数点击率高的组合开设一个新的计划。 二.实操: 1. 将优化做好后,直接进入降低出价的步骤。 上述说过排名权重的几个要点,其中我们需要注意的是点击率,这里因为有了上面的数据,

淘宝运营内部教程完整版-初级

1:定位和利润决定淘宝店的生死! 这个定位和利润写在所有营销之前,因为这是重中之重!(产品是最基本核心和基础) 基本上可以一句话说:店铺的定位决定你的店铺生死! 我所说的定位分两种: 1.定位市场细分化 2.定位低端还是中高端客户 何谓细分市场,这是一个比较大的话题,涉及到区域,客户特殊需求,性别,年龄,职业… 这里不说这些,我简单的举两个例子,对大家理解更好更有帮助。 例如做减肥产品—中药减肥产品—针对女性中药减肥产品—针对产后女性中药减肥产品… 为什么要定位细分市场? 1.细分市场竞争更低更能满足客户需求 2.细分市场跳出了同质化 3.细分市场才是打造网货品牌的地方 这里说的另一个定位直接简单分为定位低端客户还是定位中高端客户利润就不用说了,高利润和低利润,很简单定位中高端客户直接意味着高利润 我要求大家的是尽量定位中高端客户! 为什么要定位中高端客户? 1.定位中高端客户的高利润为你以后的推广路子!低端客户的低利润直

接卡死你以后的推广路子,直通车,钻石展位,超级麦霸,聚划算,谷歌竞价广告(和这些基本绝缘)淘宝数据显示2010年电子商务的流量成本是以前的4倍,直接体现在淘宝!25元直通车点击 2.你的低端客户低价策略,在淘宝这个变态的平台总有比你更低的没有最低只有更低,求低价客户需要的是更低价的 3.低端客户要求更多,相反中高端客户反而更好伺候 4.中高端客户的回头购买次数更多 5.中高端客户带给你关键的东西更多利润 6.做中高端客户才有可能打造出网货品牌(七格格麦包包绿盒子…)不可能要求所有店铺都定位中高端,但是有一点是肯定的,你定位低端的话,基本前途很有限了。尤其是淘宝流量不断从C 店剥夺的大势下。淘宝的流量价格在不断的飙升! 我所希望的是至少看了我这个课程的朋友尽量好好想想你自己店铺的定位,看是否要做出改变! 2:淘宝营销的本质是什么?! 淘宝营销的本质到底是什么? 很多人说流量,有人说营销推广,总感觉不够本质 淘宝购物客户的特点是什么? 对比购买,从一大堆找到的宝贝中选择一个自己中意的成交,正因为淘宝购物客户的购物对比的天性基因,所以我们卖家的营销也一定要对比的

那些被高手隐瞒的直通车绝密技巧--很全面的直通车讲解

那些被高手隐瞒的直通车绝密技巧 上官七七现在淘宝直通车开车的技巧,很多的人都讲过,综合所述,内容无非就是设置关键词,以及提高质量得分,而在开车的过程中有很多的观点其实是错误的。而这些错误的观点其实就是开车油费太厉害的原因。 首先我们需要明白的一点是直通车的本质,在淘宝直通车的介绍里面清楚的写着,客户精准营销工具,什么叫精准营销?精准营销就是把我们的信息准确的呈现在需要的顾客面前,这里最重要的一点是需要的顾客。而这个过程中就是通过关键词来实现信息的准确传达。 那么在精准营销的本质上,关键词的数量是一个关键。很多的人都有这么一个观点,那就是关键词越多越好,直通车每一款产品理论上来说可以上800个关键词,这个也是官方教程所宣传的,那么在实际的操作过程中,如果一件产品真的上了800个关键词,那么结果肯定是要亏损的。而且你会发现直通车的转化率非常的低,为什么会出现这种情况呢,因为这种大量的上关键词违背了直通车精准营销的本质。(开车的思路,思路决定出路) 一件产品能够承受多少关键词这个是屈指可数的,在精准营销的基础上我们要考虑的因素非常的多。例如顾客的爱好,年龄,搜索习惯,产品的用料,做工,款式,细节,品牌,季节,气温等等的因素,只有那些符合各种因素的关键词,才是我们需要的关键词,如果我们用各种因素来赛选一下自己的关键词会发现,能够符合的关键词非常的少,通常不会超过100个,只有考虑到各种因素所筛选出来的关键词才是符合直通车精准营销本质的。(直通车词数量) 那么如果我们不考虑这些因素,只是单纯的增加关键词的数量那么结果是显而易见的,那就是大量和宝贝无关的关键词会被点击,造成车费的无端浪费,和转换率的低下,从某一个方面来说,淘宝官方论坛里面

华尔思华为安全HCIE直通车课程大纲

华尔思华为安全HCIE直通车课程 安全HCIE直通车课程涵盖了目前华为安全方向的所有初级高级课程知识,总共分为HCNA(4天)-NCNP(8天)-HCIE(6天)三个阶段,内容安排由浅入深,适合所有零安全基础的学生参加。 一、HCNA课程简介 课程覆盖网络安全基础知识,防火墙基础知识,包过滤技术、NAT技术等防火墙基本原理以及在华为防火墙中的实现,华为防火墙用户管理及认证原理,IPSec、SSL等VPN技术原理以及在华为防火墙中的实现,UTM技术及相关防御策略的部署配置,终端安全技术及基本安全策略配置。 HCNA课程知识大纲:防火墙基础 1.网络安全基本概念 2.防火墙基本概念、防火墙功能特性、防火培设备管理和防火墙基础配置 3.包过滤技术基础、防火墙转发原理、防火墙安全策略及应用 4.网络地址转换技术基础、基于源IP地址NAT技术与配置、基于目的IP地址NAT技术与配置、双向NAT技术与配置、NAT应用场景配置 5.防火墙双机热备技术基础、防火墙双机热备基本组网及配置 6.防火墙用户管理基础、用户认证概念、AAA技术原理、用户认证管理及应用 7.VLAN技术基础、WLAN技术基础、广域网接口特性技术基础VPN基础技术

1.VPN基本概念、VPN分类、加密技术 2.L2TP技术原理、Client-Initialized方式L2TP技术与配置 3.GRE技术原理与配置 4.IPSec基本概念、AH技术原理、ESP技术原理、IKE技术原理、IPSec配置 5.SSL技术原理、虚拟网关概念与配置、Web代理技术与配置、文件共享技术与配置、端口转发技术与配置、网络扩展技术与配置 二、HCNP课程简介 HCNP课程内容覆盖以下四个方面: 1)防火墙通用技术(防火墙基础技术、防火墙安全策略、防火墙用户管理、VPN、安全配置文件、攻击防范、虚拟化和带宽策略) 2)终端安全体系规划、部署、维护与优化 3)安全解决方案和规划设计方案 4)安全体系架构和安全标准的最佳实践。 2. 课程知识大纲 防火墙基础技术 1.防火墙安全策略技术 2.防火墙NAT技术 3.防火墙用户管理技术 4.双机热备典型组网" 5.虚拟防火墙技术 6.防火墙带宽管理技术"

直通车报告

直通车报告 一、关于直通车概念 想要做好直通车,就要先去了解现在直通车的定义,这块很容易被忽视,但若不说,很多“无知”的老板还是在看别人直通车如何如何做成的爆款,如何如何挣钱。停留在过去希望直通车打爆款丶直通车赚钱的年代。并不是说直通车现在打不了爆款赚不了钱,只是有这想法之前,要先明白自己提供什么产品。开车之前要做好哪些相应的准备。 直通车的作用:现在的直通车只是点评运营手段之一,只是一个工具,但是他是使用最多的工具,现在的直通车更偏向与新品引流测款,在新店或者店铺效果不太好的适合,可以快速通过直通车提升店铺浏览。并且提升单品搜索关炎键词的排名。现在的直通车基本上每家淘宝店铺都在做,而且有特色的产品越来越多,所以现在的直通车更偏向于,让原先有销量基础的商品(所谓的爆款)销量更好。让没有销量的产品获得一定的流量。所以,在看待数据的时候需要更加理性客观。 了解直通车在推广操作中所遇到的问题:直通车的问题基本上总结出来:展现量、点击率、点击单价、ROI、转换率以及相对无线端。大家都很清楚,无线的流量基本上能占店铺总流量的70%以上。大家对无线的需求也就越来越多。 二、直通车的推广手段: 很多人了解了直通车的皮毛,就开始希望能做好直通车,做不好了就会开始抱怨直通车太贵,淘宝赚不到钱。这种抱怨除了说服自己放弃直通车以外,解决不了任何问题。 想了解直通车,先看看直通车的推广手段: 关键词推广:流量精准、直击买家 定向推广:流量大,点击单价低,相对来说ROI比较高(不适合新品) 店铺推广:有门槛,费用低,流量精准性差 三、选款 有很多大神都有单独分析选款,之前也对选款做了一些分析。今天不做重点,主要提一些点给大家: 产品自身基础: 1、价格 2、销量和评价(有一些基础评价,毕竟敢于第一个吃螃蟹的人终归是少数) 3、参谋分析:1. 宝贝在店铺中的流量趋势2. 转换率3. 收藏、加购等 市场竞争力,市场趋势 如果说宝贝的质量、价格、卖点上没有一项在同行中有竞争力,那么推广也只是为同行产品做广告而已。首先一定要对自己做的产品类目非常了解,清楚的知道同行产品有什么优势,然后确定自己的产品定位,是否有卖点更突出,或者性价比更高?在同行产品中一定要有优势才值得去开车付费推广。 充足的货源,如果推广起来,之后因为缺货而终止了,那就实在是太可惜了。 产品的利润空间,个人认为起码利润要在30%以上才比较适合开车,利润在30%那么ROI需要做到3.33以上才能保证直通车是盈亏平衡的一个状态。大家可以算一下自己的产品需要什么样的ROI 才能满足最基本的盈亏平衡。 产品的质量,产品的质量要对得起这个价格,不然起步的情况下都是中差评,之后的推广将无法进行,买家不死傻子,不要想以次充好,产品的质量影响我们是否能长久的推广下去! 四、上车准备 1. 详情页 上车之前宝贝的详情页一定要做好充足的优化,详情页是影响宝贝转换的非常重要的因素,不然开车即使引入很好,很精准的流量不能造成转化,那也是白白浪费钱,时间和精力,尤其像现在无线端,一定要单独的去做一份。图片不需要很多,但是一定要清晰,加载速度够快。产品的卖点突出描写。让客户引起兴趣,抓住需求点,引导下单。 关联营销,买家进店要充分的利用每一个买家,关联营销也很重要。 2. 宝贝优化

《网络零售》实训指导教程

目录 项目一:《快乐购物行》 (1) 一、实训目的 (1) 二、实训理论基础 (1) 三、实训内容 (1) 四、实训要求 (1) 五、实训过程或步骤 (1) (一)注册淘宝 (1) (二)注册支付宝 (2) (三)网上购物 (2) (四)收藏宝贝 (3) 六、实训成果或考核办法 (4) 项目二:《淘宝网开店》 (5) 一、实训目的 (5) 二、实训理论基础 (5) 三、实训内容 (5) 四、实训步骤 (7) (一)、开店流程 (7) (二)、网上开店的流程 (9) (三)、淘宝开店建议: (10) (四)、网上开店,魅力何在? (10)

(五)、网上店铺技巧 (11) 五、实训要求 (14) 六、实训成果与考核 (15) 项目三:《网上商店推广》 (16) 一、实训目的 (16) 二、实训理论基础 (16) 三、实训内容 (16) 四、实训要求 (16) 五、实训过程或步骤 (16) (一)设定好宝贝的关键字 (16) (二)搜索引擎 (17) (三)论坛 (17) (四)促销活动 (18) (五)人脉关系 (18) (六)一元拍 (19) (七)友情链接 (19) (八)论坛广告位 (19) (九)雅虎直通车 (20) 六、实训成果或考核办法 (22) 七、实训总结 (22)

项目一:《快乐购物行》 一、实训目的 要求学生熟练掌握互联网网上购物的专业流程及其应用知识与技能。 二、实训理论基础 《电子商务基础与应用》与《网络技术与应用》两门专业核心课程 中相关理论知识。 三、实训内容 能够熟练运用互联网网上购物的专业流程及其应用知识与技能,以个人为单位完成淘宝网, 百度有啊,拍拍网用户注册、支付账号申请、搜索宝贝、收藏宝贝、联络卖家、出价、评价等专业流程,并完成实训过程记录。 四、实训要求 要求学生借助电子商务创业公司中相关先进设备和自身业余时间熟练运作互联网网上购物的专业流程及其应用知识与技能,做到人人达到上述实训目的。 五、实训过程或步骤 (一)注册淘宝 1.淘宝网的网址为()。 2.注册淘宝时的步骤为:(填写会员信息)、(填入验证码)、(填入手机号码)。 3.注册完成后淘宝用户名为(),注册时使用的EMAIL为()。 注意:用户名的字符个数有限制,为()个字符,密码为()

【淘宝培训教程】这下小类目卖家要笑了,关于直通车定向的福利爆料!

这下小类目卖家要笑了,关于直通车定向的福利爆料! 说到定向啊,相比大家经常使用的直通车关键词投放,直通车定向对大家来说陌生的多。但是陌生不代表不好用,特别是用的人少意味着竞争度低,如果大家玩好了直通车定向,收益那是大大滴有啊! 这堂课,我就要为大家详细讲讲那个神秘莫测的直通车玩法——直通车定向! 一、定向的基础 相比关键词投放,定向投放的适用面是比较窄的,所以定向的基础其实是对投放产品的选择,选择对了合适和产品,定向投放起来事半功倍,而如果选错了投放的产品,基本上过就是在浪费钱了。 定向适合投放感性消费的产品,这和客户的购物习惯有关。定向投放不同于关键词投放,投放的人群是比较泛的,是非精准投放,在非精准投放中,低价位的感性消费商品是转化率比较高的。 并且定向不适用商品推广的前期,定向推广的宝贝需要有一定的销量基础,在宝贝还没一定销量的时候,定向进来的流量是很难转化的。 1.如何选择投放的产品 选择投放产品我们看三个维度:消费人群,价格区间,销量。 消费人群 和关键词投放不同,定向投放针对的消费人群是感性消费人群。也就是说,适合投放的商品是感性消费商品,如零食、女装、化妆品、书籍等。而不适合投放理性消费的商品,如电脑、手机、家具、灯具等。这是为什么呢?这里举个栗子说明吧。 美女果果今天打算在淘宝上买点衣服,于是果果搜索了【prada正品新款】这时候跳出来了一堆的衣服的信息,于是她就开始找啊找啊,比啊比啊。突然,果果发现一堆衣服信息里面出现了一个【零食】的主图,是她非常爱吃的夏威夷果,而且价格也挺便宜的,果果就点进

去看了,并且买了两斤。买了夏威夷果之后,果果觉得既然开始买零食了,那就索性多买点吧,于是又买了一堆牛油果啊,奇异果啊等等等。 最后,美女果果没有买到原来打算买的衣服,反而买了一堆零食,并且花了一整个晚上在购买零食上面。 果果美女的消费过程,就是一个非常典型的感性消费者消费过程,她们在购物过程中非常容易受到目标之外的感性消费产品的影响,从而产生购买行为。但是如果在购物过程中看到的是:日常用品、电脑、手机等理性消费商品,她们被影响的概率同样不是很高。 我们再举个例子 这次是帅哥石头,打算在淘宝上为手机买一条长一点的数据线,于是石头就搜索了【iPhone6数据线】,又在搜完出现的信息中按销量做了一下降序排列,快速浏览了一遍,了解了一下行情的价格。在流量过程中,扫到了一个【电脑】的主图,但是由于不是这次的购买目标,被石头直接略过了。在大致看了一下后,石头很快的选定了一家销量和口碑都错的店铺,下单购买了数据线,关闭淘宝退出了,整个购物流程只有5分钟。 石头帅哥的消费过程无疑就是非常理性的,他在购物过程中非常具有目的性,购物时间短暂。而在购物过程中,电脑、手机,日常用品这样的理性消费商品是完全无法干扰到他们。而零食、衣服等感性消费商品有一定几率吸引到他们的注意力,但是效果肯定也没有对感性消费人群的效果那么好。 通过我们上面两个例子,相信大家都能明白,我们在进行定向投放时,需要针对感性消费人群投放感性消费商品的信息,这样才能获得最好的效果。 价格区间 容易让消费者产生感性消费的商品,价格肯定是不会太高的。感性消费者在消费中低价位的商品时,是比较冲动而盲目的,但是如果面对的是高价格的商品,再感性的消费者也会恢复一定的理性,起码需要衡量一下自己钱包里面的票票够不够。 所以,定向投放时适合投放中低价位的商品,这样才能获得比较不错的转化率。 这其实也很好理解,大家都有一时冲动,买了件衣服,买了条裤子的经历,但是谁特么一时冲动买过一套房子?所以当面对高单价的商品时,再感性的人都会回归理性,毕竟没钱是木有感性的资本的。(简单的说,就是没钱没法任性。)

淘宝营销工具大全_淘宝开店必备

淘宝自带营销工具介绍 1、直通车 淘宝直通车是为淘宝卖家量身定制的,按点击付费的效果营销工具,实现宝贝的精准推广。 功能: 在给宝贝带来曝光量的同时,精准的搜索匹配也给宝贝带来精准的潜在买家。 优点: 1.多:多维度、全方位提供各类报表以及信息咨询,为推广宝贝打下坚实的基础。 2.快:快速、便捷的批量操作工具,让宝贝管理流程更科学、更高效。 3.好:智能化的预测工具,制定宝贝优化方案时更胸有成竹,信心百倍。 4.省:人性化的时间、地域管理方式,有效控制推广费用,省时、省力、更省成本! 采用直通车该如何做 1.您想推广某一个宝贝,就要为该宝贝设置相应的竞价词及广告标题、简介。

2.当买家来淘宝任何地方搜索了你设置的竞价词,或者点击了你宝贝的类目的时候,您的广告就会出现,展示在搜索结果页最上方的右侧、及最下方。 3.如果买家点了您的直通车广告,系统就会根据您设定竞价词的点击价格来扣费,每次点击最低0.01元。如广告只是展示,没人点击,是不计费的。 2、团购 团购(group purchase)就是团体购物。指认识或不认识的消费者联合起来,加大与商家的谈判能力,以求得最优价格的一种购物方式。 优势: 1.对于没有多少时间的顾客或者一些要求比较高的顾客是有价格上的好处的(这类顾客在论坛上比较少)。 2.对于一天到晚都在网络上学习知识或者有一定时间去了解市场的顾客来说,意义就是你会找建材市场便宜的服务好的商家,不太可能把每个品种找完的,总有你找不到的,找不到的就有团购就可以去参加,虽然不一定便宜,不过也是不贵的,也许这个价格和特价是一样的。 3.对于已经确定了一个固定品牌的产品,而这个品牌基本上没有经销商,只有自营店,那么团购也还是有用的。因为你已经固定了品牌,好不好都是那个了,而只有自营店,又找不到经销商杀价,就算你讲价讲得到团购的价格,也要花很多的精力了。

SEO教程2

网站优化的重要性 常常会听到一个声音,“我的策略是薄利多销”。依托供应链的相对优势,主动实施降价促销,通过单品走量。与此同时,也会听到一种抱怨“淘宝定价太低,价格高了卖不出去”,于是一而再,再而三地降低价格。这两个问题可以归结为一个问题:定价。 目前,淘宝卖家主流的新品定价方式分为:经验定价法,根据过去的经验,对宝贝进行定价。依靠店主,或是核心团队开会,对不同产品价格进行判断。好处是省时省力,快速决策,谈笑之间,价格已定。但风险在于,对市场把握一旦出现问题,要么宝贝很难卖出去,要么就是没有赚到钱;成本加成法,新产品进货的价格加上一些,就是宝贝的价格。比如进货价100元的棉衣,加上80%,定价就成了180元;竞争定价法,参考下竞争对手的定价。然后再拍拍脑袋,加一点或减一点,于是价格就出来了。 新品定价的基本前提是要保证盈利。对于任何一个店铺来说:扩大生意规模,需要投入采购资金。随着交易规模的持续扩大,团队人员数量与质量的提升,也意味在薪酬方面更大的投入;再加上直通车、钻石展位等推广投资;还有办公场所、图片拍摄等硬件投入。所以,定价的目的在于保证利润,同时在此前提下可以促进销量的增长。 定价的经济学基础 摸着石头过河,这“石头”就是经济学原理,把几十年积淀下来的原理作为咱们过河的基石,少走弯路。市场的销售商,定价决策依据的是供需关系和如何解决供需平衡的问题。 很多卖家都有同样的经历,在淘宝上,相同的宝贝,越便宜,买的人越多。同理,相同的宝贝利润越高,卖得人也越多。 而如何可以达到一款宝贝,卖的人多,买的人也多,同时卖家有利可图,而买家又可以接受产品的价格?这也就是所说的供需平衡的问题。需要在产品定价之前,就进行核算。 大家都知道,降价是有成本的。举个例子,每件男士衬衫定价是100元的时候,可以卖出1000件,成交是10000元。但降价到80元,原来就能卖出的100件,每件就损失了20元。那么潜在的损失就是(100-80)×100=2000元。如果要达到原来的交易额10000元,就必须卖出1250 件。只有达到1250件以上的时候,总成交才会因降价而上升。反之,就算销量增加,但卖不出125件的时候,成交反而因降价而下降。在竞争中,基于不同商品的不同价格弹性,进行产品组合销售而产生盈利的也有很多成功的案例。 比如,亚马逊花了5.4亿美金收购尿布电子商务的网站https://www.360docs.net/doc/8516469173.html,,而这家网站2010年营业额约为3亿美元。它把一类本不在网上售卖的商品推上了网络销售,因为纸尿布不仅需要快速运输,而且标准化程度高,价格透明。价格弹性也比较高,只要有更低的价格,买家会很快转移到其他的购物平台,所以利润被压得很低。但是,他们并非依靠纸尿布来盈利,网上销售纸尿布只是用来吸引一批忠诚的顾客。利润来源于一些网上售卖的高利润率的商品,比如婴儿沐浴液、湿纸巾等。通过销售不同价格弹性商品组合,来实现盈利。 因此一味降价和提价都需要一个合理的考量,也就是找到需求的平衡点。假设价格越低,购买意愿越强,但无法量化购买者会多买多少。于是,你需要制定一个均衡的价格,可以达到利润和销量的同比增长。就是当你提价,销量的下降比例低于提价幅度,那么支付宝成交非但不会下降,反而会上升,而且这个时候,利润会更加好看。 如何让你的宝贝卖高价? 信息不对称是指“一些成员拥有其他成员无法拥有的信息”。具体点来说,就是淘宝买家对产品的了解没有卖家多,面对海量的信息,他们只能根据掌握的有限信息对宝贝做出购买决策。在此前提下,就容易出现因为交易双方信息不对称和市场价格下降产生的劣质品驱逐优质品,形成了盲目的价格战,而使得消费者开始以价格作为唯一判断标准,相同的宝贝,哪个便宜就买哪个,使得真正有品质差别的宝贝销售不出去。

淘宝直通车

淘宝直通车 淘宝直通车是由阿里巴巴集团下的雅虎中国和淘宝网进行资源整合,推出的一种全新的搜索竞价模式。他的竞价结果不只可以在雅虎搜索引擎上显示,还可以在淘宝网(以全新的图片+文字的形式显示)上充分展示。每件商品可以设置200个关键字,卖家可以针对每个竞价词自由定价,并且可以看到在雅虎和淘宝网上的排名位置,并按实际被点击次数付费淘宝(每个关键词最低出价0.05元最高出价是100元,每次加价最低为0.01元)。 一、淘宝直通车的准入规则介绍 B店(商城店):商城卖家可不受级别限制即可加入。 C店(卖家普通店): 1、集市店铺只有卖家级别达到两颗心,11个好评。 2、店铺非虚拟交易近半年的DSR评分三项指标不得低于4.4(开店不足半年的从开店之日起算)。 3、店铺好评率不得低于97%。 4、以下几个主营类目的卖家需要先加入消保才能开通直通车: (1)保健品/滋补品 (2)古董/邮币/字画/收藏 (3)母婴用品/奶粉/孕妇装 (4)品牌手表/流行手表 (5)食品/茶叶/ 零食/特产 (6)腾讯QQ专区 二、开通淘宝直通车的7个步骤: 第1步:首先是进入淘宝创想开通直通车业务,进入网页之后点击页面上的加入直通车。 第2步:然后会弹出淘宝直通车服务协议,点击确定完成后续操作之后就可以开通直通车服务了。

第3步:如果上面的条件你符合且接受了,然后你可以登陆淘宝直通车后台管理(主页面上有一个直接登陆后台)点击推广宝贝。 第4步:选择你需要推广的宝贝并且添加必要的描述,以便能吸引到顾客。

第5步:最重要的则是关键词设置,关键词决定了你在搜索中被别人搜到的可能性大小。关键词设置的原则是:热门,贴切,日常常使用。具体关键词设置可以参考系统推荐或者网上一些关键词设置教程。这一步是比较重要的一步。 第6步:然后则是设置推广价格:直通车推广是根据点击量计算花费,每产生一次点击累积一次竞价价格。当然你要明白两点:有点击不一定有购买,购买远少于点击量。所以要保证你的商品够吸引力。第二点:有竞价不一定有展示,既然是竞价模式,则是按照使用者竞价高低给予展示机会的,所以选择合适的竞价也很重要。

淘宝直通车绝密技巧

现在淘宝直通车开车的技巧,很多的人都讲过,综合所述,内容无非就是设置关键词,以及提高质量得分,而在开车的过程中有很多的观点其实是错误的。而这些错误的观点其实就是开车油费太厉害的原因。 首先我们需要明白的一点是直通车的本质,在淘宝直通车的介绍里面清楚的写着,客户精准营销工具,什么叫精准营销?精准营销就是把我们的信息准确的呈现在需要的顾客面前,这里最重要的一点是需要的顾客。而这个过程中就是通过关键词来实现信息的准确传达。 那么在精准营销的本质上,关键词的数量是一个关键。很多的人都有这么一个观点,那就是关键词越多越好,直通车每一款产品理论上来说可以上800个关键词,这个也是官方教程所宣传的,那么在实际的操作过程中,如果一件产品真的上了800个关键词,那么结果肯定是要亏损的。而且你会发现直通车的转化率非常的低,为什么会出现这种情况呢,因为这种大量的上关键词违背了直通车精准营销的本质。 一件产品能够承受多少关键词这个是屈指可数的,在精准营销的基础上我们要考虑的因素非常的多。例如顾客的爱好,年龄,搜索习惯,产品的用料,做工,款式,细节,品牌,季节,气温等等的因素,只有那些符合各种因素的关键词,才是我们需要的关键词,如果我们用各种因素来赛选一下自己的关键词会发现,能够符合的关键词非常的少,通常不会超过100个,只有考虑到各种因素所筛选出来的关键词才是符合直通车精准营销本质的。 那么如果我们不考虑这些因素,只是单纯的增加关键词的数量那么结果是显而易见的,那就是大量和宝贝无关的关键词会被点击,造成车费的无端浪费,和转换率的低下,从某一个方面来说,淘宝官方论坛里面大量宣传多关键词的作用其实就是让大家多花点钱,而淘宝就能够多赚一点。

直通车推广优化技巧,全程实操干货教程

直通车推广优化技巧,全程实操干货教程 今天聊聊直通车质量分怎么优化,提升质量分。 我开直通车这么久了,用过三个方法是比较有效的 第一种 1.选词的时候就选择10-20个以创意标题的且属于宝贝属性相符的分词作为关键词。然后把展现量低的,点击率低的,转化率还差的删掉,还有展现指数和转化率还在下滑的也删掉 这里说一下,我们也可以在直通车后台竞争分析,就可以知道我们的数据和和用户数据的差距的,有对比才知道我们应该着重去优化哪个数据 2.移动端的关键词排名保持在10-20名,靠前的也肯定也是可以的,看我们的预算来决定,太后了效果太差了,不能快速的提升质量分(权重),电脑端的排名,我现在都不怎么关注 3.投放平台只投放站内无线端,投放地域的话,只有是看点击率和转化率,比如我们投前1 5的地区 在点击率和转化率综合考虑选出15个或者是10个地区来投放就可以

投放时间,主要是看我们的后天数据表现,如果没有数据的话,就投白天就可以。后面,数据多了,再去优化。原则是那个时间段访客多就多投,转化率高的就多投,少的就相反。 投放人群的话,有数据就按照原来的数据投,进行溢价。如果是没有的话,还是按照我们之前的20%进行溢价,后面再优化,一会下面再展开。 4.投放后就可以进行优化,当关键词展现量有100以上的时候就要去看点击率,看跟同行的点击率相差多少,是高于还是低了,低了就删掉,不要,否则肯定会拉低权重。如果某个关键词表现比较优秀,就进行溢价,人群也是,表现的比同行好很多也要进行溢价。 比如我发现“手提包女气质女神”这个关键词表现很好,那我就有可能多加几个与“气质女神”相关的词,如果这个词表现很差,那我就把相关的都删了。 5.如果我在一个不熟悉的类目,就会先海选,把选50个关键词左右,人群溢价5%,然后根据前面的方法进行优化。测试好关键词、人群、主图、出价之后,重新创建一个计划,重新按照测试好的进行投放,把原来测试的计划删除。因为测试肯定是改来改去的,这样数据就可能比较乱,不好分析,而且权重不好做不起 第二种方法: 找大量精准的长尾词,三四级词的长尾词,特别是近期都在上升的。只要确保这个长尾词可以找到我们宝贝的就可以用,而且竞争指数低的、市场均价也低的词 这些词的展现指数一般在1000-2000左右的,具体看类目,只要这些词够多,也会得到很大的展现

淘宝直通车运营操作技巧

淘宝直通车运营操作技巧 现在淘宝直通车开车的技巧,很多的人都讲过,综合所述,内容无非就是设置关键词,以及提高质量得分,而在开车的过程中有很多的观点其实是错误的。 而这些错误的观点其实就是开车油费太厉害的原因。首先我们需要明白的一点是直通车的本质,在淘宝直通车的介绍里面清楚的写着,客户精准营销工具,什么叫精准营销,精准营销就是把我们的信息准确的呈现在需要的顾客面前,这里最重要的一点是需要的顾客。 而这个过程中就是通过关键词来实现信息的准确传达。那么在精准营销的本质上,关键词的数量是一个关键。很多的人都有这么一个观点,那就是关键词越多越好,直通车每一款产品理论上来说可以上800个关键词,这个也是官方教程所宣传的,那么在实际的操作过程中,如果一件产品真的上了800个关键词,那么结果肯定是要亏损的。而且你会发现直通车的转化率非常的低,为什么会出现这种情况呢,因为这种大量的上关键词违背了直通车精准营销的本质。 一件产品能够承受多少关键词这个是屈指可数的,在精准营销的基础上我们要考虑的因素非常的多。例如顾客的爱好,年龄,搜索习惯,产品的用料,做工,款式,细节,品牌,季节,气温等等的因素,只有那些符合各种因素的关键词,才是我们需要的关键词,如果我们用各种因素来赛选一下自己的关键词会发现,能够符合的关键词非常的少,通常不会超过100个,只有考虑到各种因素所筛选出来的关键词才是符合直通车精准营销本质的。那么如果我们不考虑这些因素,只是单纯的增加关键词的数量那么结果是显而易见的,那就是大量和宝贝无关的关键词会被点击,造成车费的无端浪费,和转换率的低下,从某一个方面来说,淘宝官方论坛里面大量宣传多关键词的作用其实就是让大家多花点钱,而淘宝就能够多赚一点。

直通车推广技巧

直通车推广技巧 直通车操作技巧现在淘宝直通车开车的技巧,很多的人都讲过,综合所述,内容无非就是设置关键词,以及提高质量得分,而在开车的过程中有很多的观点其实是错误的。而这些错误的观点其实就是开车油费太厉害的原因。 首先我们需要明白的一点是直通车的本质,在淘宝直通车的介绍里面清楚的写着,客户精准营销工具,什么叫精准营销,精准营销就是把我们的信息准确的呈现在需要的顾客面前,这里最重要的一点是需要的顾客。而这个过程中就是通过关键词来实现信息的准确传达。那么在精准营销的本质上,关键词的数量是一个关键。很多的人都有这么一个观点,那就是关键词越多越好,直通车每一款产品理论上来说可以上800个关键词,这个也是官方教程所宣传的,那么在实际的操作过程中,如果一件产品真的上了800个关键词,那么结果肯定是要亏损的。而且你会发现直通车的转化率非常的低,为什么会出现这种情况呢,因为这种大量的上关键词违背了直通车精准营销的本质。 一件产品能够承受多少关键词这个是屈指可数的,在精准营销的基础上我们要考虑的因素非常的多。例如顾客的爱好,年龄,搜索习惯,产品的用料,做工,款式,细节,品牌,季节,气温等等的因素,只有那些符合各种因素的关键词,才是我们需要的关键词,如果我们用各种因素来赛选一下自己的关键词会发现,能够符合的关键词非常的少,通常不会超过100个,只有考虑到各种因素所筛选出来的关键词才是符合直通车精准营销本质的。那么如果我们不考虑这些因素,只是单纯的增加关键词的数量那么结果是显而易见的,那就是大量和宝贝无关的关键词会被点击,造成车费的无端浪费,和转换率的低下,从某一个方面来说,淘宝官方论坛里面大量宣传多关键词的作用其实就是让大家多花点钱,而淘宝就能够多赚一点。

淘宝直通车基础设置篇

此文章出处富网店https://www.360docs.net/doc/8516469173.html, 淘宝直通车基础设置篇 以前和大家一样都是从苦逼的淘宝民工开始,09年到现在一直操作直通车,很多人把直通车神化了(对新手来说)在网络上很多新手咨询了我很多关于直通车的问题,今天有幸写一篇淘宝直通车基础设置给新手看。 理清思路,不要看太多被神化的直通车文章,直通车只是一个工具。 关于一开始直通车的设置,我们可以看到一个计划里面有设置日限额设置投放平台设置投放时间设置投放地域 一开始,当你选好款后投放在一个计划里面,很多新手不知道怎么设置,也是让很多新手头疼的问题,其实很简单,一开始选款后,里面的设置,例如: 设置日限额,你可以按照自己的情况进行设置

设置投放平台:在设置里面可以看到两大分类:淘宝站内,淘宝站外 很多买家一开始都是直接全部都开通,其实不然,淘宝会给出这样的一个设置一定有他的道理,还有关于阶段性的设置,宝贝测试情况,一般淘兵开车都是站外直接关闭,只保留淘宝站内搜索推广,Why?很简单,当一款宝贝前期没做过任何测试的前提下,你不知道这款宝贝的大概趋势,流量,PPC,点击率,转化率

刚刚说到阶段性设置,于是乎,会有人问我什么是阶段性设置,其实很容易理解,就是直通车前期测试图片点击转化还可以,当销量达到一定程度,比如小爆的情况下,转化率一定时,加大流量,提升销量。 设置投放时间: 还是那句话,当宝贝没做过任何测试的话,你很难知道你自己宝贝的表现情况怎么样,所以全部设置全部时间段,100%投放,只是前期的设置,后期根据这款宝贝的表现再做调整, 比如你这款宝贝在某个时间段,流量一般,转化一般,可以设置折扣低点

-淘宝直通车推广秘籍

淘宝直通车推广秘籍 直通车作为为淘宝卖家量身定制的营销工具,为卖家实现宝贝的精准推广。简单来说,直通车在给宝贝带来曝光量的同时,精准的搜索匹配也给宝贝带来了精准的潜在买家。对于淘宝卖家而言,淘宝直通车推广是一个多维度,全方位为商品进行推广的工具,并且拥有快速、便捷、智能、个性化等功能。其实,对于许多卖家而言,虽然知道直通车的存在和优势,但是却不知道该如何利用推广。那么,今天JA就和大家分享一些关于直通车推广的技巧吧。 直通车的推广手段: 很多人了解了直通车的皮毛,就开始希望能做好直通车,做不好了就会开始抱怨直通车太贵,淘宝赚不到钱。这种抱怨除了说服自己放弃直通车以外,解决不了任何问题。 想了解直通车,先看看直通车的推广手段: 关键词推广:流量精准、直击买家 定向推广:流量大,点击单价低,相对来说ROI比较高(不适合新品) 店铺推广:有门槛,费用低,流量精准性差 选款 有很多大神都有单独分析选款,之前也对选款做了一些分析。今天不做重点,主要提一些点给大家: 产品自身基础: 1、价格 2、销量和评价(有一些基础评价,毕竟敢于第一个吃螃蟹的人终归是少数) 3、参谋分析:1. 宝贝在店铺中的流量趋势2. 转换率3. 收藏、加购等 市场竞争力,市场趋势 如果说宝贝的质量、价格、卖点上没有一项在同行中有竞争力,那么推广也只是为同行产品做广告而已。首先一定要对自己做的产品类目非常了解,清楚的知道同行产品有什么优势,然后确定自己的产品定位,是否有卖点更突出,或者性价比更高?在同行产品中一定要有优势才值得去开车付费推广。

充足的货源,如果推广起来,之后因为缺货而终止了,那就实在是太可惜了。 产品的利润空间,个人认为起码利润要在30%以上才比较适合开车,利润在30%那么ROI需要做到3.33以上才能保证直通车是盈亏平衡的一个状态。大家可以算一下自己的产品需要什么样的ROI才能满足最基本的盈亏平衡。 产品的质量,产品的质量要对得起这个价格,不然起步的情况下都是中差评,之后的推广将无法进行,买家不死傻子,不要想以次充好,产品的质量影响我们是否能长久的推广下去! 上车准备: 1. 详情页 上车之前宝贝的详情页一定要做好充足的优化,详情页是影响宝贝转换的非常重要的因素,不然开车即使引入很好,很精准的流量不能造成转化,那也是白白浪费钱,时间和精力,尤其像现在无线端,一定要单独的去做一份。图片不需要很多,但是一定要清晰,加载速度够快。产品的卖点突出描写。让客户引起兴趣,抓住需求点,引导下单。 关联营销,买家进店要充分的利用每一个买家,关联营销也很重要。 2. 宝贝优化 开车推广最终目的也是为了提升自然流量,让宝贝有稳定流量来源,宝贝自身的优化也非常重要。包括宝贝自然标题、主图、属性、卖点等方面的优化,有利于直通车推广带动自然流量的提升。 推广: 直通车推广有几个数据是我们要重点观察测试的,根据数据的反馈才能合理有效的对直通车进行优化调整。 1. 展现量 大家应该都知道,直通车培养关键词的重点是点击率,但是点击率的前提要有足够的展现,有些店家开车的时候,不敢出价畏手畏脚的,导致没有展现没有点击,反而应该学整体计划的权重,导致越来越难做,其实在开始出价的的时候还是大方一点,出价比市场高出20%以上,有足够的展现,然后再去根据关键词的表现进行优化调整。还有一个重点就是选词,选什么样的关键词测试,开始大家都知道要选精准词,选几个精准长尾词对前期测试来说是最好的选择,之后开始慢慢加入二级热门词,推广到中后期需要大流量的时候开始加入热词。 2.点击率

相关主题
相关文档
最新文档