scintilla 始める前に version 25

2019/07/24 11:50 by yamasyuh68
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
scintilla 雑感
190723
- 画像処理も音楽再生もそこそこ使えるプログラムが出来た
で、中途で投げ出したテキストエディタが気がかり
今ならもっとうまく書けるような気がするのさ
- scintilla 、ネックは保存、エンコード
オープンはまだ良い、エラーが出ても
でも保存は困る
どうしよう??
- ここら辺はscintillaのマニュアルにも書いてない
自分で何とかしなくちゃだめなんだろう
- **読み込みルーチンをエラーで完全にはじく**ようにするか
**そうしたうえでそのコードで保存**する
保存時エラーになったら保存させない 
「別名で保存時は」保存のエンコードを選べる(UTF8だけね)
- 考えたら保存だけで無く sendscintilla がうまく使えなくて切れてやめたような気もしてきたぞ
- 最近Qtのドキュメントを見つけたので調べてみるか
https://www.riverbankcomputing.com/static/Docs/QScintilla/annotated.html
- 検索整形まわりを好きに書けたら凄く良いよな

# sendscintilla
- 上のページで単純にやってみるか
具体的に何をしたかったかを覚えてないんだが?
- 文書毎に関数のポインタを取得してそこに対してsendmessageしろってシンチラのドキュメントをその通りpythonでやりたかったんだった
- パラメータの使い方がのってるからそれを参考にやってみよう
- 
# 設計
1. ui作り直し
ベースはウインドウにしてメニューとステータスバーをつける
左のツリーとお気に入りの間はスプリッタ-で可変にする
メインはタブだけにする
2. 読み込み・保存
shitjis(種類があった)とutf8,utf16 のみに対応してあとは拒絶する
エラーは受け付けない
どうしても読みたいときは警告を出して一番エラーが少ないエンコードで読み込む、その時は utf置き換え を行う
どうしても読みたいときは警告を出して一番エラーが少ないエンコードで読み込む、その時は サロゲートエスケープを行う
https://docs.python.org/ja/3.7/library/functions.html?highlight=open#open
'strict' --> 'surrogateescape'

読み込んだエンコードで書き込む、utf8だけには変更できる
3. マルチ対応
QSCintillaDocumentクラスを利用する
4. 機能
行の数字列の加算
矢印キーで罫線


# shif-jis 雑感
1. 開発を投げ出した辺りではこの問題もあって嫌になった
これにも何種類かある
文字数は基本的に増えていってるんだが、下方互換性がなく、前のverと新しいverとで表示される文字が違う場合がある
**どうなってるんだ、shif-jis!!!**
2. pythonで使える s-jis
https://docs.python.org/ja/3.7/library/codecs.html 
cp932
shift_jis
shift_jis_2004
shift_jisx0213
システムのデフォルトはこれで取得
>import locale
>locale.getpreferredencoding(False)
3. で、どれを使えばイーのよ┐('д')┌

      

190723

  • 画像処理も音楽再生もそこそこ使えるプログラムが出来た
    で、中途で投げ出したテキストエディタが気がかり
    今ならもっとうまく書けるような気がするのさ
  • scintilla 、ネックは保存、エンコード
    オープンはまだ良い、エラーが出ても
    でも保存は困る
    どうしよう??
  • ここら辺はscintillaのマニュアルにも書いてない
    自分で何とかしなくちゃだめなんだろう
  • 読み込みルーチンをエラーで完全にはじくようにするか
    そうしたうえでそのコードで保存する
    保存時エラーになったら保存させない
    「別名で保存時は」保存のエンコードを選べる(UTF8だけね)
  • 考えたら保存だけで無く sendscintilla がうまく使えなくて切れてやめたような気もしてきたぞ
  • 最近Qtのドキュメントを見つけたので調べてみるか
    https://www.riverbankcomputing.com/static/Docs/QScintilla/annotated.html
  • 検索整形まわりを好きに書けたら凄く良いよな

sendscintilla

  • 上のページで単純にやってみるか
    具体的に何をしたかったかを覚えてないんだが?
  • 文書毎に関数のポインタを取得してそこに対してsendmessageしろってシンチラのドキュメントをその通りpythonでやりたかったんだった
  • パラメータの使い方がのってるからそれを参考にやってみよう

設計

  1. ui作り直し
    ベースはウインドウにしてメニューとステータスバーをつける
    左のツリーとお気に入りの間はスプリッタ-で可変にする
    メインはタブだけにする
  2. 読み込み・保存
    shitjis(種類があった)とutf8,utf16 のみに対応してあとは拒絶する
    エラーは受け付けない
    どうしても読みたいときは警告を出して一番エラーが少ないエンコードで読み込む、その時は サロゲートエスケープを行う
    https://docs.python.org/ja/3.7/library/functions.html?highlight=open#open
    'strict' --> 'surrogateescape'

読み込んだエンコードで書き込む、utf8だけには変更できる
3. マルチ対応
QSCintillaDocumentクラスを利用する
4. 機能
行の数字列の加算
矢印キーで罫線

shif-jis 雑感

  1. 開発を投げ出した辺りではこの問題もあって嫌になった
    これにも何種類かある
    文字数は基本的に増えていってるんだが、下方互換性がなく、前のverと新しいverとで表示される文字が違う場合がある
    どうなってるんだ、shif-jis!!!
  2. pythonで使える s-jis
    https://docs.python.org/ja/3.7/library/codecs.html
    cp932
    shift_jis
    shift_jis_2004
    shift_jisx0213
    システムのデフォルトはこれで取得

import locale
locale.getpreferredencoding(False)

  1. で、どれを使えばイーのよ┐('д')┌