検索結果

キーワード: ‘イブラ’

http://wantech.ikuto.com/software/eropega3.html Delphiで2K/XP向けに何か作るなら、最低限の礼儀でユニコード対応は必要。 エロペガの場合は、ファイルを読み込んで再生するソフトなので、 ユニコード対応してなくても、そのファイルを再生できないという害だけだが、 真魚のように書き込みもするソフトでは、誤作動で別のファイルに上書きする危険がある。 だから、使う側もユニコード対応してないソフ…続きを読む

日本の話だと思わないで、とあるドイツと引き分けた国の話と思え。 日韓大会のとき、まずドイツ人に紹介された日本語は、審判等を脅迫する文章である。 そういうジョークなのだろうが、それでもこういう事が思いつく国であることは確かで、 今の日本では、「主審の車にイタズラするぞってどういうの?」なんて聞かない話だ。 それだけ、ドイツのホームでドイツに引き分けるというのはすごいことで、 韓国並みの凶悪なプレイと韓国並みの誤審続きで、韓国以上の実力のド…続きを読む

最初に.NETが出てきた頃の予想では、世の中には.NET製アプリしかなくなるはずだった。 初心者はVB.NETで、それ以外の人はC#で開発を行い、 DelphiユーザーもDelphi.NETへ移行するのが当たり前かと思っていたんだよな。 ところが現状は、.NETライブラリがVBランタイムに置き換わっただけだった。 C#でテキストエディタ作ってみたのに問題ありすぎで、 同じものならDelphiの方が良くて移植しちゃったし。 まだ.NET …続きを読む

どうなんだろう。こんな事が出来るのはやっぱり儲けてるんだろうな。 http://www.vector.co.jp/info/060405_new_schedule.html >従来、毎週水曜日・土曜日に更新を実施 >この更新スケジュールを原則として毎週火曜日~土曜日の週5回に変更 でもさ、新しいファイルを公開してくださいって、Vectorにお願いすると、 約一週間~二週間くらいの作業時間がかかって、 その作業を終えて最初に迎える水曜日か…続きを読む

本当に速くて、もうTRegExprに戻る気になれなくなった。 せっかくTRegExprの英語ヘルプを写したのに、消して鬼車にするのか。 しかも、生で200KB、UPX圧縮で75KBほどのDLLを一個添付。 それもやもえないほどのスピードだ。いや、TRegExprが遅いだけだが。 TRegExprのヘルプにユニコードでの動作は遅いって書いてあるしね。 あと、挙動に対してもとても満足している。 満足できなかった部分もあるけど、Delphi側…続きを読む

正規表現による検索結果もハイライトするって言う実装について。 現時点で、BM法を用いた普通の検索を行うと、検索結果が色分けに反映されるにも関わらず、 正規表現で検索をした場合は、検索結果を色分けしないという仕様だ。 いろいろ(実はたくさん)理由はあるんだが、まず根本に立ち返って、 これってそもそも、TNotePadをソース公開しているせいで、 色分けなど内部動作に関わる部分をよそのコンポの改変で実装するという点が問題だった。 改変してな…続きを読む

検索と置換のダイアログがどうしてこんなに邪魔なんだろうってことで、 いつも真魚のウィンドウとかぶらない場所まで移動してるんだが、 これさ、検索と置換のダイアログも全部表示位置を記録しちゃえば良かったんだね。 スッキリした。 正規表現を修正したついでに、正規という名前は避けてPerl風検索/置換と呼ぶことにしたり、 日本語でざっと使い方を書いて、テキストファイルで添付したり。 ルーラーをつかんで折り返し幅を変えるとき、スクロールしないと煩…続きを読む

落ちる話からは離れて、いったい今実装している正規表現の何が不満かという話。 あたしゃ正規表現自体普段使わないし詳しくないので、一口に正規表現と言っているが、 実際はどんな書き方が通るのかが、物によってもバージョンによっても違うらしい。 今使ってるTRegExprが、一般に正規表現と言われるものに比べて、 十分な実装がされているのかされていないのか、その判断すら難しいほど無知なんだが、 ウチにある正規表現について書かれた本を見ると、ここが…続きを読む

