zuzuのなでしこ学習帳(主になでしこ自体の改造など) RSSフィード

2007-10-15[なでしこ]【未完成】(TSonEdit)vnakoへのコンポーネントの追加方法

どうもzuzuです。

一応ですが、vnakoへのコンポーネント追加が出来ましたので、ここで少しばかりやりかたを書こうと思います。

それではレッツゴー!

はTSonEditの追加方法を書こうと思います。

の一

vnako_function.pasのuses節へ追加したコンポーネント名を追加する。

はuses節に「SonEdit」を追加しました。

の二

const節の「VCL_GUI_BUTTON = 0;」とか書いている部分を書き加える。

どうやらここVCLに番号を振って管理しているようです。

は「VCL_GUI_ULABEL = 47;」に下に数字が出来るだけ被らないようにと「VCL_GUI_SONEDIT = 99;」を追加しました。

の三

functionのvcl_createに書き加えイベントを追加する。

の場合は「THiEdit」のイベントの下に追加しました。

    VCL_GUI_SONEDIT    :
      begin
        o := TSonEdit.Create(Bokan);
        with TSonEdit(o) do begin
          OnClick     := Bokan.eventClick;
          OnDblClick  := Bokan.eventDblClick;
          OnChange    := Bokan.eventChange;
          OnKeyDown   := Bokan.eventKeyDown;
          OnKeyPress  := Bokan.eventKeyPress;
          OnKeyUp     := Bokan.eventKeyUp;
          OnDragOver  := Bokan.eventDragOver;
          OnDragDrop  := Bokan.eventDragDrop;
        end;
      end;

ちなみにここで実際にコンポーネントの生成をしているので、初期設定なども追記しても良いと思います。

の四

functionのvcl_getpropに書き加える。

まあ実際、これはテキストプロパティを使えるようにするものです。

は、

VCL_GUI_SONEDIT : res := TSonEdit(obj).Text;

と書き加えました。

の五

functionのvcl_commandにコマンドを追加する。

  procedure _VCL_GUI_SONEDIT;
  var e: TSonEdit;
  begin
    e := TSonEdit(obj);
    if cmd = '文字書体GET' then begin Result := hi_var_new; hi_setStr(Result, e.Font.Name); end else
    if cmd = '文字書体SET' then begin setFontName(e.Font, hi_str(v)); end else
    if cmd = '文字サイズGET' then begin Result := hi_var_new; hi_setInt(Result, e.Font.Size); end else
    if cmd = '文字サイズSET' then begin e.Font.Size := hi_int(v); end else
    if cmd = '文字色GET' then setRes(Color2RGB(e.Font.Color))  else
    if cmd = '文字色SET' then e.Font.Color := RGB2Color( hi_int(v) ) else
    if cmd = '背景色取得' then setRes(Color2RGB(e.Color))  else
    if cmd = '背景色設定' then e.Color := RGB2Color(hi_int(v)) else
    if cmd = 'UNDO'  then e.Undo else
    if cmd = 'REDO'  then e.Redo else
    if cmd = 'COPY'  then e.TxtCopy    else
    if cmd = 'CUT'   then e.Cut     else
    if cmd = 'PASTE' then e.Paste else
    if cmd = 'SELECTALL' then e.SelectAll else
    if cmd = 'POPUP' then e.PopupMenu := TPopupMenu( hi_int(v) ) else
    //if cmd = 'GETROW' then setRes(0) else
    //if cmd = 'GETCOL' then setRes(e.SelStart) else
    //if cmd = 'SETROW' then  else
    if cmd = '編集設定' then e.ReadOnly := not hi_bool(v) else
    if cmd = '編集取得' then Result := hi_newBool(not e.ReadOnly) else
    //if cmd = 'IME取得' then Result := hi_newStr(e.GetImeStatus) else
    //if cmd = 'IME設定' then e.SetImeStatus := setControlIME(hi_str(v)) else
    ;
  end;

まあこんな感じに追加してみました。


さてのは未完成版です。

どこが未完成かというこれはTSonEditの場合のみのことで、さらにTSonEditもうまく実装できていません。

またこれから先、コンポーネント追加した場合は同じように書こうと思います。

それでは!

