我使用RADPHP XE2(来自Borland/Embarcadero)作为我的IDE.只是因为我多年来一直使用他们的IDE.我并不是在使用任何VCL组件,因为这是一个愚蠢的网页设计概念.
我想升级它正在使用的PHP.我在IDE之外安装了最新的PHP并运行.但IDE仍然使用5.2.是否有可能哄它使用新的?任何人的想法?
是否可以在Delphi XE2中配置Multicolor Multiline TMemo?.
当我写代码时:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
FirstVariable, SecondVariable, ThirdVariable :BOOL;
begin
if FirstVariable then
begin
Memo1.Font.Color := clGreen;
Memo1.Lines.Add('FirstVariable = True');
end
else if SecondVariable then
begin
Memo1.Font.Color := clBlue;
Memo1.Lines.Add('SecondVariable = True');
end
else
begin
Memo1.Font.Color := clRed;
Memo1.Lines.Add('ThirdVariable = True');
end;
end;
Run Code Online (Sandbox Code Playgroud)
所有先前存在的行的字体颜色将根据变量的条件进行更改.
我一直在尝试通过LAN调试这个ASP.NET云项目,因为我们需要它来进行工作测试.我已经对这个问题进行了大量的研究,但我根本无法让它按预期工作.我想我已经把问题缩小到了这个问题,该项目是一个云服务项目.
如果我创建一个新的ASP.NET MVC项目,没有云服务,它在编辑项目绑定时工作得很好,当然还有关闭防火墙.如果我然后执行相同的过程,但是使用云服务项目,使用asp.net mvc作为Web角色,当尝试通过LAN访问它时,我得到"连接被拒绝".
有没有人知道发生了什么和/或如何解决它?
绑定:
<bindings>
<binding protocol="http" bindingInformation="*:5807:localhost" />
<binding protocol="http" bindingInformation="*:5807:*" />
</bindings>
Run Code Online (Sandbox Code Playgroud) 我使用Delphi很多年了,虽然我现在已经转移到Visual Studio,但我仍然记得编号书签(CTRL+ K+ 1来设置书签1,CTRL+ Q+ 1来转到书签1).
是否有Visual Studio等价物?在Delphi之后,我发现VS中的蠢书是一件苦差事.我想书签然后返回到文件中的特定位置.
我在TClientDataSet没有提供者概念的情况下使用a 作为本地数据集.在使用它之后,调用一个方法,该方法应该生成相应的SQL语句,使用它StatusFilter来解析更改(基本上生成SQL).
在阅读文档(设置StatusFilter to [dsInsert],处理所有插入SQL,设置StatusFilter to [dsModified]进程所有更新,删除相同)后,这看起来很容易,但经过几次测试后,现在看起来远非琐碎,例如:
如果我添加一条记录,则进行编辑:设置StatusFilter to [dsInserted]显示它,但使用原始数据.
如果我添加一条记录,然后编辑,然后将其删除:该记录StatusFilter set to [dsInserted] and [dsModified]也随之出现.
和其他类似的情况..
1)我知道如果我首先处理所有插入,那么所有更新然后所有删除数据库都将以正确的状态更新,但它看起来很不正确这种方法(生成无用的sql语句).
2)我试图访问PRecInfo(ClientDataSet.ActiveBuffer + ClientDataSet.RecordSize).Attribute信息(dsRecNew,dsRecOrg等),但仍无法解决逻辑问题.
3)我可以对逻辑进行编程以解决它,例如在处理和插入,设置StatusFilter to [dsDeleted]和定位之前,如果记录要查看其后是否删除了...与编辑相同,在插入之前,检查记录是否是更新之后所以在更新版本中插入sql等等..但它应该更容易..
¿有人试图以优雅和直接的方式解决这个问题吗?我错过了什么?谢谢
创建一个表单并放置一个TValueListEditor.将doColumnTitlesdisplay选项设置为False.尝试删除第一行.你会收到一个'Grid Index out of Bounds'错误.这是一头丑陋的猪,所以我在这里问一下,除了块之外是否只是尝试处理它的唯一方法?
背景:
行继承自TCustomGridvia TCustomDrawGrid(第493行VCL.grids.pas)属性getter是私有变量FCurrent.Y,其类型是来自两个值记录的值/字段.我无法找到FCurrent默认值设置的位置(因此整数默认为0).如果TValueListEditor只有一行和/或没有选择行,则不清楚存在什么值.
在任何情况下,我得到一个网格索引超出范围错误 - 可能是从 - 提出TCustomGrid- 但只有当只有一行和/或我尝试在TValueListEditorwith 的第一行删除doColumnTitles := false.删除其他行很好.无论这是否是一个错误,它似乎有些愚蠢和不一致.
TValueList编辑器构造函数是否有继承的原因RowCount := 2;?
根据以下内容引发错误TValueListEditor.DeleteRow:
try
if (Strings.Count = 0) or
(ARow < 1) or (ARow > RowCount - FixedRows) then
{$IF DEFINED(CLR)}
raise EInvalidGridOperation.CreateRes(SIndexOutOfRange);
{$ELSE}
raise EInvalidGridOperation.CreateRes(@SIndexOutOfRange);
{$ENDIF}
Strings.Delete(ARow - FixedRows);
finally
FDeleting := False;
end;
Run Code Online (Sandbox Code Playgroud)
(参见VCL.Valedit.pas,804) …
我编写了以下程序来计算Java中字符串的SHA-256哈希值:
public class ToHash {
public static void main(String[] args) {
byte[] data = "test".getBytes("UTF8");
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(data);
System.out.println(new BASE64Encoder().encode(hash));
}
}
Run Code Online (Sandbox Code Playgroud)
嗯,这很好.在下一步中,我想以接受文件并计算其哈希值的方式开发它.我的解决方案是在字符串数组中读取整个文件,并在该字符串数组上调用该digest()方法.但是有两个问题:
我不知道如何将整个文件读入数组?目前我认为我必须逐行阅读并附加一个带有新行的数组!
以上方法需要大量文件的大量内存!
这是我当前读取文件的程序:
public class ToHash {
public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException, FileNotFoundException, IOException {
// TODO code application logic here
// The name of the file to open.
String fileName = "C:\\Users\\ghasemi\\Desktop\\1.png";
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader(fileName));
while …Run Code Online (Sandbox Code Playgroud) 粗细 > 1 的线条在 Windows 和 Android 上的绘制方式似乎有所不同。我使用的是德尔福11.0。创建一个空白的多平台应用程序并在 FormPaint 事件中添加以下内容。
procedure TMainForm.FormPaint(Sender: TObject; Canvas: TCanvas;
const ARect: TRectF);
begin
Canvas.Stroke.Thickness := 20;
Canvas.Stroke.Cap := TStrokeCap.Round;
Canvas.Stroke.Color := TAlphaColorRec.Red;
Canvas.Stroke.Kind := TBrushKind.Solid;
Canvas.DrawLine(PointF(20,20), PointF(70,70), 1);
Canvas.DrawLine(PointF(70,70), PointF(130,70), 1);
end;
Run Code Online (Sandbox Code Playgroud)
这导致以下结果。在 TImage 上绘图时也会发生同样的情况。
在 Windows 中,线条的端点似乎位于线帽的中心,而在 Android 上,它们位于线帽的末端。我正在运行 Android 8.0.0 的华为 P10 上进行测试。我目前无法在更新的 Android 版本上进行测试。谷歌搜索似乎没有给出关于这个问题的任何结果。如果有人有关于此问题的任何信息以及可以采取什么措施,我将不胜感激?如果有人可以在更新的 Android 版本上对此进行测试,我们也将不胜感激。我当然可以为 Android 添加特殊代码,将线条端点延长一半的线条粗细,但如果可能的话,我想避免这种情况。
Android 文档似乎暗示它不应该有这样的行为。 https://developer.android.com/reference/android/graphics/Paint.Cap
Windows 和 Android 之间的主要区别在于它们使用不同的 TCanvas 实现。Windows 使用 TCanvasD2D,而 Android 使用 TCanvasGpu。查看Delphi代码。我想知道 FMX.StrokeBuilder.pas 中的以下代码是否导致了该问题。此代码从 FMX.Canvas.GPU.pas 运行,即使使用 TStrokeDash.Solid 也是如此。我不明白为什么它会这样抵消末端。
procedure TStrokeBuilder.InsertDash(SrcPos, DestPos: …Run Code Online (Sandbox Code Playgroud) 我正在使用mysql(5.0.32-Debian_7etch6-log),我有一个夜间运行的批量加载php(5.2.6)脚本(通过PDO 使用Zend_DB(1.5.1)),它执行以下操作:
这个工作好几周了.现在我偶尔得到这个,在整个批量加载过程中的某个地方:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '911' for key 1
请注意,这不是截断前已经在表中的第一个id.当我再次手动启动脚本时,它就像一个魅力.
有任何想法吗?剩下的索引,可能与重命名有关吗?
另外,当我在表格中检查后面带有id 911的条目时,它甚至不在那里.
在Eclipse中,当你按下Ctrl+ 时,有一个很好的功能,即删除单词直到下一个大写字母Backspace.例如:
ThisIsSomeText
如果按Ctrl+ Backspace,则只删除"文本",而在VS中,所有"ThisIsSomeText"都将被删除.
无论如何在VIM中实现相同的功能吗?
如果是,是否有类似的方法Ctrl- Del也?那样,按Ctrl- Del在上一个例子的开头只会删除"This",而不是所有的"ThisIsSomeText".
delphi ×5
php ×2
.net ×1
arrays ×1
asp.net ×1
delphi-2010 ×1
delphi-xe6 ×1
file-io ×1
firemonkey ×1
hash ×1
ide ×1
iis ×1
iis-express ×1
java ×1
mysql ×1
radphp ×1
rename ×1
truncate ×1
vim ×1