Delphi的kbmMemTable控件与AdoQuery有什么区别

Delphi的kbmMemTable控件与AdoQuery有什么区别,第1张

关于内存表的使用(kbmMemTable)

关于内存表的使用说明 一、 Delphi使用内存表 1.1 Delphi创建内存表步骤: 1. 创建一个Ttable实例。 2. 设置一个DataBaseName为一个目录或是已有的数据库别名。 3. 指定TableName的值。 4.设置TableType属性指明要创建的数据库表类型。(如果此属性为ttDefault表示数据库类型与TableName指定值的扩展名对应)。 5. 调用TTable.FidldDefs对象的Add方法向数据库表中添加字段。Add有4个参数: 字段名:string。 字段类型:TfieldType。 字段大小:Word。一般只对String和Memo类型使用。 字段是否NotNull: Boolean。 6. 使用TTable.IndexDefs.Add()方法定义索引。Add有三个参数: 索引名:string索引字段名:string索引类型:TIndexOptions7. 调用TTable的CreateTable。这种方法适用于本地表。SQL表要用TQuery来创建。 代码如下: var MemTable: TTablebegin with MemTable.Create(Self) do begin DatabaseName := 'c:\Temp'TableName := 'Test'TableType := ttParadoxwith FieldDefs do begin Add('Age', ftInteger, 0, True)Add('Name', ftString, 25, False)Add('Weight', ftFloat, 0, False)endIndexDefs.Add('', 'Age', [ixPrimary, ixUnique])CreateTableendend二、 kbmMemTable使用简述 2.1 kbmMemTable创建步骤: 1. 创建一个kbmMemTable对象实例。 2. 调用kbmMemTable.FidldDefs对象的Add方法向数据库表中添加字段。Add的方法和Delphi相同。 3. 使用kbmMemTable.IndexDefs.Add()方法定义索引。Add的方法和Delphi相同。 4. 调用kbmMemTable的CreateTable。 重要的区别:因为kbmMemTable不需要BDE的支持。所以不要指明DatabaseName, TableName和TableType三个属性。 代码如下: with kbmMemTable1 do begin with kbmMemTable1.FieldDefs do begin ClearAdd('Period', ftInteger, 0, false)Add('VALUE', ftLargeInt, 0, false)Add('BytesField', ftBytes, 20, false)Add('Color', ftInteger, 0, false)Add('Date', ftDate, 0, false)Add('Memo', ftMemo, 0, false)Add('AutoInc', ftAutoInc, 0, false)endwith kbmMemTable1.IndexDefs do begin ClearAdd('Index1', 'VALUE', [])endCreateTableend三、与Delphi创建内存表的对比 3.1主从表功能 kbmMemTable可以象其它TDataSet一样,通过设置MasterSource和MasterField来简单的完成主从表的操作。 3.2 SQL功能 没有发现kbmMemTable可以支持SQL语句的操作。它提供按字段排序和对排序字段的查找功能。 三、 kbmMemTable特点 从其它TDataSet得到数据。 代码如下: LoadFromDataSet(Table1, [mtcpoStructure, mtcpoProperties])这样kbmMemTable就完全得到来自一个DataSet对象中的全部数据. 保存和载入内存表中数据的功能 Delphi的TTable不提供SaveToFile功能。 kbmMemTable提供保存到文件的功能,保存的文件有两种格式: Options: TkbmMemTable.SaveFlags1. 二进制格式。kbmMemTable.SaveToBinaryFile('c:\test.bin', Options). kbmMemTable1.LoadFromBinaryFile('c:\test.bin') 2. .csv格式。kbmMemTable.SaveToFile('c:\test.csv', Options)kbmMemTable1.LoadFromFile('c:\test.csv') (一种Excel支持的文档格式)打开后的内容如下: @@FILE VERSION@@ 200 @@TABLEDEF START@@ Period=Integer,0,"Period","",10 VALUE=LargeInt,0,"VALUE","",15 BytesField=Bytes,20,"BytesField","",10 Color=Integer,0,"Color","",10 Date=Date,0,"Date","",10 Memo=Memo,0,"Memo","",10 AutoInc=AutoInc,0,"AutoInc","",10 CALC=String,20,"CALC","",20 @@TABLEDEF END@@ Period VALUE BytesField Color Date Memo AutoInc CALC 1 198 0 02/11/2001 This is a memo%n2001-11-2 10:19:52 1 0 1-二月 2 196 3 03/11/2001 This is a memo%n2001-11-2 10:19:52 2 1 2-三月 在文档的头部份描述了表的字段结构,在下面则是数据区域. 以下代码用ClientDataSet建立内存表,包含Field1和Field2两个字段,在Field1上建索引: with ClientDataSet1 do begin //添加Integer类型的字段Field1 with FieldDefs.AddFieldDef do begin DataType := ftIntegerName := 'Field1'end//添加string类型的字段Field2 with FieldDefs.AddFieldDef do begin DataType := ftStringSize := 10Name := 'Field2'end//在Field1上建索引 with IndexDefs.AddIndexDef do begin Fields := 'Field1'Name := 'IntIndex'end//创建内存表 CreateDataSetend

》》》》》》》》》》》》》》》》》

KbmMemTable是一款高效且强大的内存表控件,内存表顾名思义其最大的优势就是速度,KbmMemTable不仅完美地实现了高效的特征,同时,最新版本还支持索引、SQL语句等高级用法。其用法超简单,基本用法和ClientDataSet一致,以下是我简单的应用示例,实现了增删改查等基本功能:

Delphi <wbr>: <wbr>kbmMemTable关于内存表的使用

unit Unit1

interface

use

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, StdCtrls, kbmMemTable

type

TForm1 = class(TForm)

Button1: TButto

DataSource1: TDataSource

DBGrid1: TDBGrid