EnformaEnforma2012/09/13 08:44Thanks for the insight. It bnrigs light into the dark!

mzultyqmzultyq2012/09/14 01:24vy3VCs <a href="http://bxwxunxvvwdg.com/">bxwxunxvvwdg</a>

tjwyghqswbtjwyghqswb2012/09/14 05:58EvxvEL , [url=http://uwgybuegookl.com/]uwgybuegookl[/url], [link=http://oiqrsarrsbxq.com/]oiqrsarrsbxq[/link], http://gvufspszrslb.com/

wavglcnarwavglcnar2012/09/17 03:00J0GfD2 , [url=http://dqbixeuomhiu.com/]dqbixeuomhiu[/url], [link=http://zuaiwmmlbdac.com/]zuaiwmmlbdac[/link], http://okimqmkhagxw.com/

kfcznoyklzkfcznoyklz2014/06/05 22:57rkwjyobeftjlp, <a href="http://www.uadwwdeked.com/">aihpuilwyf</a>

pzvudlhnlbpzvudlhnlb2014/06/12 21:30iithfobeftjlp, http://www.ogdpnulfhj.com/ lclkvigrdv

azfzxypdzoazfzxypdzo2014/06/17 21:35ssmieobeftjlp, [url=http://www.acdzcktehj.com/]rjeokouais[/url]

2007-10-11[なでしこ]タダな[なでしこ]タダなDelphi6 Personalでなでしこコンパイル!

どうもzuzuです。

はDelphi6 PersonalでXPスタイルを適用する方法を書こうと思います。

の方法はずばり、マニフェスト(manifest)ファイルを作成する方法です。

マニフェストファイルとは……どうやらバージョン情報などを書くファイルの様みたいですが、実際はよくわかりません。

ただそれを作ることでXPスタイルに対応できるということだけは理解しています。

それでは作り方との使用方法を説明しましょう。

まずはテキストエディタ以下の内容を打ち込むか、コピーペーストして下さい。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
  version="1.0.0.0"
  processorArchitecture="X86"
  name="CompanyName.ProductName.YourApp"
  type="win32" />
<description>Description</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*" />
    </dependentAssembly>
</dependency>
</assembly>

これ文字コードUTF-8で、

してこれXPスタイルにしたい実行ファイル名「.manifest」で保存して下さい。

例:enako.exeの場合は「enako.exe.manifest」で保存します。

してこれXPスタイルにしたい実行ファイルを同じ所に置けばの実行ファイルのGUIにはXPスタイルが適用されます。

まあTXPManifestとは少し違う部分が出てくるかも知れません、僕が確認した所ではなでしこエディタパネルの背景色がグレーになってしまいました。

皆さんは出来たでしょうか?

それでは!

AyuAyu2012/09/13 07:44Appreictiaon for this information is over 9000-thank you!

noiyunvfvpnoiyunvfvp2012/09/14 01:18jABwmH <a href="http://kearjbhatjpk.com/">kearjbhatjpk</a>

glefdfhkwglefdfhkw2012/09/14 05:5197irWY , [url=http://nwwwjbvbkuup.com/]nwwwjbvbkuup[/url], [link=http://qxsssstsdipr.com/]qxsssstsdipr[/link], http://uabhbvzveabo.com/

rgzfpsvprgzfpsvp2012/09/16 10:393Nz7pK <a href="http://ireqcuyabhaa.com/">ireqcuyabhaa</a>

2007-10-07[なでしこ]タダなDelphi6 Personalでなでしこコンパイル!

どうもzuzuです。

少し前にバグ報告にdelphi6 personalでは動かんぞといってましたが、今日一日を使って再度挑戦してみました。

無料版であるDelphi6 Personalでのコンパイルの結果は……成功であり失敗です。

vnakoは出来たのですが……nakopadではTXPManifestが必要な為、完全には無理でした。

まあvnakoが編集できるようなったので万々歳ですが。

さてそれでは、Delphi6 Personalでの環境整備(コンポーネントインストール)方法をどうぞ――

これはdelphi6 personalでの導入方法です。

必要コンポーネント

括弧の中は入手先、httpから始まらないのは開発フォルダの中です。

vnakoで使うモノは全てnakopadでも必要です(たぶんですが)。

「-」が先頭にあるモノはのすぐ上の「-」がないコンポーネントで必須のモノなので先にインストールして下さい。

■vnako

UIWebBrowser(vnako_unit\UIWebBrowser)

TEditor(http://homepage3.nifty.com/~katsuhiko/delphi.html *最新版をダウンロード)

GLDPNG(http://www.delphianworld.com/ *Graphics&Multimediaを選択して下の方にスクロール)

pngimage(http://pngdelphi.sourceforge.net/ *Object Pascal Componentのすぐに下のDownloadある。)

TntUnicodeControls(http://tom.osdevel.org/index.php/projekte/tnt-unicode-controls/)

■nakopad

TEditorEx(http://homepage2.nifty.com/Km/download.htm *Yellow 3.03以降をダウンロード)

TTrackBox(http://www.vector.co.jp/soft/win95/prog/se189215.html)

■注釈

◆UIWebBrowserの導入方法。

らくのままでは導入できないと思います。

「要求したパッケージ 'vclie' が見つかりません」のエラーが発生した場合 18:00 はてなブックマーク - 「要求したパッケージ 'vclie' が見つかりません」のエラーが発生した場合 - zuzuのなでしこ学習帳(主になでしこ自体の改造など)

http://homepage1.nifty.com/MADIA/delphi/delphi_bbs/200506/200506_05060112.htmlの怪傑ナガネギマンさんの書き込みの通りに入れ替えて下さい。

それでもエラーが出た場合は(出ると思います)「dclusr60;」を「dclusr;」にしてみて下さい。

の他諸々

他にもDsgnIntfをDesignIntfに置き換えなくちゃいけない箇所もあったような気がします。

また、nakopadのTXPManifestはDelphi7からの標準コンポーネントのため、ネットには出っていなかったのでdelphi6 personalには実装できませんでした。

またTntUnicodeControlsですが、http://aoi-project.com/nadesiko/dev/wiki/index.php?%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8あるものはDelphi6 Personalでは対応していなかったようでしたので、Delphi6 Personal対応版がある外国サイトから拾ってきました。

さてコンポーネントインストールは完了してエラーが出ずにnakopad.dprおよびvnako.dprを実行できたでしょうか?

たぶん出来ていると思います。

■nakopadのコンパイル方法(不完全版)

nakopadはTXPManifestを使用して作ってあるみたいですが、これを無効化させます。

方法は簡単、uses節からXPManを消して下さい。

さらにプロジェクト→オプションからプロジェクトオプションを開き、「ディレクトリ/条件」タブの検索パスに「vnako_unit\」および「nakopad_unit\」を追加して下さい。

これコンパイル出来るはずです。

またHEditorが二重とか言うエラーが出た場合は、「ValEdit, HEditor;」を「ValEdit;」に変更して下さい。

■vnakoのコンパイル方法

プロジェクト→オプションからプロジェクトオプションを開き、「ディレクトリ/条件」タブの検索パスに「vnako_unit\」を追加して下さい。


■まとめ

さてこれコンパイル出来たはずです。

出来ましたか? 僕は出来ました。ただTXPManifestを使用していないため、nakopadがXPスタイルでは表示されませんが。


それでは!

eatcjgbqsmeatcjgbqsm2013/08/28 05:08lczpdobeftjlp, <a href="http://www.zpqmzuizyt.com/">ogycnexdcm</a> , [url=http://www.ptjrtwodzs.com/]nvkfdovbpj[/url], http://www.matepgywfq.com/ ogycnexdcm

udfcnpcumyudfcnpcumy2013/11/23 20:58ffovgobeftjlp, <a href="http://www.txsrvhtvzw.com/">tpuuhlbxtu</a> , [url=http://www.oizrdxeyxs.com/]hdbbmutacs[/url], http://www.faqgutjdrx.com/ tpuuhlbxtu

seexwttedzseexwttedz2013/12/18 04:52nbjwuobeftjlp, <a href="http://www.pynbrvbsqm.com/">nxtsxriqdt</a> , [url=http://www.fkrmpnyxef.com/]gqvywfqzja[/url], http://www.qurxyiqxzx.com/ nxtsxriqdt

SuleSule2015/08/29 17:59That insight solves the prmeobl. Thanks!