C#, C♯, C#相談室 Part98 (518レス)
上下前次1-新
127: (ワッチョイ ffea-Z+xw) 2024/10/05(土)22:47 ID:AAO+SKFS0(2/2) AAS
メモ帳とかの作者さんでソース公開されてる人もC++が多かったり
128(2): (ワッチョイ 9b1f-uEGg) 2024/10/06(日)08:44 ID:6ToZA1R70(1/2) AAS
長大なテキストファイルの先頭から文字数を数えたり
一行の長さを測定して画面右端の折返し位置を決定したり
そういうのって現実的に可能なのか?
129: (ワッチョイ 635f-ohfc) 2024/10/06(日)09:02 ID:efCavYAy0(1) AAS
>>128
発想がズレてる
130: (ワッチョイ f301-dKGO) 2024/10/06(日)12:41 ID:RTiROZJD0(1) AAS
>>128
逆になんで不可能だと思うの?
131: (ワッチョイ 9bfe-ecvX) 2024/10/06(日)13:11 ID:k/Za2WiE0(1) AAS
普通は穴あきバッファを使う
EZ/VZはlessに編集機能を付けるってユニークな設計をしている
設計自体を知りたいなら 「The Craft of Text Editing: Emacs for the Modern World」が参考になるかと
FINALはdumpすると、MIFESとREDの悪口が書いてある:-p
132: (ワッチョイ c679-nM05) 2024/10/06(日)14:14 ID:onWt8ZIM0(1) AAS
「穴あきバッファ」なんて初見なんだけどもしかして誤訳じゃない?
133: (ワッチョイ f301-DEg1) 2024/10/06(日)14:18 ID:vkebIpm90(1/2) AAS
エディタのバッファ管理用のデータ構造は効率的な編集をサポートするためで
文字数カウントや行の折り返しの話はどういうデータ構造を使うかとはほとんど関係ないよね
今はGap Bufferもあまり主流じゃなくてPiece TableかRopeが使われることが多くなってる
134: (ワッチョイ f301-DEg1) 2024/10/06(日)14:21 ID:vkebIpm90(2/2) AAS
興味があれば↓この辺読んでみるといい
TypeScriptだしC++に比べるとわかりやすいはず
外部リンク:code.visualstudio.com
この辺の話はエディタのコアな部分ではあるけど
>>123の知りたいこととはほぼ関係ない
135(1): (ワッチョイ 9b1f-uEGg) 2024/10/06(日)15:19 ID:6ToZA1R70(2/2) AAS
なにかの文書を画面に表示したい
← 表示したい部分が何行目に当たるか計算する
← 一行に含まれる文字数を知りたい
← プロポーショナルフォントのときはどうするん?
← 行の長さを測定する関数使え
← 一文字ずつ足したり引いたりしながら測定を繰り返す
← 全部の行についてこれやんなきゃかよ?
← やってられない
136: (ワッチョイ af78-cSv7) 2024/10/06(日)18:49 ID:TXz4j2F10(1) AAS
azukiのソースコード見れば?
137: (ワッチョイ 6701-DEg1) 2024/10/06(日)18:57 ID:I3D2t/Zs0(1) AAS
>>135
>← 表示したい部分が何行目に当たるか計算する
テキストファイルなら頭から読み込むしかなく改行でカウントアップするだけ
>← 一行に含まれる文字数を知りたい
>← プロポーショナルフォントのときはどうするん?
文字数によって折り返し位置が決まるか
表示幅によって折り返し位置が決まるかのどちらか
両方のルールを同時に適用するというのは一般的ではない
プロポーショナルフォントが関係してくるのは後者の場合のみ
表示幅で折り返す場合は指定したRectangleにフィットするよう
よろしくやってくれる表OS提供のAPIがあるので基本的にはそれを使う
APIの内部的では各文字の表示幅を足し算してるが
とりあえずは画面表示部分だけを計算すればいいので
思ってるほど大した計算量ではない
>← やってられない
んなことたぁない
138: (ワッチョイ de10-1ld3) 2024/10/06(日)20:12 ID:MCn4L0pH0(1) AAS
そもそも公開されてるソースがC++多いからなんだというのか
139: (ワッチョイ c679-nM05) 2024/10/07(月)02:48 ID:x7sAaviV0(1) AAS
>←
それより矢印の使い方おかしくね?と思った
140: (ワッチョイ dfae-Q8Y9) 2024/10/07(月)06:41 ID:5XNBqMZ+0(1) AAS
→えっ
141: (ワッチョイ 4a7b-ohfc) 2024/10/07(月)07:51 ID:W61JLdXH0(1) AAS
矢印 Unicode(ユニコード)一覧 文字 0g0.org
外部リンク:0g0.org
142: (ワッチョイ aad1-5ZBO) 2024/10/07(月)08:50 ID:D9AWyaeE0(1) AAS
↑↑↓↓→→←←
143: (オイコラミネオ MM1f-1ld3) 2024/10/07(月)20:30 ID:0ozgkte7M(1) AAS
個人レベルで作るなら別にベストな方法じゃなくても良い
とりあえず作ってみたらいい
そして徐々にブラッシュアップしていけばいい
144: (スププ Sdea-YEqV) 2024/10/08(火)02:42 ID:xQWM8K5Vd(1) AAS
どうせTextBoxかRichTextBox使うから
いちいち行の文字数数えて改行とかという発想がでてこなかったわ
毒されてるんだろうか
145: (エムゾネ FFea-oLgd) 2024/10/08(火)09:46 ID:5xpr1xvYF(1) AAS
質問者の作りたい物に行番号やカーソル位置座標とか要らなさそうだから
テキストボックスで十分だと思う
146: (スププ Sdea-YEqV) 2024/10/09(水)03:08 ID:w53uZCE9d(1) AAS
行列番号、文字数、ファイルサイズ、ドラッグ移動、カラー絵文字、正規表現検索&置換、折り返し
これぐらい欲しい
147: (ワッチョイ 5af9-7zav) 2024/10/09(水)05:37 ID:u99M/+800(1) AAS
こりゃ確かにいろいろと発想がズレてるな
148: (ワッチョイ 433f-YEqV) 2024/10/10(木)01:43 ID:9oubSm9f0(1/2) AAS
カラー絵文字ってどうやるんだろう
149: (ワッチョイ ca8e-gWHf) 2024/10/10(木)01:45 ID:l5e/OliZ0(1) AAS
どうとは?
もしかしてわざわざ白黒にしてるのか?
150: (ワッチョイ dfa4-suLy) 2024/10/10(木)02:14 ID:To6qDb1x0(1) AAS
くるみぽんちおの刑だ!!
151: (ワッチョイ 433f-YEqV) 2024/10/10(木)14:48 ID:9oubSm9f0(2/2) AAS
まじかテキストボックスがカラー絵文字に対応したのか
週末試してみるわありがと
152(1): (ワッチョイ b301-duPS) 2024/10/11(金)00:26 ID:zClzE2L70(1) AAS
win11で作ったformアプリがwin10で盛大にズレてて頭抱えてる
153: (ワッチョイ 4a7b-ohfc) 2024/10/11(金)01:05 ID:bny4Xk3b0(1) AAS
>>152
何をもってOSに起因する症状だと判断したの?
154: (ワッチョイ de10-1ld3) 2024/10/11(金)06:58 ID:tH3T8XD80(1) AAS
OSバージョン毎のフレームサイズの差異とか気にもせずに処理でも書いたか?
155: (ワッチョイ 9e61-oLgd) 2024/10/11(金)08:01 ID:v/PLCR+10(1) AAS
OS関係なく単にディスプレイのスケーリングの違いでは
156: (ワッチョイ 467c-7zav) 2024/10/11(金)09:18 ID:izME7MQN0(1) AAS
それだな
上下前次1-新書関写板覧索設栞歴
あと 362 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.011s