最初は、ヘルプに遅いと書いてあるから速くできるんじゃないかとか、 まだ対応してない物を自前で対応できないかとか、 そういうつもりで正規表現ライブラリの中身を検証していたはずだったが、 途中からはアプリが落ちるか落ちないかの話題に変ってしまったな。 で、一応解決したよ。現在は、8000どころか80000文字でも落ちないようになった。 もちろん、32bitを超える数字のケアはしてないので、そこであふれるだろうが。 32bit以上のケアしない…続きを読む

アプリが落ちる話なので、言いがかりだと言われないように、やり方を明確にしておく。 -(半角のマイナス)を8000文字入力する。コピペでも良い。 なぜ8000かというと、欠陥のあるライブラリでも数百ぐらいだとまだ耐えるからだ。 マイナスには特に意味はないが、改行が含まれると検索出来ない物もあるのでダメ。 で、8000文字入力したら先頭1文字目に入力位置をあわせ、 正規表現で(.|¥n)+を検索する。あえて全角で書いたがもちろん半角で。 す…続きを読む

難しい言葉で言うと再帰。 正規表現の検索では、普通の検索と違ってたくさんの枝分かれが起こる。 その分かれた枝からさらに別の枝分かれが起こる。 全部の枝を検証して最長一致を求めるっていう事をやらせるために、 TRegExprは再帰っていう方法を使っている。 マッチしているかどうかを判断すべきメソッドは、枝分かれ前の現在の枝しか評価せず、 枝分かれの分岐点からは、それぞれの枝について自分と同じ仕事をするメソッドに託す。 それれぞれの枝がさら…続きを読む

ショック。 やっぱり自分で使うライブラリは、ソースコード全部把握してから使わなきゃダメね。 正規表現では+や*とかを使って、ものすごく長い範囲にヒットさせる事が出来るわけだが、 TRegExpで、ものすごく長い文字列にヒットさせようとすると、 オーバーフローが起こって何の警告も出さずにアプリが落ちる事がわかった。 たぶんさ、足し算とか引き算とかで桁があふれた場合は警告出るんだろうね。 今回のオーバーフローは、正規表現ライブラリ内のとある…続きを読む

出来れば自分で書きたくないので、利用できる物を探してみるのだが、 Delphiであると言うことがどうしても足かせになる。 .NETの正規表現が逆方向も検索できて大変よろしいのだがな。 ともかく、Delphiってのはユニコードがない時代に作られたものなので、 Delphi向けの正規表現といえばSJISしか検索できないとか日本語ダメとかで、 逆にユニコードの検索が出来るとDelphiから利用できなかったりで、 Delphiかつユニコードな正…続きを読む

ずっと仕様だからしょうがないとか思ってあきらめてた部分は多々あるわけだが、 その仕様だからってのは、仕様じゃなくすることは出来るけど面倒すぎるって事ばかり。 で、たまたまやる気が持続したので、仕様を打破する更新とか続いたわけだ。 もうさ、不満があったら面倒でも修正しちゃうって流れに完全にシフトしちゃったんだけど、 知識不足でどうしても手が出せないのが正規表現部分。 真魚は作者と嫁が使うために作られた物であり、 作者も嫁もよくわかっていな…続きを読む

1986 letters | 814 views | コメントする

テキストファイル内で改行を表す記号が統一されなくて困ると言う話。 真魚は、Windows、Windows以外、古いMacという、三つの表記を使っている。 まず、Unix系のパソコンでは、改行をLFという記号で表している。 インターネットとかが普及したせいで、LFの需要も高まってしまった。 次に、古いMacはCRという記号で改行を表していたのだが、 そのインターネット需要のためか、最近はLFに変更されているらしい。 コレが、Windows…続きを読む