となりのぬるぽ
[root@localhost ~]# yum search JRE
Searching Packages:
Setting up Repos
base 100% |=========================| 1.1 kB 00:00
fedora-extras 100% |=========================| 951 B 00:00
updates-released 100% |=========================| 951 B 00:00
Reading repository metadata in from local files
base : ################################################## 2622/2622
fedora-ext: ################################################## 1611/1611
updates-re: ################################################## 910/910
j2re.i586 1.4.2-11.1.fc3.rf dag
Matched from:
This packages provides the environment to run java 2 aplications with JRE.
[root@localhost ~]# yum install j2re
Setting up Install Process
Setting up Repos
base 100% |=========================| 1.1 kB 00:00
fedora-extras 100% |=========================| 951 B 00:00
updates-released 100% |=========================| 951 B 00:00
Reading repository metadata in from local files
base : ################################################## 2622/2622
fedora-ext: ################################################## 1611/1611
updates-re: ################################################## 910/910
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for j2re to pack into transaction set.
j2re-1.4.2-11.1.fc3.rf.i5 100% |=========================| 75 kB 00:01
---> Package j2re.i586 0:1.4.2-11.1.fc3.rf set to be updated
--> Running transaction check
Dependencies Resolved
Transaction Listing:
Install: j2re.i586 0:1.4.2-11.1.fc3.rf - dag
Total download size: 20 M
Is this ok [y/N]:
N
Downloading Packages:
(1/1): j2re-1.4.2-11.1.fc 100% |=========================| 20 MB 01:31
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: j2re 100 % done 1/1
Installed: j2re.i586 0:1.4.2-11.1.fc3.rf
Complete!
[root@localhost ~]# java -version
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
じゃまスレだな。
[root@localhost ~]# yum provides j2re
Searching Packages:
Setting up Repos
dag 100% |=========================| 1.1 kB 00:00
base 100% |=========================| 1.1 kB 00:00
fedora-extras 100% |=========================| 951 B 00:00
updates-released 100% |=========================| 951 B 00:00
Reading repository metadata in from local files
dag : ################################################## 5455/5455
base : ################################################## 2622/2622
fedora-ext: ################################################## 1611/1611
updates-re: ################################################## 910/910
Importing Additional filelist information for packages
filelists.xml.gz 100% |=========================| 1.6 MB 00:08
MD Read : ################################################## 5455/5455
dag : ################################################## 5455/5455
base : ################################################## 2622/2622
fedora-ext: ################################################## 1611/1611
updates-re: ################################################## 910/910
mozilla-j2re.i586 1.4.2-11.1.fc3.rf dag
Matched from:
name 1.4.2-11.1.fc3.rf
name 1.4.2
j2re.i586 1.4.2-11.1.fc3.rf dag
Matched from:
/usr/share/doc/j2re-1.4.2
/usr/share/doc/j2re-1.4.2/ControlPanel.html
/usr/share/doc/j2re-1.4.2/LICENSE
/usr/share/doc/j2re-1.4.2/THIRDPARTYLICENSEREADME.txt
/usr/share/doc/j2re-1.4.2/README
/usr/share/doc/j2re-1.4.2/CHANGES
/usr/share/doc/j2re-1.4.2/Welcome.html
/usr/share/doc/j2re-1.4.2/COPYRIGHT
name 1.4.2
name 1.4.2-11.1.fc3.rf
name 1.4.2-11.1.fc3.rf
name 1.4.2
j2re.i586 1.4.2-11.1.fc3.rf installed
Matched from:
/usr/share/doc/j2re-1.4.2
/usr/share/doc/j2re-1.4.2/CHANGES
/usr/share/doc/j2re-1.4.2/COPYRIGHT
/usr/share/doc/j2re-1.4.2/ControlPanel.html
/usr/share/doc/j2re-1.4.2/LICENSE
/usr/share/doc/j2re-1.4.2/README
/usr/share/doc/j2re-1.4.2/THIRDPARTYLICENSEREADME.txt
>>9 /usr/share/doc/j2re-1.4.2/Welcome.html
/usr/share/doc/j2re-1.4.2/
config(j2re)
j2re
j2re-java
j2re
[root@localhost ~]# ls /usr/sbin/|grep j
cupsreject
foomatic-addpjloptions
foomatic-getpjloptions
reject
tickadj
[root@localhost ~]# ls /usr/bin/|grep java
java
javaws
>>6 [root@localhost ~]# /usr/bin/java -version
java version "1.4.2_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_06-b03)
Java HotSpot(TM) Client VM (build 1.4.2_06-b03, mixed mode)
#!/bin/bash
#
# Normally, editing this script should not be required.
# Only case is to set up JAVA_HOME if it's not already defined.
#
# To specify an alternative JVM, edit and uncomment the following
# line and change the path accordingly.
# JAVA_HOME=/usr/lib/java
JAVA_HOME=/usr
_JAVA_EXEC="java"
if [ -n $JAVA_HOME ] ; then
_TMP="$JAVA_HOME/bin/java"
if [ -f "$_TMP" ] ; then
if [ -x "$_TMP" ] ; then
_JAVA_EXEC="$_TMP"
else
echo "Warning: $_TMP is not executable"
fi
else
echo "Warning: $_TMP does not exist"
fi
fi
>>13 [root@localhost ~]# /root/smartcvs-6_0_5/bin/smartcvs.sh
Exception in thread "main" java.lang.NoClassDefFoundError: java.awt.Container
at smartcvs.Yc.b(SourceFile:160)
at SmartCVS.main(SourceFile:12)
[root@localhost ~]# ls /root/smartcvs-6_0_5/sources/
javacvs.zip
[root@localhost ~]# ls /root/smartcvs-6_0_5/lib/
FileWatcher2K.dll FileWatcherNT.dll help.jar smartcvs.jar tools.jar
class While : Statement {
private readonly Expression _test;
private readonly Statement _body;
public While(SourceSpan span, Expression test, Statement body)
: base(span) {
_test = test;
_body = body;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
return Ast.While(
Span,
_test.End,
Ast.DynamicConvert(
_test.Generate(tg),
typeof(bool)
),
_body.Generate(tg),
null
);
}
}
18 :
Var:2007/11/11(日) 15:23:55
class Var : Statement {
private readonly string _name;
private readonly Expression _value;
public Var(SourceSpan span, string name, Expression value) : base(span) {
_name = name;
_value = value;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
MSAst.Variable var = tg.GetOrMakeLocal(_name);
if (_value != null) {
return Ast.Statement(
Span,
Ast.Assign(
var,
Ast.ConvertHelper(_value.Generate(tg), var.Type)
)
);
} else { return Ast.Empty(Span); }
}
}
class Return : Statement {
private readonly Expression _expression;
public Return(SourceSpan span): this(span, null) {
}
public Return(SourceSpan span, Expression expression): base(span) {
_expression = expression;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
return Ast.Return(
Span,
_expression != null ? _expression.Generate(tg) : null
);
}
}
class Print : Statement {
private readonly Expression _expression;
public Print(SourceSpan span, Expression expression): base(span) {
_expression = expression;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
return Ast.Statement(
Span,
Ast.Call(
typeof(ToyHelpers).GetMethod("Print"),
Ast.ConvertHelper(_expression.Generate(tg), typeof(object) )
)
);
}
}
class Import : Statement {
private readonly string _name;
public Import(SourceSpan span, string name): base(span) {
_name = name;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
MSAst.Variable var = tg.GetOrMakeLocal(_name);
return Ast.Statement(
Span,
Ast.Assign(
var,
Ast.Call(typeof(ToyHelpers).GetMethod("Import"), Ast.Constant(_name) )
)
);
}
}
>>18 >>20
23 :
If:2007/11/11(日) 16:08:33
class If : Statement {
private readonly Expression _test;
private readonly Statement _then;
private readonly Statement _else;
public If(SourceSpan span, Expression test, Statement then, Statement @else): base(span) {
_test = test;
_then = then;
_else = @else;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
return Ast.If(
Span,
Ast.IfConditions(
Ast.IfCondition(
Span,
_test.End,
Ast.DynamicConvert(_test.Generate(tg), typeof(bool)),
_then.Generate(tg)
)
),
_else != null ? _else.Generate(tg) : null
);
}
}
class ExpressionStatement : Statement {
private readonly Expression _expression;
internal Expression Expression {
get { return _expression; }
}
public ExpressionStatement(SourceSpan span, Expression expression): base(span) {
_expression = expression;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
return Ast.Statement(
Span,
_expression.Generate(tg)
);
}
}
25 :
Def:2007/11/11(日) 16:25:03
class Def : Statement {
public Def(SourceSpan span, SourceLocation header, string name, string[] parameters, Statement body): base(span) {
_header = header;
_name = name;
_parameters = parameters;
_body = body;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
ToyScope scope = tg.PushNewScope(_name); // Push a new Scope for evaluating the functions body in
List<MSAst.Expression> names = new List<MSAst.Expression>();
foreach (string parameter in _parameters) {
tg.Scope.CreateParameter(parameter);
names.Add(Ast.Constant(parameter));
}
MSAst.Statement body = _body.Generate(tg);
MSAst.CodeBlock block = scope.FinishScope(body);
tg.PopScope();
return Ast.Statement(
Ast.Assign(
tg.GetOrMakeLocal(_name),
Ast.Call(typeof(ToyFunction).GetMethod("Create"),
Ast.Constant(_name),
Ast.NewArray(typeof(string[]), names),
Ast.CodeBlockExpression(block, false))
)
);
}
}
>>18 >>20 >>22 >>24
class Block : Statement {
private readonly Statement[] _statements;
public Block(SourceSpan span, Statement[] statements): base(span) {
_statements = statements;
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
MSAst.Statement[] statements = new MSAst.Statement[_statements.Length];
for (int i = 0; i < statements.Length; i++) {
statements[i] = _statements[i].Generate(tg);
}
return Ast.Block(Span, statements);
}
}
class Empty : Statement {
public Empty(SourceSpan span)
: base(span) {
}
protected internal override MSAst.Statement Generate(ToyGenerator tg) {
return Ast.Empty(Span);
}
}
class Assignment : Expression {
private readonly Expression _lvalue;
private readonly Expression _rvalue;
public Assignment(SourceSpan span, Expression lvalue, Expression rvalue)
: base(span) {
_lvalue = lvalue;
_rvalue = rvalue;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
return _lvalue.GenerateAssign(tg, _rvalue.Generate(tg));
}
}
class Constant : Expression {
private readonly object _value;
public Constant(SourceSpan span, object value)
: base(span) {
_value = value;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
return Ast.Constant(_value);
}
}
class Member : Expression {
private readonly Expression _target;
private readonly string _member;
public Member(SourceSpan span, Expression target, string member): base(span) {
_target = target;
_member = member;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
return Ast.Action.GetMember(
SymbolTable.StringToId(_member),
typeof(object),
_target.Generate(tg)
);
}
}
class Named : Expression {
private readonly string _name;
public Named(SourceSpan span, string name): base(span) {
_name = name;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
MSAst.Variable variable = GetVariable(tg);
return Ast.Read(variable);
}
protected internal override MSAst.Expression GenerateAssign(ToyGenerator tg, MSAst.Expression right) {
MSAst.Variable variable = GetVariable(tg);
return Ast.Assign(
variable,
Ast.ConvertHelper(right, variable.Type)
);
}
private MSAst.Variable GetVariable(ToyGenerator tg) {
MSAst.Variable variable = tg.LookupName(_name);
if (variable == null) {
variable = tg.GetOrMakeGlobal(_name);
}
return variable;
}
}
32 :
New:2007/11/11(日) 17:28:59
class New : Expression {
private readonly Expression _target;
private readonly Expression[] _arguments;
public New(SourceSpan span, Expression target, Expression[] arguments): base(span) {
_target = target;
_arguments = arguments;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
MSAst.Expression[] arguments = new MSAst.Expression[_arguments.Length + 1];
arguments[0] = _target.Generate(tg);
for (int i = 0; i < _arguments.Length; i++) {
arguments[i + 1] = _arguments[i].Generate(tg);
}
return Ast.Action.Create(typeof(object), arguments );
}
}
class Parentesized : Expression {
private readonly Expression _expression;
public Parentesized(SourceSpan span, Expression expression): base(span) {
_expression = expression;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
return Ast.Parenthesize(
_expression.Generate(tg)
);
}
}
parenthesize 〔語句を〕挿し挟む、括弧に入れる
class Index : Expression {
private readonly Expression _target;
private readonly Expression _index;
public Index(SourceSpan span, Expression target, Expression index): base(span) {
_target = target;
_index = index;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
return Ast.Action.Operator(
Operators.GetItem,
typeof(object),
_target.Generate(tg),
_index.Generate(tg)
);
}
protected internal override MSAst.Expression GenerateAssign(ToyGenerator tg, MSAst.Expression right) {
return Ast.Action.Operator(
Operators.SetItem,
typeof(object),
_target.Generate(tg),
_index.Generate(tg),
right
);
}
}
class Binary : Expression {
public Binary(SourceSpan span, Operator op, Expression left, Expression right): base(span) {
_op = op;
_left = left;
_right = right;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
MSAst.Expression left = _left.Generate(tg);
MSAst.Expression right = _right.Generate(tg);
Operators op;
switch (_op) { // Binary
case Operator.Add: op = Operators.Add; break;
case Operator.Subtract: op = Operators.Subtract; break;
case Operator.Multiply: op = Operators.Multiply; break;
case Operator.Divide: op = Operators.Divide; break;
// Comparisons
case Operator.LessThan: op = Operators.LessThan; break;
case Operator.LessThanOrEqual: op = Operators.LessThanOrEqual; break;
case Operator.GreaterThan: op = Operators.GreaterThan; break;
case Operator.GreaterThanOrEqual: op = Operators.GreaterThanOrEqual; break;
case Operator.Equals: op = Operators.Equals; break;
case Operator.NotEquals: op = Operators.NotEquals; break;
default:
throw new System.InvalidOperationException();
}
return Ast.Action.Operator(op, typeof(object), left, right);
}
}
38 :
Call:2007/11/11(日) 23:51:12
class Call : Expression {
private readonly Expression _target;
private readonly Expression[] _arguments;
public Call(SourceSpan span, Expression target, Expression[] arguments): base(span) {
_target = target;
_arguments = arguments;
}
protected internal override MSAst.Expression Generate(ToyGenerator tg) {
MSAst.Expression[] arguments = new MSAst.Expression[_arguments.Length + 1];
arguments[0] = _target.Generate(tg);
for (int i = 0; i < _arguments.Length; i++) {
arguments[i+1] = _arguments[i].Generate(tg);
}
// TODO: Invoke or call?
return Ast.Action.Call(typeof(object), arguments);
}
}
enum TokenKind {
None,
Name,
Number,
String,
Add,Subtract,Multiply,Divide,
AddEqual,SubtractEqual,MultiplyEqual,DivideEqual,
LessThan,GreaterThan,
LessThanEqual,GreaterThanEqual,NotEqual,
Equal,EqualEqual,
Bang,Dot,Comma,SemiColon,
OpenParen,CloseParen,
OpenCurly,CloseCurly,
OpenBracket,CloseBracket,
//keywords
KwNew,
KwIf,KwElse,KwWhile,
KwDef,KwReturn,
KwVar,
KwPrint,KwImport,
EOF
}
何だこのスレwwwコンパイラかなにか?w
criteria for choosing 《one's 〜》〜を選ぶ[選択する]時の基準
◆「基準」の単数形は criterion、複数形は criteria
private static bool IsNumberPart(char ch) {
return ch == '.' || (ch >= '0' && ch <= '9');
}
private static bool IsNamePart(char ch) {
if (ch == '_') return true;
CharClass cc = GetClass(ch);
return cc == CharClass.Letter || cc == CharClass.Number;
}
private static bool IsSpace(char ch) {
return GetClass(ch) == CharClass.Space;
}
private char PeekChar() {
return _text[_index];
}
public char NextChar() {
char ch = _text[_index++];
if (ch == '\n') {
_line++;
_column = 1;
} else {
_column++;
}
return ch;
}
private void SkipTest(Predicate<char> test) {
>>42 test matching, NextChar()
while (!EndOfFile && test(PeekChar())) {
NextChar();
}
}
public SourceLocation Location {
get { return new SourceLocation(_index, _line, _column); }
}
private Token FinishToken(SourceLocation start, TokenKind kind) {
>>44 return new Token(new SourceSpan(start, Location), kind, _text.Substring(start.Index, _index - start.Index));
}
private Token FinishWithEqual(SourceLocation start, TokenKind kind, TokenKind kindWithEqual) {
if (!EndOfFile && PeekChar() == '=') {
>>43 NextChar();
kind = kindWithEqual;
}
return FinishToken(start, kind);
}
private Token FinishString(SourceLocation start) {
StringBuilder sb = new StringBuilder();
for (; ; ) {
if (EndOfFile) { throw ToyParser.SyntaxError("End of file in the string"); }
char ch = NextChar();
if (ch == '"') {
if (EndOfFile || PeekChar() != '"') {
>>43 break;
} else {
NextChar();
}
}
sb.Append(ch);
}
return new Token(new SourceSpan(start, Location), TokenKind.String, sb.ToString());
>>44 }
private Token FinishName(SourceLocation start) {
SkipTest(IsNamePart);
>>43 >>42 string image = _text.Substring(start.Index, _index - start.Index);
TokenKind kind;
if (!_keywords.TryGetValue(image, out kind)) {
kind = TokenKind.Name;
}
return new Token(new SourceSpan(start, Location), kind, image);
>>44 }
private static CharClass GetClass(char ch) {
switch (ch) {
case ' ':
case '\n':
case '\r':
case '\t':
return CharClass.Space;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
return CharClass.Number;
default:
if (Char.IsLetter(ch)) return CharClass.Letter; [built-in]
else return CharClass.Other;
}
}
switch (ch) {
case '+': return FinishWithEqual(start, TokenKind.Add, TokenKind.AddEqual);
>>39 case '-': return FinishWithEqual(start, TokenKind.Subtract, TokenKind.SubtractEqual);
case '*': return FinishWithEqual(start, TokenKind.Multiply, TokenKind.MultiplyEqual);
case '/': return FinishWithEqual(start, TokenKind.Divide, TokenKind.DivideEqual);
case '<': return FinishWithEqual(start, TokenKind.LessThan, TokenKind.LessThanEqual);
case '>': return FinishWithEqual(start, TokenKind.GreaterThan, TokenKind.GreaterThanEqual);
case '!': return FinishWithEqual(start, TokenKind.Bang, TokenKind.NotEqual);
case '=': return FinishWithEqual(start, TokenKind.Equal, TokenKind.EqualEqual);
>>45 case '.': return FinishToken(start, TokenKind.Dot);
case ',': return FinishToken(start, TokenKind.Comma);
case ';': return FinishToken(start, TokenKind.SemiColon);
case '(': return FinishToken(start, TokenKind.OpenParen);
case ')': return FinishToken(start, TokenKind.CloseParen);
case '{': return FinishToken(start, TokenKind.OpenCurly);
case '}': return FinishToken(start, TokenKind.CloseCurly);
case '[': return FinishToken(start, TokenKind.OpenBracket);
case ']': return FinishToken(start, TokenKind.CloseBracket);
>>45 case '"': return FinishString(start);
}
private Token FinishToken(SourceLocation start, TokenKind kind, Predicate<char> test) {
>>42 test matching, NextChar()
>>43 SkipTest(test);
return FinishToken(start, kind);
>>45 }
public Token Next() {
SourceLocation start = Location;
>>44 if (_index >= _text.Length) {
return new Token(new SourceSpan(start, start), TokenKind.EOF, "<eof>");
}
char ch = NextChar();
>>43 switch (ch) {
>>49,
>>46} // CharClass.Other PART
switch (GetClass(ch)) {
>>48 case CharClass.Letter:
return FinishName(start);
>>47 case CharClass.Number:
return FinishToken(start, TokenKind.Number, IsNumberPart);
>>50 case CharClass.Space:
SkipTest(IsSpace);
return Next(); // 再帰
default:
throw new NotImplementedException("can't handle: " + ch);
}
}
at latitude __ north and longitude __ east
北緯_度, 東経_度に[の地点で]
A disciple sometimes outshines his master.
《諺》青は藍より出でて藍より青し。(弟子はときおり師よりも輝く)
Bitmap effects are not yet optmized in WPF, in other words, they are done in software on
you main CPU (not the GPU). So they can be very slow. For the moment, it is suggested
not to use them to much.
There are more optmized ways of providing drop down shadows. You can use the SystemDropShadowChrome
class which provides a theme specific shadow and should be faster.
There is also a class in the WPFCOntrib project that provides bitmapped shadows which should be fast.
ListBox Performance in a Drop-Shadowed Container - MSDN Forums
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2385714&SiteID=1
<Window x:Class="ObservableListBox.Window1"
xmlns="
http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="
http://schemas.microsoft.com/winfx/2006/xaml"
Title="ObservableListBox" Height="300" Width="300"
>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="200"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<ListBox x:Name="listbox" Grid.Row="0"/>
<Button Content="Add item" Click="Add" Grid.Row="1"/>
<Button Content="Remove Last Item" Click="RemoveLastItem" Grid.Row="2"/>
</Grid>
</Window>
public partial class Window1 : System.Windows.Window
{
public ObservableCollection<DateTime> coll;
public Window1()
{
InitializeComponent();
coll = new ObservableCollection<DateTime>();
coll.Add(DateTime.Now);
coll.Add(DateTime.Now);
coll.Add(DateTime.Now);
listbox.ItemsSource = coll;
}
private void Add(object sender, RoutedEventArgs e)
>>57 {
coll.Add(DateTime.Now);
}
private void RemoveLastItem(object sender, RoutedEventArgs e)
>>57 {
if (coll.Count > 0)
coll.RemoveAt(coll.Count - 1);
}
}
how to use ObservableCollection that is bind to a listbox and able to update properly - MSDN Forums
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2391964&SiteID=1
you can create one. something along these lines
<TextBlock>
<Hyperlink NavigateUri="
http://search.msn.com">Link text.</Hyperlink>
</TextBlock>
I'm using your approach to create a LinkLabel:
<Label>
<Hyperlink RequestNavigate="MyHandler">Click me</Hyperlink>
</Label>
My problem is that "MyHandler" is never called if I press the hyperlink. What have I done wrong?
Is there a control like LinkLabel in WPF? - MSDN Forums
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=924999&SiteID=1
A random utility made to simplify visual debugging of WPF applications at runtime.
It's basically a collection of things that may have seemed useful at one time or another
with the common goal of making it easier to track down bugs in WPF applications.
This is not an official tool, just a utility that was found useful and added to when functionality
was needed. It's provided in the hopes of helping others.
Snoop
http://www.blois.us/Snoop/ The selected element will highlight with a red adorner in the target application. Another way of
finding elements in the tree is to hold down Ctrl-Shift and mouse over the target application.
This will move the selection to the element under the mouse.
I'm having difficulty adding grid lines to a standard WPF GridView. Conceptually, it seems like
an easy task involving throwing a border in a DataTemplate for a GridViewColumn.CellTemplate.
However, this does not give you access to where the grid line should be placed because there
seems to be some amount of forced padding on the contents of the cell template.
cell template内のコンテンツ上にはマージンがうじゃうじゃあるようで
I'm really getting frustrated trying to track down the root of all that padding.
Has anyone successfully tackled this problem?
Grid Lines Using CellTemplate problems... - MSDN Forums
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2305168&SiteID=1
>>61 It's obviously not ideal to rely on hardcoding negative margins, but it is the
easiest way I could find to implement grid lines without changing the default
WPF control templates...
<Style x:Key="StretchedCellTemplateContentListViewItemStyle" TargetType="ListViewItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
</Style>
<DataTemplate x:Key="ctCode" >
<Border SnapsToDevicePixels="True" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="-6,0,-6,0"
BorderBrush="Black" BorderThickness="0,0,1,1">
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding Path=Code}"/>
</Border>
</DataTemplate>
Tha'ts a bit more difficult. You could use the VisualTreeHelper class to find the
children of the ContentPresenter. One of them is the UIElement. You could also
try something like:
Code Block
TextBox iText = aItem.ContentTemplate.FindName("TxtContent", aItem) as TextBox;
Where TxtContent is the name of the UIElement you are trying to find and aItem
is the ContentPresenter.
VisualChildren of ItemsControl - MSDN Forums
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2381429&SiteID=1
>>63 This worked for me, thanks! I've now realized that I cannot get a reference to the element
the moment I add the item to the collection, apparently its not created until the PropertyChanged
event is handled (makes sense).
Is there an event I can tie into that tells me when the element has been created
so that I may set focus to it?
---
It looks like I would want to use the ItemContainerGenerator.ItemsChanged event which seems to
tell me what I need to know (that an item has been added), however it appears that it is still prior
to the point in time where I can do something about it (before the UIElement has actually been created).
This seems to be a recurring theme here where I can be notified of something but before I can actually
do something with the result of the event (what the event was telling me was happening).
Is there a standard solution here? I have seen a number of posts for other issues that seem to solve it
using timers but that seems a clumsy way to deal with the problem.
Anyone have any ideas?
>>64 You could try using a call to Dispatcher.BeginInvoke() passing in 'Background' or 'AppIdle' as the priority.
The callback would assumably be invoked after the element creation callstack has finished.
---
Yeah, that's what I settled on, it at-least looks cleaner than doing the timer object setup.
I take it there isn't a standard mechanism to deal with this problem?
Thank you all for your help!
---
Try calling 'UpdateLayout' on the ItemsControl before you call FindName, this should update the control
and all visuals should be drawn again.
I'm capturing the down arrow key in the Windows PreviewKeyDown event. In some conditions
I'm moving the selected item in a list box. I'd also like the ability trigger a tab keypress instead.
I'm not capturing the tab key--just using its default behavior.
How do I change a down arrow into a tab keypress? 下矢印キーをタブキーに変えれるかな?
Change Key in Keypress Event - MSDN Forums
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2380236&SiteID=1
>>66 This should do the trick:
private void Window1_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Down)
{
e.Handled = true;
KeyEventArgs args = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, Key.Tab);
args.RoutedEvent = Keyboard.KeyDownEvent;
InputManager.Current.ProcessInput(args);
}
}
More information on this blog post:
Sheva's TechSpace: Focus Navigation Using Enter Key
http://shevaspace.spaces.live.com/blog/cns!FD9A0F1F8DD06954!552.entry?wa=wsignin1.0
>>67 That works great for the down arrow. How about changing an up arrow to Shift-Tab?
I can't find any way to add ModifierKeys to System.Windows.Input.KeyEventArgs.
>>68 If you just want to enable element navigation using up and down arrow key, you can do
something like the following:
void Window1_PreviewKeyDown(object sender, KeyEventArgs e)
{
UIElement focusedElement = Keyboard.FocusedElement as UIElement;
if (e.Key == Key.Up)
{
if (focusedElement != null)
{
focusedElement.MoveFocus(new TraversalRequest(FocusNavigationDirection.Previous));
}
e.Handled = true;
}
else if(e.Key == Key.Down)
{
if (focusedElement != null)
{
focusedElement.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
e.Handled = true;
}
}
<Page.Resources>
<XmlDataProvider x:Key="itemData">
<x:XData>
<Items xmlns="">
<Item Data="Device1" Header="Header 1 - Live Device data" />
<Item Data="Device2" Header="Header 1 - Live Device data" />
<Item Data="Device3" Header="Header 1 - Live Device data" />
<Item Data="File 1" Header="Header 2 - File data" />
<Item Data="File 2" Header="Header 2 - File data" />
<Item Data="File 3" Header="Header 2 - File data" />
</Items>
</x:XData>
</XmlDataProvider>
<CollectionViewSource x:Key="src" Source="{Binding Source={StaticResource itemData}, XPath=Items/Item}">
<CollectionViewSource.GroupDescriptions>
<PropertyGroupDescription PropertyName="@Header"/>
</CollectionViewSource.GroupDescriptions>
</CollectionViewSource>
</Page.Resources>
<ComboBox ItemsSource="{Binding Source={StaticResource src}}" Width="250" Height="30">
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="Content" Value="{Binding XPath=@Data}" />
</Style>
</ComboBox.ItemContainerStyle>
<ComboBox.GroupStyle>
<GroupStyle>
<GroupStyle.HeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" Margin="4" />
</DataTemplate>
</GroupStyle.HeaderTemplate>
</GroupStyle>
</ComboBox.GroupStyle>
</ComboBox>
>>70 I'm sure this is not the best solution, but this is what I came up with
(in a rush) for my application:
<DataTemplate x:Key="MultiColComboBoxItem">
<StackPanel>
<StackPanel Orientation="Horizontal"
Visibility="{Binding RelativeSource={
RelativeSource Mode=FindAncestor, AncestorType={x:Type ComboBoxItem}},
Converter={StaticResource ComboBoxHeaderConverter}}
}">
<TextBlock Text="Col Header1" HorizontalAlignment="Center" TextDecorations="Underline" FontSize="12" Width="170" />
<TextBlock Text="Col Header 2" HorizontalAlignment="Center" TextDecorations="Underline" FontSize="12" Width="105" />
</StackPanel>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Path=Name}" Width="170" />
<TextBlock Text="{Binding Path=Count}" Width="105" />
</StackPanel>
</StackPanel>
</DataTemplate>
So basically it's not a true header -- it's simply part of the item template,
and the "ComboBoxHeaderConverter" converter ensures that the header portion is
only visible for the first item.
internal static class NativeMethods
{
[DllImport("Shell32.dll", EntryPoint = "ExtractIconExW",
CharSet = CharSet.Unicode,
ExactSpelling = true,
CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ExtractIconEx(
String dllName,
Int32 iconIndex,
out IntPtr largeIconHandle,
out IntPtr smallIconHandle,
Int32 numberOfIcons);
[DllImport("User32", EntryPoint = "ClientToScreen", SetLastError = true,
CharSet = CharSet.Auto,
ExactSpelling = true,
CallingConvention = CallingConvention.StdCall)]
public static extern Int32 ClientToScreen(
IntPtr hWnd,
[In, Out] NativeTypes.POINT pt);
[return: MarshalAs(UnmanagedType.Bool)]
[DllImport("Advapi32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
public static extern Boolean ConvertStringSecurityDescriptorToSecurityDescriptor(
String StringSecurityDescriptor,
UInt32 StringSDRevision,
ref IntPtr SecurityDescriptor,
IntPtr SecurityDescriptorSize);
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern void DwmExtendFrameIntoClientArea(
IntPtr hwnd,
ref NativeTypes.MARGINS margins);
[DllImport("dwmapi.dll", PreserveSig = false)]
public static extern Boolean DwmIsCompositionEnabled();
}
public class LocalFileSystem : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public static readonly IconDictionary IconList = new IconDictionary();
//public static readonly Dictionary<String, BitmapSource> IconList = new Dictionary<String, BitmapSource>();
public ObservableCollection<DiskDirectory> RootDirectories
{
get { return rootDirectories; }
}
>>78 private void RaisePropertyChangedEvent(String propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
private ObservableCollection<DiskDirectory> rootDirectories;
public LocalFileSystem()
{
rootDirectories = new ObservableCollection<DiskDirectory>();
try
{
foreach (DriveInfo driveInfo in DriveInfo.GetDrives())
{
if (driveInfo.IsReady)
{
DiskDirectory rootDir = new DiskDirectory(driveInfo);
rootDirectories.Add(rootDir);
}
}
RaisePropertyChangedEvent("RootDirectories");
>>77 }
catch (UnauthorizedAccessException){}
}
<Window.Resources>
<!-- Data Object For Local File System -->
<ObjectDataProvider x:Key="localFileSystem" ObjectType="{x:Type cc:LocalFileSystem}" />
<!-- ContextMenu Resource -->
<ContextMenu x:Key="contextMenu" DataContext="{Binding Path=SelectedItem, ElementName=directoryTree}">
<MenuItem Header="_New Folder" Command="ApplicationCommands.New"/>
<MenuItem Header="_Delete Folder" Command="ApplicationCommands.Delete"/>
</ContextMenu>
<!-- DataTemplate For TreeViewItem -->
<HierarchicalDataTemplate x:Key="treeViewItemTemplate" DataType = "{x:Type cc:DiskDirectory}"
ItemsSource = "{Binding Path=SubDirectories}">
<StackPanel Orientation="Horizontal" Name="templateRoot">
<Image Name="directoryIcon" Source="{Binding Path=NormalDisplayIcon}" VerticalAlignment="Center" />
<TextBlock Name="directoryName" Text="{Binding Path=DisplayName}" Margin="2,0,0,0" VerticalAlignment="Center" />
</StackPanel>
<HierarchicalDataTemplate.Triggers>
<DataTrigger Binding="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Value="True">
<Setter Property="Source" TargetName="directoryIcon" Value="{Binding Path=SelectionDisplayIcon}" />
</DataTrigger>
</HierarchicalDataTemplate.Triggers>
</HierarchicalDataTemplate>
</Window.Resources>
2048 Bytes制限… orz
110 def internalError(self, start_response, message, exception=None):
111 tpl = self._tplMgr.getTemplate('internalerror')
112 if (isinstance(exception, LgException)):
113 tpl.message = exception.msg()
114 else:
115 tpl.message = message
116 tpl.exception=exception
117 ser = self._tplMgr.getSerializer()
118 start_response('500 Internal Error', [('Content-Type', 'text/html')])
119 return [tpl.serialize(output=ser)]
<TABLE WIDTH="95%" BGCOLOR="#CCFFCC" CELLPADDING="3" BORDER="1" ALIGN="center" CELLSPACING="7">
<TR><TD>
<FORM ACTION="/cgi-bin/lg/test/bbs.cgi" METHOD="POST">
タイトル:
<INPUT TYPE="text" NAME="subject" SIZE="40">
<INPUT TYPE="submit" NAME="submit" VALUE="新規スレッド作成">
<BR>
名前:
<INPUT NAME="FROM" TYPE="text" VALUE="" SIZE="19">
E-mail:
<INPUT NAME="mail" TYPE="text" VALUE="" SIZE="19">
<BR>
内容:
<TEXTAREA ROWS="5" NAME="MESSAGE" WRAP="OFF" COLS="60"></TEXTAREA>
<INPUT TYPE="hidden" NAME="bbs" VALUE="index.cgi">
<INPUT TYPE="hidden" NAME="time" VALUE="1160832877">
</FORM>
</TD></TR>
</TABLE>
118 <table border="1" cellspacing="7" cellpadding="3" width="95%"
119 bgcolor="#CCFFCC" align="center">
120 <tr><td>
121 <form method="POST" action="${baseURI}/test/bbs.cgi">
122 タイトル:
123 <input type="text" name="subject" size="40"/>
124 <input type="submit" value="新規スレッド作成" name="submit"/>
125 <br/>
126 名前:
127 <input type="text" name="FROM" size="19" value="${cookiename}"/>
128 E-mail:
129 <input type="text" name="mail" size="19" value="${cookiemail}"/>
130 <br/>
131 内容:
132 <textarea rows="5" cols="60" wrap="OFF" name="MESSAGE"></textarea>
>>82 133 <input type="hidden" name="bbs" value="${board}"/>
134 <input type="hidden" name="time" value="1160832877"/>
135 </form>
136 </td></tr>
137 </table>
31 reqURI = env['REQUEST_URI']
32 self._params = reqURI[len(baseURI)+1:].split('/')
global LgException = <class lg.exception.LgException>, baseURI = '/cgi-bin/lg'
global LgException = <class lg.exception.LgException>, reqURI = '/cgi-bin/lg/index.cgi'
>>> '/test/bbs.cgi'.split('/')
['', 'test', 'bbs.cgi']
>>> reqURI ='/cgi-bin/lg/test/bbs.cgi'
>>> baseURI ='/cgi-bin/lg'
>>> reqURI[len(baseURI):]
'/test/bbs.cgi'
>>> reqURI[len(baseURI):].split('/')
['', 'test', 'bbs.cgi']
>>> reqURI[len(baseURI)+1:]
'test/bbs.cgi'
>>> reqURI[len(baseURI)+1:].split('/')
['test', 'bbs.cgi']
321 # In this case, we have something dangling that might need to be
322 # matched
dangling wrap
《コ》ぶらさげ禁則{きんそく}◆日本語ワープロにおける禁則処理方法の一つ
235 def buildnextreg(self, path, clist):
236 """Recursively build our regexp given a path, and a controller list.
237
238 Returns the regular expression string, and two booleans that can be
239 ignored as they're only used internally by buildnextreg.
240 """
247 # noreqs will remember whether the remainder has either a string
248 # match, or a non-defaulted regexp match on a key, allblank remembers
249 # if the rest could possible be completely empty
250 (rest, noreqs, allblank) = ('', True, True)
213 def makeregexp(self, clist):
214 """Create a regular expression for matching purposes
215
216 Note: This MUST be called before match can function properly.
217
218 clist should be a list of valid controller strings that can be
219 matched, for this reason makeregexp should be called by the web
220 framework after it knows all available controllers that can be
221 utilized.
222 """
223 (reg, noreqs, allblank) = self.buildnextreg(self.routelist, clist)
使えるすべてのコントローラーを認識したあとで
370 def match(self, url, environ=None, sub_domains=False,
371 sub_domains_ignore=None, domain_match=''):
372 """Match a url to our regexp.
373
374 While the regexp might match, this operation isn't
375 guaranteed as there's other factors that can cause a match to fail
376 even though the regexp succeeds (Default that was relied on wasn't
377 given, requirement regexp doesn't pass, etc.).
378
379 Therefore the calling function shouldn't assume this will return a
380 valid dict, the other possible return is False if a match doesn't work
381 out.
382 """
思い込むべきではありません
449 def generate(self, _ignore_req_list=False, _append_slash=False, **kargs):
450 """Generate a URL from ourself given a set of keyword arguments
451
452 Toss an exception if this
453 set of keywords would cause a gap in the url.
454
455 """
23 class Route(object):
24 """The Route object holds a route recognition and generation routine.
25
26 See Route.__init__ docs for usage.
27 """
28
29 def __init__(self, routepath, **kargs):
30 """Initialize a route, with a given routepath for matching/generation
31
32 The set of keyword args will be used as defaults.
33
34 Usage::
35
36 >>> from routes.base import Route
37 >>> newroute = Route(':controller/:action/:id')
38 >>> newroute.defaults
39 {'action': 'index', 'id': None}
40 >>> newroute = Route('date/:year/:month/:day', controller="blog",
41 ... action="view")
42 >>> newroute = Route('archives/:page', controller="blog",
43 ... action="by_page", requirements = { 'page':'\d{1,2}' })
44 >>> newroute.reqs
45 {'page': '\\\d{1,2}'}
46
47 .. Note::
48 Route is generally not called directly, a Mapper instance connect
49 method should be used to add routes.
50 """
833 def generate(self, *args, **kargs):
834 """Generate a route from a set of keywords
835
836 Returns the url text, or None if no URL could be generated.
837
838 .. code-block:: Python
839
840 m.generate(controller='content',action='view',id=10)
841
842 """
843 # Generate ourself if we haven't already
844 if not self._created_gens:
845 self._create_gens()
846
847 if self.append_slash:
848 kargs['_append_slash'] = True
849
850 if not self.explicit:
851 if 'controller' not in kargs:
852 kargs['controller'] = 'content'
853 if 'action' not in kargs:
854 kargs['action'] = 'index'
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>{% block title %}Untitled{% endblock %}</title> #<title>タグの中にtitleブロックを定義
{% block js %}{% endblock %} # jsブロックを定義(<script>タグは拡張側で書く)
<style type="text/css">
{% block css %}{% endblock %} #cssブロックを定義
</style>
</head>
<body bgcolor=gray text=white link=pink vlink=pink>
<h1>MessageRelaySystem Two a</h1>
<a href="/">Home</a>
<hr>
{% block contents %}hello world.{% endblock %} #contentsブロックを定義
<hr>
</body>
</html>
{% extends "base.html" %} #base.htmlを拡張しますよ宣言
{% block title %} # title ブロックの始まり宣言
>>95 {{ title }}
{% endblock %} # title ブロック ここまで
{% block contents %} # contents ブロックの始まり宣言
>>95 <h3>{{ title }}</h3>
{% endblock %} # contents ブロックここまで
{% block js %} #js ブロック始まり宣言
<script language="javascript" src="./js/prototype.js"
>>95 type="text/javascript"></script>
{% endblock %} #jsブロックここまで
{% block css %} #cssブロック始まり宣言
>>95 .Title{
background:#fff;
float:center;
width:700px;
margin:10px auto 0;
padding:6px;
border:solid 1px #eee;
}
{% endblock %} #cssブロックここまで
using System;
using Microsoft.Scripting;
using Microsoft.Scripting.Hosting;
using IronPython.Hosting;
internal sealed class PythonWindowsConsoleHost : ConsoleHost {
protected override void Initialize() {
base.Initialize();
this.Options.LanguageProvider = ScriptEnvironment.GetEnvironment().GetLanguageProvider(
typeof(PythonLanguageProvider)
);
// TODO: this.Options.NoConsole = true;
}
[STAThread]
static int Main(string[] args) {
return new PythonWindowsConsoleHost().Run(args);
}
}
using System;
using Microsoft.Scripting;
using Microsoft.Scripting.Hosting;
using IronPython.Hosting;
internal sealed class PythonConsoleHost : ConsoleHost {
protected override void Initialize() {
base.Initialize();
this.Options.LanguageProvider = ScriptEnvironment.GetEnvironment().GetLanguageProvider(
typeof(PythonLanguageProvider)
);
}
[STAThread]
static int Main(string[] args) {
return new PythonConsoleHost().Run(args);
>>98 }
}
import sys
import clr
from System.IO import Path, Directory, FileInfo
dir = Path.Combine(sys.prefix, 'DLLs')
if Directory.Exists(dir):
sys.path.append(dir)
files = Directory.GetFiles(dir)
for file in files:
if file.lower().endswith('.dll'):
try:
clr.AddReference(FileInfo(file).Name)
except:
pass
C:\IronPython-1.1>ipy.exe
IronPython 1.1 (1.1) on .NET 2.0.50727.1378
Copyright (c) Microsoft Corporation. All rights reserved.
>>> import sys
>>> sys.platform
'cli'
>>> sys.version
'2.4.0 (IronPython 1.1 (1.1) on .NET 2.0.50727.1378)'
>>> sys.path
['C:\\IronPython-1.1', 'C:\\IronPython-1.1\\Lib']
C:\Python25>python.exe
Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.platform
'win32'
>>> sys.version
'2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)]'
>>101 >>> sys.path
['', 'C:\\Windows\\system32\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\
\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25
', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\PIL',
'C:\\Python25\\lib\\site-packages\\wx-2.8-msw-unicode']
>>> sys.builtin_module_names
('gc', 'exceptions', 'sha', '_weakref', '_sre', '_random', 'time', 'thread', 'st
ruct', 're', 'operator', 'nt', 'math', 'marshal', 'itertools', 'imp', 'cPickle',
'errno', 'datetime', 'cStringIO', 'collections', '_codecs', 'binascii', 'socket
', 'select', '_locale', 'copy_reg', '__builtin__', 'md5', 'array')
>>> sys.builtin_module_names
('__builtin__', '__main__', '_ast', '_bisect', '_codecs', '_codecs_cn', '_codecs
_hk', '_codecs_iso2022', '_codecs_jp', '_codecs_kr', '_codecs_tw', '_csv', '_fun
ctools', '_heapq', '_hotshot', '_locale', '_lsprof', '_md5', '_multibytecodec',
'_random', '_sha', '_sha256', '_sha512', '_sre', '_struct', '_subprocess', '_sym
table', '_types', '_weakref', '_winreg', 'array', 'audioop', 'binascii', 'cPickl
e', 'cStringIO', 'cmath', 'collections', 'datetime', 'errno', 'exceptions', 'gc'
, 'imageop', 'imp', 'itertools', 'marshal', 'math', 'mmap', 'msvcrt', 'nt', 'ope
rator', 'parser', 'rgbimg', 'signal', 'strop', 'sys', 'thread', 'time', 'xxsubty
pe', 'zipimport', 'zlib')
{'copy_reg': <module 'copy_reg' from 'C:\Python25\lib\copy_reg.pyc'>,
'sre_compile': <module 'sre_compile' from 'C:\Python25\lib\sre_compile.pyc'>,
'encodings.cp932': <module 'encodings.cp932' from 'C:\Python25\lib\encodings\cp932.pyc'>,
'locale': <module 'locale' from 'C:\Python25\lib\locale.pyc'>,
'_sre': <module '_sre' (built-in)>,
'__main__': <module '__main__' (built-in)>,
'site': <module 'site' from 'C:\Python25\lib\site.pyc'>,
'__builtin__': <module '__builtin__' (built-in)>,
'encodings._codecs_jp': None,
'operator': <module 'operator' (built-in)>,
'encodings': <module 'encodings' from 'C:\Python25\lib\encodings\__init__.pyc'>,
'os.path': <module 'ntpath' from 'C:\Python25\lib\ntpath.pyc'>,
'encodings.encodings': None,
'_codecs_jp': <module '_codecs_jp' (built-in)>,
'encodings.codecs': None,
'sre_constants': <module 'sre_constants' from 'C:\Python25\lib\sre_constants.pyc'>,
're': <module 're' from 'C:\Python25\lib\re.pyc'>,
'ntpath': <module 'ntpath' from 'C:\Python25\lib\ntpath.pyc'>,
'UserDict': <module 'UserDict' from 'C:\Python25\lib\UserDict.pyc'>,
'encodings._multibytecodec': None,
'nt': <module 'nt' (built-in)>,
'stat': <module 'stat' from 'C:\Python25\lib\stat.pyc'>,
'zipimport': <module 'zipimport' (built-in)>,
'warnings': <module 'warnings' from 'C:\Python25\lib\warnings.pyc'>,
'encodings.types': None,
'_codecs': <module'_codecs' (built-in)>,
'_multibytecodec': <module '_multibytecodec' (built-in)>,
'sys': <module 'sys' (built-in)>,
'codecs': <module 'codecs' from 'C:\Python25\lib\codecs.pyc'>,
'types': <module 'types' from 'C:\Python25\lib\types.pyc'>,
'_types': <module '_types' (built-in)>,
'_locale': <module '_locale' (built-in)>,
'signal': <module 'signal' (built-in)>,
'linecache': <module 'linecache' from 'C:\Python25\lib\linecache.pyc'>,
'encodings.aliases': <module 'encodings.aliases' from 'C:\Python25\lib\encodings\aliases.pyc'>,
'exceptions': <module 'exceptions' (built-in)>,
'sre_parse': <module 'sre_parse' from 'C:\Python25\lib\sre_parse.pyc'>,
'os': <module 'os' from 'C:\Python25\lib\os.pyc'>}
>>> sys.modules
{'sys': <module 'sys' (built-in)>,
'__builtin__': <module '__builtin__' (built-in)>,
'__main__': <module '__main__' (built-in)>,
'site': <module 'site' from 'C:\IronPython-1.1\Lib\site.py'>}
>>104 >>105
>>> sys.maxint
2147483647
>>> sys.executable
'C:\\IronPython-1.1\\ipy.exe'
>>> sys.copyright
'Copyright (c) Microsoft Corporation. All rights reserved.'
>>> sys.api_version
'IronPython does not support the C APIs, the api_version is not supported'
>>> sys.version_info
(2, 4, 0, 'release', 0)
>>> sys.getdefaultencoding()
'us_ascii'
>>> sys.maxint
2147483647
>>> sys.executable
'C:\\Python25\\python.exe'
>>> sys.api_version
1013
>>> sys.version_info
(2, 5, 1, 'final', 0)
>>> sys.getdefaultencoding()
>>108 'ascii'
>>> u = u'あいうえお'
>>> u
u'\u3042\u3044\u3046\u3048\u304a'
>>> print u
あいうえお
>>> s = u.encode('shift-jis')
>>> s
u'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8'
>>> print s
???¢???|?¨
>>> unicode(s, 'shift-jis')
u'\u3042\u3044\u3046\u3048\u304a'
>>> print unicode(s, 'shift-jis')
あいうえお
>>> u = u'あいうえお'
>>> u
u'\u3042\u3044\u3046\u3048\u304a'
>>> print u
あいうえお
>>> s = u.encode('shift-jis')
>>> s
'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8'
>>> print s
あいうえお
>>> e = u.encode('euc-jp')
>>> e
'\xa4\xa2\xa4\xa4\xa4\xa6\xa4\xa8\xa4\xaa'
>>> print e
、「、、、ヲ、ィ、ェ
>>> e = u.encode('euc-jp')
>>> e
u'\xa4\xa2\xa4\xa4\xa4\xa6\xa4\xa8\xa4\xaa'
>>> print e
?¢???|?¨?a
>>> utf = u.encode('utf-8')
>>> utf
'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a'
>>> print utf
縺ゅ>縺・∴縺
>>> utf = u.encode('utf-8')
>>> utf
u'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a'
>>> print utf
a??a??a??a??a??
>>> degits = '123456'
>>> degits.find('23')
1
>>> degits.find('67')
-1
>>> degits.find('6')
5
>>> degits[2] = 4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> degits[2] = 4
Traceback (most recent call last):
File , line 0, in <stdin>##54
AttributeError: 'str' object has no attribute '__setitem__'
>>> a = [1,2,3,4,5]
>>> a[1:3] # インデックスの1番目から2番目までを
>>> a[3:4] # インデックスの3番目を
>>> a[2:] # インデックスの2番目から後ろを
>>> a[:3] # インデックスの2番目までを
[2, 3]
[4]
[3, 4, 5]
[1, 2, 3]
>>> a[100]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
>>> a[100]
Traceback (most recent call last):
File , line 0, in <stdin>##56
IndexError: index out of range: 100
>>> a + 100
Traceback (most recent call last):
File , line 0, in <stdin>##57
TypeError: can only concatenate list (not "int") to list
>>> a + 'IronPython'
Traceback (most recent call last):
File , line 0, in <stdin>##58
TypeError: can only concatenate list (not "str") to list
>>> t = (1,2,3,4,5)
>>> t[4] = 'four'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> t[4] = 'four'
Traceback (most recent call last):
File , line 0, in <stdin>##60
AttributeError: 'tuple' object has no attribute '__setitem__'
>>116
>>> d = {'Iron';'Python', 'C':'Python'}
File "<stdin>", line 1
d = {'Iron';'Python', 'C':'Python'}
^
SyntaxError: invalid syntax
>>> d = {'Iron';'Python', 'C':'Python'}
Traceback (most recent call last):
SyntaxError: unexpected token ; (<stdin>, line 1)
>>> sys.modules[__name__].__dict__
{'__name__': '__main__', '__builtins__': <type '__builtin__'>, '__doc__': None,
'site': <module 'site' from 'C:\IronPython-1.1\Lib\site.py'>, 'sys': <module 'sy
s' (built-in)>, '_': {...}, 'a': [1, 2, 3, 4, 5], 'u': u'\u3042\u3044\u3046\u304
8\u304a', 's': u'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8', 'c': u'\x82\xa0\x82\
xa2\x82\xa4\x82\xa6\x82\xa8', 'e': u'\xa4\xa2\xa4\xa4\xa4\xa6\xa4\xa8\xa4\xaa',
'utf': u'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a', 'degits'
: '123456', 't': (1, 2, 3, 4, 5), 'd': {'Iron': 'Python', 'C': 'Python'}}
>>> sys.modules[__name__].__dict__
{'a': [1, 2, 3, 4, 5], 'e': '\xa4\xa2\xa4\xa4\xa4\xa6\xa4\xa8\xa4\xaa', 'd': {'C
': 'Python', 'Iron': 'Python'}, '__builtins__': <module '__builtin__' (built-in)>,
'utf': '\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a', 'sys':
<module 'sys' (built-in)>, 's': '\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8', 'u'
: u'\u3042\u3044\u3046\u3048\u304a', 't': (1, 2, 3, 4, 5), '__name__': '__main__
', 'degits': '123456', '__doc__': None}
>>> for k in sys.modules[__name__].__dict__:
... print k, '=', sys.modules[__name__].__dict__[k]
...
__name__ = __main__
__builtins__ = <type '__builtin__'>
__doc__ = None
site = <module 'site' from 'C:\IronPython-1.1\Lib\site.py'>
sys = <module 'sys' (built-in)>
_ = {'__name__': '__main__', '__builtins__': <type '__builtin__'>, '__doc__': No
ne, 'site': <module 'site' from 'C:\IronPython-1.1\Lib\site.py'>, 'sys': <module
'sys' (built-in)>, '_': {'__name__': '__main__', '__builtins__': <type '__built
in__'>, '__doc__': None, 'site': <module 'site' from 'C:\IronPython-1.1\Lib\site
.py'>, 'sys': <module 'sys' (built-in)>, '_': {...}, 'a': [1, 2, 3, 4, 5], 'u':
u'\u3042\u3044\u3046\u3048\u304a', 's': u'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\x
a8', 'c': u'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8', 'e': u'\xa4\xa2\xa4\xa4\x
a4\xa6\xa4\xa8\xa4\xaa', 'utf': u'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x
88\xe3\x81\x8a', 'degits': '123456', 't': (1, 2, 3, 4, 5), 'd': {'Iron': 'Python
', 'C': 'Python', 'title': 'Programming IronPython'}, 'k': '_'}, 'a': [1, 2, 3,
4, 5], 'u': u'\u3042\u3044\u3046\u3048\u304a', 's': u'\x82\xa0\x82\xa2\x82\xa4\x
82\xa6\x82\xa8', 'c': u'\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8', 'e': u'\xa4\x
a2\xa4\xa4\xa4\xa6\xa4\xa8\xa4\xaa', 'utf': u'\xe3\x81\x82\xe3\x81\x84\xe3\x81\x
86\xe3\x81\x88\xe3\x81\x8a', 'degits': '123456', 't': (1, 2, 3, 4, 5), 'd': {'Ir
on': 'Python', 'C': 'Python', 'title': 'Programming IronPython'}, 'k': '_'}
a = [1, 2, 3, 4, 5]
u = あいうえお
s = ???¢???|?¨
c = ???¢???|?¨
e = ?¢???|?¨?a
utf = a??a??a??a??a??
degits = 123456
t = (1, 2, 3, 4, 5)
d = {'Iron': 'Python', 'C': 'Python', 'title': 'Programming IronPython'}
00082 if (!$_conf['ktai']) {
00083 include_once './style/style_css.inc';
00084 include_once './style/read_css.inc';
00085
00086 echo <<<EOSCRIPT
00087 <script type="text/javascript" src="js/basic.js?v=20061209"></script>
00088 <script type="text/javascript" src="js/respopup.js"></script>
00089
00090 <script type="text/javascript">
00091 function hist_checkAll(mode) {
00092 if (!document.getElementsByName) {
00093 return;
00094 }
00095 var checkboxes = document.getElementsByName('checked_hists[]');
00096 var cbnum = checkboxes.length;
00097 for (var i = 0; i < cbnum; i++) {
00098 checkboxes[i].checked = mode;
00099 }
00100 }
00101 addLoadEvent(function() {
00102 gIsPageLoaded = true;
00103 });
00104 </script>
00105 EOSCRIPT;
00106 }
> import urlparse
> urlstr = "
http://pc11.2ch.net/test/read.cgi/prog/1194683239/"
> buf = urlparse.urlparse(urlstr)
> buf
('http', 'pc11.2ch.net', '/test/read.cgi/prog/1194683239/', '', '', '')
> urlstr = "
http://localhost/tractest/browser/js/basic.js"
> buf = urlparse.urlparse(urlstr)
> buf
('http', 'localhost', '/tractest/browser/js/basic.js', '', '', '')
> urlstr = "
http://localhost/tractest/browser/js/basic.js?rev=1"
> buf = urlparse.urlparse(urlstr)
> buf
('http', 'localhost', '/tractest/browser/js/basic.js', '', 'rev=1', '')
> urlstr = "
http://localhost/tractest/browser/js/basic.js?rev=1#48"
> buf = urlparse.urlparse(urlstr)
> buf
('http', 'localhost', '/tractest/browser/js/basic.js', '', 'rev=1', '48')
00380 disable : function(){
00381 if(this.el){
00382 this.el.addClass("x-btn-disabled");
00383 }
00384 this.disabled = true;
00385 },
00386
00390 enable : function(){
00391 if(this.el){
00392 this.el.removeClass("x-btn-disabled");
00393 }
00394 this.disabled = false;
00395 },
00396
00401 setDisabled : function(v){
00402 this[v !== true ? "enable" : "disable"]();
00403 },
00356 enable : function(){
00357 if(this.rendered){
00358 this.onEnable();
00359 }
00360 this.disabled = false;
00361 this.fireEvent("enable", this);
00362 return this;
00363 },
00364
00365 // private
00366 onEnable : function(){
00367 this.getActionEl().removeClass(this.disabledClass);
>>131 Button.js
00368 this.el.dom.disabled = false;
00369 },
00370
00375 setDisabled : function(disabled){
00376 this[disabled ? "disable" : "enable"]();
00377 },
00319 show: function(){
00320 this.hidden = false;
00321 if(this.el){
00322 this[this.hideParent? 'parentEl' : 'el'].setStyle("display", "");
00323 }
00324 },
00325
00329 hide: function(){
00330 this.hidden = true;
00331 if(this.el){
00332 this[this.hideParent? 'parentEl' : 'el'].setStyle("display", "none");
00333 }
00334 },
00335
00340 setVisible: function(visible){
00341 if(visible) { this.show();}else{ this.hide();}
00346 },
00410 hide: function(){
00411 if(this.fireEvent("beforehide", this) !== false){
00412 this.hidden = true;
00413 if(this.rendered){
00414 this.onHide();
00415 }
00416 this.fireEvent("hide", this);
00417 }
00418 return this;
00419 },
00420
00421 // private
00422 onHide : function(){
00423 var ae = this.getActionEl();
00424 if(this.hideMode == 'visibility'){
00425 ae.dom.style.visibility = "hidden";
>>133 Button.js
00426 }else if(this.hideMode == 'offsets'){
00427 ae.addClass('x-hidden');
00428 }else{
00429 ae.dom.style.display = "none";
00430 }
00431 },
00432
00438 setVisible: function(visible){
00439 if(visible) { this.show();}else{ this.hide();}
00444 return this;
00445 },
setDisabled( Boolean disabled ) : void Component
Convenience function for setting disabled/enabled by boolean.
setVisible( Boolean visible ) : Ext.Component Component
Convenience function to hide or show this component by boolean.
Ext.ux.TaskBar.TaskButton = function(win, el){
this.win = win;
Ext.ux.TaskBar.TaskButton.superclass.constructor.call(this, {
iconCls: win.iconCls,
text: Ext.util.Format.ellipsis(win.title, 12),
renderTo: el,
handler : function(){
if(win.minimized || win.hidden){
win.show();
}else if(win == win.manager.getActive()){
win.minimize();
}else{
win.toFront();
}
},
clickEvent:'mousedown',
>>137 });
};
template: new Ext.Template(
'<table border="0" cellpadding="0" cellspacing="0" class="x-btn-wrap"><tbody><tr>',
'<td class="ux-taskbutton-left"><i>?</i></td>
<td class="ux-taskbutton-center"><em unselectable="on"><button class="x-btn-text" type="{1}" style="height:28px;">{0}</button></em></td>
<td class="ux-taskbutton-right"><i>?</i></td>',
"</tr></tbody></table>")
>>136
var width = Ext.get('ux-startbutton').getWidth()+10;
var sbBox = new Ext.BoxComponent({
el: 'ux-taskbar-start',
id: 'TaskBarStart',
minWidth: width,
region:'west',
split: true,
width: width
});
this.tbPanel = new Ext.ux.TaskButtonsPanel({
el: 'ux-taskbuttons-panel',
id: 'TaskBarButtons',
region:'center'
});
var container = new Ext.ux.TaskBarContainer({
el: 'ux-taskbar',
layout: 'border',
items: [sbBox,this.tbPanel]
});
/**
* @class Ext.ux.TaskBar
* @extends Ext.util.Observable
*/
Ext.ux.TaskBar = function(app){
this.app = app;
this.init();
}
Ext.extend(Ext.ux.TaskBar, Ext.util.Observable, {
init : function(){
>>138 }
});
/**
* @class Ext.ux.TaskBarContainer
* @extends Ext.Container
*/
Ext.ux.TaskBarContainer = Ext.extend(Ext.Container, {
>>138 コンテナが Box とPanel を包み込む
/**
* @class Ext.ux.TaskButtonsPanel
* @extends Ext.BoxComponent
*/
Ext.ux.TaskButtonsPanel = Ext.extend(Ext.BoxComponent, {
this.items.each(
function(item){
var li = document.createElement("li");
li.className = "x-menu-list-item";
ul.dom.appendChild(li);
item.render(li, this);
}, this);
this.ul = ul;
this.autoWidth();
this.toolItems.each(
function(item){
var li = document.createElement("li");
li.className = "x-menu-list-item";
toolsUl.dom.appendChild(li);
item.render(li, this);
}, this);
this.toolsUl = toolsUl;
this.autoWidth();
var ul = this.menuPanel.createChild({
tag: "ul",
cls: "x-menu-list"});
var toolsUl = this.toolsPanel.createChild({
tag: "ul",
cls: "x-menu-list"
});
var ResizableExample = {
init : function(){
var dwrapped = new Ext.Resizable('dwrapped', {
wrap:true, //リサイズ可能かどうか
pinned:true, //ハンドルを常に表示するか
//handles:'e', //横のハンドルのみ表示する
//handles:'s', //縦のハンドルのみ表示する
width:450, //横の長さ
height:150, //縦の長さ
minWidth:200, //小さくできる横の限界
minHeight:50, //小さくできる縦の限界
dynamic:true //ドラッグ中にリアルタイムでリサイズするか
});
}
};
Ext.EventManager.onDocumentReady(ResizableExample.init, ResizableExample, true);
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css" />
<script type="text/javascript" src="../../adapter/ext/ext-base.js"></script> # 先にimportしないとエラー
<script type="text/javascript" src="../../ext-all.js"></script>
<script language="javascript" src="my_basic.js"></script>
>>144 </head>
<body>
<textarea id="dwrapped">
Who killed Cock Robin?
I, said the Sparrow,
With my bow and arrow,
I killed Cock Robin.
</textarea>
</body></html>
Key has priority over index. より優先する
getJsonAccessor: function(){
var re = /[\[\.]/;
return function(expr) {
try {
return
function(obj){
return obj[expr];
};
} catch(e){}
return Ext.emptyFn;
};
}(),
119 // Generate extraction functions for the totalProperty, the root, the id, and for each field
120 if (!this.ef) {
143 }
28 Ext.data.Record = function(data, id){
29 this.id = (id || id === 0) ? id : ++Ext.data.Record.AUTO_ID;
30 this.data = data;
31 };
#! /usr/bin/python
# -*- coding: utf-8 -*-
import urllib
import re
import cookielib
conn = urllib.urlopen('
http://www.nicovideo.jp/tag/%E3%82%B2%E3%83%BC%E3%83%A0')
data = conn.read()
#re_count = re.compile(r'<a([^>]+)>(.+?)</a>|$', re.I)
re_count = re.compile(r'<strong>(.+?)</strong>|$')
count = re_count.search(data)
print count.group(0)
#! /usr/bin/python
# -*- coding: utf-8 -*-
list = []
list.append({u"売上げ":9800, u"仕入れ":10000, u"材料":5000, u"id":1})
list.append({u"売上げ":5800, u"仕入れ":6000, u"材料":3000, u"id":2})
list.append({u"売上げ":4800, u"仕入れ":5000, u"材料":2000, u"id":3})
#list.sort(key=lambda h : -h[u'材料'])
plot01 = []; plot02 = []; plot03 = []
for e in list:
print e
for j,k in e.iteritems():
print j, k
if j == u"売上げ": plot01.append(k)
elif j == u"仕入れ": plot02.append(k)
elif j == u"材料": plot03.append(k)
print plot01;print plot02;print plot03
C:\Users\tenyoshi\Desktop\IronPython-28333\IronPython_Main\Src\Tests\timeit.py
C:\Python25\Lib\test\pystone.py
u = '%s' % (list(u'あいうえお'))
for e in list(u'あいうえお'):
  print e
print "".join(list(u'あいうえお'))
print u # [u'\u3042', u'\u3044', u'\u3046', u'\u3048', u'\u304a']
for e in u:
  print e
print list(u'あいうえお').__repr__
print "".join(list(u'あいうえお')).__repr__
print "".join(list('あいうえお')).__repr__
v = list(u'あいうえお')
v.append('か')
print v.__repr__
print "".join(v).__repr__
>>153 <method-wrapper '__repr__' of list object at 0x0141EA08>
<method-wrapper '__repr__' of unicode object at 0x00C8A608>
<method-wrapper '__repr__' of str object at 0x0141EF48>
<method-wrapper '__repr__' of list object at 0x0141EF58>
Traceback (most recent call last):
File "res_analyzer.py", line 86, in <module>
print "".join(v).__repr__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 0: ordinal
not in range(128)
>>61 for e in RE_SGLSTR.findall(line):
if JP_TOKEN.search(e) and e[1:2] != u'm' and e[-1:] != u'I':
継続とインデックスカウンタの相性はあまり
よろしくなく
n = 1
for e in ITERATOR.findall(data):
if e[:4] == u"ほげほげ":
dict1[n] = e[5:]
n += 1
if e[:4] == u"ふがふが":
dict2[n] = e[5:]
n += 1
とか辞書を作ろうとすると軽く死ねる
まずはlistに入れてあとで辞書に入れ直そう
>>> ord(u'あ')
12354
>>> ord(u'ア')
12450
>>> ord(u'ア') - ord(u'あ')
96
>>> ord(u'ゾ') - ord(u'ぞ')
96
iteritems(): 28.28
zip(): 29.96
iteritems(): 25.13
zip(): 25.27
iteritems(): 22.99
zip(): 23.14
iteritems(): 22.99
zip(): 23.19
for e,j in JIN.iteritems():
    klist.append(e)
    ylist.append(j)
start1 = time.clock()    
for e,j in JIN.iteritems():
    print e,j
end1 = time.clock()
start2 = time.clock()    
for e,j in zip(klist, ylist):
    print e,j
end2 = time.clock()
print "iteritems(): %.2f" % (end1-start1)
print "zip(): %.2f" % (end2-start2)
        """
        for e in ksrc:
            if k.find(e): msg = re.sub(k, JIN[k], msg)
        for e in ksrc4:
            if k.find(e): msg = re.sub(k, JIN[k], msg)
        for e in ksrc3:
            if k.find(e): msg = re.sub(k, JIN[k], msg)
        for e in ksrc2:
            if k.find(e): msg = re.sub(k, JIN[k], msg)
        for e in ksrc1:
            if k.find(e): msg = re.sub(k, JIN[k], msg)
        """
    for e in jdata.splitlines():
        y, k = e.split(' ')[0], e.split(' ')[1]
        #print k, y
        #for k in k.split('/'):
        #    print k
        k = k[1:-1]
        k = k.split(';')[0]
        JIN[k] = y
        print k, y
岡本英樹 => おかもとひで樹
D[英樹] = えいき
D[英樹] = ひでき
辞書を作る段階で上書きされちゃう罠…
そもそもそれ以前の問題だし
>>> test = u"alpha;omega"
>>> for e in test.split('/'):
... print e
...
alpha;omega
We won't store your login info or
contact anyone without your permission.
リクナビ2009 会員登録番号 3328194043
[root@localhost ~]# python /root/tracpygmentsplugin/0.10/setup.py install
running install
running bdist_egg
running egg_info
creating TracPygments.egg-info
writing requirements to TracPygments.egg-info/requires.txt
writing TracPygments.egg-info/PKG-INFO
writing top-level names to TracPygments.egg-info/top_level.txt
writing dependency_links to TracPygments.egg-info/dependency_links.txt
writing entry points to TracPygments.egg-info/entry_points.txt
writing manifest file 'TracPygments.egg-info/SOURCES.txt'
warning: manifest_maker: standard file 'setup.py' not found
reading manifest file 'TracPygments.egg-info/SOURCES.txt'
writing manifest file 'TracPygments.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-i686/egg
running install_lib
warning: install_lib: 'build/lib' does not exist -- no Python modules to install
creating build
creating build/bdist.linux-i686
creating build/bdist.linux-i686/egg
creating build/bdist.linux-i686/egg/EGG-INFO
copying TracPygments.egg-info/PKG-INFO -> build/bdist.linux-i686/egg/EGG-INFO
copying TracPygments.egg-info/SOURCES.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying TracPygments.egg-info/dependency_links.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying TracPygments.egg-info/entry_points.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying TracPygments.egg-info/requires.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying TracPygments.egg-info/top_level.txt -> build/bdist.linux-i686/egg/EGG-INFO
copying TracPygments.egg-info/zip-safe -> build/bdist.linux-i686/egg/EGG-INFO
creating dist
creating 'dist/TracPygments-0.3-py2.3.egg' and adding 'build/bdist.linux-i686/egg' to it
removing 'build/bdist.linux-i686/egg' (and everything under it)
Processing TracPygments-0.3-py2.3.egg
Copying TracPygments-0.3-py2.3.egg to /usr/lib/python2.3/site-packages
Adding TracPygments 0.3 to easy-install.pth file
[root@localhost ~]# ls /usr/lib/python2.3/site-packages/
...
Pygments-0.9-py2.3.egg libusermodule.so svn
README libxml2.py trac
TracPygments-0.3-py2.3.egg libxml2.pyc urlgrabber
...
2007-11-30 19:45:45,214 Trac[browser] DEBUG:
Rendering preview of node dat.php@1 with mime-type text/x-php; charset=utf-8
2007-11-30 19:45:45,218 Trac[api] DEBUG:
Trying to render HTML preview using EnscriptRenderer
2007-11-30 19:45:45,219 Trac[enscript] DEBUG:
Enscript command line: /usr/bin/enscript --color -h -q --language=html -p - -Ephp
2007-11-30 19:45:45,257 Trac[api] WARNING:
HTML preview using <trac.mimeview.enscript.EnscriptRenderer object at 0xb788e16c> failed
(Running (/usr/bin/enscript --color -h -q --language=html -p - -Ephp) failed: 0,
states: undefined state `php'.)
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/mimeview/api.py", line 448, in render
filename, url)
File "/usr/lib/python2.3/site-packages/trac/mimeview/enscript.py", line 142, in render
raise Exception, err
Exception:
Running (/usr/bin/enscript --color -h -q --language=html -p - -Ephp) failed: 0,
states: undefined state `php'
2007-11-30 19:45:45,258 Trac[api] DEBUG:
Trying to render HTML preview using PHPRenderer
2007-11-30 19:45:45,262 Trac[php] DEBUG:
PHP command line: /usr/bin/php -sn
2007-11-30 19:45:45,281 Trac[api] WARNING:
HTML preview using <trac.mimeview.php.PHPRenderer object at 0xb788e1ec> failed (Running (/usr/bin/php -sn) failed: 255, .)
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/mimeview/api.py", line 456, in render
return Markup(self._annotate(result, annotations))
File "/usr/lib/python2.3/site-packages/trac/mimeview/api.py", line 490, in _annotate
for num, line in enumerate(_html_splitlines(lines)):
File "/usr/lib/python2.3/site-packages/trac/mimeview/api.py", line 620, in _html_splitlines
for line in lines:
File "/usr/lib/python2.3/site-packages/trac/mimeview/php.py", line 89, in render
raise Exception(msg)
Exception: Running (/usr/bin/php -sn) failed: 255, .
2007-11-30 19:45:45,282 Trac[api] DEBUG:
Trying to render HTML preview using SilverCityRenderer
2007-11-30 19:45:45,282 Trac[api] WARNING:
HTML preview using <trac.mimeview.silvercity.SilverCityRenderer object at 0xb788e24c> failed (No module named SilverCity)
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/mimeview/api.py", line 448, in render
filename, url)
File "/usr/lib/python2.3/site-packages/trac/mimeview/silvercity.py", line 93, in render
import SilverCity
ImportError: No module named SilverCity
2007-11-30 19:45:45,283 Trac[api] DEBUG:
Trying to render HTML preview using PlainTextRenderer
2007-11-30 19:45:45,284 Trac[api] DEBUG:
Using default plain text mimeviewer
2007-11-30 19:58:45,247 Trac[browser] DEBUG:
Rendering preview of node basic.js@1 with mime-type text/x-javascript; charset=utf-8
2007-11-30 19:58:45,250 Trac[api] DEBUG:
Trying to render HTML preview using SilverCityRenderer
2007-11-30 19:58:45,252 Trac[api] WARNING:
HTML preview using <trac.mimeview.silvercity.SilverCityRenderer object at 0xb77a720c> failed
(No module named SilverCity)
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/mimeview/api.py", line 448, in render
filename, url)
File "/usr/lib/python2.3/site-packages/trac/mimeview/silvercity.py", line 93, in render
import SilverCity
ImportError: No module named SilverCity
2007-11-30 19:58:45,254 Trac[api] DEBUG:
Trying to render HTML preview using EnscriptRenderer
2007-11-30 19:58:45,254 Trac[enscript] DEBUG:
Enscript command line: /usr/bin/enscript --color -h -q --language=html -p - -Ejavascript
2007-11-30 20:05:13,865 Trac[browser] DEBUG:
Rendering preview of node ssb-webrick.rb@1 with mime-type text/x-ruby; charset=iso-8859-15
2007-11-30 20:05:13,868 Trac[api] DEBUG:
Trying to render HTML preview using SilverCityRenderer
2007-11-30 20:05:13,874 Trac[api] WARNING:
HTML preview using <trac.mimeview.silvercity.SilverCityRenderer object at 0xb781c20c> failed (No module named SilverCity)
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/mimeview/api.py", line 448, in render
filename, url)
File "/usr/lib/python2.3/site-packages/trac/mimeview/silvercity.py", line 93, in render
import SilverCity
ImportError: No module named SilverCity
2007-11-30 20:05:13,875 Trac[api] DEBUG:
Trying to render HTML preview using EnscriptRenderer
2007-11-30 20:05:13,876 Trac[enscript] DEBUG:
Enscript command line: /usr/bin/enscript --color -h -q --language=html -p - -Eruby
2007-11-30 20:05:13,933 Trac[api] WARNING:
HTML preview using <trac.mimeview.enscript.EnscriptRenderer object at 0xb781c0ec> failed
(Running (/usr/bin/enscript --color -h -q --language=html -p - -Eruby) failed: 0,
states: undefined state `ruby'.)
Traceback (most recent call last):
File "/usr/lib/python2.3/site-packages/trac/mimeview/api.py", line 448, in render
filename, url)
File "/usr/lib/python2.3/site-packages/trac/mimeview/enscript.py", line 142, in render
raise Exception, err
Exception: Running (/usr/bin/enscript --color -h -q --language=html -p - -Eruby) failed: 0,
states: undefined state `ruby'
.
2007-11-30 20:05:13,934 Trac[api] DEBUG: Trying to render HTML preview using PlainTextRenderer
2007-11-30 20:05:13,939 Trac[api] DEBUG: Using default plain text mimeviewer
>>183 >>180はphpの場合
>>186 [root@localhost ~]# cat /opt/tracroot/tractest/conf/trac.ini
[logging]
log_file = trac.log
log_level = DEBUG
log_type = file
[root@localhost ~]# cat /opt/tracroot/tractest/log/trac.log
55 def _log(self, level, system, msg):
56 time = datetime.now().strftime(self._timeformat)
57 lv = { 0: '',
58 1: 'i ',
59 2: 'I ',
60 3: 'W ',
61 4: 'E ' }.get(level, '? ')
62 self._write('%s[%s] %s: %s\n' % (lv, time, system, msg))
63 self._flush()
For convenience, if a string with spaces in it is
provided as the 'namespaces' attribute, it is parsed into a list
of namespace names (this is mostly to work around the inability to
define lists easily in ConfigParser format).
便宜上、空白を保持する文字列は、名前空間の属性を提供する
名前空間を指し示すリストをパースすることによって
(これは ConfigParser format がリストを定義するのに無力である
ことを緩和するための方策です)
The Targets
The targets of a task are the files that are meant to be created
by the commands specified within the task. Although the commands(だけれども)
of a task may create many files and perform otherwise arbitrary
actions, the target files are the files that must be created for(作られなければなりません)
Buildit itself to consider the task "complete". It may (and almost
certainly will) require replacement interpolation. If only one
target file is required, it can be specified as a string. If more
than one target file is necessary, they must be supplied as
strings within a Python sequence. We only have one target above.
The target of our example above is
'${sharedir}/build/${pkgdn}/Makefile'.
A target file is not considered to be specified relative to the
working directory: it must be an absolute path or must be
specified relative to the current working directory from which the カレント作業ディレクトリと比較して指定されなければなりません。
Buildit driver is invoked. However, it can contain interpolation
syntax that will be resolved against the replacement object.
A target is optional. If a task has no targets, it will be run
unconditionally by Buildit on each invocation of the recipe in
which it is contained.(その後)
If all of a task's commands are run and the target files are not
subsequently available on the filesystem, Buildit will throw an
error.
Buildit automatically "touches" target files after they've been
created on the filesystem, so the date of all target files after a
Buildit run will be close to "now", so there's no need to "touch"
the target files manually.
>>191 (その後) => (無条件で)
subsequently => unconditionally
The Working Directory
In the example task above, we specify a working directory
('${sharedir}'). The working directory indicates the directory(指し示すディレクトリを)
into which we will tell the OS to chdir to before performing the(OSがchdirする先にあるそれを)(タスクによって指示されたコマンドが実行される前に)
commands indicated by the task. This is useful because it allows(これは有用だ)
us to specify relative paths in commands which follow. When the(あとに続く命令で相対パスを指定するのが可能になるので)
task is finished, the working directory is unconditionally reset
to the working directory that was effective before the task
started. Task working directories take effect for only the
duration of the task. Using a workdir is optional. If a workdir
is not specified, the commands of the task will execute in the
context of the working directory of the shell used to invoke the
recipe file.
Task Recompletion Algorithm
A task is considered to be complete if all of the following
statements can be made about it:
- it specifies one or more target files in the task definition
- all of its target files exist
If a task does not meet these completion requirements at any given もしタスクが完了条件に出会わなければ
time, on a subsequent run of the recipe file in which it defined (or 以降のレシピファイルの実行に際して
from a recipe file in which it is imported and used), its commands, それらのコマンド:全てのタスク上のコマンド(レシピに依存した)
*and all the commands of the tasks which are dependent upon it* will は依存している順序に従って rerun されます
be rerun in dependency order.
Buildit (unlike make) does not take into account the timestamp of a (makeとは異なり)
task's dependent targets when assessing whether a task needs to be タスクに従属するターゲットファイルのタイムスタンプを
recompleted. 考慮することはありません。再処理が必要かどうかを判断するに当たって
Without explaining much about what it means, here's an example of
what might go in the "breakfast.ini" we've threatened to define
above within our root .ini file::
をほのめかしていた。予感がしてた
override void Reflector::PowerShellLanguage::VisitorWriter::VisitThisReferenceExpression ( IThisReferenceExpression value ) [inline, virtual]
00499 {
00500 formatter.Write("$this"); => "self"
00501 }
override void Reflector::PowerShellLanguage::VisitorWriter::VisitFieldReferenceExpression ( IFieldReferenceExpression value ) [inline, virtual]
401
public override void VisitFieldReferenceExpression(IFieldReferenceExpression value)
{
formatter.Write("[");
VisitExpression(value.Target);
formatter.Write("]");
formatter.Write("::");
VisitFieldReference(value.Field);
}
override void Reflector::PowerShellLanguage::VisitorWriter::VisitBaseReferenceExpression ( IBaseReferenceExpression value ) [inline, virtual]
00805 {
00806 WriteUnsupported(value); => formatter.WriteKeyword("self");
00807 }
override void Reflector::PowerShellLanguage::VisitorWriter::VisitTryCatchFinallyStatement ( ITryCatchFinallyStatement value ) [inline, virtual]
00930 {
00931 WriteUnsupported(value);
00932
00933 }
override void Reflector::PowerShellLanguage::VisitorWriter::VisitBinaryExpression ( IBinaryExpression value ) [inline, virtual]
00286 {
00287 //formatter.Write("(");
00288 VisitExpression(value.Left);
00353 VisitExpression(value.Right);
00354 //formatter.Write(")");
00355 }
>>202 if $disposing -and [self]::components -ne $null:
rejects
public override void VisitForStatement(IForStatement value)
{
formatter.WriteLine();
formatter.WriteKeyword("for");
formatter.Write(" e ");
formatter.WriteKeyword("in");
formatter.Write(" ");
formatter.WriteKeyword("range");
formatter.Write("(");
this.VisitStatement(value.Initializer);
formatter.Write(", ");
this.VisitExpression(value.Condition);
formatter.Write(", ");
this.VisitStatement(value.Increment);
formatter.Write("):");
formatter.WriteLine();
using (new IndentedCodeBlock(formatter))
{
VisitStatement(value.Body);
}
}
>>204
//if (value.Else.Statements.Count >= 1)
//{
// formatter.WriteKeyword("elif");
// formatter.Write(" ");
// this.VisitExpression(value.Condition);
// formatter.Write(":");
// formatter.WriteLine();
// using (new IndentedCodeBlock(formatter))
// {
// VisitStatement(value.Else);
// }
//}
>>205
using (new IndentedCodeBlock(formatter))
{
VisitStatement(value.Then);
}
if (value.Else.Statements.Count != 0)
{
formatter.WriteKeyword("else:");
formatter.WriteLine();
using (new IndentedCodeBlock(formatter))
{
VisitStatement(value.Else);
}
}
>>206
>>206 using (new IndentedCodeBlock(formatter))
{
VisitStatement(value.Then);
}
if (value.Else.Statements.Count != 0)
{
formatter.WriteKeyword("else:");
formatter.WriteLine();
using (new IndentedCodeBlock(formatter))
{
VisitStatement(value.Else);
}
}
>>207 タブじゃ駄目なのか orz
public override void VisitWhileStatement(IWhileStatement value) 1073
{
}
# Unsupported statement WhileStatement:
#while (({1}count = {2}input.Read({0}buffer, 0, 512) > 0))
{
{3}output.Write({0}buffer, 0, {1}count);
}
while (count = input.Read(buffer, 0, 512) -gt 0):
output.Write(buffer, 0, count)
[Please describe what might have caused this error.]
Translation failure in 'NDoc.Core.BaseDocumenter' in 'NDoc.Core, Version=1.2.1665.33810, Culture=neutral, PublicKeyToken=null'.
System.InvalidOperationException
InnerException:
オブジェクト参照がオブジェクト インスタンスに設定されていません。
System.NullReferenceException
場所 PowerShellLanguage.VisitorWriter.VisitPropertyDeclaration(IPropertyDeclaration value)
場所 C:\addins-4434\Source\PowerShellLanguage\VisitorWriter.cs:行 137
Mercurial 用のモジュールを作成
前述した様に、 Mercurial の一部は、C で書かれている為、そのままでは利用できない。なので手動で
モジュールを作成して、必要な場所にファイルコピーして、CGI を動かすことにする。
具体的にどうするかというと、base85.c, bdiff.c, mpatch.c の、3つのソースから Python 用モジュール(DLL)を
作成して、ソースのある場所に戻すだけでいい。
モジュールの build 例(VisualStudio 2005 が既にインストールされている場合)
cl.exe や link.exe 用に環境設定
"C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"
各ソースから、Python用のライブラリを作成
cl.exe /Og /LD /I"C:\Program Files\Python-2.4.4\include" base85.c /link /LIBPATH:"C:\Program Files\Python-2.4.4\libs"
cl.exe /Og /LD /I"C:\Program Files\Python-2.4.4\include" bdiff.c /link /LIBPATH:"C:\Program Files\Python-2.4.4\libs"
cl.exe /Og /LD /I"C:\Program Files\Python-2.4.4\include" mpatch.c /link /LIBPATH:"C:\Program Files\Python-2.4.4\libs"
>>213 $ call "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat"
$ "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\vsvars32.bat"
Setting environment for using Microsoft Visual Studio .NET 2003 tools.
(If you have another version of Visual Studio or Visual C++ installed and wish
to use its tools from the command line, run vcvars32.bat for that version.)
$ cl test.cpp /GX /IC:\tool2\Python24\include C:\tool2\Python24\libs\python24.lib
C言語アプリケーションに Pythonを組み込む - ふにゃるん
http://d.hatena.ne.jp/Wacky/20060103/1136292735
原稿を書いていて、二つのテキストの差分だけを取るプログラムが欲しくなった
import sys,difflib
for str in difflib.Differ().compare( open(sys.argv[1],'r').readlines(), open(sys.argv[2],'r').readlines() ):
print str
context: is the number of context lines コンテキストラインの行数は何行か
text: treats all files as text 全てのファイルをテキストとして扱う
showfunc: enables diff -p output 使用する diff -p outputを
git: enables the git extended patch format 拡張パッチフォーマットgit を使用する
nodates: removes dates from diff headers ヘッダーから時刻を取り除く
ignorews: ignores all whitespace changes in the diff 全ての空白の差分を無視する
ignorewsamount: ignores changes in the amount of whitespace 空白数の差分を無視する
ignoreblanklines: ignores changes whose lines are all blank ブランクラインの差分を無視する
>>217 def wsclean(opts, text):
if opts.ignorews:
text = re.sub('[ \t]+', '', text)
elif opts.ignorewsamount:
text = re.sub('[ \t]+', ' ', text)
text = re.sub('[ \t]+\n', '\n', text)
if opts.ignoreblanklines:
text = re.sub('\n+', '', text)
return text
elif not a:
b = splitnewlines(b)
if a is None:
l1 = '--- /dev/null%s' % datetag(epoch, False)
else:
l1 = "--- %s%s" % ("a/" + fn1, datetag(ad))
l2 = "+++ %s%s" % ("b/" + fn2, datetag(bd))
l3 = "@@ -0,0 +1,%d @@\n" % len(b)
l = [l1, l2, l3] + ["+" + e for e in b]
elif not b:
a = splitnewlines(a)
l1 = "--- %s%s" % ("a/" + fn1, datetag(ad))
if b is None:
l2 = '+++ /dev/null%s' % datetag(epoch, False)
else:
l2 = "+++ %s%s" % ("b/" + fn2, datetag(bd))
l3 = "@@ -1,%d +0,0 @@\n" % len(a)
l = [l1, l2, l3] + ["-" + e for e in a]
Junk Data:
All of the functions which produce diff sequences accept arguments to indicate
which lines should be ignored, and which characters within a line should be ignored.
diffシーケンスを返す関数は全て、引数を取ることができます。どの行が無視される
べきか、また行内のどの文字が無視されるかの
This can be used to ignore markup or whitespace changes in two versions of file,
for example. The default for Differ is to not ignore any lines or characters explicitly,
but to rely on the SequenceMatcher’s ability to detect noise.
これらはバージョン間の差分を取るという用途で、どういった変化を無視すべきかを決め
たいときに利用されます。たとえばDifferはデフォルトでは明示的にどの行や文字を無視
するかといった指定をすることができません、ノイズを検出するSequenceMatcherの機能
を組み込むことなしに
The default for ndiff is to ignore space and tab characters.
ndiffはデフォルトでスペースやタブ文字を無視します
This can be used to ignore markup or whitespace changes in two versions
of file, for example. The default for Differ is to not ignore any lines
or characters explicitly,but to rely on the SequenceMatcher’s ability
to detect noise.
This can be used to ignore markup or whitespace changes in two versions
of file, for example. The default for Differ is to not ignore any lines
or characters explicitly, but to rely on the SequenceMatcher’s ability
to detect noise.
>>221 C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin>python difflib_dif.py
This can be used to ignore markup or whitespace changes in two versions
of file, for example. The default for Differ is to not ignore any lines
- or characters explicitly,but to rely on the SequenceMatcher’s ability
+ or characters explicitly, but to rely on the SequenceMatcher’s ability
? +
to detect noise.
<generator object at 0x00E0BF80>
This can be used to ignore markup or whitespace changes in two versions
of file, for example. The default for Differ is to not ignore any lines
or characters explicitly, but to rely on the SequenceMatcher’s ability
to detect noise.
This can be used to ignore markup or whitespace changes in two versions
of file, for example. The default for Differ is to not ignore any lines
or characters explicitly, but to rely on the SequenceMatcher's ability
to detect noise.
>>223 C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin>python difflib_diff.py
This can be used to ignore markup or whitespace changes in two versions
of file, for example. The default for Differ is to not ignore any lines
- or characters explicitly, but to rely on the SequenceMatcher’s ability
? ^^
+ or characters explicitly, but to rely on the SequenceMatcher's ability
? ^
to detect noise.
<generator object at 0x00D3BF80>
C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin>python difflib_diff.py
---
+++
@@ -1,5 +1,5 @@
This can be used to ignore markup or whitespace changes in two versions
of file, for example. The default for Differ is to not ignore any lines
- or characters explicitly, but to rely on the SequenceMatcher’s ability
+ or characters explicitly, but to rely on the SequenceMatcher's ability
to detect noise.
<generator object at 0x011BBF80>
C:\Program Files\Apache Software Foundation\Apache2.2\cgi-bin>python difflib_diff.py
***
---
***************
*** 1,5 ****
This can be used to ignore markup or whitespace changes in two versions
of file, for example. The default for Differ is to not ignore any lines
! or characters explicitly, but to rely on the SequenceMatcher’s ability
to detect noise.
--- 1,5 ----
This can be used to ignore markup or whitespace changes in two versions
>>225 of file, for example. The default for Differ is to not ignore any lines
! or characters explicitly, but to rely on the SequenceMatcher's ability
to detect noise.
<generator object at 0x00E7BF80>
>>214 早速ビルドしてみよう。まず、Python 2.4 for Cygwinから。
$ gcc test.cpp -I/usr/include/python2.4 -L/usr/lib/python2.4/config -lpython2.4
$ ls
a.exe test.cpp
$ ./a.exe
hello python
this: self {formatter.Write("self");}
base: self {formatter.WriteKeyWord("self");}
FieldReference: [self]::tabControl.TabPages
TryCatchFinallyStatement: delphi-addon
ConditionStatement: from nemerle-addon
Python in Science: August 2007
http://pyinsci.blogspot.com/2007_08_01_archive.html
またLinuxデスクトップOSについては、そのアンインストール率が高いため、実質的な
成長はそれほど大きくないという見方もできるのだ。例えば31.9%の中国人ユーザは、
LinuxデスクトップOS搭載コンピュータの購入後にLinuxをアンインストールして使って
いるというCCW Researchの調査結果が出されている。また一部のコンピュータ小売
業者に至っては、購入者からの要望に応じる形で、こうしたアンインストール後に海賊
版Windowsをインストールして販売するというスタイルを取っているようだ。
こうしたアンインストールは小売業者や個人ユーザが多く行う傾向にあり、産業ユーザ
の場合は必要な業務ソフトウェアが動作すればいいため、アンインストールに手を出す
頻度は少ないのである。
Open Tech Press | 拡大を続ける中国のLinuxデスクトップ市場
http://opentechpress.jp/enterprise/article.pl?sid=07/12/13/0155236&pagenum=2 中国のひと何やかや言うけど窓好きとか、それなりに多そうね…
以前のバージョンのアンインストール
Visual Studio Express Edition のインストールや使用における問題は、Visual Studio 2008 Express Edition の
CTP 版やアルファ版、ベータ版などをアンインストールしていないことが原因するかもしれません。
Visual Studio 2008 Express Edition の以前のバージョンがアンインストールされているかご確認ください。
Visual Studio 2008 Express Editions プレリリース版のアンインストール
http://www.microsoft.com/japan/msdn/vstudio/express/uninstall/2008/ 631 デフォルトの名無しさん sage 2007/12/19(水) 07:39:10
LINQ便利だなあ。
仕事の関係で、ログファイルみたいなテキストデータを読み込んで
それを整形+単語検索して表示みたいなの作ってたんだが
自力で検索プログラム書くと面倒だから、前までは一度SQlite使ってDBに格納してから
そこからSQLで抽出ってしてたのを、いちいちDB使わずに配列とかでもっといて
そこからLINQで検索ってできて楽だ。
>>232 2.1.1.3 以前のバージョンの .NET Framework 3.5 がインストールされたことがある Windows Vista
コンピュータに Visual Studio 2008 をインストールしようとすると、失敗することがある
以前のバージョンの .NET Framework 3.5 がインストールされたことがある Windows Vista コン
ピュータに Visual Studio 2008 をインストールしようとすると、失敗することがあります。
この問題を解決するには
[コントロール パネル] を開き、[プログラムと機能] をクリックし、[タスク] ウィンドウの
[インストールされた更新プログラムを表示] をクリックします。 次の更新プログラムを選択し、アンインストールします。
- Microsoft Windows (KB110806) の修正プログラム
- Microsoft Windows (KB930264) の修正プログラム
- Microsoft Windows (KB929300) の修正プログラム
Visual Studio 2008 Beta 2 Express Edition リリース ノート
http://download.microsoft.com/download/8/0/a/80a85f40-eba0-4b70-bede-5fa6ae37f101/ExpressReadme.htm