Button2: TButto

Button3: TButto

Button4: TButto

Button5: TButto

Button6: TButto

Button7: TButto

rocedure Button1Click(Sender: TObject)

rocedure FormCreate(Sender: TObject)

rocedure Button2Click(Sender: TObject)

rocedure Button4Click(Sender: TObject)

rocedure Button3Click(Sender: TObject)

rocedure Button5Click(Sender: TObject)

rocedure Button6Click(Sender: TObject)

rocedure Button7Click(Sender: TObject)

rivate

{ Private declarations }

ublic

{ Public declarations }

end

var

Form1: TForm1

kbmMemTable1 : TkbmMemTable

Id:Integer

implementatio

{$R *.dfm}

rocedure TForm1.Button1Click(Sender: TObject)

egi

//建表

kbmMemTable1.FieldDefs.Clear

kbmMemTable1.FieldDefs.Add('Id', ftInteger, 0, False)

kbmMemTable1.FieldDefs.Add('Value', FtString, 20, False)

kbmMemTable1.FieldDefs.Add('Time', ftDateTime, 0, False)

kbmMemTable1.IndexDefs.Add('Index1','Id',[])//定义索引

kbmMemTable1.CreateTable

kbmMemTable1.Active := True

end

rocedure TForm1.Button2Click(Sender: TObject)

var

fld_Id:TIntegerField

fld_Value:TStringField

fld_Time:TDateTimeField

i:Integer

egi

//插入

with kbmMemTable1 do

egi

DisableControls//切断数据感知控件

try

Open//打开

//定义Field

fld_Id:=TIntegerField(FieldByName('Id'))

fld_Value:=TStringField(FieldByName('Value'))

fld_Time:=TDateTimeField(FieldByName('Time'))

for i := 0 to 9 do

egi

Inc(Id)

Append//附加数据

//赋值

fld_Id.AsInteger := Id

fld_Value.AsString := 'Hello PFeng!'+inttostr(Id)

fld_Time.AsDateTime := Now

Post//确定

end

UpdateIndexes//更新索引

finally

EnableControls//连接数据感知控件

end

end

end

rocedure TForm1.Button3Click(Sender: TObject)

var

fld_Id:TIntegerField

fld_Value:TStringField

fld_Time:TDateTimeField

egi

//更新

with kbmMemTable1 do

egi

Ope

fld_Id:=TIntegerField(FieldByName('Id'))

fld_Value:=TStringField(FieldByName('Value'))

fld_Time:=TDateTimeField(FieldByName('Time'))

if Locate('Id',5,[]) the

egi

Edit

fld_Value.AsString := '内容被修改'

fld_Time.AsDateTime := Now

Post

end

end

end

rocedure TForm1.Button4Click(Sender: TObject)

var

fld_Id:TIntegerField

fld_Value:TStringField

fld_Time:TDateTimeField

egi

//查询

with kbmMemTable1 do

egi

Ope

fld_Id:=TIntegerField(FieldByName('Id'))

fld_Value:=TStringField(FieldByName('Value'))

fld_Time:=TDateTimeField(FieldByName('Time'))

if Locate('Id',5,[]) the

ShowMessage(fld_Value.AsString)

//还可以用FindKey实现,结合索引速度更快

// kbmMemTable1.IndexFieldNames:='Id'

// if kbmMemtable1.FindKey([5]) then ...

end

end

rocedure TForm1.Button5Click(Sender: TObject)

var

fld_Id:TIntegerField

fld_Value:TStringField

fld_Time:TDateTimeField

egi

//删除

with kbmMemTable1 do

egi

Ope

fld_Id:=TIntegerField(FieldByName('Id'))

fld_Value:=TStringField(FieldByName('Value'))

fld_Time:=TDateTimeField(FieldByName('Time'))

if Locate('Id',5,[]) the

egi

Delete

UpdateIndexe

end

end

end

rocedure TForm1.Button6Click(Sender: TObject)

var

fld_Id:TIntegerField

fld_Value:TStringField

fld_Time:TDateTimeField

id:Integer

egi

//循环比较最小值

with kbmMemTable1 do

egi

Ope

fld_Id:=TIntegerField(FieldByName('Id'))

fld_Value:=TStringField(FieldByName('Value'))

fld_Time:=TDateTimeField(FieldByName('Time'))

DisableControl

try

First

id := fld_Id.AsInteger

while not Eof do

egi

if id >fld_Id.AsInteger the

id := fld_Id.AsInteger

Next

end

Locate('Id',id,[])

finally

EnableControl

end

end

end

rocedure TForm1.Button7Click(Sender: TObject)

egi

//清空

kbmMemTable1.EmptyTable

end

rocedure TForm1.FormCreate(Sender: TObject)

egi

kbmMemTable1 := TkbmMemTable.Create(Self)

DataSource1.DataSet := kbmMemTable1

end

end.

http://www.pfeng.org/archives/372

》》》》》》》》》》》》》》》》》》》》》》》》》》

