GetDeviceCaps函数计算结果不对 [问题点数:20分,结帖人zzzzzzzzz04]

Bbs1
本版专家分:0
结帖率 83.33%
Bbs8
本版专家分:31978
Blank
红花 2003年8月 Delphi大版内专家分月排行榜第一
Blank
黄花 2003年7月 Delphi大版内专家分月排行榜第二
Bbs1
本版专家分:0
GetDeviceCaps函数究竟是什么意思?
请教:<em>GetDeviceCaps</em><em>函数</em>究竟是什么意思?rnMSDN上解释为:rnThe <em>GetDeviceCaps</em> function retrieves device-specific information about a specified device.rn看不明白。有的书上说“<em>GetDeviceCaps</em><em>函数</em>可以访问使用设备描述表的设备数据,应用程序指定相应设备描述表的句柄和说明该<em>函数</em>访问数据类型的索引来访问这些数据”。rn是什么意思?rn<em>函数</em>的返回值究意是什么? rn访问这些数据”是什么意思?
GetDeviceCaps函数的问题
在<em>GetDeviceCaps</em><em>函数</em>中使用ASPECTX,ASPECTY参数的时候,MSND里面说获取的是用于画线的设备像素的相对宽度和高度,这里面的相对宽度和相对高度该怎么解释,是相对什么来说的?
GetDeviceCaps
下面的两个问题是在研究VS2008自带的一个叫mdidocvw的sample时遇到,谢答!rnrn1 .如下代码段:rnrnrn CDC* pDC = GetDC();rn CPoint aspect;rn aspect.x = pDC-><em>GetDeviceCaps</em>(ASPECTX);rn aspect.y = pDC-><em>GetDeviceCaps</em>(ASPECTY);rn ReleaseDC(pDC);rn pDoc->m_ptPixel = aspect;rnrn作用是什么?rn不要告诉我去查 msdn,因为我已经查过了。ASPECTX、ASPECTY值是每一个图素的相对宽度、高度。但是我改变屏幕分辨率(如 1280*800,1280*768)之后竟然是aspect竟然不变! why?rnrnrn2. 如下代码段rnrnvoid CBounceView::OnSize(UINT nType, int cx, int cy)rnrn CView::OnSize(nType, cx, cy);rnrn CBounceDoc* pDoc = GetDocument();rn ASSERT_VALID(pDoc);rnrn LONG lScale;rn CPoint center, ptPixel;rnrn center.x = cx >> 1;rn center.y = cy >> 1;rn center.x += cx >> 3; // make the ball a little off-centerrn pDoc->m_ptCenter = center;rnrn CSize radius, move;rnrn // Because the window size has changed, re-calculatern // the ball's dimensions.rnrn ptPixel = pDoc->m_ptPixel;rnrn lScale = min((LONG)cx * ptPixel.x, // line 1rn (LONG)cy * ptPixel.y) >> 4;rnrn radius.cx = (int)(lScale / ptPixel.x); //line 2rn radius.cy = (int)(lScale / ptPixel.y);rn pDoc->m_sizeRadius = radius;rnrn //Re-calculate the ball's rate of movement.rnrn move.cx = max(1, radius.cy >> 2);rn move.cy = max(1, radius.cy >> 2);rn pDoc->m_sizeMove = move;rnrn // Redraw ball.rnrn MakeNewBall();rnrnrn请问line 1 行作用,为什么要取较小值? line 2处 这么做作用。rn thank you.
代码没错,但计算结果不对
#includernvoid main()rnrn char zq;rn double bj,bs,ls;rn printf("输入存期:");rn scanf("%c",&zq);rn printf("输入存款额:");rn scanf("%f",&bj);rn switch (zq)rn rn case '1':rn ls=bj*0.0225*zq,bs=bj+ls;rn printf("利息是:%7.2f,\t本息是:%7.2f\n",ls,bs);rn break;rn case '2':rn ls=bj*0.027*zq,bs=bj+ls;rn printf("利息是:%7.2f,\t本息是:%7.2f\n",ls,bs);rn break;rn case '3':rn ls=bj*0.0324*zq,bs=bj+ls;rn printf("利息是:%7.2f,\t本息是:%7.2f\n",ls,bs);rn break;rn case '5':rn ls=bj*0.036*zq,bs=bj+ls;rn printf("利息是:%7.2f,\t本息是:%7.2f\n",ls,bs);rn break;rn default:rn printf("输入错误!\n");rn rnrnrn我刚刚学VC++没多久,请大家修改时不要变动太大,让我能慢慢理解,谢谢!
该程序的计算结果为什么不对
int main()rnrn float a = 256010224;rn float b = 3902;rn a = a +b;rn printf("%.0f\n",a);rnrnrn输出:256014128
Sql 小间题~~计算结果不对
表Arnrnid code name rn1 11 111 rn2 22 222rn3 33 333rnrn表Brnrnid ACode number statusrn1 11 100 1rn2 11 150 1rn3 22 80 1rn4 22 90 1rnrn表Crnrnid ACode number statusrn1 11 50 2rn2 22 60 2rn3 11 110 2rnrn我想要的结果为rnid ACode name Stautsnumber1 statusnumber2rn1 11 111 250 160rn2 22 222 170 60rnrn我写的SQL:rnselect a.code,a.name,case when b.status=1 then sum(b.number) end as statusnumber1 ,rncase when c.status=2 then sum(c.number) end as statusnumber2rnfrom a inner join b on a.code = b.Acode inner join c on a.code=c.Acode group by a.code,a.naem,b.status,c.statusrnrn语法没问题,但<em>计算</em>出来的结果却是末名其妙,完全<em>不对</em>,请各位大侠帮我看一下问题出在那里
GetDeviceCaps()这个函数干什么用?
msdn 上的解释貌似看不明白rn
GetDeviceCaps函数HORZSIZE的值得问题
使用<em>GetDeviceCaps</em><em>函数</em>,我想通过将第二个参数选为HORZSIZE和VERTSIZE,得到了结果为306和230。我想请问大家这两个值是怎么算出来的?rnrn我的显示器分辨率为1024*768,DPI是96,17寸显示器。我用尺子量了量,长应该是320mm,宽为240mm,那么这个<em>函数</em>得到结果是怎么算出来的啊??是逻辑长度么rnrn[img=http://hiphotos.baidu.com/zhidao/pic/item/79f0f736545d7f160a55a9a2.jpg][/img]
c#中调用反正切函数,可是计算结果却不对
在VS.NET 2003开发环境中rn程序如下:rnusing System; rnnamespace CC rn rnpublic class class1 rn rnstatic void Main() rn rndouble a1=47.43260,a2=47.68420,b1=26.46473,b2=27.11055; rndouble h1,h2; rnh1=Math.Atan(b1/a1); rnh2=Math.Atan(b2/a2); rnConsole.WriteLine("h1=0,h2=1",h1,h2); rn rn rn rn程序运行出来的结果是h1=0.50892171216164,h2=0.516968638738013 rn可是按理算出来的话应该是h1=29.15907,h2=29.62012rnrn我在网上搜了,反正切<em>函数</em>是这个啊,而且系统自动的提示是Atan的参数是double型的,这个也符合啊rn我是初学者,所以不懂问题出在哪,麻烦好心人解答下了。rn非常感谢:)rnrnrnrn
fmod 函数计算结果问题。。。。
#includern#includernusing namespace std;rn rnvoid main()rnrn double x,y;rn x=pow(20,77);rn y=fmod(x,119);rn cout<<
两个视图计算结果-小数位精度不对的问题
现有两个视图:rnview_A:rn rnid scorern1 50rn2 60rnrnrnview_B:rnrnid scorern1 20.348rn2 19.222rnrn为何我在把两个视图里的结果相加时:rnCREATE VIEW All_Arn ASrn SELECT rn view_A.score+view_B.score as 总分rn from view_A JOIN view_Brn on view_A.id=view_B.idrnrn所得出来的新视图结果只保留两位小数:rnrn总分rn70.35rn79.22rnrn注:我想要保留三位小数,请问这里应该怎么改.试了多种方法没法解析,请教
GetDeviceCaps的使用
int <em>GetDeviceCaps</em>(rn HDC hdc, // handle to DCrn int nIndex // index of capabilityrn);rn 这是<em>GetDeviceCaps</em>的声明,需要两个参数吧???可是为什么我在一个程序里面看到只要一个参数就可以了呢??即:rnint BitPerPixel = pDC-><em>GetDeviceCaps</em>(BITSPIXEL);//获得颜色模式rn而且我对这个程序运行过了,完全正确的,我觉得这个<em>函数</em>不可能有缺省值啊,如果有缺省的话当调用的时候也应该是指定HDC hdc而不是int nIndex啊,因为<em>函数</em>的缺省值肯定是从右边开始的吧 ????请问这是怎么一回事啊????(明确说明,我的这个程序能正常运行)
滚动校验 rolling checksum 的计算结果为何不对
rolling checksum 的算法可以根据 1到n 的校验和<em>计算</em>出 2 到n+1 的校验和。rn但是我用rolling<em>计算</em>出的结果有时会跟直接<em>计算</em>出的校验值结果不一致。rn伪代码如下:rnrndef weakchecksum(data):rn a = 1rn b = 0rn for char in data:rn a += (ord(char)) mod 65521rn b += a mod 65521rn return (b << 16) | arnrndef rolling(checksum, removed, added, block_size):rn a = checksumrn b = (a >> 16) & 0xffffrn a &= 0xffffrnrn a = (a - ord(removed) + ord(added)) mod 65521rn b = (b - (block_size * ord(removed)) + a - 1) mod 65521rnrn return (b << 16) | arnrn我猜测可能是这句 b = (b - (block_size * ord(removed)) + a - 1) % 65521 出的问题rn因为 b在上一次<em>计算</em>的结果可能已经 Mod 过了,会变的很小,而block_size * ord(removed)值可能会很大,这样rn就出现负数了,导致最终结果不正确。rn可是这个算法已经是业界标准了,为何还会有这种问题,请高人指教,是不是我哪里搞错了,或者还缺了什么
请帮忙修改这个的存储过程,计算结果不对
表结构rn if exists (select * from sysobjects where id = OBJECT_ID('[pual_bom_temp_input]') and OBJECTPROPERTY(id, 'IsUserTable') = 1) DROP TABLE [pual_bom_temp_input] rn CREATE TABLE [pual_bom_temp_input] ( [username] [varchar] (30) NOT NULL , [bom_no] [varchar] (5) NOT NULL , [part_no] [varchar] (30) NOT NULL , [part_name] [varchar] (30) NOT NULL , [qty] [smallmoney] NOT NULL , [isleaf] [int] NOT NULL , [isprint] [int] NOT NULL )rn ALTER TABLE [pual_bom_temp_input] WITH NOCHECK ADD CONSTRAINT [DF_pual_bom_temp_input_qty] DEFAULT (0) FOR [qty],CONSTRAINT [DF_pual_bom_temp_input_isleaf] DEFAULT (0) FOR [isleaf],CONSTRAINT [DF_pual_bom_temp_input_isprint] DEFAULT (0) FOR [isprint],CONSTRAINT [PK_pual_bom_temp_input] PRIMARY KEY NONCLUSTERED ( [username] )rn CREATE UNIQUE INDEX [PK_pual_bom_temp_input] ON [pual_bom_temp_input] ( bom_no ) rnrn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , 'temp' , '00001 ' , 'a' , 10.00 , 0 , 0 )rn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , 'temp' , '00002' , 'b' , 30.00 , 0 , 0 )rn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , 'temp' , '00006' , 'leaf2' , 20.00 , 1 , 0 )rn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , '00006' , '00004' , 'c' , 5.00 , 0 , 0 )rn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , 'temp ' , '00003' , 'leaf ' , 40.00 , 1 , 0 )rn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , 'temp ' , '00004' , 'c' , 5.00 , 0 , 0 )rn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , '00003' , '00001' , 'a' , 3.00 , 0 , 0 )rn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , '00003' , '00005' , 'd' , 2.00 , 0 , 0 )rn INSERT [pual_bom_temp_input] ( [username] , [bom_no] , [part_no] , [part_name] , [qty] , [isleaf] , [isprint] ) VALUES ( 'super' , '00006' , '00003' , 'leaf' , 4.00 , 1 , 0 )rnrn存储过程rnCREATE PROCEDURE pual_compute_bom rn@username char(30) ,rn@bom_no char(5)rnASrndeclare @current char(5)rndeclare @slevel intrndeclare @old char(5)rnselect @old = @currentrndeclare @NodeQty DECIMAL (10,2) --当前节点的Qtyrndeclare @LeafQtySum DECIMAL (10,2) --当前节点的叶子的Qty的总和rndeclare @isleaf intrndelete from pual_bom_temp_qtyrnCREATE TABLE #stack (item char(5), slevel int)rnCREATE TABLE #leaf ( part_no char(5),part_name varchar(30) ,qty DECIMAL(10,2))rn--先将所有原始材料直接插入到实际配方表rninsert into #leafrn select part_no , part_name , qty rn from pual_bom_temp_inputrn where isleaf = 0 and username = @username and bom_no =@bom_norn--使用指针得到所有子配方rndeclare getchild cursor for select part_no ,qty ,isleafrnfrom pual_bom_temp_input where isleaf = 1 and username =@username and bom_no =@bom_nornopen getchildrnfetch getchild into @current ,@nodeqty , @isleafrnwhile @@fetch_status = 0rnbeginrn print @current rn print @nodeqtyrn print @isleafrn select @slevel = 1rn insert #stack values(@current,@slevel)rn while @slevel>0rn beginrn if exists(select * from #stack where slevel=@slevel)rn beginrn select @current=itemrn from #stackrn where slevel=@slevel --任取一个当前级别的节点rn if @isleaf = 0 rn insert #leaf rn select part_no,part_name,qtyrn from pual_bom_temp_inputrn where isleaf = 0 and bom_no = @current and username = @usernamern elsern beginrn select @LeafQtySum=sum(qty)rn from pual_bom_temp_inputrn where bom_no=@currentrn and isleaf = 0 and username =@username --获得叶子的Qty的总和rn insert #leafrn select part_no,part_name,(qty/@LeafQtySum)*@NodeQtyrn from pual_bom_temp_inputrn where bom_no=@current and username = @usernamern and isleaf = 0 --收集叶子并分配qtyrn endrnrn delete from #stackrn where slevel=@slevelrn and item=@current --删除当前节点以免重复rnrn insert #stackrn select part_no, @slevel + 1rn from pual_bom_temp_inputrn where isleaf = 1 and bom_no = @current and username =@usernamern --子节点rn if @@rowcount>0 -- 存在子节点rn select @slevel=@slevel+ 1rn end -- 当前级别rn else --当前级别全部处理结束rn select @slevel=@slevel-1 --回退rn end -- 全部叶子收集结束rn fetch getchild into @current,@nodeqty ,@isleafrnendrnclose getchildrndeallocate getchildrnselect distinct @username ,@bom_no, part_no,part_name,sum(qty) as qty rn from #leafrn group by part_no , part_namerndrop table #stackrndrop table #leafrn问题:rn当BOM的深度为两层时,<em>计算</em>结果正确,3层时<em>计算</em>错误
锁线程的问题,为啥计算结果不对
[code=C#] public const long max = 100;rn static string buffer = "0";rn private object hoho = new object();rn static void Main(string[] args)rn rn rn Program test = new Program();rn Thread a = new Thread(new ThreadStart(test.aDowork));rn a.Start();rn Thread b = new Thread(new ThreadStart(test.bDowork));rn b.Start();rn Thread c = new Thread(new ThreadStart(test.cDowork));rn c.Start();rn Thread d = new Thread(new ThreadStart(test.dDowork));rn d.Start();rn a.Join();rn b.Join();rn c.Join();rn d.Join();rn Console.WriteLine("Resultis0", buffer);rn rnrn void aDowork()rn rn for (long i = 1; i < max / 4; i++)rn rn lock(hoho)rn rn buffer = (long.Parse(buffer) + i).ToString() ;rn Console.WriteLine("0+1", buffer, i);rn Console.ReadKey();rn rn rn rnrn void bDowork()rn rn for (long i = max / 4; i < max/2; i++)rn rn lock (hoho) buffer = (long.Parse(buffer) + i).ToString(); rn Console.WriteLine("0+1", buffer, i);rnrn rn rnrn void cDowork()rn rn for (long i = max / 2; i < max * 3 / 4; i++)rn rn lock (hoho) buffer = (long.Parse(buffer)).ToString(); rn Console.WriteLine("0+1", buffer, i);rnrn rn rn void dDowork()rn rn for(long i = max*3/4;i, buffer, i);rnrn rn [/code]rn一直以为这个线程是执行完一个 然后进行下一个 再<em>计算</em>, 调试的时候发现时abcdabcd这么来的 可是 最后的结果还是<em>不对</em>的, 哪位高手能解释一下??
GetDeviceCaps(hdc,HORZSIZE)和GetDeviceCaps(hdc,VERTSIZE)的返回值?
我看里说<em>GetDeviceCaps</em>(hdc,HORZSIZE)和<em>GetDeviceCaps</em>(hdc,VERTSIZE)在WinNT下固定返回320,240 ,可在我家的一台XP上返回的是266,200,与我家的显示器(15")是一致的,而在另一台XP的机器上(14")返回的是320,240.到底这个<em>函数</em>返回的值是怎么确定的?
GetDeviceCaps的问题
我在windows程序设计中读到以下的问题但是我有点不明白在文中说rniColors = 1 << (iPlanes * iBitsPixel) ;rn rn这个值与用NUMCOLORS参数得到的色彩数值可能一样,也可能不一样:rnrniColors = <em>GetDeviceCaps</em> (hdc, NUMCOLORS) ;rn我想知道什么情况下一样什么情况下不一样?????rn之后下面有讲解可是我看不太懂!!!!!rnrn<<<<>>>>>>rnrn有在某些怪异的程序中才需要知道视讯显示卡上的内存是如何组织的,但是<em>GetDeviceCaps</em>使程序写作者可以知道显示卡的储存组织以及它能够表示的色彩数目,下面的呼叫传回色彩平面的数目:rnrniPlanes = <em>GetDeviceCaps</em> (hdc, PLANES) ;rn rn下面的呼叫传回每个图素的色彩位数:rnrniBitsPixel = <em>GetDeviceCaps</em> (hdc, BITSPIXEL) ;rn rn大多数彩色图形显示设备使用多个色彩平面或每图素有多个色彩位的设计,但是不能同时一齐使用这两种方式;换句话说,这两个呼叫必有一个传回1。显示卡能够表示的色彩数可以用如下公式来<em>计算</em>:rnrniColors = 1 << (iPlanes * iBitsPixel) ;rn rn这个值与用NUMCOLORS参数得到的色彩数值可能一样,也可能不一样:rnrniColors = <em>GetDeviceCaps</em> (hdc, NUMCOLORS) ;rn rn我提到过,256色的显示卡使用色彩调色盘。在那种情况下,以NUMCOLORS为参数时,<em>GetDeviceCaps</em>传回由Windows保留的色彩数,值为20,剩余的236种颜色可以由Windows程序用调色盘管理器设定。对于High-Color和True-Color显示分辨率,带有NUMCOLORS参数的<em>GetDeviceCaps</em>通常传回-1,这样就无法得到需要的信息,因此应该使用前面所示的带有PLANES和BITSPIXEL值的iColors公式。rn
关于GetDeviceCaps
int nXmillimeter = pDC-> <em>GetDeviceCaps</em>(HORZSIZE); rnint nYmillimeter = pDC-> <em>GetDeviceCaps</em>(VERTSIZE); rn在MM_TEXT模式下所得到的是长宽上每毫米有多少像素吗? rnMSDN上的解释说是设备信息,但没看到具体说法. rn我实际操作过程中发现nXmillimeter,nYmillimeter改变显示器分辨率时始终为320和240.rn
c#怎么调用api函数GetDeviceCaps
c#怎么调用api<em>函数</em><em>GetDeviceCaps</em>呀 rn给个vc的例子也行呀
date_sunrise 函数问题计算结果问题
echo(date_sunrise(time(), SUNFUNCS_RET_STRING, 39.9, 116.3));rnrnrn 我<em>计算</em>的北京的经纬度,为什么显示结果是晚上九点多?rnrn
COUNTIF函数计算结果有问题!!!
对A列<em>计算</em>,从第二行开始,公式为COUNTIF( A$1:A上行行号, A本行行号 ),如第5行为COUNTIF( A$1:A4, A5 )rnrn 结果如下:rn1400092838 rn1400113722 0rn1400113721 0rn1400117969 0rn1400117970 0rn51713062000000024318 0rn51713062000000000061 1rn16551713062000000000066 0rn16551713062000000023785 1rn16551713062000000000070 2rn16551713062000000016441 3rn16551713062000000018117 4rn16551713062000000013495 5rn16551713062000000029901 6rn16551713062000000024097 7rn16551713062000000022078 8rn16551713062000000022179 9rn16551713062000000000062 10rn16551713062000000000063 11rn16551713062000000024319 12rn16551713062000000014657 13rn16551713062000000024320 14rn16551713062000000000067 15rn16551713062000000024321 16rn16551713062000000024814 17rnrnrn 问题是:列中每个值都是唯一的,为什么会出现>0的结果?rnrn 然后我用COUNTIF( A$1:A4, VLOOKUP(A5, A$1:A5, 1,0) ),不直接写单元格编号而用VLOOKUP()来代替,结果又如下:rn1400092838 rn1400113722 0rn1400113721 1rn1400117969 0rn1400117970 0rn51713062000000024318 0rn51713062000000000061 0rn16551713062000000000066 0rn16551713062000000023785 0rn16551713062000000000070 0rn16551713062000000016441 0rn16551713062000000018117 0rn16551713062000000013495 0rn16551713062000000029901 0rn16551713062000000024097 7rn16551713062000000022078 8rn16551713062000000022179 0rn16551713062000000000062 0rn16551713062000000000063 0rn16551713062000000024319 12rn16551713062000000014657 0rn16551713062000000024320 14rn16551713062000000000067 0rn16551713062000000024321 16rn16551713062000000024814 17rnrn 发现有部分行的结果对了,但还有错误,难道VLOOKUP()也有问题??!!rnrn
GetDeviceCaps函数和GetSystemMetrics函数有什么不同啊
在Windows GDI中,这两个<em>函数</em>有什么不同用处啊?
请教:GetDeviceCaps函数返回的结果
自己做了一个小程序,想用<em>GetDeviceCaps</em><em>函数</em>看看显示器的参数,结果如下:rnrn===== Monitor Capabilities =====rnrnLOGPIXELSX: 96 pixels per logic inchrnLOGPIXELSY: 96 pixels per logic inchrnBITSPIXEL: 32rnPLANES: 1rnNUMBRUSHES: -1rnNUMPENS: -1rnNUMFONTS: 0rnNUMCOLORS: -1rnrn问题:rn什么是逻辑英寸?如何定义?rn为什么PLANES参数对应的返回值是1?它和BITSPIXEL参数对应的返回值之间具有什么样的关系?rnNUMBRUSHES、NUMPENS、NUMFONTS和NUMCOLORS参数对应的返回值显然是与事实不符的,问什么会这样?rnrn请高手指点,谢谢。rn
GetDeviceCaps如何用?
hdc是什么类型?如何得到当前打印机的相关设置值?rn另:printersetupdialog修改纸张大小后,printer.pagewidth/height为什么不变?
a question about GetDeviceCaps
why <em>GetDeviceCaps</em>(VERTSIZE) has two different value in win98 and win2000?
有关GetDeviceCaps问题!
int cxPage = pDC-><em>GetDeviceCaps</em>(HORZRES);// 获取打印页面的水平宽度(象素)rnint cyPage = pDC-><em>GetDeviceCaps</em>(VERTRES);// 获取打印页面的垂直高度(象素)rnint cxInch = pDC-><em>GetDeviceCaps</em>(LOGPIXELSX);// 获取打印机每英寸象素数rnint cyInch = pDC-><em>GetDeviceCaps</em>(LOGPIXELSY);rn我在ondraw<em>函数</em>中有上述这些语句,但结果是cxPage=4800,cyPage =6675,cxInch=600,cyInch =600,这是怎么回事:打印页面的水平宽度有4800象素吗?打印页面的垂直高度则怎么会有6675象素呢?打印机每英寸象素数怎么会有600呢?我用的是A4纸,请指点!谢谢!rn
奇怪的返回值?GetDeviceCaps()
在IBM机器上用<em>GetDeviceCaps</em>获取显示器的颜色,调用方式<em>GetDeviceCaps</em>(COLORRES)65536色和16777216色,其返回值都是24,256色其返回值是18,都不正确,查看帮助:需在设备驱动程序中设置RASTERCAPS索引中的RC——PALETTE位时有效,但不知怎么设。请高手帮忙。
在vb.net 里使用GetDeviceCaps
通过调用api <em>函数</em> <em>GetDeviceCaps</em> 可以获取电脑屏幕的物理尺寸,长宽名是多少毫米。请问各位高手,在.net有无相关类能替代<em>GetDeviceCaps</em> 获取电脑屏幕的物理尺寸?如果没有的话,怎样调用此api<em>函数</em>呢?
GetDeviceCaps获取信息的问题
1.用以下方法获取的打印机页边距的单位是什么呀,能不能转换成毫米或象素?rnMargin.x :=<em>GetDeviceCaps</em>(Printer.Handle, PHYSICALOFFSETX);rnMargin.y :=<em>GetDeviceCaps</em>(Printer.Handle, PHYSICALOFFSETY);rn2.怎样去掉打印机的默认页边距?(我用的打印机是EPSON LQ 1600KIII)
about pDC->GetDeviceCaps(VERTSIZE);
why pDC-><em>GetDeviceCaps</em>(VERTSIZE) has two different value in win98 and win2000?
GetDeviceCaps(printer.Handle,PHYSICALWIDTH)和GetDeviceCaps(printer.Handle,horzres)取到的值为什么不同
<em>GetDeviceCaps</em>(printer.Handle,PHYSICALWIDTH)和<em>GetDeviceCaps</em>(printer.Handle,horzres)取的值都是宽度,为什么不同??而rn<em>GetDeviceCaps</em>(dcprinter.Handle,PHYSICALHEIGHT))和<em>GetDeviceCaps</em>(printer.Handle,vertres)rn取的值相同rnrn
函数结果不对
[code=C/C++]rn/* 这个程序的主要作用是rn 提取net user 123 123 /addrn net localgroup administrators 123 /addrn 这两个命令的机器码为inline hook做准备rn*/rn#include rn#include rn#include rn#define START _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90 _asm _emit 0x90rn#define END STARTrnvoid main(int argc,char* argv[]) rn void sys();rn sys();//<em>函数</em>运行到这个时候应该在控制台上显示命令成功完成,可是显示的是'?!'不是内部或外部命令,然后整个程序退出了rn unsigned char flag[10] = 0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90,0x90;//标志是system<em>函数</em>开始结束的标志rn char* begin = (char*)sys;rn char* end = NULL;rn unsigned char code[100];rn while(true) rn if (memcmp(begin,flag,10) == 0) rn begin = begin + 10;rn break;rn rn begin++;rn rn char* again = begin;rn while(true) rn if(memcmp(again,flag,10) == 0) rn break;rn rn again++;rn rn memcpy(code,begin,(again - begin));rn for (int i = 0;i < again-begin;i++) rn if (i % 5 == 0) rn putchar('\n');rn rn printf("%x ",code[i]);rnrn rn putchar('\n');rnrnrnrnvoid sys() rn HMODULE handle;rn unsigned long addr;rn handle = LoadLibrary("msvcrt.dll");rn if (handle == NULL) rn printf("无法加载dll!");rn return;rn rn addr =(unsigned long)GetProcAddress(handle,"system");//获得system<em>函数</em>的地址rn if (addr == 0) rn printf("无法获得<em>函数</em>地址!");rn return;rn rn STARTrn _asm rn // 下面是c<em>函数</em>:sysytem("net user 123 123 /add");rn // system("new localgroup administrators 123 /add");rn //  汇编执行过程rn //十个nop指令当作开始标志rn //错误是在下面但是我找不出来rnrncall fun1rn _emit 'n'rn _emit 'e'rn _emit 't'rn _emit ' 'rn _emit 'u'rn _emit 's'rn _emit 'e'rn _emit 'r'rn _emit ' 'rn _emit '1'rn _emit '2'rn _emit '3'rn _emit ' 'rn _emit '1'rn _emit '2'rn _emit '3'rn _emit ' 'rn _emit '/'rn _emit 'a'rn _emit 'd'rn _emit 'd'rn _emit 0rn rn fun1: rn jmp dword ptr addrrn rncall fun2rn _emit 'n'rn _emit 'e'rn _emit 't'rn _emit ' 'rn _emit 'l'rn _emit 'o'rn _emit 'c'rn _emit 'a'rn _emit 'l'rn _emit 'g'rn _emit 'r'rn _emit 'o'rn _emit 'u'rn _emit 'p'rn _emit ' 'rn _emit 'a'rn _emit 'd'rn _emit 'm'rn _emit 'i'rn _emit 'n'rn _emit 'i'rn _emit 's'rn _emit 't'rn _emit 'r'rn _emit 'a'rn _emit 't'rn _emit 'o'rn _emit 'r'rn _emit 's'rn _emit ' 'rn _emit '1'rn _emit '2'rn _emit '3'rn _emit ' 'rn _emit '/'rn _emit 'a'rn _emit 'd'rn _emit 'd'rn _emit 0rn fun2: rn jmp dword ptr addrrnrn rn ENDrnrnrnrnrn[/code]
function函数不对
<>0 thenrn banshuno=split(banshu,"*")rn aa=ubound(banshuno)rn if aa=2 thenrn if banshuno(0)<>"" thenrn banshus=banshuno(0)rn elsern banshus=0rn end ifrn if banshuno(1)<>"" thenrn banshuj=banshuno(1)rn elsern banshuj=0rn end ifrn if banshuno(2)<>"" thenrn banshub=banshuno(2)rn elsern banshub=0rn end ifrn gdbanshu=banshus*banshuj*banshubrn elseif aa=1 thenrn if banshuno(0)<>"" thenrn banshus=banshuno(0)rn elsern banshus=0rn end ifrn if banshuno(1)<>"" thenrn banshuj=banshuno(1)rn elsern banshuj=0rn end ifrn banshub=0rn gdbanshu=banshus*banshuj*banshubrn end if rn elsern banshus=banshurn banshuj=0rn banshub=0rn gdbanshu=banshurn end if rnend functionrnaaa=cstr(0*99)rnresponse.Write gdbanshu(aaa) %>
这个函数为什么不对
CptrArray数组排序:rnvoid getmaxmemory(CPtrArray& ptr)rn rn struct _RunProcess *lprsinfo=(struct _RunProcess*)malloc(sizeof(_RunProcess));rn struct _RunProcess *lprsinfo2=(struct _RunProcess*)malloc(sizeof(_RunProcess));rn rn // struct _RunProcess maxmemory[10];//=(struct _RunProcess*)malloc(sizeof(_RunProcess));rn // CPtrArray max;rnrn int k=0;rn for(int i=0;idatadata)rn k=j;rn rn if(k!=i)rn rnrn ptr.SetAt(j,ptr[k]);rn ptr.SetAt(k,ptr[j]);//就这有问题请朋友们指点rn rn
postgreSQL: round函数在不同版本postgreSQL下计算结果不一样?
求教各路大神,小弟遇到一棘手问题,望帮助:rn问题是这样的:rn1. 本地环境:rn[img=http://img.my.csdn.net/uploads/201304/22/1366643333_6606.png][/img]rn数据库表数据是这样的:rn[img=http://img.my.csdn.net/uploads/201304/22/1366643369_7005.png][/img]rnround<em>函数</em><em>计算</em>结果是这样的:rn[img=http://img.my.csdn.net/uploads/201304/22/1366643392_5898.png][/img]rnrn2. 服务器环境:rn[img=http://img.my.csdn.net/uploads/201304/22/1366643412_5423.png][/img]rn数据库表数据同本地是一样的:rn[img=http://img.my.csdn.net/uploads/201304/22/1366643427_2663.png][/img]rn但是round<em>函数</em><em>计算</em>结果却是这样的:rn[img=http://img.my.csdn.net/uploads/201304/22/1366643455_1266.png][/img]rnrn求助,为什么会这样?按理说第一种情况才是正确的,但是现在公司服务器跑出来确实第二种情况,rnHELP!!!
Intel MKL函数,如何得到相同的计算结果?
在运行程序时,我们总希望多次运行的结果,是完全一致,甚至在不同的机器与不同的OS中,程序运行的结果每一位都完全相同。rnrn事实上,程序往往很难保证做到这一点。 为什么呢? 我们先看一个简单的例子: 当程序使用单精度或者双精度的浮点数时, 浮点数有一定的精度的限制。 单精度的浮点数,使用23位二进制表示的尾数。 双精度浮点数,使用52位的二进制([url=http://en.wikipedia.org/wiki/IEEE_754-1985]http://en.wikipedia.org/wiki/IEEE_754-1985[/url])。rnrn 如果,程序中<em>计算</em>下面的表达式:rnrn double d1,d2,d3,d4,d5;rn d1 = 1e-63;rn d2 = 1;rn d3= -1;rnrn d4 = (d1+ d2) +d3;rn d5 = d1+ (d2 +d3);rnrn printf("d4=%e\n",d4);rn printf("d5=%e\n",d5);rnrn 通常,它的结果为:rn d4=0.000000e+000rn d5=1.000000e-063rnrn尽管数学表达上, d4 应该有和d5 完全相同的<em>计算</em>结果。但是,由于浮点数的有限精度,(d1+d2),在<em>计算</em>机的值为1. 最终,d4,d5的结果并不完全相同。rnrn如果程序调用Intel MKL <em>函数</em>,下面的一些因素,往往会对我们的<em>计算</em>结果产生影响:rnrn 1> 内存对齐:我们的处理器往往提供了一些专门的指令,对16 byte 或 32 byte (AVX ) 对齐内存地址进行存取操作。 当程序运行时,对齐或<em>不对</em>齐输入数据的地址,运行的代码可能有略微差别。最终,程序的<em>计算</em>结果,可能不是完全一致。rnrn2> 多线程的设置: Intel MKL <em>函数</em>已经是多核优化后的<em>函数</em>,程序运行多线的数目不同,带来相应的数值精度上也会细微的误差。rnrn 3> 针对不同处理器的优化代码: Intel MKL 能够充分利用处理器的指令集,来取得程序的最高性能。 这样在不同的处理器上, 程序运行的代码可能并不是完全一致,从而最终的的结果,可能也略有差别。rnrn新的MKL 11.0提供了conditional bitwise reproducible (CBWR)的特性。 在满足一定的条件下,它能保证MKL<em>函数</em>有相同的结果。如果 1)输入/输出的数据地址按照16或 32字节对齐 ( 选择执行SSE指令需要16 byte 对齐,AVX1指令32 byte 对齐)2)运行的线程数目相同 3)在同一可执行文件中被调用, 那么Intel MKL<em>函数</em>可以在多次执行中,有相同的<em>计算</em>结果。rnrn 程序不同处理器上运行的时候,可能运行不同的优化代码。比如, 在较旧Intel® Pentium® 4 处理器上, MKL可能运行SSE2 优化代码,而在支持的AXV指令的新的机器上,MKL 的<em>函数</em>可能运行AVX指令的优化代码。 这样,Intel MKL<em>函数</em>能够根据不同处理器的特性,提供高效的优化代码。但是,当这些代码,有不完全相同的数据处理顺序时,不完全一致的代码可能产生的最有的数值结果可能也不完全一致。 在MKL 11.0 中, 提供的一些新的<em>函数</em>,与环境变量。能够帮助用户来来控制取得一致的<em>计算</em>结果。rnrn下面我们看一下例子:rnrn 1> 为确保在Intel 以及Intel 兼容的支持SSE2 指令的处理上,有一致的<em>计算</em>结果, 我们可以将程序须设置固定的线程数目, 保证输入输出数据的地址对齐, 并调用以下的MKL <em>函数</em>:rnrn mkl_cbwr_set(MKL_CBWR_COMPATIBLE) 或设置环境变量:MKL_CBWR_BRANCH = "COMPATIBLE"rnrn 2>在支持SSE4.1 Intel 的处理器上, 为确保MKL <em>函数</em>有相同的结果。我们可以将程序须设置固定的线程数目,保证输入输出数据的地址对齐, 并调用以下的MKL <em>函数</em>: rnrn mkl_cbwr_set(MKL_CBWR_SSE4_1) 或设置环境变量: MKL_CBWR_BRANCH = "SSE4_1"rnrn需要说明的是, 如果我们选择了特定CPU优化的代码, 很自然,针对一些新的处理器,MKL 可能会有一些性能开销。 比如,对于矩阵与矩阵乘法的<em>函数</em>(xGEMM), AVX 优化代码的性能有近乎SSE2优化代码的两倍性能。在支持AVX机器上,我们指定,该<em>函数</em>运行SSE2的代码,会有不少的性能损失。对于其他的一些例子,选择特定的优化代码,可能有10%-20%的性能开销。rnrn相关培训材料:[url=http://software.intel.com/en-us/articles/conditional-bitwise-reproducibility/] http://software.intel.com/en-us/articles/conditional-bitwise-reproducibility/[/url]rnrn下载与测试Intel MKL 11.0 Beta:rnrn原文地址:[url=http://g.csdn.net/5221746][/url]
C#多线程编程 四个显示线程计算结果的函数
从属线程需要随时将中间结果先是在主界面上,鉴于控件总是由主执行线程所有,从属线程中对控件的任何调用都需要“封送处理”调用。 封送处理是跨线程边界移动调用的行为,需耗费大量的资源。为使需要发生的封送处理量减到最少,并确保以线程安全方式处理调用, 应使用Control.BeginInvoke或Control.Invoke方法来调用主执行线程上的方法,从而使必须发生的跨线程边界的封送处理量减到最少。
pow函数计算结果有误差是为什么
rn[code=c]#includern#includernint main()rnrn int a=2;rn printf("%d\n",(int)pow(10,2));//①rn printf("%d\n",(int)pow(10,a));//②rn printf("%f\n",pow(10,a));//③rnrn[/code]rnrn结果分别为:100rn 99rn 100.000000rnrn想不明白,请教各位大神:①和②对比,为什么换了个变量就出现误差?③又怎么解释?rnrn
一个计算结果
[code=C/C++]rnvoid ConvertInitE(double initE, double finalE, char* buf)rnrn //initE=-1.3rn //MAX_VOLT=2.56rn //finalE=-1.9rn double volt = 0;rn unsigned __int16 ivolt;rnrn volt =initE * -1.0;rn ivolt = (unsigned __int16)((volt + MAX_VOLT) * 0xFFF / (MAX_VOLT * 2));rn unsigned __int8 m_iLow8 = ivolt & 0xFF;rn unsigned __int8 m_iHigh4 = (ivolt & 0xf00) >> 8;rn //转十六进制rn ValueToBinary(m_iHigh4, (char*)buf);rn ValueToBinary(m_iLow8, (char*)buf+1);rn[/code]rnm_iHigh4,m_iLow8是多少?转成十六进制的是多少?最好能给翻译成C#代码,感谢
后缀表达式计算结果
import java.util.Stack;public class StackApp { private Stack stack; private String[] content; public StackApp(String content) { // TODO Auto-generated constructor stub
计算结果及历史记录
课程涉及微信、小程序、H5和CSS3以及JS基础知识,内容涵盖项目介绍、布局、算法运算、小数点处理、<em>计算</em>结果显示以及<em>计算</em>历史记录等技术细节
表示计算结果
本课程包含15章72个小节课程,内容涵盖:开发环境搭建、HTML概述、HTML元数据、标记文字、组织内容、文档划分、表格、表单、表单输入、其他表单元素、嵌入内容、图形绘制Canvas、多媒体、Web存储、拖放效果等。
“A+B+C”的计算结果。
这是一个非常简单的题目,意在考察你编程的基础能力。千万别想难了哦。 输入为一行,包括了用空格分隔的三个整数 A、B、C(数据范围均在−40 ~ 40 之间)。 输出为一行,为“A+B+C”的<em>计算</em>结果。 样例输入 22 1 3 样例输出 26 import java.util.Scanner; public class Main { public static void main(String...
计算结果排序?
一表中有一<em>计算</em>字段,我想对此<em>计算</em>字段排序,该怎样实现?
C#的计算结果
<em>计算</em>结果:rn int i = 0;rn bool result = false;rn result = + + i + i - - == 2?true:false; rn result= rn能告诉我算的过程吗?
计算结果错误
利用ado学习自定义<em>函数</em>rnPublic Function balance(s As Currency, z As Currency) As CurrencyrnDim y As DoublernDim strsql As StringrnDim rs As New ADODB.RecordsetrnDim cnn As New ADODB.ConnectionrnSet cnn = CurrentProject.Connectionrnstrsql = "select * from 表1 order by id"rnrs.Open strsql, cnn, adOpenKeyset, adLockOptimisticrny = 0rnDo While Not rs.EOFrns = rs("收入")rnz = rs("支出")rnbalance = s - z + yrnrs.MoveNextrny = balancernLooprnrs.ClosernSet rs = NothingrnSet cnn = NothingrnEnd Functionrnrn将上面的<em>函数</em>用在查询1里<em>计算</em>余额,<em>计算</em>过程中没有提示任何错误,但结果是错误的rn请教老师,主要错误在什么地方,以后写代码时应该注意些什么?rn谢谢!rn
求救GetDeviceCaps函数中的HORZSIZE值怎么求
如题 我看windows程序设计第五版的时候 看了这<em>函数</em>但是不知道怎么求HORZSIZE物理屏幕的宽度(单位mm)和VERTSIZE物理屏幕的高度(单位mm)书上有个公式但是我求不出来rn 公式:水平大小(mm)=25.4*(水平分辨率(像素)/逻辑像素X(每英寸的点数));rn 我的电脑是1366*768rn 我理解是(1366(笔记本的分辨率)/96(每英寸的像素))*25.4(把英寸转换成MM)但是结果好像不是。程序程序编译出来的是302...想问下怎么算HORZSIZE的值rn 郁闷死了 ~想请大家帮我解决下着问题。。。。\^O^/
GetDeviceCaps 函数获取屏幕物理宽度(毫米)不准,求解决。
public static double MillimetersToPixels(double length)rn rn System.Windows.Forms.Control ctrl = new System.Windows.Forms.Control();rn System.Drawing.Graphics g = System.Drawing.Graphics.FromHwnd(ctrl.Handle);rn IntPtr hdc = g.GetHdc();rn int width = <em>GetDeviceCaps</em>(hdc, 4);//屏幕物理宽度 毫米rn int pixels = <em>GetDeviceCaps</em>(hdc, 8);//屏幕水平分辨率 像素rn g.ReleaseHdc(hdc);rn return (((double)pixels / (double)width) * (double)length);rn rnrn这是我从网上看到的一段获取当前屏幕(pixel / 毫米)的代码,这样可以通过传进来的毫米获得当前屏幕对应多少像素。rnrn但是我现在遇到的问题是 int width = <em>GetDeviceCaps</em>(hdc, 4) 这里获得的屏幕物理宽度(毫米)在Windows8系统下是准的,但是在Windows7下就明显不准。rnrn哪位告知这是为什么(试验了好几台电脑,windows8下都是正确的,windows7全部不正确)?或者有什么其他办法获得屏幕物理宽度(毫米)rn
计算结果
有一表:rnidrn1 rn2 rn3 rn要求结果:rn1~2~3rn
返回计算结果
有两个表:TMA,TMB,均有3个字段o、p、q,其中TMA只有一条记录,TMB有多条记录,想返回一个<em>计算</em>结果:A.o/B.o+A.p/B.p,请老题指教。
计算结果输出
<em>计算</em>结果如rn-----------rnA B |A B rn-----+-----rn1 a |4 brn2 d |5 crn3 f |6 krn显示屏幕上和打印在纸上,用什么控件好点
VB。NET中GetDeviceCaps()API函数如果调用
为取得打印机的缺省边距,必须调用<em>GetDeviceCaps</em>(),但VB7取消了PRINTER对象,没法象VB6那样直接调用Printer.hdc,如果取得<em>GetDeviceCaps</em>()的HDC参数,各位高手帮帮忙,我已经做了一个星期了!!!
!!!!各位帮个忙,看看这个DLL函数怎么了?----------GetDeviceCaps
[DllImport("gdi32.dll")]rn public static extern int <em>GetDeviceCaps</em>(rn IntPtr hdc, // handle to DCrn <em>GetDeviceCaps</em>Index nIndex // index of capabilityrn );rn其中<em>GetDeviceCaps</em>Index 在C# 中找不到啊???????????????rn
pDC->SetViewportExt(pDC->GetDeviceCaps(LOGPIXELSX),函数的返回值是什么?
pDC->SetViewportExt(pDC-><em>GetDeviceCaps</em>(LOGPIXELSX),rn -pDC-><em>GetDeviceCaps</em>(LOGPIXELSY));<em>函数</em>的返回值是什么?
IDirect3D9和IDirect3DDevice9的GetDeviceCaps有什么区别
返回的D3DCAPS9不一样,IDirect3DDevice9::<em>GetDeviceCaps</em>返回的有些值还要大
GetDeviceCaps查询设备上下文的属性
<em>GetDeviceCaps</em>用于按照整数索引查询设备上下文的属性,如帧缓冲区格式,色彩处理能力、分辨率、调色板、物理大小、页边距、alpha混合和渐进填充的能力、对ICM的支持,以及DDI特性和限制。
请教:这函数什么地方不对
整个页面的代码都贴上了,主要就是fun这个,enLength是用来判断是否是中文字符,其实这边是可以用asc来判断的,不过因为真正用到的话是cnLength这<em>函数</em>不只是判断中文字符,来说说fun()这<em>函数</em>,我想的是来判断textarea中输入的字符串,如果整个字符串长度小于36的话就直接输出,如果是大于36的话就进行判断,主要就是判断36个字节后如果还有字符的话就用省略号代替,现在这个有点问题,但是实在想不明白,请各位帮帮忙rn rn rn rnrnrnrn rnrnrnrn
InvSqrt()函数结果不对,求解
[code=c]rn#include rn#include rn#include rn#include rnvoid sqrt_inv(double x)rnrn cout << "x= " << x << endl;rn clock_t start = clock();rn const float threehalfs = 1.5F;rn double xhalf = 0.5f*x;rn int i = *(int*)&x; // get bits for floating VALUE rn cout << "i= " << i << endl;rn i = 0x5f375a86 - (i >> 1); // gives initial guess y0rn x = *(float*)&i; // convert bits BACK to floatrn cout << "x= " << x << endl;rn x = x*(threehalfs - xhalf*x*x); // Newton step, repeating increases accuracyrn x = x*(threehalfs - xhalf*x*x); // Newton step, repeating increases accuracyrn x = x*(threehalfs - xhalf*x*x); // Newton step, repeating increases accuracyrn double ans = 1.0 / x;rn Sleep(1000);rn clock_t finish = clock();rnrn cout << "inv:" << "\t" << ans << "\t" << start << "\t" << finish << "\t" << (finish - start) << endl; // (finish - start) / CLOCKS_PER_SECrnrnint main()rnrn double x = 2;rn //sqrt_sys(x);rn sqrt_inv(x);rn //sqrt_Newton(x);rn system("pause");rn return 0;rnrn[/code]rnrnrn输出:rn[img=https://img-bbs.csdn.net/upload/201609/25/1474796342_348249.png][/img]rn
哈哈,一个函数,老是不对。。。
struct servent *serv;rnserv = getservbyname("www.sohu.com", NULL);//servicernrnserv 总是返回NULL,这是为什么呢?是不是不是这样用啊rn请大侠指教,哈哈
这个查询函数那里不对
这个查询<em>函数</em>那里<em>不对</em>rn这个查询<em>函数</em>那里<em>不对</em>rn在Oracl里的<em>函数</em>是这样写的:rncreate or replace function ordercode(departmentcode in department.departmentcode%TYPE) return varchar2rnisrn scode varchar2(10000); rn ccode department.departmentcode%TYPE;rnbeginrn scode := '';rn ccode := departmentcode;rn looprn scode := ccode||scode; rn select scode into ccode from department where departmentcode=ccode;rn end loop; rn return scode;rnexceptionrn when NO_DATA_FOUND then return scode;rnend;rn这样查询rnselect departmentcode from department order by ordercode(0);rnrn现在不管怎么改都输出rn1001rn1002rn1001001rn1003rn1003001rn1002001rn1003002 rnrn我希望这样输出rn1001rn1001001rn1002rn1002001rn1003rn1003001rn1003002rnrn请问有什么错误rnrn新手没多少分,请谅解
sprintf函数怎么不对呢???????
int _tmain(int argc, _TCHAR* argv[])rnrn char str[5] = "";rn char src[5] = "";rn sprintf(src,"'%s'",str!=""?str,##);rn printf("%s\n",src);rn return 0;rnrnrn
strlen函数计算不对
strlen<em>函数</em>到输入第8个字符后,<em>计算</em>值为11,不理解,请帮忙看下[img=https://img-bbs.csdn.net/upload/201906/08/1559924726_511113.png][/img]
open()函数写的不对么?
void CStudentTableView::OnButtonQuery() rnrn // TODO: Add your control notification handler code herern UpdateData();rn m_strQuery.TrimLeft();rn if (m_strQuery.IsEmpty())rn rn MessageBox("要查询的姓名不能为空!");rn return;rn rn if(m_pSet->IsOpen())rn m_pSet->Close(); //如果记录集打开,则先关闭rn m_pSet->m_strFilter.Format("Name='%s'",m_strQuery); //Name是表的字段名,用来指定查询条件rn m_pSet->m_strSort="Name"; //Name是表的字段名,用来按Name字段的内容排序rn m_pSet->Open();rn if(!m_pSet->IsEOF())rn UpdateData(FALSE);rn elsern MessageBox("没有查到你要找的姓名记录!");rnrn我连接的数据源是Questionare,表是“已存数据”。rn当我运行的时候会显示“ 参数不足,期待是1 ”,用Debug看了看,是open()<em>函数</em>的问题,但不知道怎么改!rn诚望各位好汉帮个忙,做作业,很急!!!
函数问题!看看那里不对
create or replace function testFunc(strTest varchar2) rnreturn rnisrn Result varchar(200) ;rnbeginrn Result := 'select * from testtable'rn return(Result);rnend testFunc;rnrnrnrnpl/sql报错:rnFUNCTION DBO_LZ2.TESTFUNC 编译错误rnrn错误:PLS-00103: 出现符号 "RESULT"在需要下列之一时:rn rn LONG_doublerefchartimern timestampintervaldatebinarynationalcharacterncharrn 符号 "" 被替换为 "RESULT" 后继续。rn行:3rn文本:isrnrn错误:PLS-00103: 出现符号 "RETURN"在需要下列之一时:rn .(*@%&=-+;atinmodnotrn rem<> or != or ~=>=<>andorlikebetweenrn is nullis not||is danglingrn 符号 "." 被替换为 "RETURN" 后继续。rn行:7rn文本:return(Result);rnrn错误:提示: Parameter 'strTest' 已被声明但从来没有被用于 'testFunc'rn行:1rn文本:create or replace function testFunc(strTest varchar2)rnrnrnrn语法<em>不对</em>?
strrchr() 函数返回结果有时不对
手册上的经典例子:rnecho strrchr("Hello world!","world");rn输出为:world!rnrn但继续尝试会发现这些奇葩结果:rnecho strrchr("Hello aaaaworld!","aaaaworld");rn输出:aworld!rnrnecho strrchr("Hello cacworld!","cacworld");rn输出:cworld! rnrnecho strrchr("abc123cache123","cache");rn输出:che123rnrnecho strrchr("cache","cache");rn输出:chernrn等等,总之是会返回不全,总是缺前面几个字符,不知为何??
根据字符串表达式计算结果
因各个项目中需要使用根据字符串<em>计算</em>数值,这里写出一个算法,专门<em>计算</em>字符串。配有大量常用公式。只有一个人方法,直接调用即可。 类名:CustomMath <em>函数</em>名:Calculations(string value) 说明:求解算式表达式字符串的值 表达式中包含的符号或<em>函数</em>: truncate, ceiling,floor,round,log10, sign,sinh,sqrt, asin,atan,cosh, tanh, sin,cos,tan ,abs,acos, exp,log,max,min,pow,mod,+,-,*,/,',',(,) <em>函数</em>说明:(不区分大小写) truncate(num) <em>计算</em>指定数的整数部分 truncate(1.23)=1 ceiling (num) 返回大于或等于指定的双精度浮点数的最小整数值 ceiling(1.23)=2 floor(num) 返回小于或等于指定双精度浮点数的最大整数 floor(1.23)=1 round(num) 将双精度浮点值舍入为最接近的整数值 round(1.23)=1 round(num,num1) 将小数值按指定的小数位数舍入 round(1.23,1)=1.2 log10(num) 返回指定数字以 10 为底的对数 log10(10)=1 sign(num) 返回表示数字符号的值 sign(1.23)=1 sinh(num) 返回指定角度的双曲正弦值 sinh(1.23)=1.5644 sqrt(num) 返回指定数字的平方根 sqrt(9)=3 sqrt(num,num1) 返回指定数字的num1根 sqrt(27,3)=3 asin(num) 返回正弦值为指定数字的角度 asin(0.5)=PI/6 atan(num) 返回正切值为指定数字的角度 atan(1)=45 cosh(num) 返回指定角度的双曲余弦值 cosh(1.23)=1.8567 tanh(num) 返回指定角度的双曲正切值 tanh(1.23)=0.8425 sin(num) 返回指定角度的正弦值 sin(PI/6)=0.5 cos(num) 返回指定角度的余弦值 sin(PI/3)=0.5 tan(num) 返回指定角度的余切值 sin(PI/4)=1 abs(num) 返回数字的绝对值 abs(-12)=12 acos(num) 返回余弦值为指定数字的角度 acos(0.5)=PI/3 exp(num) 返回 e 的指定次幂 exp(1)=2.718 log(num) 返回指定数字的自然对数(底为 e) log(e)=1 log(num,num1) 返回指定数字在使用指定底时的对数 log(e,e)=1 max(num,um1) 返回最大值 max(1,2)=2 min(num,num1) 返回最小值 min(1,2)=1 pow(num,num1) 返回指定数字的指定次幂 pow(2,2)=4 mod(num,num1) 返回余数 mod(3,2)=1 常量: PI 值:3.14159265358979323846 E 值:2.7182818284590452354 YEAR 值:当前年份 MONTH 值:当前月份 DAY 值: 当前日 HOUR 值:当前时 MINUTE 值:当前分 SECOND 值:当前秒 RANDOM 值:一个随机数(0-1 之间) 实例 系统<em>计算</em>:1+2*3/4-0.5=2 <em>函数</em><em>计算</em>:1+2*3/4-0.5=2 调用方式:CustomMath.Calculations("1+2*3/4-0.5") 系统<em>计算</em>:(1+2)*3/4-0.5=1.75 <em>函数</em><em>计算</em>:(1+2)*3/4-0.5=1.75 调用方式:CustomMath.Calculations("(1+2)*3/4-0.5") 系统<em>计算</em>:(sin(pi)+sqrt(3+5*7+(2+8/4*5+2)))/6=1.20185042515466 公式<em>计算</em>:(sin(pi)+sqrt(3+5*7+(2+8/4*5+2)))/6=1.20185042515466 调用方式:CustomMath.Calculations("(sin(pi)+sqrt(3+5*7+(2+8/4*5+2)))/6") 系统<em>计算</em>:sin(pow(3,2)/4)+3.5-9*sqrt(81)=-76.7219268031121 <em>函数</em><em>计算</em>:sin(pow(3,2)/4)+3.5-9*sqrt(81)=-76.7219268031121 调用方式:CustomMath.Calculations("sin(pow(3,2)/4)+3.5-9*sqrt(81)")
算术表达式中缀转后缀并计算结果
算法上机作业,将中缀表达式转为后缀表达式并且<em>计算</em>出表达式的结果
四则运算自动计算结果
简单的四则运算,<em>函数</em>用法当松开键盘的按键时触发onkeyup事件自动<em>计算</em>结果,并判断如果为非数字则清空文本框,代码简单实用
access计算结果对不上excel的
我的access表中有几个字段,小数点后3位rn需要做统计,可是统计结果同在excel中的统计结果差的蛮多的,不知怎么回事?rn确认excel的结果是对的.真没有想到会发生这样的事情.郁闷中.....rn有那位遇到过这样的事情的,点点我呀.谢谢啦!rn版本都是2003的.
VB读取Excel公式的计算结果
我想用VB向Excel表中写入数据,并读取公式的<em>计算</em>结果,不知怎么做?rn如:A1中写入1,A2中写入3,A3的公式为"=A1+A2",读取A3的<em>计算</em>结果。
如何获得计算器的计算结果?
如何获得<em>计算</em>器的<em>计算</em>结果?
计算结果写入数据库
怎么更新不了数据库啊?rn帮忙看看什么问题?rn代码:rnrnrnrnrnrn 求取切削力rn rnrnrnrn<em>计算</em>切削力Fz、Fx、Fyrn rn 输入主轴最大回转直径:rn rn rn rn renwubianhaorn rn rn rn rn rn rn rn rn rn rn rnrn rn <> "" Then rn sql="update middle set Fz='"&Request("snggb")&"' where "&"任务编号='"&Request("renwubianhao")&"'"rn Conn.Execute sql rn End Ifrnconn.Close rnset conn=nothingrn%>rnrn <em>计算</em>结果: rn纵车外圆rn rn rn rnrn rn rnrnrnrn
JS 计算结果的差异
今天在用JS做一个很简单的<em>计算</em>功能的时候发现一个小问题,<em>计算</em>2.3*33的结果居然是75.89999999999999 开始以为是没有转换的原因。后来各种转parseFloat Number之类的,可结果还是一样。我又在想是不是JS<em>计算</em>方式是不是有什么不同,可让做JAVA的同事<em>计算</em>,他的结果又是对的。表示很费解,求解答~谢谢
界面显示计算结果的问题
我写了一个界面<em>计算</em>数据结果,现在想知道用什么控件能够最方便的显示5行3列的<em>计算</em>结果呢?rnrn比如说要在控件里显示出入下结果:rn 结果1 结果2rn步骤1 123 234rn步骤2 345 567rn步骤3 893 3232rn步骤4 353 07rn步骤5 663 4rnrn用什么控件比较好呢??rnrn谢谢了
如何格式化浮点数计算结果
有时两个浮点数相乘,结果后面出现一长串0,rn比如3.7*3,结果是14.100000000000001。rn而我只想得到14.1。如何实现?请指点!!
xPixel = GetDeviceCaps (hdc, ASPECTX) 是什么意思,求解?
如题,求大侠指点
求助!!输入中缀表达式计算结果
对C++不是很熟悉,现在出于需要要用C++写一个<em>计算</em>器,求助啊!!rn现在知道如何将控制台输入的中缀变成后缀,知道如何<em>计算</em>从控制台输入的后缀表达式,但是不知道如何将变换后的后缀表达式传递给<em>计算</em><em>函数</em>,现有的代码如下:rnrn变量声明:rnstack num; //存放操作数rnstack s; //存放表达式转换过程中的变量rnrn中缀转后缀:rn[code=C/C++]rn// 定义在堆栈外面时运算符的优先级rnint isp(char c) rn if (c == '+' || c =='-')rn return 3;rn else if (c == '*' || c == '/')rn return 5;rn else if (c == '(')rn return 1;rn else if (c == ')')rn return 7;rn elsern return 0;rnrnrn// 定义在堆栈外面时运算符的优先级rnint osp(char c) rn if (c == '+' || c =='-')rn return 2;rn else if (c == '*' || c == '/')rn return 4;rn else if (c == '(')rn return 7;rn else if (c == ')')rn return 1;rn elsern return 0;rnrn//中缀表达式转后缀表达式rnvoid InfixToPostfix()rn rn char ch, y;rn s.push('#');rn while (cin>>ch,ch != '#') rn if (isdigit(ch) || isalpha(ch))rn cout<>c,c!='#') //从输入流试读入一个字符,遇结束符结束rn switch(c) //读入的字符做如下处理rn case '+':rn case '-':rn case '*':rn case '/':rn case '^': DoOperator(c); break; //是操作符则进行相应的<em>计算</em>rn default: cin.putback(c); //如不是操作符,则将试读入的字符放回输入流rn cin>>newop; //读入一个操作数rn PushOperand(newop); break; //操作数进栈rn rn rnrn[/code]
计算结果并更新的问题?
表rnID DATE1 DATE2 天数rnAAA 2010-3-3 2010-3-10rnAAA 2010-3-20 2010-3-26rnAAA 2010-3-30 2010-3-10rnBBB 2010-1-3 2010-3-10rnBBB 2010-2-13 2010-2-20rnBBB 2010-2-15 2010-3-10rnrnrn结果rn<em>计算</em>出天数并更新到表中,(天数=DATE1最大值-DATE2的最大值)
javascript如何输出计算结果?
rn rnrnrn rn rn checked="checked"/>+rn checked="checked" />-rn checked="checked"/>×rn checked="checked"/>÷rn rn rn =rn rn
关于DBGrid计算结果
在数据库中有 amount, outamount ,bcamount字段rn在DBGrid中显示 amount, outamount ,leavamount,bcamount.rn其中leavamount=amount-outamount(sql中实现);rn outamount=outamount+bcamount(程序中实现);rn现在的问题是:由于数据库中没有leavamount字段,当我bcamount发生变化的时候,leavamount显示数据也随之发生了变化。rn在bcamount的数据发生变化后,对DBGrid中的数据就需要保存。rnrn在保存的时候就会出现“Trying to modify_only field”rnrnrnleavamount的数据只要在DBGrid上显示,不需要保存rnrn我想问的是:怎么解决leavamount对我保存的影响?
字符的数学公式取得计算结果
有时候我们在文本框里写了’1+1‘,怎么能让他变成公式<em>计算</em>出结果?我提供2种方案供大家参考 一、 function Cal(expStr:string):string; var   js: OleVariant; begin   js := CreateOleObject('ScriptControl');   js.Language := 'JavaScript';   Result := ...
最小二乘数计算结果?
a(0) = 803.5rn a(1) = 803rn a(2) = 803.5rn a(3) = 803.5rn a(4) = 804rn a(5) = 804rn b(0) = 0 * Val(2 ^ 10) / Val(30) rn b(1) = 1 * Val(2 ^ 10) / Val(30) rn b(2) = 6 * Val(2 ^ 10) / Val(30) rn b(3) = 11 * Val(2 ^ 10) / Val(30) rn b(4) = 16 * Val(2 ^ 10) / Val(30) rn b(5) = 26 * Val(2 ^ 10) / Val(30)rnrn a(0) = 111rn a(1) = 211rn a(2) = 311rn a(3) = 411rn a(4) = 511rn a(5) = 611rn b(0) = 3rn b(1) = 4rn b(2) = 5rn b(3) = 6rn b(4) = 7rn b(5) = 8rnY=A0+A1*X+A2*X*Xrn两组数通过最小二乘数<em>计算</em>,系数分别是??
Matlab计算结果可视化
详细描述了Matlab下将<em>计算</em>结果进行绘图的一些方法。分二维平面图形和三维立体图形的绘制。
02-7 计算器算法-计算结果
Apple Watch <em>计算</em>器实战开发
求助:关于FFT的计算结果
我现在在做非正弦信号的数据采样与处理,对电网的电压电流信号进行谐波分析,用的是FFT算法。程序我编的一点问题都没有,我拿了书上的一个例子进行了检验,和书上的结果是完全一样的。但是我用一些数据仿真,则存在着很大的问题,比如我用一个方波仿真,采样64个点,16个10,32个-10,16个10,但是最后出来的结果基波值是407,。然后我又试验了一个正弦<em>函数</em>f(t)=sin(2*pi*i/64),i从0到63,最后分析的结果基波为32,谐波为0,这个<em>函数</em>的最大值是1,为什么分析出来的值竟然是32?fft分析出来的基波值是不是应该不超过1或者和1相差不大哪?我采样128个点,分析的基波值为64。我fft分析的结果是要在上位机上显示的,所以这个结果不能拿出来显示,但是我又觉得我的算法没有问题,有做过实际项目的ggjjddmm们,告诉我一下,fft最后分析的结果和采样的最大值之间有必然的联系吗?我的问题是出在什么地方啊?谢谢!
偶数求和-计算结果
第一阶段(4-10天)rn 该阶段我们正式进入Python这门语言的学习,我们会学习Python语言的核心语法及进阶内容。rn第二阶段(11-13天)rn 该阶段我们会学习面向对象(OOP)这一重要的编程思想rn第三阶段(14-15天)rn 该阶段是项目演练阶段,我们会带领大家通过使用之前学习过的知识开发飞机大战这一经典游戏。
根据公式计算结果
国二题目如下: 编写<em>函数</em>fun,<em>函数</em>的功能是:根据以下公式<em>计算</em>s,<em>计算</em>结果作为<em>函数</em>值返 回;n通过形参传入。     1 1 1 S=1 + ── + ─── + … + ──────    1+2 1+2+3 1+2+3+…+n 例如:若n的值为11时,<em>函数</em>的值为:1.833
GetTextExtentPoint计算结果不准确
对RichEdit输出的中文,使用GetTextExtentPoint<em>计算</em>字符的长宽发现,宽度<em>计算</em>不准确,高度还是准确的;rn而且该误差只存在中文英文还是正确的,很奇怪,不知道谁遇到过;rnrn例如:宋体 14号字 GetTextExtentPoint得到结果是23*23而通过截屏等工具得到的结果是17*23,宽度误差6个像素;
怎样显示计算结果?
rn 刚学汇编不久,知道02 09 的功能调用rn 但不知道怎么将<em>计算</em>的结果显示在屏幕上rn 希望能举写简单的例子rn 希望高手赐教 ~~thank you ~~~~~~
计算结果排序的问题
请看下面程序,从5个数中随机挑3个组成一组,并做相应的<em>计算</em>,输出所有可能的组合和<em>计算</em>结果:rnint main()rnrn int i,j,n;rn double g,m,f;rn double b[5]=9,8,7,6,5;rn double a[5][5]=1,0.3,0.7,1.9,2.0,rn 0.8,1,0.7,0.7,0.6,rn 0.7,0.8,1,0.3,0.4,rn 0.8,0.9,0.7,1,0.5,rn 0.7,0.6,0.5,0.4,1;rn for(i=1;i,i,j,n,f);rn rnrn问题:如果我想根据<em>计算</em>结果f,从大到小排序,既根据结果排序对应的组合,该怎么做呢? 若只取最大的前20个,又该怎样做。数字有可能不止5,可能上百~
动态公式以及计算结果
[code=SQL]rncreate table #tb(FName varchar(10) , FWebPrice varchar(100),FA varchar(100),FB varchar(100) )rninsert into #tb values('地区A','@SMM_Pb1','FWebPrice*3','FA+3')rninsert into #tb values('地区B','@SMM_Pb2','(@SMM_Pb1+@SMM_Pb2)/2','@SMM_Pb1+FA')rn rndeclare @SMM_Pb1 numeric(15,2) rndeclare @SMM_Pb2 numeric(15,2) rnselect @SMM_Pb1=11rnselect @SMM_Pb2=22 rnrnselect * from #tbrnrn怎么得出<em>计算</em>结果.rnrn公式是动态的,所以请问这个的动态语句怎么写?(要考虑到记录数可能很多,公式可能长点,拼接语句的话可能超过长度哦)rnrn[/code]
sql数学公式不计算结果
[color=#FF6600]单价是decimal类型,需要通过公式<em>计算</em>出来,现在显示的是字符串,公式不<em>计算</em>,我希望得到<em>计算</em>出来的decimal类型。[/color]rnrn--sql语句如下:rnSELECT T.QuoteDetId, rn T.QuoteID, rn T.QuoteNO, rn T.MaterialID, rn T.MaterialNO,rnT.BatchID, rnT.IsBatch, rn[color=#FF6600]replace(replace( replace(replace(T6.Formula,'单价',T.UnitPrice),'length',T5.length),'Width',T5.Width),'Weight',T5.Weight) as '单价',[/color]rnT.Currency, rn T.ExchangeRate, rnT.ActPeriodDay, rn T.Remark, rnT.InquireID, rn T.InquireNO, rn T.InqDetID, rn T.SelectFlag, rnT2.IsBySupplier, rn T3.BussinessId, rn T3.ApproveStatus, rn T3.CreateByID, rn T3.ApproveEndDtrnFROM dbo.MPS_QuoteDetail AS T rn INNER JOIN dbo.MPS_Quote AS T2 ON T.QuoteID = T2.QuoteID and T.IsBatch=1rn INNER JOIN dbo.MPS_Inquire AS T3 ON T3.InquireID = T.InquireID rn INNER JOIN dbo.MPS_InquireDetail AS T4 ON T4.InquireID = T3.InquireID rn AND T.InqDetID=T4.InqDetIDrn AND T2.ApproveStatus = 1 rn AND T.UnitPrice>0 rn INNER JOIN dbo.MPS_Material T5 on T.BatchID=T4.BatchID rn and T4.Brand=T5.Brandrnand T5.Weight between T4.WeightMin and T4.WeightMaxrnand T5.IsParticular=T4.IsParticularrn inner join MPS_BatchSet T6 on T5.BatchID=T6.BatchIDrnrn[color=#FF6600]运行结果,单价列,显示如下:rn7470.0000*1194.000*889.000*190/2000000000,(不<em>计算</em>,结果是字符串)[/color]
一个程序的计算结果
程序rn#includernusing namespace std;rnint main ()rnrn unsigned char a = 0xA5;rn unsigned char b = ~a>>4;rn rn printf("b = %d\n", b);rn printf("~a>>4 = %d\n", ~a>>4);rnrnrn运行结果是rnb = 245rn~a>>4 = -11rn谁能解释一下为什么? rn谢了
计算结果小数精确度问题
表table中有三列,col1,col2,col3,数据类型均是6位小数,现有如下<em>计算</em>:rn SELECT col1*col2*col3 rn FROM tablern返回的结果,小数点后4位是正确的,第5位开始就不正确了,不知是什么原因?rn
velocity输出数字计算结果
java类有context.put("a",98),页面上$a%10,为什么页面上输不出8,而是输出98%10。。。在线等!
Nehe的OpenGL教程电子书(chm格式)中文版-抓虾.chm下载
Nehe的OpenGL教程电子书(chm格式)中文版-抓虾.chm 相关下载链接:[url=//download.csdn.net/download/sxtgb/3128931?utm_source=bbsseo]//download.csdn.net/download/sxtgb/3128931?utm_source=bbsseo[/url]
SRS Audio Essentialsv1.2.3.12终极破解版下载
SRS Audio Essentialsv1.2.3.12终极破解版 相关下载链接:[url=//download.csdn.net/download/q4645818/4728099?utm_source=bbsseo]//download.csdn.net/download/q4645818/4728099?utm_source=bbsseo[/url]
taobao_81.apk下载
淘宝客户端, 手机客户端,直至安卓手机。 相关下载链接:[url=//download.csdn.net/download/u011407381/6023715?utm_source=bbsseo]//download.csdn.net/download/u011407381/6023715?utm_source=bbsseo[/url]
相关热词 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天 c#func链接匿名方法 c#怎么创建文件夹 c#从键盘接收空格 c#da/ad c#部门请假管理系统 c#服务器socket c# 默认的访问修饰符
我们是很有底线的