在Dart中提供枚举之前,我写了一些繁琐且难以维护的代码来模拟枚举,现在想要简化它.我需要将枚举的值作为字符串获取,例如可以用Java完成,但不能.
例如,当我想要的是"星期一"时,小测试代码片段在每种情况下返回'day.MONDAY'
enum day {MONDAY, TUESDAY}
print( 'Today is $day.MONDAY');
print( 'Today is $day.MONDAY.toString()');
Run Code Online (Sandbox Code Playgroud)
我是否更正为了得到'星期一'我需要解析字符串?
我有一个short数组,其值介于0和short的最大值之间.我缩放数据(将其显示为TYPE_USHORT),以便生成的短值范围在0到65535之间.我需要打印一些缩放值,但无法弄清楚如何.数据位于数组和BufferedImage中.
我有一个字节数组,大小为n,它实际上代表了一个n/2大小的数组.在将数组写入磁盘文件之前,我需要通过添加存储在另一个short数组中的偏差值来调整值.在C++中,我只是将字节数组的地址分配给一个短数组的指针,其中转换为short并使用指针算法或使用union.
怎么可能用Java完成 - 我对Java BTW很新.
我编写了使用专有SDK压缩和解压缩图像文件的代码,用于通过卫星从飞机传输.不幸的是,必须购买许可证才能进行解压缩和压缩.到目前为止,我的应用程序主要用于内部,因此我可以跟踪许可证和分发.现在我需要为外人提供应用程序,我既不能控制分发也不能支付许可证.
有谁知道免费的解压缩程序,SDK或库?我使用C++编写Windows NT,2000,XP.
我的图像文件是原始数据,单色,具有16位无符号像素,并且使用的压缩是无损或非常轻微的有损.
我在一个库中有一个类,该类具有事件发生时执行的方法“ onMessage”。OnMessage执行时,需要调用主应用程序中一个类的“回调”方法。我以为可以通过构造函数来完成,但是我不知道它是如何实现的。
编辑
在此版本中,当我尝试创建WebsocketService的实例wss时,会在main.dart中收到一条警告。
// in library class - no warnings
Object returnResults;
WebsocketService(Object callback()) {
returnResults = callback;
}
void onMessage(data) {
var json = JSON.decode(data);
var echoFromServer = json['response'];
print("Received message: $echoFromServer");
returnResults(echoFromServer); // declared 'incoming' in main.dart
}
// +++ in main.dart ++++++++
WebsocketService wss;
class TestAsynchWS {
TestAsynchWS() { // *** Dart Editor warning here
// 0 positional arguments expected but 1 found
wss = new WebsocketService(incoming);
}
void incoming(echoFromServer) {
// code
}
Run Code Online (Sandbox Code Playgroud) 我一直在尝试学习足够的html,css和Dart来创建我的第一个网页,一切顺利,除了我不明白如何创建一个简单的页面和服务器端的Web套接字服务器,它只会回显回来了.我发现的示例倾向于说明其他Dart工具,并连接到网络上的echo服务器或做其他使他们的代码对于新手不简单的事情.
我试图将Seth Ladd的例子 "dart-example-web-sockets-client" 简化为"最好"的例子.我可以收到从页面发送的内容,重新打包并认为我将其发送回去,但网页上绝对没有任何反应.我通过单击从Dart编辑器内部运行Web服务器时返回的URL来启动页面.由于页面不是,AFAIK,在调试器中运行,我在诊断错误时受到阻碍.
以下是Seth服务器的简化代码:
void handleEchoWebSocket(WebSocket webSocket) {
log.info('New WebSocket connection');
// Listen for incoming data. We expect the data to be a JSON-encoded String.
webSocket
.map((string) => JSON.decode(string))
.listen((json) {
// The JSON object should contain a 'request' entry.
var request = json['request'];
switch (request) {
case 'search':
var input = json['input'];
log.info("Received request '$request' for '$input'");
var response = {
'response': request,
'input': input,
};
webSocket.add(JSON.encode(response)); // can't detect page receiving …Run Code Online (Sandbox Code Playgroud) 我需要根据 nio ShortBuffer 中的数据创建灰度图像。我有一个函数,可以将 ShortBuffer 中的数据映射到无符号字节,但采用 int 形式(很容易更改)。我发现的方法使用 RGB 加透明度颜色模型,看起来效率很低。我无法了解如何应用 TYPE_BYTE_GRAY 并修改代码。我是 Java 新手。这是我的代码:
public void paintComponent(Graphics g) {
final BufferedImage image;
int[] iArray = {0, 0, 0, 255}; // pixel
image = (BufferedImage) createImage(WIDTH, HEIGHT);
WritableRaster raster = image.getRaster();
sBuf.rewind(); // nio ShortBuffer
for (int row = 0; row < HEIGHT; row++) {
for (int col = 0; col < WIDTH; col++) {
int v = stats.mapPix(sBuf.get()); // map short to byte
iArray[0] = v; // RGBT
iArray[1] = …Run Code Online (Sandbox Code Playgroud) 我有一个自定义按钮类(在线创建,因为这是我第一次尝试在网页上).单击它并直到点击其他内容时,按钮周围会出现灰色边框,可能是一个可能有两个像素厚度的框.当点击其他内容时它会消失(我的自定义按钮有圆角,所以它非常明显.
这不会出现在OS-X上的Safari上,但会出现在Chrome中.使用FireFox,边框厚度为1像素,在我的自定义框中显示一个框.(它不会在IE上运行,因为我们暂时停留在IE8上.)这很烦人.
HTML:
<button class='command-btn' type='button' id='find-camera-btn'>Find Camera</button>
Run Code Online (Sandbox Code Playgroud)
CSS3:
.command-btn {
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
color: blue;
width: 130px;
height: 40px;
float: left;
margin: 6px 0px 5px 10px;
background: -moz-linear-gradient(top, #0aa31b 0%, #d7de16 99%, #ebeb0e);
background: -webkit-gradient(linear, left top, left bottom, from(#0aa31b),
color-stop(0.99, #d7de16), to(#ebeb0e));
-moz-border-radius: 14px;
-webkit-border-radius: 14px;
border-radius: 14px;
border: 1px solid #6d8000;
-moz-box-shadow: 0px 1px 3px rgba(000, 000, 000, 0.5), inset 0px 0px 2px
rgba(255, 255, 255, 1);
-webkit-box-shadow: 0px 1px 3px rgba(000, 000, 000, …Run Code Online (Sandbox Code Playgroud) 我有一些单选按钮; 单击按钮时会执行某些操作.如何实现模拟点击事件的代码并检测"点击"是否是由模拟或用户引起的?
chkBxB12 = querySelector('#B12');
chkBxB12.onClick.listen(chkBxB12Clicked);
void chkBxB12Clicked(Event e) {
// do something
// if mouse click or tap then
// do some-additional-thing
}
foo() {
chkBxB12.click()
{
Run Code Online (Sandbox Code Playgroud)
[编辑]
我修改了JAre的例子以更好地满足我的需求(并减少了8种方法来处理我的四个单选按钮到两个 - 罗伯特的例子让我想起了这个需要).这是修改后的代码,允许确定软件硬件和按钮的标识是否单击(或点击)目标按钮.
import 'dart:html';
void main() {
querySelectorAll('input[type="radio"]').onClick.listen(foo);
foo(new MouseEvent("synthetic")); // parameter is
}
void foo(MouseEvent event) {
if (event.target is Element){
Element target = event.target;
if(target.id == 'radio1')
print('${event.type} target ${target.id}');
else if(target.id == 'radio2')
print('${event.type} target ${target.id}');
}
else {
if(event.type == "synthetic") print(event.type);
else print("It didn't work!"); …Run Code Online (Sandbox Code Playgroud) 我需要迭代我的HTML中的复选框,以便我可以检测已检查/未检查的状态,但无法找到如何执行此操作的示例.我希望它很快,我想到将元素引用存储在索引列表中可能会起作用,但我会以编程方式构建列表.
我是HTML,CSS和Dart的新手.
我的HTML:
<div id="check-boxes">
<input id="B12" type="checkbox" checked="checked">
<label for="B12">B12 </label>
<input id="B10" type="checkbox" checked="checked">
<label for="B10">B10 </label>
<input id="B8" type="checkbox" checked="checked">
<label for="B8">B8 </label>
<input id="BBW" type="checkbox" checked="checked">
<label for="BBW">Wide </label>
<input id="freeze" type="checkbox">
<label id="lblFreeze" for="freeze">Freeze</label>
</div>
Run Code Online (Sandbox Code Playgroud)
(实际上我不想包括最后一个复选框id = freeze.)
经过几年的概念验证后,我又回到了C++.我有一个定义类的hpp文件,一个带有类方法的cpp文件和一个用于测试的main.cpp.我正在尝试创建一个在自己的线程中运行的tcp服务器(仅调用一次).我开始使用相同cpp文件中的所有代码并使其工作但是我现在得到了编译错误,因为我将类和方法放在他们自己的文件中.
我搜索过但没找到任何可行的东西.我尝试过使用extern,'singleton'等方法,这些都会导致各种错误消息.我知道我没有提供正确的方法参考.
tcpserver.hpp:
#ifndef __TCP_SERVER_HPP_INCLUDED__
#define __TCP_SERVER_HPP_INCLUDED__
#include <string>
class Server {
public:
static void *tcp_server(void * dummy);
static void hello();
static int parseCmd(const char *cmd, char *reply);
static int copystring(char *reply, const char *msg);
private:
};
#endif
Run Code Online (Sandbox Code Playgroud)
tcpserver.cpp,将类方法作为存根:
#include <iostream>
#include <cstdlib>
#include <pthread.h>
#include <unistd.h>
#include <cstring> // Needed for memset
#include <sys/socket.h> // Needed for the socket functions
#include <netdb.h> // Needed for the socket functions
#include <string.h>
#include "tcpserver.hpp"
int Server::parseCmd(const char *cmd, char …Run Code Online (Sandbox Code Playgroud)