我编写了一个程序来执行行程编码.在典型情况下,如果文本是
AAAAAABBCDEEEEGGHJ
Run Code Online (Sandbox Code Playgroud)
运行长度编码将成为它
A6B2C1D1E4G2H1J1
Run Code Online (Sandbox Code Playgroud)
但它为每个非重复字符添加了额外的1.由于我用它压缩BMP文件,我想到放置一个标记"$"来表示重复字符的出现,(假设图像文件有大量的重复文本).
所以它看起来像
$A6$B2CD$E4$G2HJ
Run Code Online (Sandbox Code Playgroud)
对于当前示例,它的长度是相同的,但BMP文件有明显的区别.现在我的问题在于解码.它发生了一些BMP文件具有模式,$<char><num>即$I9在原始文件中,所以在压缩文件中我也包含相同的文本.$I9但是,在解码时,它会将其视为重复的I,重复9次!所以它会产生错误的输出.我想知道的是我可以使用哪个符号来标记重复字符(运行)的开头,以便它不会与原始源冲突.
我有一个用户填写的XAML输入表单.
我想验证这个表单.
我有一个集合中的字段信息,我想循环并检查每个字段.
但是如何在字符串中访问字段的名称,例如,当fieldInformation.FieldName ="CompanyName"时,我想检查"Field_CompanyName.Text".
伪代码:
foreach (var fieldInformation in _fieldInformations)
{
if (Field_{&fieldInformation.FieldName}.Text.Length > 2)
{
ErrorMessage.Text = String.Format("The length of {0} is too long, please correct.", fieldInformation.FieldName);
entryIsValid = false;
}
}
Run Code Online (Sandbox Code Playgroud)
XAML:
<StackPanel Orientation="Horizontal" Margin="10 10 10 0">
<TextBlock Width="150" Text="Customer ID:"/>
<TextBox x:Name="Field_CustomerID" Width="150" MaxLength="5" Text=""/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="10 10 10 0">
<TextBlock Width="150" Text="Company Name:"/>
<TextBox x:Name="Field_CompanyName" Width="150" MaxLength="40" Text=""/>
</StackPanel>
<StackPanel Orientation="Horizontal" Margin="10 10 10 0">
<TextBlock Width="150" Text="Contact Name:"/>
<TextBox x:Name="Field_ContactName" …Run Code Online (Sandbox Code Playgroud) 我知道在iphone模拟器中使用多点触控输入,在使用鼠标时按住OPT键.将看到两个虚拟指尖.并移动鼠标以进行捏合.我的问题是在模拟器中,这两个指尖只会在中心一直重叠,如果我想要移动一根手指和另一根手指固定在某一点,而是将两个指尖移动到一起如何在iphone模拟器中实现这一点?在其他我希望这两个虚拟手指可以在屏幕上的任何位置重叠但不仅仅是中心
Rails提供了一个非常有用的控制台('script/console').
我写了一个ruby文件并在控制台中运行它require foo.rb.
它第一次工作正常,但第二个和下一个require foo.rb不运行我的脚本(require不重新加载它).
你有什么提示/技巧吗?
我花了一些时间来追查这个错误,但我终于找到了原因.我正在使用Rails框架为纸牌游戏建模.目前我的数据库(大多数)看起来像这样:
cards cards_games games
----- ----------- -----
id id id
c_type card_id ...
value game_id other_stuff
Run Code Online (Sandbox Code Playgroud)
Rails ActiveRecord card.rb和game.rb目前看起来像这样
#card.rb
class Card < ActiveRecord::Base
has_and_belongs_to_many :player
has_and_belongs_to_many :game
has_and_belongs_to_many :cardsInPlay, :class_name => "Rule"
end
Run Code Online (Sandbox Code Playgroud)
#game.rb
class Game < ActiveRecord::Base
has_and_belongs_to_many :cards
has_many :players
has_one :rules, :class_name => Rule
end
Run Code Online (Sandbox Code Playgroud)
当我尝试运行游戏并且有多个游戏(超过1个)时,我收到错误
ActiveRecord::StatementInvalid in GameController#start_game
# example
Mysql::Error: Duplicate entry '31' for key 1: INSERT INTO `cards_games` (`card_id`, `id`, `game_id`) VALUES (31, 31, 7)
Run Code Online (Sandbox Code Playgroud)
每次动作失败时,cardid == id.我认为,这与Rails如何将数据插入数据库有关.由于没有cardgames对象,我认为它只是将card_id拉入id并将其插入数据库.这可以正常工作,直到你有两张同一张牌的游戏,这违反了卡片游戏的主键约束.由于数据库比较丰富,我对此问题的第一个解决方案是尝试强制rails通过删除id并将cardid和gameid作为主键来遵循这种关系的"真实"定义.它没有用,因为迁移似乎无法处理两个主键(尽管Rails API说它可以做到这一点......很奇怪).另一个解决方案是省略INSERT INTO语句中的'id'列,让数据库处理自动增量.不幸的是,我也不知道该怎么做.
那么,还有另一种解决办法吗?是否有一些我不知道的漂亮的Rails技巧?或者这种结构在Rails中是不可能的?这真是令人沮丧,因为我 …
我有两个Oracle问题
如何将此SQL Server语句转换为可在Oracle上运行?
Create table MyCount(Line int identity(1,1))
Run Code Online (Sandbox Code Playgroud)用于在Orace数据库中存储图片的SQL Server图像类型的等价物是什么?
MS-Access中是否有一种方法可以一次删除所有表中的数据.我们在访问中运行数据库,每月保存数据,然后删除访问中的所有数据.但它需要从许多表中删除数据.是不是有更简单/更简单的方法呢?
我即将将Windows 32位应用程序移植到64位,但可能决定稍后将整个程序移植到Linux.
代码包含的部分取决于应用程序可用的内存量(这取决于我是否正在创建32位或64位版本),而编译32位版本的代码的能力应该保留为后向兼容性.
在Windows上,我可以简单地将相应的代码段包装到预处理器语句中,以确保编译正确的代码版本.
不幸的是,我在Linux平台上编程的经验很少,所以问题出现了:
我如何在Linux平台上识别64位版本?
是否有任何(最好是非编译器特定的)预处理器定义我可以检查这个?
提前致谢!
\比约恩
我想在独占模式下打开一个文件进行读取,如果某个进程/线程已经打开了该文件,我想收到一个异常.我尝试了下面的代码,但没有工作,即使我打开了foo.txt,我仍然可以访问Console.WriteLine语句.有任何想法吗?
static void Main(string[] args)
{
using (Stream iStream = File.Open("c:\\software\\code.txt", FileMode.Open,
FileAccess.Read, FileShare.None))
{
Console.WriteLine ("I am here");
}
return;
}
Run Code Online (Sandbox Code Playgroud) 问题:如果你有一个带有数字键盘的大量文本输入字段的大表单,你不希望告诉每个单独的文本字段
[myTextField1 resignFirstResponder];
[myTextField2 resignFirstResponder];
Run Code Online (Sandbox Code Playgroud)
相反,只要告诉一个不可见的背景按钮就好了,只要用户在任何文本字段之外选中它,它就是第一响应者.
就像在JavaScript中一样,当你为一个元素赋予焦点()时,所有其他元素都会失去它.我怎么能在UIKit中做到这一点?
c# ×2
iphone ×2
ruby ×2
64-bit ×1
build ×1
c ×1
command-line ×1
compression ×1
console ×1
file ×1
foreign-keys ×1
io ×1
linux ×1
ms-access ×1
multi-touch ×1
oracle ×1
sql ×1
sql-server ×1
wpf ×1
xaml ×1