ArcSDE C APiµÄC#µ÷ÓÃ
Ñ¡Á½¸ö±È½ÏÓдú±íÐԵĺ¯Êý
Ê×ÏÈÏÂÔØ°²×°sdk£¬½«ÆäÖеÄsde.dll,pe.dllºÍsg.dll¿½±´¹ýÀ´
ʹÓÃÈçϵĴúÂ룬ָ¶¨dllºóÖ±½Óµ÷ÓÃÆäÖеĺ¯Êý£¬
/// <summary>
/// Sets the value for a small integer column.
/// </summary>
[DllImport(".\\sde91.dll", SetLastError = true, ThrowOnUnmappableChar = true)]
public static extern Int32 SE_stream_set_smallint(IntPtr stream, Int16 column, sbyte[] short_val);
/// <summary>
/// Sets the value for a string column.
/// </summary>
[DllImport(".\\sde91.dll", SetLastError = true, ThrowOnUnmappableChar = true)]
public static extern Int32 SE_stream_set_nstring(IntPtr stream, Int16 column, byte[] string_val);
ÔÚ²åÈëÊý¾ÝʱʹÓõ½µÄÁ½¸öº¯Êý£¬Ò»¸öÊDzåÈëstring£¬ÁíÒ»¸öÊDzåÈësmallint£¨shortÐÍ£©
ÔÚc#ÖУ¬stringÊÇunicodeµÄ£¬ËùÒÔÐèҪʹÓú¯ÊýSE_stream_set_nstring
´Ëº¯ÊýµÄµÚÈý¸ö²ÎÊýÈçÒÔÉÏ´úÂëÖеģ¬Èç¹ûÖ±½ÓдΪstring£¬Ôò¶ÔÓÚÖÐÎÄ×Ö·û£¬³öÀ´µÄ¾ÍÊÇÂÒÂëÁË
ʹÓÃbyte£¬È»ºóµ÷ÓÃʱÈçÏ£º
ret = Stream.SE_stream_set_nstring(insertStream, 3, (new UnicodeEncoding()).GetBytes("²âÊÔ"));
¶ÔÓÚsmallintÐÍ£¬ÔÚSE_stream_set_smallintº¯ÊýÖÐÖ±½ÓʹÓÃshort£¬
Ò²³öÏÖ´íÎ󣬲»ÖªµÀΪʲô£¬ºóÀ´Ïëµ½
C#ÖеÄsbyteÊÇ8λµÄ£¬Á½¸ö×é³ÉµÄÊý×é¾ÍÊÇÒ»¸öshort(16λÓзûºÅÕûÐÍ)
È»ºóÊÔÁËÊÔ£¬¹ûÈ»¿ÉÓã¬
ʹÓõÄʱºò×¢Ò⣬±ÈÈçÒª´æÈëÒ»¸ö±äÁ¿ashort;
sbyte[0]ÖеÄÊýÖµ£¬¿ÉÒÔΪСÓÚ256µÄÖµ
µ±ÊýÖµ´óÓÚ256ʱ(1<<8)
sbyte[1]¾ÍÊÇÊýÖµashort>>8;
sbyte[0]Ϊashor-((ashort>>8)<<8)
ʹÓÃλÔËË㣬¼òµ¥·½±ãЧÂʸߣ¬²»ÖªµÀ»¹ÓÐûÓÐÆäËû²»ÐèҪת»»µÄ·½·¨
Ïà¹ØÎĵµ£º
¸ñʽÊä³ö:
printf(¸ñʽ¿ØÖÆ, Êä³ö±íÁÐ);
%d Ê®½øÖÆÊý %md mΪָ¶¨µÄ¿í¶È ÈôÊý¾ÝλÊýСÓÚm,Ôò×ó¶Ë²¹ÒÔ¿Õ¸ñ;Èô´óÓÚm,Ôò°´Êµ¼ÊλÊýÊä³ö
%ld ³¤ÕûÐÍÊý¾Ý %mld Ö¸¶¨×ֶοí¶È
%o °Ë½øÖÆÕûÊýÐÎʽ %mo
%x Ê®Áù½øÖÆÕûÊýÐÎʽ %mx
%u unsignedÐÍÊý¾Ý,ËüÒ²¿ÉÓÃ%o»ò%x¸ñʽÊä³ö
%c Ò»¸ö×Ö·û ......
µÚ4Õ ÔõÑù²ÅÄܱ£Ö¤²âÊÔЧ¹û£¿
4.1 ºâÁ¿²âÊÔЧ¹ûµÄ»ù±¾Ö¸±ê£º°×ºÐ¸²¸Ç
ºâÁ¿²âÊÔЧ¹ûµÄ»ù±¾Ö¸±êÊǰ׺и²¸ÇÂÊ£¬¼´Í³¼Æ²âÊÔ¶Ô´úÂëÂß¼µ¥Î»µÄ¸²¸Ç×´¿ö¡£´úÂëµÄÂß¼µ¥Î»Ö÷ÒªÓУºÓï¾ä(¿é)£¬Ìõ¼þ¡¢Åж¨¡¢·ÖÖ§¡¢Â·¾¶¡£³£Óõİ׺и²¸ÇÓÐÁùÖÖ£ºÓï¾ä¸²¸Ç¡¢Ìõ¼þ¸²¸Ç¡¢·ÖÖ§¸²¸Ç¡¢Åж¨Ìõ¼þ¸²¸Ç¡¢ÐÞÕýÅж¨Ìõ¼þ¸²¸Ç¡¢º ......
¾µÍ·×ÜÊDZ»¹Ì¶¨ÔÚ±ê×¼µÄ¾µ×ùÉÏ£¬¾µ×ù°üΧ×Å´«¸ÐÆ÷CCD£¬¾µÍ·ÓëCCDÊܹâÃæ±£³Ö×ÅÒ»¶¨µÄ¾àÀ룬ʹµÃ¾µÍ·µÄÏñÃæÓëÆäÒ»Ö£¬ÒÔʹ¾µÍ·¶Ô½¹Î¢µ÷ºó³ÉÏñ×îÇåÎú¡£Óм¸ÖÖ±ê×¼µÄ°²×°½Ó¿Ú£ºC½Ó¿Ú¡¢CS½Ó¿ÚºÍS½Ó¿Ú¡£
ËùÓеÄÉãÏó»ú¾µÍ·¾ùÊÇÂÝÎÆ½Ó¿ÚµÄ£¬CCDÉãÏó»úµÄ¾µÍ·°²×°ÓÐÁ½ÖÖ¹¤Òµ±ê×¼£¬¼´C°²×°×ùºÍCS°²×°×ù¡£Á½ÕßÂÝÎÆ²¿·ÖÏàͬ£¬µ«Á½Õß´Ó¾µ ......
// SnakeMatrix.cpp : Defines the entry point for the console application.
// Create by Xianyi.Ye, May 4,2010
#include "stdafx.h"
#include <iostream.h>
/*
Question: Print a Sanke Matrix as following
i\j 1 2 3 4 5 6
1 1 2 9 10 25 26
2 4 3 8 11 24 27
3 5 6 7 12 23 28
4 16 15 14 ......
½ñÌìÓиö¸Õ¸Õ±ÏÒµµÄСÅóÓÑÎÊÎÒ¹ØÓÚvoid*µÄһЩÎÊÌ⣬¸ÕºÃÔÚÍøÉÏÕÒµ½ÁËһƪ±È½ÏÏêϸ˵Ã÷µÄÎÄÕ£¬×ªÔØÖ®......
1.¸ÅÊö
¡¡¡¡
¡¡¡¡Ðí¶à³õѧÕß¶ÔC/C++ÓïÑÔÖеÄvoid¼°voidÖ¸ÕëÀàÐͲ»ÉõÀí½â£¬Òò´ËÔÚʹÓÃÉϳöÏÖÁËһЩ´íÎó¡£±¾ÎĽ«¶Ôvoid¹Ø¼ü×ÖµÄÉî¿Ìº¬Òå½øÐнâ˵£¬²¢ÏêÊövoid¼°voidÖ¸ÕëÀàÐ͵ÄʹÓ÷½·¨Óë¼¼ÇÉ¡£
¡¡¡¡2.voidµÄº¬ ......