我正在尝试实现python,如缩进依赖语法.
来源示例:
ABC QWE
CDE EFG
EFG CDE
ABC
QWE ZXC
Run Code Online (Sandbox Code Playgroud)
正如我所看到的,我需要的是实现两个令牌INDENT和DEDENT,所以我可以这样写:
grammar mygrammar;
text: (ID | block)+;
block: INDENT (ID|block)+ DEDENT;
INDENT: ????;
DEDENT: ????;
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法来实现这个使用ANTLR?
(如果可能的话,我更愿意使用标准的ANTLR词法分析器.)
在Delphi XE中,我可以允许我的表单接受文件"拖放"但不必处理裸窗口消息吗?
Qt4,QtCreator
我想在Widget中绘制:
void Widget::on_pushButton_clicked()
{
QPainter painter;
painter.begin(ui->label);
QRectF rectangle(10.0, 20.0, 80.0, 60.0);
int startAngle = 30 * 16;
int spanAngle = 120 * 16;
painter.drawArc(rectangle, startAngle, spanAngle);
painter.end();
}
Run Code Online (Sandbox Code Playgroud)
但是当我按下按钮时没有任何反应.
怎么做正确的方法?
Delphi 2010如何修改TList <record>值?
type TTest = record a,b,c:Integer end;
var List:TList<TTest>;
A:TTest;
P:Pointer;
....
....
List[10] := A; <- OK
List[10].a:=1; <- Here compiler error : Left side cannot be assined to
P:=@List[10]; <- Error: Variable requied
Run Code Online (Sandbox Code Playgroud) 从C#中的字符串中的char位置获取行号的最简单方法是什么?(或获取行的位置(第一个字符串))是否有内置函数?如果没有这样的功能,那么编写扩展名的好方法就像:
public static class StringExt {
public static int LineFromPos(this String S, int Pos) {
int Res = 1;
for (int i = 0; i <= Pos - 1; i++)
if (S[i] == '\n') Res++;
return Res;
}
public static int PosFromLine(this String S, int Pos) { .... }
}
Run Code Online (Sandbox Code Playgroud)
?
编辑:添加方法PosFromLine
有什么简单的功能吗?我正在寻找类似的东西
播放(@data,44000,100 {时间});
如何在Delphi(Delphi 200X,Delphi XE)中实现并行循环?怎么做这个最好的方法?有没有通用的解决方案?
请举例说明.
检查是否IEnumerable<T1>协变的常见规则是什么IEnumerable<T2>?
我做了一些实验:
1.
Object Obj = "Test string";
IEnumerable<Object> Objs = new String[100];
Run Code Online (Sandbox Code Playgroud)
因为IEnumerable<out T>协变和String继承而起作用Object.
2.
interface MyInterface{}
struct MyStruct:MyInterface{}
.....
Object V = new MyStruct();
Console.WriteLine(new MyStruct() is Object); // Output: True.
IEnumerable<Object> Vs = new MyStruct[100]; // Compilation error here
Run Code Online (Sandbox Code Playgroud)
MyStruct实际上是一个Object,但它不起作用,因为Object是引用类型,MyStruct是值类型.好的,我在这看到一些逻辑.
3.
Console.WriteLine(new MyStruct() is ValueType); // Output: "True"
ValueType V2 = new MyStruct();
IEnumerable<ValueType> Vs2 = new MyStruct[100]; // Compilation …Run Code Online (Sandbox Code Playgroud) Delphi 2010
当使用readLn过程从文件读取时,默认情况下我从代码页1251(windows的代码页)转换unicode字符串.
如何在1252或UTF16中更改此内容并从其他代码页中的文件中读取?
delphi ×5
c# ×2
delphi-xe ×2
antlr ×1
audio ×1
codepages ×1
covariance ×1
generics ×1
graphics ×1
ienumerable ×1
indentation ×1
lexer ×1
multimedia ×1
qt ×1
qt-creator ×1
qt4 ×1
string ×1
text-files ×1
tortoisegit ×1