谷歌一直在开发这个伟大的开源OCR组件:http: //code.google.com/p/tesseract-ocr/
他们在2010年10月初推出了新版本(版本3).
但是这个新版本不再有一个可用的C包装器,并且Delphi社区中的某个人可以从Delphi内部开始工作 - 我正在尝试这样做,因为我非常需要它而没有其他人匆忙要做到这一点,但我不知道我在做DLL和将C转换为Delphi时正在做什么.那是我可以使用你的帮助的地方.
我所接受的线索是,我需要Dependency Walker以某种方式防止"名称错误"(不知道这意味着什么).实际的DLL API方法在C文件中 - 可能是您在Dependency-Walker中看到的DLL函数名称将匹配API文件中的函数.
以下是您需要提供帮助的所有内容:您需要一个包含tessdll.dll的文件夹,并且leptonlib.dll只需要在那里.你需要一个名为'tessdata'的子文件夹,在文件夹里面将是你的'语言数据文件' - [查看网站上的下载页面]
这是Windows安装程序,因此您可以看到DLL正在运行:[查看网站上的下载页面]
为了使这适用于Delphi,您将可执行文件放在与DLL相同的文件夹中.然后,您需要知道在DLL中调用什么,为此您可以查看C源文件:[检查网站上下载页面上的源文件]
谢谢你的帮助.
像其他几个人一样,我在序列化Entity Framework对象时遇到问题,因此我可以通过AJAX以JSON格式发送数据.
我有以下服务器端方法,我试图通过jQuery使用AJAX调用
[WebMethod]
public static IEnumerable<Message> GetAllMessages(int officerId)
{
SIBSv2Entities db = new SIBSv2Entities();
return (from m in db.MessageRecipients
where m.OfficerId == officerId
select m.Message).AsEnumerable<Message>();
}
Run Code Online (Sandbox Code Playgroud)
通过AJAX调用此结果会导致此错误:
A circular reference was detected while serializing an object of type \u0027System.Data.Metadata.Edm.AssociationType
Run Code Online (Sandbox Code Playgroud)
这是因为实体框架创建循环引用以保持所有对象相关且可访问服务器端的方式.
我从(http://hellowebapps.com/2010-09-26/producing-json-from-entity-framework-4-0-generated-classes/)中找到了以下代码,声称通过封顶解决了这个问题参考的最大深度.我已经添加了下面的代码,因为我必须稍微调整它以使其工作(网站上的代码中缺少所有有角度的括号)
using System.Web.Script.Serialization;
using System.Collections.Generic;
using System.Collections;
using System.Linq;
using System;
public class EFObjectConverter : JavaScriptConverter
{
private int _currentDepth = 1;
private readonly int _maxDepth = 2;
private readonly List<int> _processedObjects = new List<int>();
private …Run Code Online (Sandbox Code Playgroud) 伙计们,是否可以增加<div>放置在<body>?内的元素上滚动条的宽度?
我不是在讨论浏览器本身的默认滚动条,这个页面以全屏模式运行,因为浏览器滚动条永远不会出现,内部<div>元素有自己的滚动条.
如何将带空格的路径传递给CreateProcess()函数?
以下作品
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
if( !CreateProcess(_T("c:\\installer\\ew3d.exe"), // No module name (use command line)
_T("c:\\installer\\ew3d.exe /qr"),//argv[1], // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure …Run Code Online (Sandbox Code Playgroud) 我有这个代码来自我的教授,它是关于找到丰富和有缺陷的数字.如果除x本身之外的所有整数除数之和小于x,则数字x有效.如果它大于x,那么它是丰富的.没有编译错误,似乎一切都很好,但它只是没有打印任何东西,它没有得到任何结果.为什么?怎么了?
#include <stdio.h>
int main(void)
{
int x=1,y=1;
int sum=0;
while(x<100)
{
while(y<x)
{
if(x%y==0) {
sum=sum+y;
y++;
}
}
x++;
sum=0;
y=1;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果你能在这里帮助我,我将非常感激,提前谢谢.
许多示例演示了嵌套在音频标记中的多个源标记,作为克服不同浏览器之间编解码器兼容性的方法.像这样的东西 -
<audio controls="controls">
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
Your browser does not support the audio element.
</audio>
Run Code Online (Sandbox Code Playgroud)
使用JavaScript时,我也可以创建像这样的音频元素 -
var new_audio = document.createElement("audio");
Run Code Online (Sandbox Code Playgroud)
我可以在哪里设置其来源.src-new_audio.src="....";
我没能找到如何通过JavaScript在音频元素中添加多个源,类似于HTML片段中显示的源标签.
我是否操纵new_audio并在其中添加<source...标签,就像操纵任何其他DOM元素一样?我现在正在这样做,它的工作原理是 -
new_audio.innerHTML = "<source src='audio/song.ogg' type='audio/ogg' />";
new_audio.play();
Run Code Online (Sandbox Code Playgroud)
我想知道是否有更合适的方法呢?
我在Eclipse中有几个启动配置,每个启动相同的Java程序但具有不同的参数.
现在可以一次运行所有这些(只需点击一下鼠标),而不是单独选择它们并启动它吗?
如何读取两个页面字段值的值并将其存储到INI文件中?我使用ISTool在INI部分创建了两个密钥对.现在我如何将其链接起来?
INI部分如下所示:
[INI]
Filename: {app}\prefs.ini; Section: AUTH; Key: USERNAME; String:
Filename: {app}\prefs.ini; Section: AUTH; Key: PASSWORD; String:
Run Code Online (Sandbox Code Playgroud)
页面是这样创建的:
AuthPage := CreateInputQueryPage(wpWelcome,
'Account Information', 'Please enter your Account Information',
'');
AuthPage.Add('Username:', False);
AuthPage.Add('Password:', True);
Run Code Online (Sandbox Code Playgroud)
编辑:
我做了以下补充.它由于某种原因不起作用:
SetIniString('AUTH', 'USERNAME', AuthPage.Values[0], '{app}\prefs.ini')
SetIniString('AUTH', 'PASSWORD', AuthPage.Values[1], '{app}\prefs.ini')
Run Code Online (Sandbox Code Playgroud) 好的,所以你知道什么时候你正在回答一个问题并正在打字,而其他人发布你的问题的答案,你得到一个小弹出窗口,说这个问题有一个新的答案?我的问题是你是怎么做到的?我想我已经掌握了基本概念......一个问题得到解答,添加到数据库中.您打开的页面会不断检查数据库中的新答案,如果有新内容显示弹出窗口.(我不确定它是如何完成的,但只是和想法)无论如何,我正在尝试使用php和jQuery/Ajax /其他东西创建一个与弹出窗口具有类似功能的应用程序?我有一个页面将显示在屏幕上,并将显示数据库中的信息.我需要的是:弄清楚只有在新内容添加到数据库时才能显示弹出窗口.
我还应该添加...如果有人有任何教程,或者代码片段来分享ajax/jquery与sql的集成,那将是很棒的.我在PHP方面相当不错,但对ajax和jquery来说还是全新的: - /