我正在设置一个网站(我正在使用DJango)开始销售我制作的一些玩具,并且需要一种计算我的客户的运费的方法.
是否有任何(最好是免费的)运输计算器接受客户地址并返回不同交付公司/交付选项的成本?
如果API可以指示成本与交付时间,那将是很好的.
如果有所作为,我们将在全球范围内发货?
我该如何转换:
(1, 315.0, 2, 30.399999618530273, 3, 1.1033999919891357, 4, 8.0)
Run Code Online (Sandbox Code Playgroud)
进入这个:
((1, 315.0), (2, 30.399999618530273), (3, 1.1033999919891357), (4, 8.0))
Run Code Online (Sandbox Code Playgroud)
是否有一种简单的方法可以在没有循环的情况下完成它?
我正在尝试保护一些多线程代码,并且我正在添加单元测试以证明我已经修复了我们之前看到的腐败.
尽管我遇到了一些意想不到的行为.当文档表明TryEnter只有在函数实现独占锁定时才返回true时,为什么以下代码成功?
const int msToWaitForLock = 1;
Object^ syncObj = gcnew Object();
bool gotLock = Threading::Monitor::TryEnter(syncObj, msToWaitForLock); // <-- this succeeds as expected
bool gotSecondLock = Threading::Monitor::TryEnter(syncObj, msToWaitForLock); // <-- but why the heck does this succeed?!
Run Code Online (Sandbox Code Playgroud) 我有一些代码将各种元素组合到缓冲区中.我的代码看起来像这样:
static void CreatePacket(const std::string& source, const std::string id, const std::string payload, std::vector<char>& buffer)
{
buffer.resize(source.size() + id.size() + payload.size());
std::vector<char>::iterator bufferDest = buffer.begin();
// Start the message
char MessageStart = '$';
*bufferDest = MessageStart;
++bufferDest;
// Copy the message source
std::copy(source.begin(), source.end(), bufferDest);
bufferDest += source.size();
// Copy the message id
std::copy(id.begin(), id.end(), bufferDest);
bufferDest += id.size();
}
Run Code Online (Sandbox Code Playgroud)
该方法调用如下:
std::vector<char> buffer;
std::string source = "AB";
std::string id = "CDE";
std::string payload = "payload";
CreatePacket(source, id, payload, buffer);
Run Code Online (Sandbox Code Playgroud)
在std …
我有一个小的Win32控制台应用程序,它本质上是一个测试工具.我读取数据,对其进行一些处理,目前只是将一些数字输出到控制台.这不是一个大问题 - 我可以了解数据的样子,但分析是否有一种方法可以将信息转换为每次运行软件的图形,这样会更容易.
我最近一直在处理GNUPlot,但无法找到一种简单的方法来获取发送给它的数据.有没人试过这个?..或者我应该尝试另一个图形应用程序吗?
Excel和OO Calc是很棒的工具,我已经将.csv数据加载到它们中,以便自己多次绘制数据.但是,我希望有一种方法可以动态地将数据传输到图形应用程序中,以避免每次我想要查看某些数据时关闭/重新打开excel并绘制图形.
我认为你可以将数据传输到GNUPlot(这就是为什么我提到它),但是如何这样做的细节相当少.
使用C++和.net我想要显示一个数据流作为滚动图像.每次我得到一些新数据时,我想将其添加为新行(128x1像素)并将之前的内容滚动到一侧.
我对这个问题的第一次尝试涉及每次获得新行时渲染整个数据集.这有效,但速度太慢,所以我认为写入某种缓冲区可能更有意义(可能是位图?).问题是我无法看到我能做到这一点; Graphic对象允许你画得很开心,但我看不出一种明显的方法告诉我的控件使用一个Bitmap对象作为它的缓冲区?同样,我看不到一种绘制位图的方法,然后我可以将其写入屏幕.
这一定是可能的,但到目前为止我的google-foo已经失败了......
[编辑1]为了澄清,数据是一个频谱图.下图显示了我试图实现的那种事情:
我正在绘制的数据来自浮点数组.没有什么可以限制我会得到多少,所以我只想忘记数据,因为它从情节的一侧掉落.
我目前正在从a继承System::Windows::Forms::UserControl,但如果有更好的替代品,可以切换到别的东西吗?
我有一个C++/CLI System::Windows::Forms::UserControl派生控件,它只能在新数据输入时自己重绘(一小部分).但是出于某种原因,即使没有任何东西可以在应用程序外部引起它,也会调用OnPaint机制.
这是一个片段:
void Spectrogram::OnPaint(System::Windows::Forms::PaintEventArgs ^e)
{
// Overidden to stop the background being painted(?)
}
void Spectrogram::AddNewFFTData( float* data, int fataWidth )
{
Graphics^ gfx = CreateGraphics();
//now do some drawing
gfx->Dispose();
}
Run Code Online (Sandbox Code Playgroud)
所以我调用add data方法添加一些新数据,这些数据理论上应该写入前一个条目(清除一些突出显示)并写入新条目.
在那天我曾经开发过MFC/OpenGL应用程序,我要做的第一件事就是覆盖这个OnEraseBackground方法.据我所知,没有明显的方法可以阻止它被删除.我错过了什么?
我有一个控件库,我已将 .resx 文件添加到其中(ImageResources.resx)。它包含两个我随后添加的 .png 图像。
在同一个库中,我有一个控件,可以加载几个图像来进行一些自定义绘图,但我似乎无法加载资源:
void GTableLayoutPanel::SetBorderImagesFromManifest(String^ topLeftCornerImageName, String^ topImageName)
{
// Grab the assembly this is being called from
Assembly^ assembly = Assembly::GetExecutingAssembly();
// Grab the images from the assembly
Stream^ stream = assembly->GetManifestResourceStream(topLeftCornerImageName);
Image^ topLeftImage = System::Drawing::Image::FromStream(stream);
stream = assembly->GetManifestResourceStream(topImageName);
Image^ topImage = System::Drawing::Image::FromStream(stream);
// Update the internal store from the supplied images
SetBorderImages(topLeftImage, topImage);
}
Run Code Online (Sandbox Code Playgroud)
...给我错误抱怨为stream空,这表明我的呼叫GetManifestResourceStream失败。
图像被调用group_box_top.png,group_box_top_left.png并且我调用图像加载器,如下所示:
SetBorderImagesFromManifest("group_box_top_left.png", "group_box_top.png");
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
SetBorderImagesFromManifest("group_box_top_left", "group_box_top");
Run Code Online (Sandbox Code Playgroud)
...因为文件出现在 .resx 文件中,没有 .png 扩展名,但这会产生相同的错误。
我在这里错过了一步吗? …
例如,我想做以下事情:
namespace Test
{
static bool PerformTest()
{
bool result = false;
// Todo: do something
return result;
}
}
Run Code Online (Sandbox Code Playgroud)
..然后从另一个模块调用该函数:
Test::PerformTest();
Run Code Online (Sandbox Code Playgroud)
..我收到一条错误消息,指出 PerformTest 不是命名空间的一部分。如果它是一个类,我会将其归结为缺少“公共”语句,但据我所知,您只能将 ref 类和结构公开?