我在Delphi中编写了一个Windows程序,它使用GetCharWidth和Em-Square非常精确地将文本放置到屏幕和打印机上.这适用于ANSI文本,您只需要检索和计算255个字符的宽度,但是当您使用65535个字符转到Unicode时,它太慢了.由于必须创建2个宽度数组,一个用于普通数组,一个用于粗体数,因此问题变得更严重.
//Setup a reference canvas for measuring purposes
RefDC := CreateCompatibleDC ( FCanvas.Handle ) ;
DPI := GetDeviceCaps ( RefDC , LOGPIXELSY ) ;
//find EmSquare
GetOutlineTextMetrics ( RefDC , sizeof(otm) , @otm[0] ) ;
EmSq := otm[0].otmEmSquare ;
//calc NORMAL char sizes
GetObject ( FCanvas.Font.Handle , SizeOf ( lf ) , @lf ) ;
lf.lfHeight := -EmSq ;
lf.lfWidth := 0 ;
lf.lfWeight := FW_NORMAL ;
hf := CreateFontIndirect ( lf ) ;
hold := SelectObject ( RefDC , …Run Code Online (Sandbox Code Playgroud) 我有一个查询,比如从条形图中选择foo Foo是一个字符串字段,并且始终以"http://"开头.我想在选择期间将"http://"替换为"xml://",因此所有foo值都以xml:// ...而不是http://来回复...是否有办法在查询期间动态替换?
我的雇主让我在一个具有非常特定UI要求的Android应用程序上工作.具体来说,我们需要一个看起来与TabWidget接口完全相同的界面.但是,左侧的标签是绝对必须的.我们不打算将此应用程序部署到任何Android手机,它用于内部设备,因此没有任何问题违反Android平台可能具有的任何设计考虑因素.
我们已经有了一个工作原型,它使用焦点监听器和列表视图的组合来破解我们需要的功能.它不漂亮,我们对它还不是很有信心,但它暂时有用.
我们真正喜欢的是抛弃我们的所有原型UI代码,以换取使用内置的TabWidget.但是,由于TabWidget硬编码仅适用于顶部的选项卡,因此这不是一个真正的选项.
那么,我们希望有人在那里有一个补丁,或一组补丁,或者可能是一个自定义类,用侧面的选项卡处理TabWidget功能呢?
TabWidget的相关代码位于:http://www.google.com/codesearch/p? hl = en#uX1GffpyOZk/core/java/android/widget/TabWidget.java&q = android%20package:git:adminand .git.kernel.org%20lang:JAVA%20tabwidget&SA = N和CD = 1&CT = RC
以及在顶部显示标签的硬编码的特定功能是
private void initTabWidget() {
setOrientation(LinearLayout.HORIZONTAL);
mGroupFlags |= FLAG_USE_CHILD_DRAWING_ORDER;
final Context context = mContext;
final Resources resources = context.getResources();
if (context.getApplicationInfo().targetSdkVersion <= Build.VERSION_CODES.DONUT) {
// Donut apps get old color scheme
if (mLeftStrip == null) {
mLeftStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_left_v4);
}
if (mRightStrip == null) {
mRightStrip = resources.getDrawable(
com.android.internal.R.drawable.tab_bottom_right_v4);
}
} else {
// Use modern color scheme for …Run Code Online (Sandbox Code Playgroud) 如果我使用Win32 API LoadLibrary连续3次加载相同的DLL,它应该返回3个不同的句柄,每个库中的函数应该都有不同的地址是否正确?(或者它是否做了"智能"操作并检测是否已经为进程加载了dll并且只是指向同一个模块?)
我有一个新的Android应用程序,我几天前在市场上.我在发布之前对我的机器人机器人进行了相当多的测试,并试图进行彻底的测试.好吧,我得到了一些负面的评论,说明它是如何在某人的EVO 2.2或X10上运行的(甚至不知道最初是什么).好吧,它在我的手机上运行完美.
关于我应该如何修复或支持在100种不同手机上运行的应用程序的任何建议?
其他开发者如何接近这个?(实际上没有购买每部手机).谢谢.
有没有办法克服Linux系统上的端口限制?我们有一个运行的服务器接受传入的连接,它使用非常少的内存和CPU.我们必须构建一个小型Linux机箱集群才能克服软件限制(大约60k的点数),这是相当愚蠢的.有任何想法吗?
我想知道如何在Fortran中使用ctags接口,例如:
INTERFACE SOME_ROUTINE
MODULE SOME_ROUTINE_A
MODULE SOME_ROUTINE_B
END SOME_ROUTINE
Run Code Online (Sandbox Code Playgroud)
因此,根据传递给子例程的参数调用SOME_ROUTINE_A或SOME_ROUTINE_B.
如果我将光标放在Vim中对SOME_ROUTINE的调用上,并点击C-],我会收到"找不到标签:SOME_ROUTINE"错误,如果我检查了我的ctags文件,他们就不在那里.
奇怪的是我也在使用Vim taglist插件,源文件中的接口将显示在taglist窗口中.我能找到的唯一线索就是taglist插件代码中的这一行:
let s:tlist_def_fortran_settings = 'fortran;p:program;b:block data;' .
\ 'c:common;e:entry;i:interface;k:type;l:label;m:module;' .
\ 'n:namelist;t:derived;v:variable;f:function;s:subroutine'
Run Code Online (Sandbox Code Playgroud)
我已经检查了手册中的ctags,但是找不到任何关于它如何工作的线索,任何人都知道发生了什么?
我有一个最小的程序,只是让我使用Android设置两个首选项(一个int和一个字符串)PreferenceActivity.所以我有一个定义我的首选项的xml文件,以及一个扩展的活动PreferenceActivity.我的主要活动有一个选项菜单,可以启动我的偏好活动.所有这一切都很有效.我可以设置我的首选项,并在程序执行期间和之后保留值.
现在,在我的主要活动中,我想要检索这些首选项.应该很容易吧?这是我见过的每个样本的代码:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
int intSetting = prefs.getInt("intSetting", 0);
String strSetting = prefs.getString("strSetting", "");
Run Code Online (Sandbox Code Playgroud)
问题是,如果我在getInt()通话中断并且跳过,我的堆栈看起来像这样,如果我继续,应用程序将崩溃:
线程[<3>主要](已暂停)
ActivityThread.performLaunchActivity(ActivityThread $ ActivityRecord,Intent)行:2494
ActivityThread.handleLaunchActivity(ActivityThread $ ActivityRecord,Intent)行:2512
ActivityThread.access $ 2200(ActivityThread,ActivityThread $ ActivityRecord,Intent)行:119
ActivityThread $ H.handleMessage(Message)行:1863
ActivityThread $ H(Handler).dispatchMessage(Message)行:99 Looper.loop()行:123
ActivityThread.main(String [])行:4363 Method.invokeNative( Object,Object [],Class,Class [],Class,int,boolean)line:not available [native method] Method.invoke(Object,Object ...)line:521
ZygoteInit $ MethodAndArgsCaller.run()行:860 ZygoteInit.main(String [])行:618 NativeStart.main(String [])行:不可用[native method]
我尝试了传递给getDefaultSharedPreferences()的参数的变体,包括:
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Run Code Online (Sandbox Code Playgroud)
......以及可能在不同背景下的其他一些人(即从我的主要活动中获取偏好而不是从另一个活动中获取偏好而不是某个非活动类中的某个功能时.结果总是相同的.
我已经在网上阅读了十几篇有关此问题的问答帖,他们通过编写与我相同的代码解决了这个问题,所以我不指望有解决方案,但如果有人有任何想法,请告诉我.
android preferenceactivity android-sdk-2.1 sharedpreferences
我有这个架构,我需要定义两个主键; 一个是Drupal的'vid'字段,另一个是我的网站'bid'字段,它是自动增量类型,反过来要求它是主键:wtherwise我得到MySQL错误.我在查找Drupal模式中定义多个主键的语法时遇到了麻烦.如果有人可以帮我解决语法问题,我非常感谢.
$schema['rft'] = array(
'fields' => array(
'vid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'nid' => array(
'type' => 'int',
'unsigned' => TRUE,
'not null' => TRUE,
'default' => 0,
),
'bid' => array(
'type' => 'serial',
'size' => 'medium',
'not null' => TRUE,
),
),
'indexes' => array(
'nid' => array('nid'),
),
'primary key' => array('vid'), //array('vid','bid') doesn't work
);
return $schema;
}
Run Code Online (Sandbox Code Playgroud) 我有一个用VB.NET编写的应用程序(不是 asp.net,它是一个Windows控制台应用程序).我正在尝试调用url(一个html页面)并将响应返回到一个字符串中.响应是直接的JSON,没有任何html标签.它打开{和关闭}.
我很好地创建了HttpWebRequest对象.然后打电话req.GetResponse().一旦我这样做,我得到错误,The underlying connection was closed: The connection was closed unexpectedly.我一直在谷歌搜索和检查stackoverflow,并尝试了我发现适用的一切(很多与WCF服务配置有关,不适用).
这是我的代码:
Public Function GetJSON(ByRef d As db.Device) As Boolean
Try
d.Url = "http://" & d.IpAddress & ini.doc.<svc>.<url>.Value
Dim req As HttpWebRequest = HttpWebRequest.Create(d.Url)
// req.Accept = "*/*"
// req.Timeout = 30000
// req.ReadWriteTimeout = 30000
// req.KeepAlive = False
// req.UseDefaultCredentials = True
// req.CachePolicy = HttpWebRequest.DefaultCachePolicy
// req.Proxy = HttpWebRequest.DefaultWebProxy
// req.ProtocolVersion = New System.Version(1, 0)
Dim rsp …Run Code Online (Sandbox Code Playgroud) android ×3
ctags ×1
delphi ×1
drupal ×1
fortran ×1
linux ×1
loadlibrary ×1
networking ×1
patch ×1
primary-key ×1
sql ×1
sql-server ×1
tabwidget ×1
testing ×1
unicode ×1
vim ×1
winapi ×1
windows ×1
wysiwyg ×1