我正在为Delphi中的未读消息检查器应用程序做一些有趣的事情.我正在使用Indy 10.我可以连接Gmail并可以检索所有消息,但我在这里遇到问题:我无法判断消息是否已被读取.TidMessage组件中有一个标志属性,它应该告诉我消息是否已被读取.代码如下所示:
procedure TForm1.btTestConnectionClick(Sender: TObject);
var
i: Integer;
count: Integer;
flag: TIdMessageFlags;
begin
if (pop3Test.Connected) then begin
pop3Test.Disconnect;
end;
pop3Test.Username := edAccount.Text;
pop3Test.Password := edPassword.Text;
pop3Test.Host := HOST;
pop3Test.AuthType := patUserPass;
pop3Test.Port := PORT;
pop3Test.Connect;
Count := 0;
for i := pop3Test.CheckMessages downto 1 do begin
pop3Test.Retrieve(i, IdMessage1);
if (mfSeen in IdMessage1.Flags) then begin
Count := Count + 1;
end;
end;
ShowMessage(IntToStr(Count));
pop3Test.Disconnect;
end;
Run Code Online (Sandbox Code Playgroud)
在测试邮箱中有一条未读消息,但所有检索到的消息都将标志枚举属性设置为空,因此结果始终为0.我做错了什么?这是Indy/Gmail兼容性的问题吗?
谢谢.
编辑:我肯定做错了,因为使用Hotmail帐户进行测试会显示相同的空标题属性问题.
我正在运行以下代码:
Criteria crit = dao.getSesion().createCriteria(TAmbitos.class);
crit.add( Restrictions.sqlRestriction("translate(upper(nombre), 'ÁÉÍÓÚ', 'AEIOU') like translate(upper(?),'ÁÉÍÓÚ', 'AEIOU')",
param+"%", Hibernate.STRING));
crit.add(Restrictions.eq("tipoAmbito", "Empresa"));
crit.setFetchMode("TAmbitosByPais", FetchMode.JOIN);
crit.createAlias("TAmbitosByPais", "TAmbitosByPais", CriteriaSpecification.LEFT_JOIN);
crit.add(Restrictions.eq("TAmbitosByPais", ambito));
Run Code Online (Sandbox Code Playgroud)
这导致ORA-00918: column ambiguously defined异常.该条件有一个表TAmbitos引用自身TAmbitosByPais(任何给定的TAmbitos行都有一个TAmbitosByIdPais引用另一个的字段TAmbitos).生成的SQL是:
SELECT this_.id_ambito AS id1_2_1_, this_.depende_empresa AS depende2_2_1_,
this_.id_zona AS id3_2_1_, this_.pais AS pais2_1_,
this_.id_cls_soc AS id5_2_1_, this_.tipo_ambito AS tipo6_2_1_,
this_.nombre AS nombre2_1_, this_.clave_antigua AS clave8_2_1_,
this_.desactivado AS desactiv9_2_1_,
tambitosby1_.id_ambito AS id1_2_0_,
tambitosby1_.depende_empresa AS depende2_2_0_,
tambitosby1_.id_zona AS id3_2_0_, tambitosby1_.pais AS pais2_0_,
tambitosby1_.id_cls_soc …Run Code Online (Sandbox Code Playgroud) 我只是为了一个有趣的虚拟桌面与朋友一起玩Magic The Gathering.我正在使用Delphi 2010.这些卡在应用程序中由TImage组件表示(加载从数据库加载的卡的PNG文件).这里的要点是,在MTG中,一个非常常见的事情是点击一张卡片(向右旋转90度).有一个简单的方法可以做到这一点?我真的不需要"动画",只需点击一次旋转的卡片(虽然动画会很好).游戏应该与许多卡同时工作,它们可以移动到表单中的任何位置.我正在考虑在数据库中轻拍和未打开卡片的图像,但如果有一种漂亮而有效的方式来旋转卡片,这可能是一种过度杀伤力.
有任何想法吗?
我使用以下代码来创建文件夹但它不创建它(输出失败)并且不会抛出任何异常.
文件夹java已经创建,我需要传递文件夹名称并在java文件夹中创建它.
private String CreateFolder(String myfolder) {
try {
String dir = "../Java/" + myfolder;
boolean result = false;
File directory = new File(dir);
if (!directory.exists()) {
result = directory.mkdir();
if (result) {
System.out.println("Folder is created");
return dir;
} else {
return "failed";
}
}
}catch(Exception e) {
e.printStackTrace();
}
return "";
}
Run Code Online (Sandbox Code Playgroud) 我还在学习Java,并希望得到一些当前问题的帮助:我试图从main()方法调用这个静态方法,但是我尝试的所有内容都会出现错误消息.谢谢你的帮助.
这是我的代码:
public class Statistics {
static double avgFor(List<Integer> list) {
list.add(10);
list.add(20);
list.add(30);
list.add(40);
list.add(50);
list.add(60);
int max = list.get(0);
for (int i : list) {
max = max < i ? max : i;
}
return max;
}
public static void main(String[] args) {
avgFor();
}
}
Run Code Online (Sandbox Code Playgroud)