这是一个有用的功能,但是有没有办法禁用它?例如,如果表单是单个文本字段并且旁边已经有一个"清除"按钮,那么也有多余的X.在这种情况下,删除它会更好.
可以这样做,如果是,怎么做?
我想根据当前的显示分辨率更改我的XEmacs的窗口/框架大小.
当我单独运行笔记本电脑或连接到带有外接显示器的扩展坞时,这非常有用.在任何一种情况下,我都希望Emacs检测主屏幕分辨率并在启动时相应地调整其主窗口框架大小.
浏览器提供通过window.history对象在客户端会话中访问的页面列表.有了这个,客户端代码可以向前和向后导航通过列表(使用history.back(),history.forward()和history.go()).
但客户端代码如何确定当前页面所在历史记录的位置?例如,如果客户端访问页面A,B和C,则历史记录将包含三个项目,当前历史记录项目(或状态)将用于页面C.如果用户然后单击"后退"按钮,则当前页面现在是B.然而,history.length仍然是3,反映了总共访问了三个页面的事实.我们如何确定客户当前位于历史记录中的第2项?
一个更具体的问题是我想确定我是否位于历史记录中的第一个项目,以便我可以显示一个关闭页面的"关闭"按钮(假设它window.opener不是空的); 在历史记录中的任何其他位置,我想显示一个"后退"按钮,而不是导航到上一页.
这似乎是一个奇怪的遗漏,即历史对象中没有"当前指数".
注意:这类似于问题#12895940,但不同之处在于我真的只需要知道我是否位于历史记录的第一个位置.
是否可以使C#基类只能在它编译成的库程序集中访问,同时使其他继承它的子类公开?
例如:
using System.IO;
class BaseOutput: Stream // Hidden base class
{
protected BaseOutput(Stream o)
{ ... }
...lots of common methods...
}
public class MyOutput: BaseOutput // Public subclass
{
public BaseOutput(Stream o):
base(o)
{ ... }
public override int Write(int b)
{ ... }
}
Run Code Online (Sandbox Code Playgroud)
在这里,我希望BaseOutput我的库的客户端无法访问该类,但允许子类MyOutput完全公开.我知道,C#不允许基类具有比子类更严格的访问,但有获得同样的效果的一些其他合法的方式?
UPDATE
我对这个特殊的库解决方案是让基类public和abstract,并与记录它"不要直接使用这个基类".我还创建了基类的构造函数internal,它有效地防止外部客户端使用或继承该类.
(这很遗憾,因为其他OO语言让我有隐藏的基类.)
我想更新表中的单个记录,以反映给定的客户端会话已在多会话环境中获取记录(现在拥有该记录以进行进一步更新).到目前为止我有这个:
create procedure AcquireRow(
@itemNo int, -- Item ID to acquire
@sessNo int, -- Session ID
@res char(1) out) -- Result
as
begin
-- Attempt to acquire the row
update Items
set
State = 'A', -- 'A'=Acquired
SessionID = @sessNo
where ItemID = @itemNo
and State = 'N'; -- 'N'=Not acquired
-- Verify that the session actually acquired the row
set @res = 'T'; -- 'T'=Success
if @@rowcount = 0
set @res = 'F'; -- 'F'=Failure
end;
Run Code Online (Sandbox Code Playgroud)
如果过程成功获取了行,则将out变量@state设置为 …
我在使用C#.NET读取压缩(缩小的)数据文件时遇到问题DeflateStream(..., CompressionMode.Decompress).该文件是先前使用编写的DeflateStream(..., CompressionMode.Compress),似乎很好(我甚至可以使用Java程序对其进行解压缩).
但是,Read()对输入流进行第一次调用以解压缩/膨胀压缩数据会返回零长度(文件结束).
这是主驱动程序,用于压缩和解压缩:
public void Main(...)
{
Stream inp;
Stream outp;
bool compr;
...
inp = new FileStream(inName, FileMode.Open, FileAccess.Read);
outp = new FileStream(outName, FileMode.Create, FileAccess.Write);
if (compr)
Compress(inp, outp);
else
Decompress(inp, outp);
inp.Close();
outp.Close();
}
Run Code Online (Sandbox Code Playgroud)
这是解压缩的基本代码,它是失败的:
public long Decompress(Stream inp, Stream outp)
{
byte[] buf = new byte[BUF_SIZE];
long nBytes = 0;
// Decompress the contents of the input file
inp = new DeflateStream(inp, CompressionMode.Decompress);
for (;;)
{
int len;
// …Run Code Online (Sandbox Code Playgroud) 我正在"手动"使用动态内存分配,我想看看来自MS的人是如何实现placement new的,但是在调试时我"步入"它让我转到代码:
inline void *__CRTDECL operator new(size_t, void *_Where) _THROW0()
{ // construct array with placement at _Where
return (_Where);
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释这个代码究竟是如何将我的对象放在我的指针所指向的位置,当我在这段代码中看到的所有东西都与带有我作为参数提供的内容的return语句对齐时.我不认为在评论中说我希望这个fnc做什么实际上足以让它起作用.谢谢你的建设性答案.
我正在创建一个搜索实用程序,它将搜索SQLITE数据库中的元素.唯一的问题是,数据库包含一些字符,如Åèô,它们在拉丁语中...
是否有一种简单的方法可以忽略这些字母并将它们视为英文字母对应物(Å= A,è= e ...)?
我想过设计所有这些字符的1对1映射,比如
HashMap<Character, Character> lstOfChar = new HashMap<Character, Character>();
lstOfChar.put('Å', 'A');
lstOfChar.put('è', 'e');
Run Code Online (Sandbox Code Playgroud)
并且当从数据库检索数据时,每个这样的字符将被替换为等效的英语字母并且将显示搜索结果.
如果我搜索
Deepak然后将包含行DeepÅk或DÈepak或deepÃk应搜索
但这将是漫长的过程和维护也将是艰难的.
是否有一些优雅的方式,可能是SQLITE提供一些功能或者是否可能通过SQL.
我正在使用Java平台.
编辑我发现在发布的答案中的Normalizer确实有助于在获取结果之后执行程序化的事情,但这可以通过database或通过SQL以某种特殊方式触发来完成,因为它需要大量时间来获取结果并应用此函数并返回结果.
最近,我试图构建一个可以读取excel文件的应用程序。但是就在我选择了excel文件后,我得到一个错误:
ExcelDataReader.dll中发生了'ExcelDataReader.Exceptions.HeaderException'
其他信息:无效的文件签名。”
错误在第38行被捕获
这是我的代码的副本
using ExcelDataReader;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Alt_jde
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void label1_Click(object sender, EventArgs e)
{
}
DataSet result;
private void btnOpen_Click(object sender, EventArgs e)
{
using(OpenFileDialog ofd = new OpenFileDialog() )
{
if (ofd.ShowDialog()==DialogResult.OK)
{
System.IO.FileStream fs = System.IO.File.Open(ofd.FileName, System.IO.FileMode.Open, …Run Code Online (Sandbox Code Playgroud) 我正在尝试为可包含数百万行(每月最多 300 万行)的 iSeries 数据库表进行最佳 SQL 查询。每行的唯一键是其 RRN(相对记录号,即该行的物理记录号)。
我的目标是将表格与另一个小表格连接起来,为我提供其中一个数字列的文字描述。但是,涉及的行数可能超过 200 万,这通常会导致查询因内存不足而失败。所以我想重写查询以避免将大子集与任何其他表连接。因此,我们的想法是在给定月份内选择一个页面(最多 30 行),然后将该子集连接到第二个表。
然而,我遇到了一个奇怪的问题。我使用以下查询来检索我想要的页面行的 RRN:
select t.RRN2 -- Gives correct RRNs
from (
select row_number() over() as SEQ,
rrn(e2) as RRN2, e2.*
from TABLE1 as e2
where e2.UPDATED between '2013-05-01' and '2013-05-31'
order by e2.UPDATED, e2.ACCOUNT
) as t
where t.SEQ > 270 and t.SEQ <= 300 -- Paging
order by t.UPDATED, t.ACCOUNT
Run Code Online (Sandbox Code Playgroud)
这个查询工作得很好,返回了我需要的行的正确 RRN。但是,当我尝试将子查询的结果与另一个表连接时,RRN 发生了变化。因此,我将查询简化为简单外部查询中的子查询,没有任何联接:
select rrn(e) as RRN, e.*
from TABLE1 as e
where …Run Code Online (Sandbox Code Playgroud) 该程序的目标是在不使用任何库的情况下在JAVA中实现图形。这不是家庭作业,只是一些练习。我正在尝试实现单向加权图,以后可以将其作为参数传递给Kruskal或Prim的算法,以实现最小生成树。由于我是数据结构的新手,因此我很难确定如何实现图形。邻接矩阵/列表是我要避免的事情,我可以采用以下方法继续进行吗:
/**
* Graph.java: This is the main file.
*/
public class Graph {
public static void main(String[] args)
{
Node n1 = new Node("A");
Node n2 = new Node("B");
Node n3 = new Node("C");
Node n4 = new Node("D");
Node n5 = new Node("E");
Node n6 = new Node("F");
Edges e1 = new Edges(n1, n2, 5);
Edges e2 = new Edges(n1, n3, 3);
Edges e3 = new Edges(n2, n4, 5);
Edges e4 = new Edges(n2, n5, 2);
Edges e5 …Run Code Online (Sandbox Code Playgroud) 我正在使用OfficeOpenXml创建 MS/Excel 电子表格文件。某些列包含任意文本值。但是,当这些列中的单元格填充了数值(即仅包含数字的文本值)时,Excel 会在这些单元格的角上显示一个小绿色三角形,并显示警告“此单元格中的数字格式为文本”或前面加撇号"。
这在技术上是正确的,但我不希望 Excel 显示警告。
那么,如何将这些列或这些列中的单元格格式化为严格的文本值,以便它们不会被标记为数字文本值?如何禁用警告并强制 Excel 接受这些单元格值作为文本(仅)?
注意:我见过其他 OpenXML 包的解决方案,但没有专门针对 OfficeOpenXml 的解决方案。我还看到了将文本单元格值解释为数字的解决方案,但这与我想要做的完全相反。
考虑这个简单的旧JavaScript(非Angular)形式,在单击一个元素时调用一个函数:
<span id="foo1" onclick="clicked(this)">...</span>
Run Code Online (Sandbox Code Playgroud)
所以this参数clicked()是被点击的spanobject(foo1).
当此代码转换为AngularJS时,我们尝试传递相同的this对象:
<span id="foo2" ng-click="clicked(this)">...</span>
Run Code Online (Sandbox Code Playgroud)
但是,现在传递给的参数clicked()是一个对象,但它似乎与该span对象没有任何关系.
所以我的问题是:
this传递给函数时的值是ng-click多少?
在函数中检索单击对象或将其传递给函数的最简单方法是什么?
c# ×3
excel ×2
java ×2
javascript ×2
sql ×2
.net ×1
angularjs ×1
base-class ×1
c++ ×1
compression ×1
css ×1
db2 ×1
db2-400 ×1
elisp ×1
emacs ×1
graph ×1
ibm-midrange ×1
inheritance ×1
openxml ×1
private ×1
sql-server ×1
sqlite ×1
t-sql ×1
unicode ×1
xemacs ×1