前端时间一直在研究三层通讯框架,计划封装一套稳定性较好的远程数据库服务接口,前期的方案主要有以下几种: 1,改造自己写的indy+压缩xml流三层应用项目 2,基于MMZ asio远程数据库项目进一步完善 3,寻找并测其他相对成熟的三层通讯框架,知道的有:QuickBurro、RemoteAdo、Middle ADO System、dbIOCP、DataSnap、ASTA、Remobject SDK、kbmMW,接下来我将就我对以上三层框架的浅薄认识一一说明。 首先说方案1,在早些时候为了实现远程数据库与本地数据库的同步,我写过一套基于indy+压缩xml流的C/S应用,客户端的请求封装在xml中,发送到服务端,服务端在数据库中执行后,把执行结果(例如结果集)拼装成xml再压缩成流,返回到客户端,虽然当时基本上满足了需求,但项目有着很大的局限:并发性差、效率低、通讯不稳定等,一旦网络条件稍差,服务端就会报异常,想想那段维护服务端软件的日子简直就是噩梦,如果本次项目仍然采用这种思路,我需要去改进很多地方,比如数据库连接池、多线程、数据校验、底层通讯等,在有限的时间里很难去把多个方面都做稳定,权衡后,觉得自己应该站在巨人的肩膀上来实现自己的业务逻辑,于是放弃了这个方案。 方案2,ASIO(http://think-async.com/)是C++的一个强大的通讯库,据说是工业级别的,我的一个Delphi技术群(群号:15637473)的群主把ASIO编译成了一个DLL动态库,然后又结合unidac、连接池等,封装了一个简单的三层通讯框架MMZ ASIO(http://mmz-asio4delphi.googlecode.com),我在早些时候用这个框架做了几个小项目,感觉比较简单,效率也很高,但是有几个bug迟迟得不到解决(客户端不能主动断开、服务端容易报线程异常等),给群主写邮件,群主说他现在很忙,没时间解决这些问题,而以我个人的水平,又很难去从核心代码上做改动。目前有几个忠实的asio爱好者还在深入研究(群号:91684553),相信有朝一日会稳定起来,考虑到时间成本,同样放弃了这个方案。

最后,最佳的选择就是选择一款成熟的三层框架,在此基础上做二次开发,于是从网上搜了好几天时间,了解各个框架的情况,首先基于成本和稳定性的考虑放弃了国产框架: 1,QuickBurro(http://www.quickburro.com/),樵夫的作品,到目前还一直在做升级,具体价格参见2,http://www.quickburro.com/orders.html,授权方式比较宽松,免费版的用户数有限制(好像是16个?不确定)。 3,RemoteAdo(http://www.remoteado.cn/index.html),了解的不多,但是就从网站上来介绍来看,功能比较局限,当然,也是收费的。 4,Middle ADO System(http://www.middle-ado.com/),厦门一家公司的产品,同样了解的不多,价格不详,功能也比较局限。 5,dbIOCP(群号:35916846),楠楠的作品,据说效率很高(IOCP不多说,网上一搜便知道),价格好像是3000/套,带源码,升级不是很频繁,网上的免费1.6版连楠楠自己都说已经很久了,我看群里很多讨论2.4版本的,楠楠同样自己说性能没法和3.x版本的比,新版的架构都变了,效率说的很神,但是个人作品,在没有很好地推广的情况下,3000刀个人感觉有点儿贵。

再来说其他的几个著名框架: 1,DataSnap,这个其实很多人都比较熟悉,它是Delphi的三层框架MIDAS的延续,李维在多次讲座和个人书籍中都强烈推荐,而且国外社区很多人都提到它,估计能力不俗,但是网上褒贬不一,个人深入了解的不够。 2,ASTA(http://www.astatech.com/products/asta3/),也是一个老牌的三层框架,据说在200x年的时候很火,但是开发者后续升级不给力,单从网站首页上的新闻就让人很惊讶:ASTA 3.1 is here and it’s HOT with support for Delphi 2006…当然,如果你还在用D2007以下版本做开发的话,可以试试,但是我个人觉得缺乏后续的SAU(Service and Update),心理上总是不踏实。价格不详,但是网上Full Source版本的一搜一大把。 3,Remobject SDK(http://www.remobjects.com/default.aspx),其实我对这个框架的印象很好,因为之前计数群里已经基于它做了很多成熟的项目,而且在讨论过程中口碑也相当不错,而且现在for XE2的版本网上也很好找到,建议有兴趣的人可以深入研究以下。 4,KbmMW(http://www.components4programmers.com/products/kbmmw/index.htm),说到本文的重点了,KbmMW在国内圈子里能够得到认可,很大程度上得益于窑主xalion详细的博文教程(http://www.cnblogs.com/xalion/),作者Kim Madsen对中国国情的充分考虑(对中国程序员价格上优惠25%),KbmMW在国外社区很火,国内可能很多人对kbmMemTable都不陌生,而KbmMW也是基于kbmMemTable做的封装。我对KbmMW最大的认可就是其开放的架构思路:通讯控件支持Indy(9和10)、Synapse、DxSock,数据库控件支持ADO和Unidac等、当然还有其他的加密、压缩等均支持开源的第三方控件,给开发人员了很大自由度。作者的热心也让我很感动,每次遇到问题,白天我在StackOverFlow上提问,夜里Kim就在上面认真回答。 当然还有很多其他的优秀框架(据说Dephi的三次框架解决方案是所有开发语言中最多的),比如德国的RTC(http://www.realthinclient.com/)据说也是很不错的,有兴趣的可以自己去了解下,当我了解了KbmMW之后,我觉得,KbmMW是我最好的选择。

接下来的博文中,我不再累述教程(没法超越窑主xalion的高度),更侧重资源的分享,容易犯错的地方提醒、原有Bug的勘误,自己开发经验的总结,希望能够有兴趣或有需求的人提供一些帮助。

新消费要闻

「MANNER」全国 10 城 200+ 新店齐开

3 月 1 日,「Manner Coffee」官微发布公告,全国 10 城 200+ 新店齐开,覆盖北上深、重庆、武汉等高线城市。消费者于3 月 8 日 - 10日每日 17 点前携自带杯,到 MANNER 门店出示小程序会员身份 ID ,即可免费打咖啡。「MANNER 」创立于 2015 年,主要为用户提供咖啡、茶饮、冰沙、果汁以及甜点等 美食 ,同时提供咖啡机、咖啡杯、挂耳包等咖啡相关产品;旗下拥有MANNERLIFE系列品牌产品,包括Brewista手冲壶、Ringco咖啡随行杯等。2019 年起进行门店扩张,在北京、成都、深圳等城市布局。「MANNER」 线上也已入驻天猫,提供咖啡豆购买服务,售价区间在 48 - 88 元 / 250g。

「Seesaw Coffee」完成新一轮数亿元A++轮融资

近日,「Seesaw Coffee」已完成数亿元A++轮融资,由黑蚁资本领投,基石资本跟投。此轮资金将用于全国门店拓展和数字化建设。这是继2021年7月「Seesaw Coffee」获得喜茶首投和老股东弘毅百福追加投资后的新一轮融资,此轮融资将用于进一步的全国门店拓展和数字化建设。在新消费市场集体遇冷的环境中仍然获得新一轮资本青睐,也证明在处于白热化竞争状态的咖啡市场中,作为中国咖啡品牌中的“黄埔军校级”玩家,Seesaw一路以来稳扎稳打盘踞出属于自己的一方天地。(有关Seesaw,更多内容回顾:新咖啡内卷:喜茶入股的Seesaw才更像“中国版星巴克”?)

花点时间推出春季限定“芍药吹吹风”香水

3月2日,国内领先鲜花生活方式品牌花点时间推出春季限定“芍药吹吹风”香水。该新品主要采用中国芍药香,并与柠檬树、香草等各自的味道融合,带来了香气的轻盈梦幻,纯美又有爆发力。目前,“芍药吹吹风”已登陆「花点时间微信公众账号」进行独家销售。

星巴克华北首家绿色门店亮相北京,计划未来一年将开设60家绿色门店

2月28日,继上海、苏州、深圳的星巴克绿色门店陆续开店后,华北地区首家绿色门店—星巴克北京中信保诚店正式开业,这也是星巴克在国内市场开设的第四家绿色门店。星巴克计划未来一年陆续在中国内地开设60家获得认证的绿色门店,并逐步推广至中国内地的所有新开门店及改造升级门店。

韩妆品牌HERA赫妍宣布关闭所有中国线下专柜

2月28日,继悦诗风吟、伊蒂之屋等韩妆品牌大幅关闭线下门店甚至退出中国市场之后,最近又一韩妆品牌HERA赫妍对外宣布:HERA品牌在中国的线下专柜已全部完成撤柜,微信小程序商城将于3月中旬关停,其他平台不受影响。对此,HERA赫妍主公司爱茉莉太平洋中国回复媒体称:“因业务渠道与战略发展调整,HERA赫妍微信商城将于3月25日关闭。消费者仍可以通过HERA赫妍天猫旗舰店进行购买。”

钟薛高注册资本增至约6.03亿元

2月26日,钟薛高食品(上海)有限公司发生工商变更,注册资本由约288.58万人民币增至约6.03亿元人民币。该公司成立于2018年3月,法定代表人为林盛,经营范围包括食品经营、餐饮企业管理、互联网销售等,由Gloryseed HK Limited全资持股。

盒马将进驻广西,预计新开两家门店并于八九月份开业

近日,盒马已与广西南宁市相关单位完成项目签约,今年将有两家盒马门店落户南宁。截至2021年11月,盒马已在27个城市开店,但广西壮族自治区尚处空白。据接近项目组的人士透露:虽然签约已完成,但店面、商品等多方面筹备,预计还要几个月的时间,目前来看,预计是在八九月份开业。

考拉香薰馆上线,并推出气味定制服务

3月1日,考拉香薰馆上线,并推出气味定制服务,同时开始全网征集奇葩香味,目前网友最想要的香味有春茶、香菜、芹菜、荔枝和泥土味。其中呼声最高的春茶香,已经被做成5万张香片,被塞进考拉海购的包裹里送货上门。这两年“嗅觉经济”增长迅速,小众、定制化的香薰需求也日益增多。目前,考拉海购已经与全球顶尖香精原料研究和生产公司芬美意达成合作,满足日益增长的香薰定制需求。

德勤最新报告:京东唯品会等入围全球50家增速最高的零售商名单

德勤近日发布最新研究报告《2022全球零售力量》,报告显示:京东、阿里巴巴新零售与直销、唯品会、永辉超市、物美、国美等中国企业入围全球零售250强。其中,京东首次跻身全球零售十强,唯品会全球排名上升16位至第67名。同时,京东、唯品会、永辉超市和物美等企业还入围了全球50家增速最高的零售商名单。

抖音于在国内小范围内测试了首款音乐App“汽水音乐”

近日抖音在国内小范围内测试了首款音乐App“汽水音乐”。“汽水音乐”App主打小众好音乐,以小众歌曲为主,部分歌曲需开通会员才能听。在汽水音乐的播放器界面,采用了与抖音App内的音乐播放器相似的布局,用户可以上下滑动选取系统推荐的歌曲,用户可以还对该歌曲进行收藏、转发和评论。

潮流新品

蜜雪冰城推出双旋冰淇淋

2月26日,蜜雪冰城推出双旋冰淇淋,全国上市混合原味和草莓味两种口味冰激淋。蜜雪冰城创始于1997年,是一家以新鲜冰淇淋茶饮为主的现制茶饮连锁品牌,覆盖全国31个省市自治区。

百事推出氮气可乐

百事准备在 3 月 28 日上市新品「Nitro Pepsi」,该产品注入的主要是氮气而非传统的二氧化碳,有普通可乐和香草可乐两个口味,外观和味道都不同于传统的可乐或苏打水。百事可乐营销副总裁Todd Kaplan表示:氮气可乐是一项首创的创新,为世界各地的粉丝创造了一种顺滑、奶油、美味的味觉体验。就像氮气如何改变啤酒和咖啡类别一样,相信氮气百事可乐是一个飞跃。并将在未来几年重新定义可乐。

「肯德基中国X星期零」 推出植物肉酥饭团系列早餐

3月1日,肯德基中国联合植物蛋白食品 科技 企业星期零推出新品植物肉酥饭团系列早餐,该系列产品包括金沙咸蛋黄植物肉酥饭团和植物肉酥油条饭团,现已上线全国门店。

有创意营销

蕉内携手周冬雨上线全新大片

Bananain蕉内携手代言人周冬雨推出的广告片《软软有力量》新鲜出炉。利用三段魔性小剧场,灵动展现影后搞怪可爱的一面。“软”与“支撑”在字面上相悖,蕉内X周冬雨《软软有力量》恰恰放大了这一点,用“不合理”的冲突,开出画风清奇的脑洞,让想像天马行空。适合不同的人群和场景需求的蕉内“软支撑”共有三个系列:空气软支撑Air in touch 、果冻条软支撑Standard in touch 、引力杯软支撑Pro in touch 。用短片中周冬雨的话来说,它们“明明很柔软,但是稳稳撑住了”、“没有存在感,但很有安全感”、“明明没压力,但有支撑力”。

「NEIWAI内外」10周年发布2022年度品牌大片

小红书发起活动「安福路在线」

花西子卸妆官宣全球代言人刘诗诗

刘诗诗成为花西子品牌卸妆全球代言人,“双生”演绎古与今,自在平衡卸与养。“花西子”品牌 探索 中国千年古方养颜智慧,针对东方女性的肤质特点与妆容需求,以花卉精华与中草药提取物为核心成分,运用现代彩妆研发制造工艺,打造 健康 、养肤、适合东方女性使用的彩妆产品。

投融资新闻

自然护肤品牌「山川」获得数百万元天使轮融资

近日,自然护肤品牌「山川」获得数百万元天使轮融资,资方包括尚承投资与U家会基金,由尚承投资领投。本轮资金将投入到产品开发、生产、渠道建设等方面。「山川」成立于2021年,品牌瞄准精品消费人群,主打自然养肤的个人护理产品,将国内名山大川当地盛产的植物材料作为产品核心成分。

全球小家电品牌「斗禾 科技 」完成近亿元A轮融资

全球小家电品牌「斗禾 科技 」已完成近亿元A轮融资,本轮融资由弘章资本投资,唯真资本担任独家财务顾问。本轮融资资金将主要用于产品研发、供应链升级,以及企业信息化建设等方面。斗禾 科技 成立于2014年,以供应链起家,由美的系团队创立,主要从事环境小家电和厨房小家电的研发、生产和销售。

全球电商SaaS平台「店小秘」完成1亿美元C轮融资

近日,全球电商SaaS平台「店小秘」完成1亿美元C轮融资,本轮融资由老虎环球基金(Tiger Global Management)、华兴资本旗下华兴新经济基金联合领投,老股东GGV纪源资本、鼎晖VGC、高榕资本跟投。本轮融资将用于继续加大人才引进、产品研发、服务体系升级以及全球市场布局。「店小秘」成立于2014年,是为全球电商卖家提供一站式电商生态服务的SaaS平台。

家居 科技 品牌「半日闲」获得数千万Pre-A轮融资

近日,家居 科技 品牌「半日闲」近日获得数千万Pre-A轮融资,由源码资本领投,原投资方险峰K2VC跟投,远识资本担任独家财务顾问。本轮资金将主要用于产品研发、渠道建设、营销推广及团队建设。

「奕至家居」完成近2亿元B轮融资

近日,「奕至家居」完成近2亿元B轮融资,由容亿投资和明道投资领投,三七互娱基金、广州新兴基金、万联广生和万联天泽旗下基金跟投,明越资本担任独家财务顾问。本轮融资将用于新产品研发和品牌出海的全球化营销。「奕至家居」成立于2018年,致力于通过 科技 美学驱动智能家居产品的发展。

潮流配饰品牌「MYOMY」完成梅花创投近千万元融资

近日,潮流配饰品牌「MYOMY」宣布完成近千万元天使轮融资,由梅花创投领投。本轮融资将主要用于品牌推广、加强系统能力和团队建设。据悉,「MYOMY」产品主要聚焦在潮流眼镜及部分配饰,未来还将根据Z世代消费群体多样化需求,拓展更多品类,通过产品创新、实现多品类覆盖。「MYOMY」成立于2020年,创始人徐晓光曾先后担任美团资深产品经理、百度高级研发和ORACLE数据工程师。

新材料公司「MiTerro」完成数百万美元天使轮融资

新材料公司「MiTerro」已完成数百万美元天使轮融资,本轮融资由国外影响力投资基金Astanor Venture领投,资金将用于扩大生产规模、增加与下游市场的合作等。「MiTerro」于2018年在洛杉矶成立,2020年在杭州成立子公司,发展方向主要聚焦在打造可降解蛋白质材料制造领域,不用石油基材料,从废弃牛奶、酒糟、厨余垃圾中提取蛋白质做成保鲜膜、啤酒标签、洗衣凝珠等。

个人消费电子类品牌「一晤未来evowera」宣布完成A轮融资

个人消费电子类品牌「一晤未来evowera」宣布完成A轮融资。本次融资资方为光远和声、高瓴创投、Brizan Ventures以及松柏投资。本轮融资将用于一晤未来技术研发投入、产品升级迭代以及市场拓展。

按道理来说搜狗智能拼音不是绿色软件

我在网上帮你找下了 绿色软件 的资料 看下吧 希望对你有帮助``

我来告诉大家什么是纯绿软件--(希望无知者不要再胡说八道了)

有人说:

还有哪些所谓写绿色软件的人是不懂windows编程,根本就写不出注册的过程。所以自我安慰的叫绿色软件。不知大家注意没有绿色软件是不可以在天加删除中删掉的。只要它运行就会产生很多拉圾,而且是到处乱放,这就是为什么容易出问题的原因所在。

我只能说,这样说话的人是个电脑肓。

或是根本不懂得绿色软件的含义。

绿色软件有如下严格特征:

1、不对注册表进行任何操作(或只进行非常少的,一般朋友能理解的操作,典型的是开机起动。少数也进行一些临时操作,一般在程序结束前会自动清除写入的信息)。

2、不对系统敏感区进行操作,一般包括系统起动区根目录、安装目录(windows目录)、程序目录(Program Files)、帐户专用目录。

3、不向非自身所在目录外的目录进行任何写操作。

4、因为程序运行本身不对除本身所在目录外的任何文件产生任何影响,所以,根本不存在安装和卸载问题。

5、程序的删除,只要把程序所在目录和对应的快捷方式删了就可以了(如果你手工在桌面或其它位置设了快捷方式),只要这样做了,程序就完全干净地从你的电脑里删去了,不留任何垃圾。

以上就是绿色软件的特征。

对于编程人员来说,做一个绿色软件不难,做一个非绿色软件也不难,但是为什么那么多软件不做成绿色的呢?下面作一些讲解:

一、大型软件公司的大型软件为什么不做成绿色的:

1、大型软件公司并非没有能力做出绿色软件,但它们的软件涉及的方面过多,需要对系统原有的一些设置进行改动,以使电脑按照软件设计要求进行操作。以PhotoShop为例,它就需要在注册表里添加很多种格式文件的默认打开方法为PhtoShop.exe,以便大家双击此类文件后就自动打开PhotoShop以便编辑。

2、为了更好的为一些对电脑知识不是很了解的朋友进行一些自动设定。还是以PhotoShop为例,这儿已经有朋友发布了解压即可用的,但是,还是不少的朋友,连解压也不会,解压后都不知道点哪个文件开始正常运行,也不知道怎么在桌面上建快捷方式。就算别人为他做完了上面的事,要是有一天,他不想要PhotoShop了,也不知道原来安装的程序在哪个目录,怎么删去,甚至不知道如何删除快捷方式,更别说如何完全干净的删除了。做成安装版就可以自动为使用者完成上面的事了。

(特别说明:上面对PhotoShop的举例,只是用它来举例罢了,其实网上流行的解压即可用的PhotoShop也不是严格的绿色软件,其运行还是会写注册表的,如果不正常的使用它,注册表里还是会留下垃圾的,不过,这种垃圾对你的电脑影响不是很大,会的朋友可以手动删除这些垃圾)

二、做成安装软件很难吗?那些所谓写绿色软件的人是不懂windows编程,根本就写不出注册的过程吗。

1、我只能说,某些人的这种说法是一种非常不负责任的说法。其人根本不懂得编程,可笑而幼稚,只能以电脑肓来称呼。

2、现在流行的各种编程软件分三大类:

A、第一类是微软出的编程软件。

有Visual Studio系列(流行版本为6.0)以及新出不是很久的VS.NET系列,它们都自带了安装发布功能。特别是Visual Studio中的VB做出的东西,如果不发布,或不进行相关的处理,在别的没有安装VB的机器上是根本运行不起来的,因为VB编译出来的程序在根本上是伪编译,其指令通过VB运行库转译后运行,没有VB运行库的机器是根本无法正常运行此类程序的。当然了,有经验的朋友可以手工把运行库复制入相应的目录中,或是和VB做出的程序放在一起。其它的Visual Studio做出的程序有的有类似的上述情况。

在微软出品的VS.NET中,VS.NET兼容了多种编程语言,但按其说法,最终的代码其根本实质会变成一致。但是它做出的也同样是伪代码,也就是说,其代码不是根本上的机器二进制代码,不对机器进行直接指令指示,而是向.NET运行环境(NET Framework接口)发出指令,而由NET Framework转译指令为机器代码,再进行持行。这就要求你的机器上安装了NET Framework。NET Framework在win95/win98/windows2000上默认是没有安装的,如要安装,需要从网上下载或其它方式得到后安装。(微软官方有下载,大家也可以使用windows updata得到)。XP、windows 2003已集成。最后要说的是,微软宣言,要将原来的API接口(windows一直使用的标准编程接口)作废,改用.NET接口,故.NET编程方式可能是将来的标准方式。VS.NET系列的软件也集成了通用安装发布软件,只要正确掌握它,就能很好的做出楼主所谓的安装程序。

B、第二类软件是大名鼎鼎的Borland公司出品的编程软件,它也包括两大系列。即API系列和.NET系列。其.Net系列的情况和VS.NET是类似的。而其API的情况就有些不同了。

Borland的Borland C++Builder和Borland Delphi是两种非常流行的针对win进行API编程的编程环境。他们也带有install shield,可以说是编程人员必学的。不过,很多的稍简单的程序,编制者并不用它,因为,使用Borland C++Builder/Delphi开发出来的程序,只要正确设定几个参数,编译后得出的程序就可以在几乎所有版本的win中很好的直接运行了,当前,前提是,没有使用有特殊要求的第三方控件,或某些必要特别设定的数据源(BDE等)。而且,稍熟练的编制者可以直接在程序中通过程序自行进行一些简单的环境设定,如写注册表(关联文件、开机起动)、利用资源文件的方式向重要的目录写入文件,注册组件等等,可以说一点儿也不难。

C、第三类是一些比较偏的编程语言了,如易语言等,使用的人很少,本人很老实的说,具体情况我也不是很了解。

三、为什么一些个人的简单的软件会做成非绿色的:

1、编写者水平太低。低到只会使用微软的VB等,虽然做出的东西也值得一用,但是不知道怎么把它变成绿色的,只能依*VB等本身的功能以保证程序的正常运行。

2、编写者懒,写出程序后想,只要程序能正常让别人用就可以了,不值得太费脑子,依*VB等本身的功能发布吧,反正这样保险。

3、编写者水平不低,也不懒,但是它的程序用到了一些第三方控件,这些控件需要发布安装才能正常运行(需要注册特定的.DLL,需要把一些文件放到特定的位置,如典型的,要放入windows下的system32目录中。)

4、编写者为一些水平实在太低的人考虑,为了那些人的方便,如典型的《笨笨钟》就是此类,《FoxMail》、《winamp》也是此类,当然,FoxMail、《winamp》是写注册表的,通过其主程序进行一些环境的设定,严格上来说,也不是纯绿的。

5、编写者有一些特定的,不想为人知的东西要放入你的机器。比如典型的《阿达连连看》就是这样,它要把一些特定的与注册相关的东西放入你的windows目录,而且不想被人发现。又如网际快车的某些版本,它要把广告程序代码放入你的windows安装目录。

6、编写者有恶意,它的程序其实捆绑了木马、病毒等(对这一类的就要非常小心了),在安装的过程中这些恶意的程序就会释放出在,不知不觉中潜入你的计算机。

四、是否可以做出功能复杂,但又是严格意义上的纯绿软件:

答案是非常肯定的,因为,其实我们正在使用的很多程序都是纯绿的,特别是很多的游戏,虽然它们也要安装后才能运行,其实,你把它们安装后的目录放在别的机器上也一样的可以使用,并不必再次安装,其安装的意义就是***编写者为一些水平实在太低的人考虑***,如《三角洲》、《魔兽争霸III》。特别如网络游戏《传奇》(这个程序写的是真的很经典了,决对纯绿)等等著名的游戏都是如此。其需要设定的环境记录可以不写在注册表内,而利用*.INI文件来记录。我不知道有几个人有胆子说编写这些程序的人水平低下。

五、综上所述:

1、要做出一个纯绿色的软件,并不是很难,当然,可能要求编制者更多的依*自已去写代码(在必要情况下),在程序涉及方面比较多的情况下,可能给编制者加重很多的工作量。而要做一个非纯绿的软件,那就更容易了,往往可以利用编写器的一些自带功能自动完成。

2、纯绿的不带安装功能的软件非常适合于对电脑比较熟悉的朋友使用,而绿色带安装的软件适合于所有人使用。而自以为对电脑很熟的朋友往往更喜欢不带安装功能就可以用的。原因有如下:带安装的软件往往会有反安装程序,如果安装目录被人为删去,反安装程序或一些相关注册表信息往会留在机器中,成为垃圾。

3、为了自已的机器的安全、快速,也为了知情权(一个程序到底在安装和使用过程中在自已的机器里写了什么),本人极力推荐纯绿的软件。即便在必要的情况下非纯绿,也希望有详细的说明。说明软件可能会写注册表的那些部分,会改动机器里的哪些文件,会向哪些目录写入什么文件,内容。而且,希望这成为软件界的一个标准。这样,我们的电脑才会有安全可言!

4、为什么现在流行的软件中真正纯绿的软件不是很多呢?这个问题很不好回答。在这儿可以非常遗憾的告诉大家,有些朋友在网上下载的winrar绿色版、winamp绿色版等等,都不是真正意义上的纯绿软件。

比如winrar,它就因为为了在鼠标右键上出winrar的功能菜单而写动了注册表,因为要关联比如扩展名为.rar等等的文件(这些都可以在winrar程序里设定和更改)而写动了注册表。如果使用winrar后,强行把winrar程序目录删去,注册表里的这一部分注册表信息必然成为垃圾(其它的也许有本人没有发现的动作,如没有说出来是本人水平不足的问题了,呵呵)。

winamp绿色版似乎要好一些(本人的感觉),如果你设定了一些文件的关联,如双击*.mp3等文件winamp就会自动打开播放的话,你强行删去winamp所在目录,这部分文件的关联信息也会成为垃圾留在注册表中。

(上面两个只是举例,解决办法很多对电脑熟悉的朋友是会的,在这儿,我们并不讨解决办法,另外,应该说,上面两程序是很规范的东西,它们的这些动作是无可厚非的)

现在再回过头来说说“流行的软件中真正纯绿的软件不是很多”。

A、有些功能是非通过写注册表来实现不可,最最常见的就是文件关联、鼠标右键菜单。(呵呵,这种操作可以说,稍熟编程的人都会)。但是很少有个人编写者考虑到别人不用他的程序时,要怎么让使用者方便地复位这些文件关联,方便地清理右键菜单。

B、部分程序编写者喜欢把注册信息放在注册表中。(为什么喜欢?就因为注册表是庞大的参数库,他们以为,要从这样一个大参数库找出他们写入的一个信息是大海捞针。事实上,的确很多朋友是难以找出来的,话又说回来,会者不难,难者不会,在这儿我也不细说了)

C、一些大公司的程序实在对系统有太多的改动,他们做好了安装和卸载工具,这些软件涉及了系统的方方面面,想简单的删除是很难的。典型的就如微软的Office等等。这些软件说实在的,别说你不老实的删除了,就是老实的卸载,有时也是很难成功的。最好的办法就是装上后就别卸把,把它看成是系统的一部分(不管你乐不乐意,呵呵)。(又及,这类程序也不是很少,这儿只举一例)。

D、只有那些其功能可以不涉及更改系统默认行为的软件才可能在真正意义上做到纯绿。((也许我罗嗦了)系统默认行为包括“文件关联”,“右键菜单”,“控制面版”里的项目,真实或虚拟的硬件驱动以及其它我想不起来或是我也不知道的东西……)。当然了,还要编写者有真正的为使用者着想的精神,有较好的技术。

六、有部分并非纯绿的软件,伪装成纯绿的,在运行过程中向注册表写东西,向关键目录区写东西,甚至更改重要文件。这不是纯绿软件,只能说是伪纯绿。又及,很多网上流行的软件,号称纯绿版,实际上只是一些原版本经过稍许改进等,原软件并不设计为纯绿,在运行过程中还是会写注册表(甚至写关键win目录),也不是严格意义上的纯绿。反过来,也有部分其实是纯绿的软件,为了大家的方便,做成了安装发布式的。比如最典型的就是《传奇》《三角洲》、《魔兽争霸III》等一些游戏,一些工作软件如《FOXMAIL》(FoxMail至少在针对IE选项里的“程序”页里的"电子邮件"相关项进行了注册表相关写操作)《winamp》《winrar》等等准绿软件(在这儿,我只说它们是准绿的)也是如此。这类软件其实安装出来后,把其目录放在任何一台电脑上都能或者能较为正常的运行,这也是为什么大家能很方便的把它们改造成绿色软件的原因。现在真正的纯绿软件实际上是很少的,至于以后,也还是看不到纯绿一统天下的希望的,大家不可因噎废食。不可能只用纯绿软件而不用其它。而且大公司的软件一般还是非常可*的。

七、非纯绿软件的危害:

1、向系统关键目录或不属于该程序所在目录乱存放文件(默认临时文件夹除外)在原则上对机器的运行速度是没有大的影响的,除非乱放的文件改动了原有的系统关键文件,才会至使电脑变慢或运行不正常。但是,因为这些目录中的文件一般都比较多,很难对它们进行清理(鬼才知道哪个是能删,那个不能删),会使你的硬盘空间浪费,对于硬盘空间紧的朋友,那就非常讨厌了(此外,心里也不爽)。

2、向注册表乱写信息,如果乱写的信息并不影响系统的关键部分,对系统运行也是没有严重影响的,不过,有些信息写入了不删去,你的系统就会有些讨厌的东西出来,举例:你装上winrar后(典型安装设置),直接把winrar删了,你就会发现,你的右键菜单里会多出一些让人哭笑不得的东西。要注意的是,随着机器的使用,软件的安装、删除,这些可以感觉到和不能感觉到的信息会越来越多,而你的机器在运行过程中,几乎随时随刻不能离开对注册表的相关操作,注册表里的信息过多,机器查找所需信息的速度就会变慢,这时,机器的运行就表现为“变慢了”,这往往是一台电脑为什么越用越慢的最重要的原因之一。(提示:因为多数情况下,一个软件对注册表写的东西并不多,所以,在每一次垃圾进去了,用户是很难感觉到影响的)(又及,一些注册表清理软件,本人也用过,虽有作用,但是风险不少,是好是坏我也不知怎么评价……)。这些垃圾信息并非只有小公司的软件会留下,很多大公司的软件据本人的感觉,也是会留垃圾的,本人也很无耐。

解决办法吗?恕本人无能,在当今软件乱世,只怕多少有些无可耐何。本人是使用最笨的方法:Ghost镜像还原。基本上每三至四个月给它倒回一次。(工作文档等当然不能放在系统区了,呵呵)。

八、希望无知者不要信口开河,多多学习。最后,附上一个我自已做的纯绿软件---BCB编写的《水波特效演示》程序,给大家玩玩叭。

补充——初步判断一个软件是否纯绿软件的方法(注,只有对电脑比较熟悉的人能才办到,如果下面的说明,你基本能看懂,而无需请教别人,你就能做到了):

一、系统测试法:

1、将软件在别人的机器上安装,安装完成后,把安装出来的目录复制到你的机器中(如果本身就号称纯绿免装的,这步就免了)。

2、你的机器要求安装windows2000 或 windows XP 或 windows2003,使用受限用户登录(要求受限用户无对关键注册表有写权,无对重要目录有写权,当然了,默认的新建的用户就是这样的(XP下要将用户设为受限))。

3、受限用户登录后运行复制来的安装目录下的软件的主程序,如果正常,90%是纯绿。

4、对省下10%的说明——不排除可能编写者隐了动作,如果不成功也不报错,也不退出,还正常运行,一但能写的时就它就写。另外,还有一部分程序,如FoxMail,只对当前帐户相关于注册表进行写操作,因为“帐户相关于注册表"是"属于"对应帐户的,在受限帐号下也是可写的(特别说明一下,注销该帐户,注册表中该帐户的所有项目都会清去,所以也可以算是绿的)。

二、软件监控法:

1、如果上面的步子还不令你放心,还有一个工具值得一用,那就是《Filemon》,这是一个可以监视系统中任何软件对硬盘的读写操作的程序,通过它,你可以查到某个程序对你的硬盘的什么位置的什么文件进行了操作,这个程序只能在管理员帐户下用(切入系统进程)。

2、对于注册表的监视是很麻烦的事,《Regmon》可以办到,同上面的工具一样Regmon要求在管理员帐户下用(切入系统进程)。

3、90%的软件和上面的两个软件无冲突,省下的9%的是作者有意防止被监视(为什么有意防止被监,那你就自个想吧,一般都是比较可怕的东西),最后1%可能是因为程序实在相互不兼容了。

以上两工具都为同一公司(Sysinternals)出品,值得一用,附在最后(XTJS.rar)。

三、并非所有的不能在受限帐户下用的程序都不是纯绿的。某些程序可能要切入别的系统程序中,某些程序需要得到硬件信息等,这些最只有在管理员帐户下才能实现。还有一些程序可能没有考虑多用户操作系统等。只能说,通过了上面的测试的程序90%是纯绿的,没有通过的话90%是非纯绿的。有经验的朋友还可以据自已的经验得到更准确的结论。

参考资料:以上资料,从网上下载的,与本人无关


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/630359.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存