HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0502
クレイモアズ複数行のunicode変換2解決


クレイモアズ

リンク

2009/5/2(Sat) 12:20:42|NO.24922

はじめまして。クレイモアズといいます。

今、unicodeを使った暗号機(のつもり)を作っています。
暗号化まではよいのですが複数行の場合、

 任意のテキストをロード→変換→セーブ

で、この次すぐに「解析」をすれば解析できるのですが、プログラムを一旦終了し、

 再度起動→ロード→解析

をすると一行目までしか表示できません。

コードは


sdim moto,1000 sdim memo,1000 notesel memo pos 0,0 mesbox memo,340,400,1,-1 objsize 100,25 pos 0,420 button gosub"unicode暗号化",*an1 pos 100,420 button gosub"unicode解析",*an2 pos 200,420 button gosub"テキストロード",*load pos 300,420 button gosub"テキストセーブ",*save *top stop *an1 cnvstow memo,""+memo+"" objprm 0,memo return *an2 memo=cnvwtos(memo) objprm 0,memo      return *load dialog"txt",16 if stat=0:stop notesel memo noteload refstr,-1 objprm 0,memo return *save dialog "txt",17,"テキストファイル" if stat=0 : cl=1:goto *top fname = refstr exname=getpath(fname,2) if exname="" : fname+=".txt" notesel memo notesave fname objprm 0,memo return

です。
どなたかご存知の方がおりましたらご教授願います。



この記事に返信する


hspail

リンク

2009/5/2(Sat) 12:34:44|NO.24923

cnvstow 命令がなんかわからないが、一行目しか処理してないみたいなので行数分繰り返させてみた。

*an1 と *an2 を次のように書き換え

*an1 notesel memo repeat notemax noteget linestr, cnt cnvstow linestr, linestr noteadd linestr, cnt, 1 loop objprm 0,memo return *an2 notesel memo repeat notemax noteget linestr, cnt linestr=cnvwtos(linestr) noteadd linestr, cnt, 1 loop objprm 0,memo return



クレイモアズ

リンク

2009/5/2(Sat) 16:47:22|NO.24925

hspailさん、ありがとうございます。

行数分暗号化していなかったから、どれだけ長い分でも1行になってたんですね。



ONION software Copyright 1997-2023(c) All rights reserved.