任何人都可以告诉我如何编写C#可枚举类,以便Excel VBA中的"for each"构造正常工作吗?我尝试了一个名为People的测试类,它实现了IEnumerable并包含一个Person对象数组."foreach"构造在C#中运行良好,但在VBA中我只能循环使用老式的方式.
这个VBA代码工作得很好:
Dim P As Person
Dim PP As New People
For i = 0 To PP.Count - 1
Set P = PP(i)
Debug.Print P.firstName + " " + P.lastName
Next i
Run Code Online (Sandbox Code Playgroud)
但这在运行时失败("对象不支持此属性或方法"):
For Each P In PP
Debug.Print P.firstName + " " + P.lastName
Next P
Run Code Online (Sandbox Code Playgroud)
下面是C#代码(在VS 2008中可见的已编译COM,用于Excel VBA - Office 2010):
using System;
using System.Collections;
using System.Runtime.InteropServices;
public class Person
{
public Person(string fName, string lName)
{
this.firstName = fName;
this.lastName = lName;
}
public string …Run Code Online (Sandbox Code Playgroud) 我有下表,我正在尝试检测其跨度中断的产品.
Product | unit_Cost | price start date | price end date
--------------------------------------------------------------------------
product 1 15.00 01/01/2011 03/31/2011
product 1 15.00 04/01/2011 06/31/2011
product 1 15.00 07/01/2011 09/31/2011
product 1 15.00 10/01/2011 12/31/2011
product 2 10.00 01/01/2011 12/31/2011
product 3 25.00 01/01/2011 06/31/2011
product 3 25.00 10/01/2011 12/31/2011
Run Code Online (Sandbox Code Playgroud)
所以在这里我希望它报告产品3,因为我们错过了跨度
07/01/2011 - 09/31/2011
有关如何做到这一点的任何想法?
编辑:Oracle Ver:10g
Create Table Statement
CREATE TABLE Sandbox.TBL_PRODUCT
(
PRODUCT_ID VARCHAR2(13 BYTE),
PRODUCT VARCHAR2(64 BYTE),
UNIT_COST NUMBER,
PRICE_START_DATE DATE,
PRICE_END_DATE DATE
)
Run Code Online (Sandbox Code Playgroud)
编辑2开始日期和结束日期不能重叠
编辑3只要price_end_date> = price_start_date,跨度可以是任意两个日期.由于产品可以在一天内销售,因此包括在内.
是否有可能在UIView上播放半透明视频(用蓝屏创建)?我想知道,如果MPMoviePlayerViewController不可行,可能是使用OpenGL ES和视频纹理?
先感谢您,
F.
我试图从iPod库中的MP3中提取原始PCM样本,以便我可以播放歌曲并操纵音调,速度和应用声音效果(如滤镜).我已经走了AVPlayer和AVAudioPlayer的路线,它们都不能完全控制播放.
以下代码就我所知.我现在处于一个不知道如何处理我的while循环中的CMSampleBufferRef的地步,因为我不知道使用哪个框架来播放音频并应用这些效果.
知道什么是实现这一目标的最佳方法?我已经查看了使用AVAssetWriter转换文件的情况,但这不会为我删除它,因为该过程太耗时.当然我可以将PCM样本读入内存进行播放,而不必先将它们写入磁盘?
注意:我知道下面的代码引用了项目中的一个mp3,但是我知道这种方法与我从MPMediaPropertyAssetURL中提取NSURL的方法相同
-(IBAction)loadTrack:(id)sender {
NSString *songPath = [[NSBundle mainBundle] pathForResource:@"Smooth_Sub Focus_192" ofType:@"mp3"];
NSURL *assetURL = [[NSURL alloc] initFileURLWithPath:songPath];
AVURLAsset *songAsset = [AVURLAsset URLAssetWithURL:assetURL options:nil];
NSError *assetError = nil;
AVAssetReader *assetReader = [[AVAssetReader assetReaderWithAsset:songAsset
error:&assetError] retain];
if (assetError) {
NSLog (@"Error: %@", assetError);
return;
}
AVAssetReaderOutput *assetReaderOutput = [[AVAssetReaderAudioMixOutput assetReaderAudioMixOutputWithAudioTracks:songAsset.tracks
audioSettings: nil] retain];
if (![assetReader canAddOutput:assetReaderOutput]) {
NSLog (@"Incompatible Asser Reader Output");
return;
}
[assetReader addOutput: assetReaderOutput];
[assetReader startReading];
CMSampleBufferRef nextBuffer;
while (nextBuffer = [assetReaderOutput copyNextSampleBuffer]) {
/* What …Run Code Online (Sandbox Code Playgroud) 我们希望为下一版本的应用程序开发创建一个新的Team Foundation Server Collection.我们当前版本的源代码基本上不适用,除了一些应该或多或少保持不变的DLL.我们想要创建一个新的集合,但想知道我们是否能够从现有集合中克隆DLL项目以保留历史记录.
这可能吗?我们意识到如果DLL需要任何错误修正,这可能会带来一些"双重维护"问题,但我们并不太关心这种情况.
到目前为止,我已经提出了一些资源.一些MSDN帖子指向人们分裂团队项目集.但问题是,每个集合中只能有一个项目.它指出:
项目不能存在于多个集合中.在删除拆分集合之间的所有重复项目之前,您将无法启动重命名的集合.
这不是我们想要的.我们希望在每个集合中保留两个具有历史记录的项目.
否则,我看到了TFSConfig命令.它包含一个/ clone选项,但我不太确定它的用法(其他例子也很难得到),并且它提到它主要用于拆分.
我们是否希望做一些不可能的事情?我们是否需要复制源并将其作为新项目添加到新集合中,如果我们确实需要历史记录,请参考旧集合?谢谢.
我想在HTC Nexus One手机上使用Flash Professional CS5和Adobe AIR 2.5在Android上开发增强现实应用程序.
我发现了几个在线资源,展示了如何使用网络摄像头和Flash开发AR应用程序,我发现跟踪和理解AR的基础非常有用.
例如:
使用网络摄像头和Flash的增强现实
http://www.adobe.com/devnet/flash/articles/augmented_reality.html
我还从gotoandlearn网站上观看了有关AIR for Android Applications的其他视频,我做了所有成功,例如:
但是,我没有设法让它在我的Android手机上运行(什么也不做,运行速度很慢).
我想就以下问题提几点问题:
1)要在android上开发增强现实应用程序,是否使用与上面相同的方法完成?
2)我是否需要使用除视频和adobe air 2.5上显示的软件之外的任何其他软件?
3)您是否知道任何其他相关的资料/阅读材料并可能有所帮助?
谢谢
我已经阅读了一个getopt()示例,但它没有显示如何接受整数作为参数选项,就像cvalue在示例的代码中一样:
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int
main (int argc, char **argv)
{
int aflag = 0;
int bflag = 0;
char *cvalue = NULL;
int index;
int c;
opterr = 0;
while ((c = getopt (argc, argv, "abc:")) != -1)
switch (c)
{
case 'a':
aflag = 1;
break;
case 'b':
bflag = 1;
break;
case 'c':
cvalue = optarg;
break;
case '?':
if (optopt == 'c')
fprintf (stderr, "Option -%c requires …Run Code Online (Sandbox Code Playgroud) 我在SVN服务器上有一个Java项目.我创建了它的全新版本,现在我想"提交",但保留以前的版本在服务器上.我不允许在这个项目上使用分支机构.所以我把新项目的名称改为了projectName_improved.我在服务器上为项目创建了一个新文件夹.现在我想上传projectName_improved到新文件夹.我正在使用eclipse(+ SVN插件).我如何从技术上做到这一点(没有分支)?
编辑:我正在使用的插件是Subclipse.
我需要验证密码.我目前使用:
preg_match("/^[a-z0-9_-]*$/i", $pass).
我想补充一下这个长度.我的mysql表设置如下:userpassword varchar (40) NOT NULL,.所以在6到40个字符之间.我想允许所有没有危险的字符放入我的数据库中.
我需要确定到目前为止PHP函数运行了多长时间.
有哪些选项可以找出一些PHP代码运行多长时间?
我正在使用zend框架.