我们都看到过单词的电话号码:1-800-BUY-MORE等.
您可以编写的最短代码是什么,它将为7位美国电话号码生成所有可能的单词组合.
输入将是一个七位整数(或字符串,如果这更简单),并假设输入正确形成.
输出将是七个字符的字符串列表
例如,数字428-5246将产生
GATJAGM
GATJAGN
GATJAGO
GATJAHM
GATJAHN
GATJAGO
GATJAIM
GATJAIN
GATJAIO等.....
获胜标准将是来自任何语言的代码,其中最少的字符产生每个可能的字母组合.
补充说明:
将输出识别为真实英语单词的奖励积分.好的,不是真的.;-)
补充:好的,让我们一起使用"Nick's Modified North American Classic Key Pad",它在6键上有一个'O'(哦,不是零).
我是 Node.js 的新手,正在尝试使用 TypeScript 构建一个 node/express/mongoose 服务器应用程序。
这是我的 app.ts 文件:
// lib/app.ts
import express from 'express';
import * as bodyParser from 'body-parser';
import { Routes } from './routes/crmRoutes';
import * as mongoose from "mongoose";
class App {
public app: express.Application;
public routePrv: Routes = new Routes();
public mongoUrl: string = 'mongodb://localhost/TodosDB';
constructor() {
this.app = express();
this.config();
this.routePrv.routes(this.app);
this.mongoSetup();
}
private mongoSetup(): void {
mongoose.connect(this.mongoUrl, {
useNewUrlParser: true,
useUnifiedTopology: true
});
}
private config(): void {
// support application/json type …Run Code Online (Sandbox Code Playgroud) 我希望以下代码可以工作:
program Project3;
{$APPTYPE CONSOLE}
{$R *.res}
uses
System.SysUtils;
var
FS: TFormatSettings;
const
DF = 'yyyymmdd';
begin
try
WriteLn(FormatDateTime(DF, Now));
FS := TFormatSettings.Create;
FS.ShortDateFormat := DF;
WriteLn(StrToDate('20121219', FS));
ReadLn;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.
Run Code Online (Sandbox Code Playgroud)
为什么会抛出异常,说"20121219"不是有效日期?这不正是通过TFormatSettings应该做的事情吗?
我正在为"Text Scrubber"实用程序编写单元测试,该实用程序将从剪贴板上的文本中删除任何格式等.
例如,如果您从Word文档或具有大量格式的网页复制某些文本,您可能希望将其粘贴到另一个Word DOC中作为普通的普通旧文本.
要为此编写单元测试,我当然需要编写实际将一些格式化文本放入剪贴板的代码.
所以我的问题是 - 我如何在Delphi代码中做到这一点?
我们在Mercurial中有2,000,000行代码应用程序.显然,这个存储库中有很多有价值的信息.
是否有任何工具或技术可以挖掘出一些信息?
例如,在项目的历史中,五个文件发生了哪些变化?五个档案与一年前最不同的是什么?任何特定的代码行看到了很多流失?
我对这类事情感兴趣.
有没有办法从我们的存储库中提取这种信息?
我需要填写(黑色)我在下面的图片中突出显示的小白方块.
我试过添加额外的列.我试过扩展PaintInfo.PaintRectangle.我已经尝试了我能想到的Amount列上的每个设置.我没有想法.
任何人对如何做到这一点都有任何想法?
以下是执行自定义标题绘制的代码.(原谅with声明,不是我原来的代码....)
procedure TWinPOSReceiptPluginForm.ReceiptDisplayTreeAdvancedHeaderDraw(Sender: TVTHeader; var PaintInfo: THeaderPaintInfo;
const Elements: THeaderPaintElements);
var
TempText: string;
begin
with PaintInfo do
begin
// First check the column member. If it is NoColumn then it's about the header background.
if (hpeBackground in Elements) and (Column <> nil) then begin
TempText := Column.Text;
TargetCanvas.Brush.Color := $444444;
TargetCanvas.FillRect(PaintRectangle);
TargetCanvas.Font.Color := clWhite;
TargetCanvas.Font.Style := [];
TargetCanvas.TextOut (PaintRectangle.Left + 3, PaintRectangle.Top + 3, TempText);
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用Jenkins来编译使用Delphi创建的MSBuild项目.我有安装到Jenkins并配置的MSBuild插件.我正在为我的构建作业选择特定的配置.
我已经在Jenkins编译器所需的Jenkins中设置了所有环境变量(对于Delphi类型,来自rsvars.bat).
该项目在命令行上编译得很好.如果我在命令行上执行此操作,MSBuild将报告一个很好的大胖PATH(正确的)作为它用于调用Delphi编译器的命令行的一部分.
但是,当我尝试将它与Jenkins一起使用时,结果却截然不同:
C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\bin\dcc32.exe -$D- -$L- -$Y- --no-config -B -Q -AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DRELEASE -K00400000 HTMLWriterTestApp.dpr
Embarcadero Delphi for Win32 compiler version 22.0
Copyright (c) 1983,2010 Embarcadero Technologies, Inc.
Run Code Online (Sandbox Code Playgroud)
Noet完全没有路径,或者任何其他信息都是为了找到编译器需要的东西.当我从命令行运行时,此信息就在那里.
任何人都可以想到为什么Jenkins无法获得正确的PATH信息?
好的 - 我们有一个有趣的问题.
一些背景:
我们的主要应用程序使用Indy 10.但是,我们使用Indy 10源代码并修复其中的错误,重新编译并安装我们自己的Indy组件集.
我们正在迁移到Delphi XE并希望开始使用DataSnap.
DataSnap需要Indy的"官方发货"版本,这与我们定制的Indy版本不兼容.
我们的DataSnap服务器将是独立的应用程序,但由于我们在IDE中安装了自己的Indy,因此我们无法"跨越流".
好的,因为这个兼容性问题,我们无法开箱即用Delphi XE的DataSnap.
所以我的问题是:
是否可以使用新的/不同版本的Indy在Delphi XE中重新编译DataSnap包?
感谢你的想法.
我收到以下错误:
lib/app.ts:1:8 - error TS1259: Module '"mongoose-sequence"' can only be default-imported using the 'esModuleInterop' flag
Run Code Online (Sandbox Code Playgroud)
在以下代码行中:
import _ from 'mongoose-sequence';
Run Code Online (Sandbox Code Playgroud)
现在,我很高兴地承认我遗漏了整个“下划线作为函数名称”的内容,但该错误没有任何意义,因为该esModuleInterop标志true在我的 ts.config 文件中绝对肯定地设置为。
我正在尝试导入:
declare module 'mongoose-sequence' {
import mongoose = require('mongoose');
var _: (schema: mongoose.Schema, options?: Object) => void;
export = _;
Run Code Online (Sandbox Code Playgroud)
来自猫鼬序列绝对类型定义。
我错过了什么?
变种总是很有趣,是吗?
我正在研究D2007中最后一个将其迁移到Delphi XE的遗留应用程序.
在过渡期间,变体已经发生了很大的变化.
这行代码:
if (VarType(Value) = varString) and (Value = '') then
Exit;
Run Code Online (Sandbox Code Playgroud)
在D2007中返回True并退出,但在Delphi XE中没有.
我把它改成了这个:
if VarIsStr(Value) and (VarToStr(Value) = '') then
Exit;
Run Code Online (Sandbox Code Playgroud)
我不相信这是"最好的"方式.Variants单元没有特定的调用来执行此操作,我当然记得这对于过去的人来说是一个问题.但是,搜索显示没有库函数或任何其他可接受的方式.
有"正确"或更好的方式吗?