首先,我必须告诉你,我是Objective-C和Cocoa的新手.
我已经阅读了一些关于这方面的书籍,现在我可以构建非常简单的程序.
已经有15天了,我坚持使用我正在尝试构建的程序而且我真的不知道在哪里看...
我想构建一个程序,可以使用DDC/CI改变我的显示器的亮度,我想显示/隐藏一个窗口(它写入亮度级别),就像Leopard或Snow Leopard的Apple亮度边框一样完全相同的风格.
使用RegisterEventHotKey和各种IO服务功能,当我按F2时,我已经能够增加亮度,并且当我按F1时,减少它.
使用自定义NSWindow(TransparentWindow)和自定义NSView(RoundedView),我已经能够获得一个与Apple亮度边框完全相同的窗口.我已将它放在awakeFromNib上,它显示正确并保持在那里.
我无法实现的(我真的变得疯狂)就是只有当我按下F1或F2时才显示窗口.(为了隐藏它,我已经实现了alredy,NSTimer但现在这是offtopic)
我尝试了不同的方法:
1)从我实现的NSobject类中,我RegisterEventHotKey创建了一个TransparentWindow实例,然后我发送orderOut到该实例.
2)我使用NSNotificationCenter直接向TransparentWindow类发送通知并orderOut从那里调用.
3)和我现在不记得的许多其他.
我现在要做的是通过在窗口中创建窗口awakeFromNib(并且这可以工作)使窗口显示然后隐藏它orderOut(这从不起作用).
这些是涉及的类:
TransparentWindow.h:
#import <Cocoa/Cocoa.h>
@interface TransparentWindow : NSWindow
{
IBOutlet NSWindow *window;
}
@property (retain) IBOutlet NSWindow *window;
@end
Run Code Online (Sandbox Code Playgroud)
TransparentWindow.m:
#import "TransparentWindow.h"
@implementation TransparentWindow
@synthesize window;
- (id)initWithContentRect:(NSRect)contentRect
styleMask:(unsigned int)aStyle
backing:(NSBackingStoreType)bufferingType
defer:(BOOL)flag {
window = [super initWithContentRect:contentRect
styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered
defer:NO];
if (window != nil) {
[window setLevel: NSStatusWindowLevel];
[window setBackgroundColor: [NSColor clearColor]];
[window …Run Code Online (Sandbox Code Playgroud) 我不需要显示地图.但是,我需要使用gps/3g网络来定位我当前的位置ADDRESS(不长和纬度),然后将其添加到自动短信响应中以通知一个人我当前无法回复,并且包括字符串地址我目前的位置.我有短信的工作,只需要弄清楚访问gps和拉地址的方法.我见过lat/long的示例代码.也许我需要将lat/long转换为google maps API中的地址?我不确定如何去做.任何建议/代码片段/类似的教程欢迎!谢谢.:)
我试图将回调函数从C++传递给OpenGL(C API):
gluQuadricCallback(qobj, GLU_ERROR, errorCallback);
Run Code Online (Sandbox Code Playgroud)
其中errorCallback是编译为C++代码的文件中的函数,并声明为
void errorCallback();
Run Code Online (Sandbox Code Playgroud)
代码在Linux上使用g ++ 4.4完全编译,但在Windows上使用mingw32 g ++ 4.4会出现以下错误:
..\glwidget.cpp:172: error: invalid conversion from 'void (*)()' to 'void (*)()'
..\glwidget.cpp:172: error: initializing argument 3 of 'void gluQuadricCallback(GLUquadric*, GLenum, void (*)())'
Run Code Online (Sandbox Code Playgroud)
是某种C和C++混合问题吗?我怎么解决这个问题?
更新: void GLAPIENTRY errorCallback(); 不编译 :(
..\glwidget.cpp:129:错误:'errorCallback'之前的预期初始化程序
现在几乎可以肯定它是一个调用约定问题而且与C链接无关,请参阅下面的评论Thomas '回答.
更新2:在我看来,我正好碰上关于一个混乱的OpenGL的问题GLAPIENTRY,APIENTRY和_GLUfuncptr.以下是关于可移植性问题的非常长的讨论:http:
//lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/2007-October/003023.html
我有一个用PHP编写的算法,它与MySQL通信.在标准的共享托管服务器上,计算大约需要5秒钟.我的问题是 - 如何加快速度(当然不改变算法本身),使用专用/ VPS,也许是一些云计算或......?
你有什么建议?
编辑:这是公共交通的Dijkstra算法.我有(仅)3500个独特的站点.
简而言之 - 我有多个数组用于记录主动停止,先前停止,lineToStop,totalTime,travelingTime等.我循环停止数量,得到停止的id,建立与其他停靠点的连接(基于该活动停止的时间),再次循环停止()的大小以找到具有最低值的那个,将其标记为积极并再次继续.
我意识到这是优化问题所以 - > Dijkstra算法优化/缓存
有没有人知道一个很好的javascript(最好是jquery)库,它允许你以类似于weebly内容编辑器的方式进行拖放和编辑?
我最近为客户开发了一个虚拟键盘应用程序.该程序几乎适用于所有程序,但某些命令与Citrix一起使用{ENTER}或未{DEL}使用Citrix.有解决方法还是替代方案SendKeys?
编辑1:我尝试了SendInput方法(Windows输入模拟器使用SendInput),DEL键和箭头键仍然无法正常工作.然而,ENTER键有效.
编辑2:解决了它.测试了两个不同版本的Citrix.这个问题给了我很多帮助.:
Citrix瘦客户机使用keybd_event的扫描码参数,即使MS表示它未使用且应为0.您还需要提供物理扫描码以供Citrix客户端使用.Citrix客户端也存在使用SendInput API生成的键盘输入的主要问题.
我修补了Windows输入模拟器中的代码:
// Function used to get the scan code
[DllImport("user32.dll")]
static extern uint MapVirtualKey(uint uCode, uint uMapType);
/// <summary>
/// Calls the Win32 SendInput method ...
/// </summary>
/// <param name="keyCode">The VirtualKeyCode to press</param>
public static void SimulateKeyPress(VirtualKeyCode keyCode)
{
var down = new INPUT();
down.Type = (UInt32)InputType.KEYBOARD;
down.Data.Keyboard = new KEYBDINPUT();
down.Data.Keyboard.Vk = (UInt16)keyCode;
// Scan Code here, was 0
down.Data.Keyboard.Scan = (ushort) MapVirtualKey((UInt16)keyCode, …Run Code Online (Sandbox Code Playgroud) 我有一个在生产服务器上运行的asp.net应用程序.
服务器上的CPU使用率非常高,为80-90%.
但是,除非cpu达到100%的峰值,否则每个请求似乎都不会花费太长时间.
我需要获取一些分析数据,以确定高CPU使用率是由于少量的高CPU请求,还是,如果它只是一般的高负载.
我可以在机器上添加更多核心,也可以在应用程序中添加web,但我需要证据才能证明任何成本以及未来的性能证明.
有没有办法记录每个页面请求的CPU使用情况?
我正在研究目前有60个组件的大型解决方案.有许多程序集定义了解决方案的公共部分,然后是系统的一些入口点程序集.
TDD实际上是不可能的,因为最低域层中的单线变化迫使几乎整个解决方案的重建,因为测试组件引用了解决方案的各个层.
什么是最佳实践,将构建时间从当前的75秒降低到更可接受的5秒左右?这将使TDD再次可行.
在进行单元测试时,某些类需要由其他程序集的接口定义的模拟,因此必须在测试程序集中引用.因此,除了解决方案的最低级别之外,并不总是可以单独引用其他程序集.
我在XAML(而不是Silverlight)中使用DataGrids和可调整大小的列,如果用户调整屏幕大小,DataGrid将展开.
目前,如果所有DataGrid列的宽度小于DataGrid的宽度,我会看到一个额外的"列",它不可点击并且没有用处.
有谁知道如何使一列始终调整大小以填充所有剩余空间?
昨天接受采访时,面试官问我一个问题:
为什么以下代码没有给出所需的答案?
int a = 100000, b = 100000;
long int c = a * b ;
Run Code Online (Sandbox Code Playgroud)
语言是C.
我已经告诉采访者我们首先计算100,000*100,000作为int(溢出),然后将其投入很长时间.
c# ×3
c ×2
c++ ×2
performance ×2
.net ×1
amazon-ec2 ×1
android ×1
asp.net ×1
citrix ×1
cocoa ×1
compilation ×1
datagrid ×1
gcc ×1
gps ×1
html ×1
iis-7 ×1
int ×1
interface ×1
javascript ×1
jquery ×1
location ×1
logging ×1
mysql ×1
nsview ×1
nswindow ×1
objective-c ×1
opengl ×1
php ×1
sendkeys ×1
tdd ×1
wpf ×1
wpf-controls ×1
wysiwyg ×1
xaml ×1