我需要得到一个ascender/descender和x-height ..
通过使用以下代码,我可以找到下降器和总高度:
descender_height = paint.descent();
total_height = descender_height - paint.ascent();
//ascender = ?; is this always equal to descender height?
//x_height = ?; total_height - 2*descender_height ?
Run Code Online (Sandbox Code Playgroud)
谢谢
我有三个表,其中一个存储用户基本信息,另一个是配置文件信息,最后一个是存储用户图片.
当我删除这些用户时,我需要删除这些表中的所有数据.所以我写了这样的查询.
DELETE Kullanicilar FROM Kullanicilar
INNER JOIN ProfilBilgileri ON Kullanicilar.ID = ProfilBilgileri.UyeID
INNER JOIN UyeResim ON Kullanicilar.ID = UyeResim.UyeID
WHERE Kullanicilar.ID=@ID
Run Code Online (Sandbox Code Playgroud)
但它只是删除了"Kullanicilar"表中的数据.
有什么建议?
编辑:我正在使用MSSQL 2008但托管公司2000所以我需要兼容的代码.
我有一份报告应该返回一些内容
SELECT brand, ROUND(SUM(count * price) / SUM(count), 2)
WHERE ... GROUP BY brand, ...;
Run Code Online (Sandbox Code Playgroud)
问题是,我有时在我的perl代码中得到9990.32999999999992345而不是直接SQL请求返回的9990.33.
这个数字在fetchrow_hashref之后开始就是这样,如果有的话.在不同的查询中,相同的数字可以是"好"或"坏"形式,但在任何特定查询中总是以相同的方式.
我该如何追踪?
我有一个字符串列表,它们是属性名称和Map.我正在尝试使用字符串列表中的属性名称访问地图中的模型(ex.project).
这就是我现在拥有的.
<s:iterator value="theMap" var="element">
<tr>
<s:iterator value="attributeList" var="attrName">
<td><p><s:property value="#element.Project.#attrName" /></p></td>
</s:iterator>
</tr>
</s:iterator>
Run Code Online (Sandbox Code Playgroud)
如果我硬编码属性名称它工作正常:
<td><p><s:property value="#element.Project.projectName" /></p></td>
Run Code Online (Sandbox Code Playgroud)
任何建议表示赞赏.
这个问题的前言是,我意识到C宏是一个敏感的主题.很多时候,他们可以通过非宏观解决方案来实现,这种解决方案更安全,不受经典问题的影响,例如增加的参数; 所以,在这种情况下,我在C中有一个哈希表实现,其链接节点用于冲突.我相信大多数人已经看过这一百万次,但有点像这样.
typedef struct tnode_t {
char* key; void* value; struct tnode_t* next;
} tnode_t;
typedef struct table_t {
tnode_t** nodes;
unsigned long node_count;
unsigned long iterator; // see macro below
...
}
Run Code Online (Sandbox Code Playgroud)
我想提供一种迭代遍历节点的抽象方式.我考虑使用一个函数,它接受一个函数指针并将函数应用于每个节点,但我经常发现这种解决方案非常有限,所以我想出了这个宏:
#define tbleach(table, node) \
for(node=table->nodes[table->iterator=0];\
table->iterator<table->node_count;\
node=node?node->next:table->nodes[++table->iterator])\
if (node)
Run Code Online (Sandbox Code Playgroud)
哪个可以用作:
tnode_t* n;
tbleach(mytable, n) {
do_stuff_to(n->key, n->value);
}
Run Code Online (Sandbox Code Playgroud)
我能看到的唯一缺点是迭代器索引是表的一部分,所以显然你不能在同一个表中同时进行两个循环.我不知道如何解决这个问题,但我不认为这是一个交易破坏者,考虑到这个小宏将有多大用处.所以我的问题.
**更新**
我收集了Zack和Jens的建议,用"else"删除了问题,并在for语句中声明了迭代器.一切似乎都有效,但是visual studio抱怨使用宏时"不允许使用类型名称".我想知道这里到底发生了什么,因为它编译并运行但我不确定迭代器的作用域.
#define tbleach(table, node) \
for(node=table->nodes[0], unsigned long i=0;\
i<table->node_count;\
node=node?node->next:table->nodes[++i])\
if (!node) {} else
Run Code Online (Sandbox Code Playgroud)
这种做法是不好的形式,如果没有,有没有办法改善它?
大家好,我有一个简单的脚本,它在嵌套的 for 循环中执行另一个脚本
我的问题是,虽然双 for 循环在没有添加需要在每次迭代中运行的脚本的情况下执行良好,但如果我添加脚本,则执行仅发生一次。
任何想法为什么?
for ((i = 0; i<10; i++))
do
echo "outer forloop $i"
for ((j = 0; j<6; j++))
do
exec ./run.sh
done
done
Run Code Online (Sandbox Code Playgroud)
谢谢安德烈亚斯
这非常简单,我对这种行为感到困惑.我希望我的搜索结果显示在一个连续2个块的漂亮网格中.但相反,它显示出弯曲,其中带有更多文本的div会将其他内容推向其他内容.我怎样才能解决这个问题?
这是一个简单的示例,显示了FF和Chrome中的问题:
<html>
<body>
<style>
.search_result
{
border: thin solid;
width: 250px;
height:200px;
display: inline-block;
}
</style>
<div style='width:508px'>
<div class='search_result'>
Meerkats demonstrate altruistic behavior within their colonies; one or more meerkats stand sentry while others are foraging or playing, to warn them of approaching dangers ...
</div>
<div class='search_result'>
one or more meerkats stand sentry
</div>
<div class='search_result'>
meerkats
</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 在微软的AJAX Minifier提供了一个构建任务,可以在TFS或本地构建定义使用.
我在本地项目文件(构建到单独的文件)和TFS构建定义(覆盖现有的JS文件)中都使用了这个.
我想转而使用Visual Studio 2010的一键发布功能而不是TFS构建定义,但是在项目文件中将缩小任务添加为AfterBuild目标似乎不会影响单击发布功能.
使用此线程和这些 文章中的信息,我尝试在我的WAP根目录中创建一个名为"[ProjectName] .wpp.targets的文件,并使用以下XML:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\Microsoft\MicrosoftAjax\ajaxmin.tasks" />
<Target Name="Minify" BeforeTargets="MSDeployPublish">
<ItemGroup>
<JS Include="**\*.js" Exclude="**\*.min.js;**\*vsddoc.js;**\*debug.js" />
</ItemGroup>
<ItemGroup>
<CSS Include="**\*.css" Exclude="**\*.min.css" />
</ItemGroup>
<AjaxMin JsSourceFiles="@(JS)" JsSourceExtensionPattern="\.js$" JsTargetExtension=".min.js" CssSourceFiles="@(CSS)" CssSourceExtensionPattern="\.css$" CssTargetExtension=".min.css" />
</Target>
</Project>
Run Code Online (Sandbox Code Playgroud)
这似乎没有任何效果,不幸的是,Visual Studio对这些工具的反馈或调试信息没有太多帮助.
有没有人使用Visual Studio 2010一键发布功能来缩小JavaScript/CSS?
我有一个 Maven 项目,我正在使用 Surefire-plugin 来运行我的测试。以前,我没有强制使用任何版本,maven 为我选择了 2.4.3(为什么??)。
我想改用 2.7.2,它对 JUnit4 有更好的支持(尤其是参数化测试)。
因此,我修改了根父 POM,如下所示:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.7.2</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>2.7.2</version>
</dependency>
</dependencies>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</pluginManagement>
Run Code Online (Sandbox Code Playgroud)
然而,在子模块中,surefire:2.4.3 不断被调用。这是 -X 调试跟踪:
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.4.3:test'
Run Code Online (Sandbox Code Playgroud)
而在父 pom 中,使用 2.7.2:
[DEBUG] Configuring mojo 'org.apache.maven.plugins:maven-surefire-plugin:2.7.2:test'
Run Code Online (Sandbox Code Playgroud)
甚至 effective-pom 显示插件的“版本”如果没有在子模块中继承:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激。
问候,拉斐尔