前のログ 次のログ

150
プロジェクトグループについて  投稿者:みゆ [99/1/14(木)17:25分]

はじめまして。
処理単位でプロジェクトを分けて、プロジェクトグループとして
管理してみようと思ったのですが、別々のプロジェクト同士で
フォームを開いたりできるのですか?
できるとすれば、どのように記述するのでしょうか。
いろいろ調べたのですが、わかりませんでした。
とても初歩的な質問ですみませんが、よろしくお願いします。

149  
Re:MS FlexGridコントロールの複数行選択  投稿者:ゆう(U) [99/1/12(火)22:49分]

とりあえず思いつきでReします、実際にコードを書くと不具合や
別の問題が発生するかもしれませんが・・
MSFlexGridコントロールはセル単位で色を設定できます、これで選択状態を
コードにより表現して、標準の選択状態のプロパティは使わない。
選択状態を解消する又は選択状態を確認するのに全ての行のプロパティを参照
するのは効率が悪いので、選択行の番号を別の配列などに保存しておくと良いかも。
●選択・非選択の切り替えを考えると、ただの配列よりコレクションで管理する
 方がいいかも・・・

※言うだけ言ってコードは考えない無責任モードです。

148
MS FlexGridコントロールの複数行選択  投稿者:ラダ [99/1/12(火)22:24分]

初めましてラダと申します。
VB5.0で MS FlexGridコントロールを使っているんですが、
グレー(ROW=0やCOL=0)のセル上で Ctrlキー+左クリック などによって
連続しない複数行の選択を行い、選択された複数行を認識したいのですが
どういったコードを書けば良いのでしょうか。

環境はVB5.0(SP3)+Windows95(SP1)

147
お礼:フォーム表示の件  投稿者:匿名 [99/1/12(火)0:41分]

ゆうさんへ
おっしゃるとおり、ヘルプに載っていました。
一通り目を通したつもりだったんですが、抜けてました(^^;
ほんとにありがとうございます。

146
MSチャートでのライン表示について  投稿者:テツヤ [99/1/11(月)13:40分]

はじめまして

MSチャートコントロールを使用してチャート表示を行っています。
X軸に縦線を表示させたいのですが、
MSチャートコントロールでは一定の区分ごとの表示設定しか見あたりません。
X軸の任意の箇所に縦線を表示させることはできないのでしょうか?
例えば、Row:5,35,65,95,・・・・ に縦線を表示とか
    Row:20,50,80,110,・・・・ に縦線を表示とか

何か良い方法があれば教えてください。

VBのバージョンは6.0です。

145
Re:処理中フォームをメニューフォームより手前に持ってくるには?  投稿者:ゆう(U) [99/1/11(月)10:44分]

処理中の表示用フォームをモーダルで表示しておくとOKの様な
気がするのですが・・・
もしくは、モードレスでShowしてもオーナーフォームを指定する
事でオーナーフォームの上へ常に表示されます。
※ここのHPのヘルプでも紹介されています。

144

別アプリ使用時に強制的にVBにフォーカスを移すには?  投稿者:YUKO! [99/1/11(月)7:27分]

 HPいつも見てます。とても参考になります。
花ちゃん他、みなさんに質問です。

他のアプリ使用時(Wordなど)に強引にVBにフォーカスを
持ってくることは不可能でしょうか?SetFocus、SetForegroundWindow
(API)、Appactivateなども、VBにフォーカスがあたっていないとうま
く働かないようですし。30秒したらどのアプリを使用していようが勝手
にVBにフォーカスが移るようにしたいのですが…

どなたかわかる方がいらっしゃったらご回答願います。

143

Inetコントロールの使い方  投稿者:TERA [99/1/10(日)13:59分]

実行すると、あるファイルをftpサーバーへ転送して終了する…というプログラムを
VB5で作ろうとしているのですが、Inetコントロールの使い方が良く分からず、
ファイルが転送されません。
転送途中にプログラム終了しちゃうのかな?と思って、StillExecutingプロパティ
見て終了待ちしたりしてみたのですが上手くいかなかったし…(^^;

一般的にInetコントロールでFTP転送する場合の、手順ってどうやるのでしょうか?

142

処理中フォームをメニューフォームより手前に持ってくるには?  投稿者:匿名 [99/1/09(土)14:57分]

メニューで処理を行っている時に処理中フォームを表示させておいて、
別アプリケーションを開いて再び戻ってくると、メニューの後ろに処理中フォームが
隠れてしまいます。
APIの常に手前で他のアプリケーションより前には持ってきたくないのですが、
何か設定の仕方はあるのでしょうか?
よろしくお願いします。

141

リストビューコントロールについて  投稿者:匿名:イムタン [99/1/07(木)19:19分]

こんにちは。
二件質問があるので、箇条書きにします。
前提条件として、レポート形式のリストビューであり、MulitiSelectをTrueにしてます。

・複数行選択時の選択解除イベントをとりたい。

MulitiSelectの場合、Ctrlキーを押しながらリストを選択すると、複数選択できますが、
選択されているリストの一つをCtrlキー押しながらマウスクリックで選択解除した時、
このリストが選択解除されたことを知りたいのですが、うまくいきません。
リストを選択した時は、ItemClickイベントが発生しますが、選択解除の時は、
このイベントが発生しません。いい方法はないでしょうか?

・複数行選択時にどのアイテムが選択されているのか知りたい。

以上の二点です。
どうかよろしくお願いします。

140

ありがとうございます。ただ。。。  投稿者:東海帝王 [99/1/07(木)17:06分]

どうもありがとうございます。
大変参考になりました。
ただ、ピクチャーボックス上には角度のついた
文字列を表示できるのですが、プリンターのhDC
を渡してEndDocで送っても出力できません。
印刷は他の方法を使わなければならないのでしょうか?

たびたびすみませんがよろしくお願いします。

139

RE:文字列の表示角度を変えたい  投稿者:花ちゃん [99/1/06(水)20:30分]

私のHPのこんなサンプルどこにあるのフォント関係の
任意の角度で文字を表示する(Visual Basic増強作戦)
か素人工房さんのところにもサンプルがありますので
参考にされたらいかがでしょうか?

138

文字列の表示角度を変えたい。  投稿者:東海帝王 [99/1/06(水)20:01分]
はじめまして。

早速ですが、文字列を斜めや縦に表示(印刷も)したいのですが、
おそらくVBの機能ではできないと思い、APIのCreateFontを使おう
としているのですが、VB上での使い方がわかりません。
どうか、お助け下さい。
他に方法があれば何でもいいです。


137

VBでExcelへのデータ受け渡  投稿者:KAZU [99/1/06(水)16:08分]

Oracleのデータベースからのデータを、VBでSQL文を発行してExcelに渡す
プログラムを作成しています。

       1.VBのプログラムでボタンをクリック後、データをExcelに渡す。
       2.Excelを起動させて受け取ったデータを表示させる。
       3.Excelのマクロを実行してデータをExcel上で加工させる。
       4.加工したExcelのシートを保存する。
       5.Excelを終了させる。
       6.再度、VBのプログラムでボタンをクリック後、データをExcelに渡す。

       本来なら手順6で、ExcelがWindows95のメモリ上には一つしかない
       はずなのですが、Excelが二つになってしまいます。
       また、手順2でExcel起動時にマクロ有効化の確認メッセージが
       表示された時点でWindows95が固まってしまうことがあります。

       VBからExcelへのデータ受け渡し時に何か問題があるのでしょうか?

       ExcelはExcel97です。

135

DBComboのリセット(?)  投稿者:REIKO [98/12/29(火)8:46分]

お早うございます。
DBComboの初期設定ですが、
DBCombo.Refill
でできます。但し、これだけだとTextに前データが残っているので、
DBCombo.Text=""
を書かなくてはなりません。それでもって、DBCombo.Text=""を指定します。

私の場合、DBComboをリセットするとき、Textには"都道府県指定"等の
セリフ(?)を入れたい人なので、DBCombo.Text="都道府県指定"と入れます。
ところが、この"都道府県指定"と言うのは、Listに無いのでエラーを返します。
ですので、
On Error Resume Next
DBCombo.Text="都道府県指定"
としています。
これで動いてますが、いかがでしょうか?おためし下さい。

134

DBComboについて  投稿者:匿名 [98/12/28(月)18:11分]

教えて下さい。

DBComboに初期表示させたいのです。
普通のコンボだとListIndexを0にすればいいのですが、
DBComboにそれらしきものが見当たりません。
どなたかお教え願います。

133

MSflexgridセル直接編集機能の件のお礼  投稿者:gogogo [98/12/18(金)23:37分]

 花ちゃんさん,いろいろと親切にありがとうございます。
今は,まだ1つ1つのコードの意味を調べながらやってますので
全体を理解するのはもう少し時間がかかりそうですが,この親切に
応えるべく頑張ってみます。わからなくなったらまた質問させてもらいます。
 ありがとうございました。

132

MSflexgridセル直接編集機能の件  投稿者:花ちゃん [98/12/18(金)21:30分]

BooksOnLineのサンプル試してみました。やはり、こちらの方が便利
ですね。
そこで,少し手を加えて、Enterキーでの移動(↓→)を選択選択
出来るようにし、テキストボックスの表示位置をセルの上に変更し、タブ
キーでも移動(←→)出来るようにしました。
これで、ほぼエクセルでのセル内編集と同等の動きが可能です。
gogogoさんの要望のサンプルと入れ替えてHPにUPし直しました。

gogogoさんよろしかったら試して下さい。

131

.datファイルの一行削除の件  投稿者:kimie [98/12/17(木)9:41分]

お早うございます。
昨夜花ちゃんからのお返事を見て、今朝早速BooksONLINEを”シーケンシャル"で検索し
調べてみました。
欲しかった説明が沢山出てきました。
残念ながら、一行削除はシーケンシャルでは無理のようでした。

よって、花ちゃんのプログラム教室を見習って、kari.datを作成して必要分をコピーし、
ファイル名の変更をかけて処理します。

ご指導有り難うございました。

130

コモンダイアログでヘルプボタン  投稿者:今回匿名 [98/12/17(木)3:35分]

初めて投稿させて戴きます。初めてですので匿名でご容赦願います。
早速ですが、VB6で、コモンダイアログに追加したヘルプボタンを
押すと、コンテキスト番号で識別のトピックを表示させたいのですが
やり方が解りません。
ヘルプボタンの表示まではできましたが、
1.ヘルプボタンを押したときのイベントの拾い方はどうするのでしょうか?
2.通常のダイアログでトピックを表示する例として
       With CommonDialog1
          .HelpFile = App.Path & "\ヘルプファイル名"
          .HelpContext = コンテキスト番号
          .HelpCommand = cdlHelpContext
          .ShowHelp
       End With  
としていますが、コモンダイアログでは、どうするのでしょうか?
以上、ご教授の程、宜しくお願いいたします。

129

MSflexgridについてお礼  投稿者:gogogo [98/12/16(水)22:45分]

 kimieさん,ご教示ありがとうございます。
これを参考にプログラム組んでみます。上手くいったら,また
報告しますね。(上手くいかなくても質問しますけど。)(*^_^*)

128

RE:datファイルの一行削除  投稿者:花ちゃん [98/12/16(水)18:42分]

住所録作成の方や郵便番号で使っているデータファイルはランダムアクセス
ファイルで成績表の方で使っているのはシーケンシャルアクセスファイルです。
DATの拡張子は特に指定はありませんが、昔のBasicのなごりで使っています
上記ファイルではファイルサイズに制限はありません。
私はすべてのデータをランダムファイルで作成していますが、データ件数が
比較的少ない場合はシーケンシャルで多い場合はランダムファイルが適している
と思います。
BooksOnLineの検索で ”シーケンシャル”  ”ランダム” で検索して下さい。
ランダムファイルでは、レコードの削除はできません、データをヌルにする位です。
ですから、頻繁に削除するような場合空白のレコードをつめて新たに作り直すか、空
レコードはアクセスしないように設定するとかしています。

127

.datファイルの一行削除  投稿者:kimie [98/12/16(水)14:11分]

花ちゃん教えて下さい。
私はVBをDAOで使用してました。花ちゃんのプログラミング教室で初めて
Type・・・で宣言して作成するdatファイルを知りました。

このファイルについて、いろいろ知りたいのですが、HELPやオブジェクトブラウザーで
調べるときの検索文字が思いつきません。

さらに、DAOではGetRowsコマンドでデータを取得できるのですが、
この拡張子.datで似たようなことはできないでしょうか?

また、データを行単位で削除したいときは、どうすればよいのでしょうか?
花ちゃんのプログラミング教室では並べ換えによる削除を行われていましたが、
あの方法ではファイルサイズが大きくなり過ぎちゃうんです。
(ご存じですか?VBは64kbをこしては行けないのを
私はそれでファイルを一つ無くしました。寂しい年末になりそうです。)
何か良い方法は無いでしょうか?

126

お返事  投稿者:kimie [98/12/16(水)13:55分]

花ちゃん有り難うございます。
是非、そのフリーソフトを試してみます。
どの程度、希望のことができるかとても楽しみです。(フリーと言うのがありがたい。)

今回の件は、SendKeysメソッドでどうにかなりました。
参考までに・・・
SendKeys ”%{kanji}"
でIMEをオンにすることができました。繰り返し使う分にはちょっと不便です。
(その分、花ちゃんのお薦めのフリーソフトが気になります。)
有り難うございました。

gogogoさんへ
BooksONLINEの件ですが、
まず、一番最後に載っている、複数のセルに一度に同じデータを入れる。と言うのを
しないのならば、MSFlexGridのFillStyleはSingleでOKで、さらにFunction Fgiも
いらなくなります。
TextBoxの表示は、花ちゃんからもありましたようが、BooksONLINEで言うと、
sub MSFlexGridEdit のEdt.Move以降のカンマ区切りが位置を示します。
Left位置、Top位置,表示幅、表示高となります。
MSFlexGridのセルに合わせるので、それぞれMSFlexGridのCellLeft,CellTop,CellWidth,
CellHeightになってます。ところが、この項目の最初のコントロールの配置で
書かれていた、"フレキシブルグリッドを追加し、その中にテキストボックスを追加して
親子関係を作成します。"の"親子関係"がうまく行ってないと綺麗に表示されません。
(私はここでずっと引っかかってました。)
その時は、フォームに対するMSFlexGridのLeft位置とTop位置を先程のEdt.Moveのあとに足します。
Edt.Move Fg2.Left + MSFlexGrid.CellLeft,Fg2.Top + MSFlexGrid.CellTop,
MSFlexGrid.CellWidth・・・となります。
(このsubプロシージャのはじまりに変数があるので、Fg2はMSFlexGridになってます。
よって、Fg2の部分は、MSFlexGridと書いてもOKです。)
あとね、sub EditKeyCodeで、Enterキーのところを私はちょっと弄くりました。
現在のままだと、エンターを押してもまるでエクセルの様に下のセルに移動すると言うことが
無いのでCase 13をCase13,40にして、コードはCase40をそのまま持ってきました。
これで、Enterキーで下のセルに動きます。おためし下さい。

ずるずるとごめんなさい!!
私の質問もあるのですが、このメッセージが長いので次で書きます。

125

MSflexgridについて  投稿者:gogogo [98/12/16(水)0:23分]

 花ちゃんさん,早速の返事ありがとうございます。やっぱり
インターネットはすごいですね。いろんな人からすぐ返事がもらえて,
ありがとうございました。
 今度は,「うまくいきました!」と返事が書けたらいいんですが・・・。

124
RE:MSflexgridについて  投稿者:花ちゃん [98/12/16(水)0:08分]

>それから,前にも書いたようにテキストboxとセルの大きさを合わせてやる方法も
>わかれば誰か教えてほしいんですが・・・。
 本で紹介していたやり方もこの部分は同じです。
 ただ、使っているイベントが違うのでやり方が少し変わります。

 'テキストボックスの表示位置
 Text1.Top = MSFlexGrid1.Top + MSFlexGrid1.CellTop
 Text1.Left = MSFlexGrid1.Left + MSFlexGrid1.CellLeft
 'テキッストボックスのサイズ設定
 Text1.Width = MSFlexGrid1.CellWidth
 Text1.Height = MSFlexGrid1.CellHeight

 詳しくは、MSFlexGrid関係のところにサンプルをUP
 しておきました。

123

MSflexgridについて  投稿者:gogogo [98/12/15(火)23:26分]

 KIMIEさん回答ありがとうございます。じつは,このサンプルはプログラミング
ガイドに載っていたので,以前プログラムを打ち込んでやってみたことがあります。
上手くできたのですが,ただ私の知識不足でそこに出てくる変数などの意味がよく
わからんのです。どの部分のコードが,直接セルに入力できるように見せているの
かさえもわかりません。自分で調べることが大切だとは思いますが,なかなか時間
がなくて・・・。他力本願ですみませんが,その辺のことまで含めてできれば教え
てもらいたいのですが・・・。
 それから,前にも書いたようにテキストboxとセルの大きさを合わせてやる方法も
わかれば誰か教えてほしいんですが・・・。

122

RE:InputBoxでIMEを自動立ち上げしたい  投稿者:花ちゃん [98/12/15(火)21:22分]

フリーソフトで、IMEOperation Class(アイエムイー オペレーション クラス)
というのがあります。
ターゲットファイルをフォームに設定すればできます。
私のHPのこんなサンプルどこにあるの他のプロセスとの連携・制御の
ところにあります。
一度試して見て下さい。

>MSFlexGridでまるで直接入力の様に入力する件ですが、
>VBについているBooksOnLineに載ってます。
BooksOnLineに載っているなんて私も知りませんでした。
違う方法で実現しましたが?BooksOnLineに載っているのも
一度試して見ます。

121

InputBoxでIMEを自動立ち上げしたい  投稿者:kimie [98/12/15(火)14:18分]

こんにちは、みなさま。
お知恵を拝借したくて投稿いたします。

InputBoxで、データ入力を求めるのですが、その時に
日本語機能を持たせたいのです。
何かいい方法は無いでしょうか?

120

gogogoさんへ  投稿者:kimie [98/12/15(火)14:13分]

gogogoさんへ
はじめまして。kimieともうします。

MSFlexGridでまるで直接入力の様に入力する件ですが、
私はフル活用しております。
方法はですね、VBについているBooksOnLineに載ってます。
BooksOnLineの検索で"msflexgrid"と入れて実行をかけると
一番目に来る、"フレキシブルグリッドコントロールの使用例"
がそうです。
もう便利で便利で、この方法を知って以来、何とかエクセルを
VB内で表示させるんだぁ!と意気込んでいたのをやめました。

是非ご活用下さい。

119

MSflexgridについて  投稿者:gogogo [98/12/14(月)20:28分]

 こんばんわ花ちゃんさん。久しぶりにメッセージ書かせていただきます。
新しくUPされたMSflexgrid関係のプログラム例大変参考になります。
 ところで,そのMSflexgridについてですが,これを使って成績処理のソフトを
作りたいと思っています。(私は教員をしています)
 そこで,エクセルや1-2-3などの表計算のように直接セルに数値を入力するように
したいのですが,MSflexgridでは,直接は入力できないのでテキストboxと組あわせ
て使うように解説本などには書いてありますし,花ちゃんさんの例もそうなっていま
すね。ただ,「パーフェクトガイド」という本には

 「テキストboxとグリッドのセルの大きさを一致させ,テキストboxをセルの上に配置
 して,直接セルに入力しているように見せる方法がある」

と書いてありましたが,立ち読みではこれ以上詳しく知ることができませんでした。
(薄給の公務員では,8000円の高価な本はなかなか買えないのです。それに,入門書
をすでに数冊買っていたので・・・)
 ということで,上記のような方法を実現するプログラムはどのように書けばよいか
教えてほしいのですが,もちろんこれ以外の方法でもかまいません。
 VB初心者友の会にも書きましたが,返事が来ませんでした。(書き方が悪かったの
かな?)どうぞ宜しくお願いします。長文になってすみません。

118

RE:ActiveXでオブジェクトが作成できない  投稿者:花ちゃん [98/12/08(火)17:35分]

ヘルプのトラップできるエラーの
Visual Basicのランゲージエラーの項
のエラーNO429番を参照して下さい。

117

「ActiveXでオブジェクトが作成できない」って何?  投稿者:よね [98/12/08(火)13:03分]

VB5で作成したアプリケーションを開発環境でないPC(WindowsNT)に導入し、
実行したら「ActiveXコンポーネントはオブジェクトを作成できません。(Error429)」
のメッセージが出てしまいます。
開発環境のPC(WindowsNT)では正しく実行されるのにどうしてですか?
アプリケーションプログラムはVB5で作成したDLLを呼び出していています。
どなたか教えて下さい。

116

インストーラーの作成  投稿者:誰も教えてくれない! [98/12/04(金)10:15分]

DLL(アドイン)配布用のインストーラーはどうやって作ればいいのですか?
レジストリへの登録の仕方(Regsvr32.exeを使用?)や"vbaddin.ini"への
登録など、どうやってするのですか?
VBのセットアップウイザードで作成できるのですか?

115

RE:コモンダイアログ  投稿者:花ちゃん [98/12/03(木)17:16分]

NT4に当てはまるかどうか解りませんが、マイクロソフトの技術情報
[VB5] 印刷関連の制限事項および注意点(URL参照)を参照されたら
いかがでしょうか?。

http://www.microsoft.com/japan/support/kb/articles/J041/4/03.htm

114

コモンダイアログ  投稿者:たか [98/12/03(木)11:45分]

はじめて投稿させていたたきます。
「印刷」コモンダイアログについてなんですが、

今、フォームにコモンダイアログコントロールを1つ配置して
CommonDialog1.flags = cdlPDReturnIC
CommonDialog1.ShowPrinter
で「印刷」コモンを表示させ、

Printer.print "ABC"
Printer.NewPage
Printer.EndDoc
簡単な文字型データを印字させるアプリを作成します。

文字は印字されるのですが、「印刷」コモンで任意操作設定したものがプリンターに反映
されないで困ってます。
しかもWin95上では問題無いんですけど、NT4上では全然反映されないんです。
これはなぜなんでしょうか?
プリンターはネットワークプリンターです。VB5/EnterpriseEdition

どなたかご教示願いませんでしょうか?よろしくお願いします。

113

三角ダイアグラム  投稿者:萩原 [98/12/02(水)13:06分]

三角ダイアグラム(正三角形の頂点に要素を置き、パーセントで1点
をプロットするもの)
は印刷及び表示が出来ないでしょうか。

112

ありがとうございます  投稿者:中島 [98/11/28(土)18:42分]

ゆうさん、ありがとうございます。出来ました。
FileNameで取ってくると思っていたらListで取ってこれるのですか。
かなり勉強不足でした。
もう少し読書にはげんでから相談することにします。。

思ったのですが、ListCountって更新してくれないのですね。
Path変更してから取り直してますが馬鹿みたいで。。

また困った時にはよろしくお願いします(汗

111

Re:ファイル名の取得  投稿者:ゆう(U) [98/11/27(金)23:12分]

>ん。Filelistboxとか使っても、自動的に次のファイルへ移動することが
>出来ないので悩んでいます。簡単なことかもしれませんが、お願いし
File1.List(0)〜File1.List(File1.ListCount-1)で順に取得できます。
※For 〜 Nextなどを併用

他には「Dir 関数」で可能です、使用例にフォルダー名の取得方法のサンプルが
紹介されています、これを参考にするとファイル名を取得できるはずです。

ヘルプ参照
Dir 関数(Dir$ 関数)
ファイルリストボックスコントロール
Listプロパティ
ListCountプロパティ
など

110

ファイル名の取得  投稿者:中島 [98/11/27(金)21:00分]

はじめまして。高校が八日市で近かったたので、よく見させてもらって
ます。会社員になってVBを使う事になったのですが、いきなり壁にあ
たってしまいました。できればご教授願いたいです。
ファイル名を取得したいのですが、あるディレクトリ内にあるファイルを
全て配列に入れたいだけなんですけれど、どうしていいかわかりませ
ん。Filelistboxとか使っても、自動的に次のファイルへ移動することが
出来ないので悩んでいます。簡単なことかもしれませんが、お願いし
ます。

109

フォームの後ろの画像  投稿者:ほねくす [98/11/27(金)10:28分]

フォームの後ろの画像は取得できないのでしょうか?

108

ファイルのリネームお礼  投稿者:KENTa [98/11/26(木)11:54分]

花ちゃん、ありがとうございます。
こんなに簡単だったんですね。また分からないことがあったら、
質問させてもらいます。

107

RE:ファイルのリネームをしたい  投稿者:花ちゃん [98/11/26(木)8:50分]

Name ステートメントで変更できないのでしょうか?
Name oldpathname As newpathname 

106

ファイルのリネームをしたい  投稿者:KENTa [98/11/26(木)7:53分]

ショートカットファイルのファイル名を変更したいのですが、どこを探しても
そんなサンプルがありません。コピーして、元ファイルを削除するしかないん
でしょうか?こんな方法があるよって方、教えてください。

105

Re:文字の移動検索  投稿者:ゆう(U) [98/11/25(水)13:26分]

以前V友でReした内容をそのまま掲載します。
Text2の数値でシフトさせる値を決定しています。
Forループ内で一定の数値変換を行う事で他人による解読を
難しくさせています。
Forループ内の変数kの計算をしない様にすると、ご希望の
処理になると思います。

●ここから
変換テーブル
"0123456789ABCDEF"
暗号化
(位置 + α) Mod Len("0123456789ABCDEF")
解読
(位置 - α) Mod Len("0123456789ABCDEF")

※テーブルも乱数で並べ替えとか・・・

サンプル)
テキストボックス4つ(Text1,Text2,Text3,Text4)
コマンドボタン1つ(Command1)

Text1へは"0"〜"9"、"a"〜"f"、"A"〜"F"の半角文字をText2へは
乱数の基数を入れてコマンドボタンをクリックして見て下さい。

Private Sub Form_Load()
  Text1.Text = "AB123"
  Text2.Text = "7"
  Text3.Text = vbNullString
  Text4.Text = vbNullString
End Sub
Private Sub Command1_Click()
Const strTable = "0123456789ABCDEFabcdef"       '変換テーブル1
'Const strTable = "f0CA345d6c7F9ab2B1DeE8"       '変換テーブル2
  Dim i As Long, j As Long, k As Long

  With Text3
    k = CLng(Text2.Text)
    .Text = vbNullString
    For i = 1 To Len(Text1.Text)
      k = CLng(Int(Left$(CStr(k ^ 2), 4) + 0.5))
      j = InStr(strTable, Mid$(Text1.Text, i, 1)) - 1
      j = ((j + k) Mod Len(strTable)) + 1
      .SelStart = Len(.Text)
      .SelText = Mid$(strTable, j, 1)
    Next i
  End With

  With Text4
    k = CLng(Text2.Text)
    .Text = vbNullString
    For i = 1 To Len(Text3.Text)
      k = CLng(Int(Left$(CStr(k ^ 2), 4) + 0.5))
      j = InStr(strTable, Mid$(Text3.Text, i, 1)) - 1
      j = ((j + Len(strTable) * 1000& - k) Mod Len(strTable)) + 1
                               '↑kが大きくなりすぎる場合を想定して
      .SelStart = Len(.Text)
      .SelText = Mid$(strTable, j, 1)
    Next i
  End With
End Sub
※エラー処理は含めていません

104

文字の移動検索  投稿者:桃 [98/11/23(月)2:32分]

私は、初心者ですが、あるプログラムを作りたいと思っています。
登録してある文字暗号化のように、検索できるようなプログラムです。
例えば、a〜zまでコレクションで書き込んでおきます。
そして、テキストボックス1に”abc”と入力し、テキストボックス2に
2と入力すると、テキストボックス3へ2文字ずつずれた、”cde”を出力させる
できるプログラムを作成したいのです。
できたら、好きな文字を書き込み可能になるように、コレクションでなんとか
作ることはできないでしょうか?

103

お礼:C/S書籍の件  投稿者:浦島太郎 [98/11/17(火)23:25分]

花ちゃんさん、わざわざ御回答有り難うございました。
そして、二重投稿してごめんなさい。
VB4.0のC/Sの書籍があったので、それでなんとか頑張ってます。
RDO、ODBCでうまくいったのですが、現在の主流はADOとやららしいんです。
最近出てきたやり方なので、これから苦労しそうです。
これからも、ちょくちょくお邪魔したいと思います。
リハビリ(?)が終わったら知っている範囲で質問にも答えさせていただければ
と考えております(テレホになるけど・・・)。
なにはともあれ、どうも有り難うございました。

102

Winsockで配列を一気に送る  投稿者:かにゃ [98/11/17(火)16:45分]

はじめまして。
Byte型の配列をWinsockのSenddataで一気に送りたいんですが
可能なのでしょうか?どなたかアドバイスよろしくお願い致します。
様はTCP/IPでファイルを送りたいのです。

101

RE:クライアントサーバーの書籍  投稿者:花ちゃん [98/11/17(火)7:41分]

こんにちは、浦島太郎さんご指名頂いたのですが、私はクライアントサーバーが
扱えるほど詳しくはありません。VB関係の本は色々気にして見たり、買ったり
してはいるのですがクライアントサーバー関係の本は見かけないですね。
どなたかご存知の方がおられるといいのですが?

前のログ 次のログ


VBレスキュー(花ちゃん)
Visual Basic6.0  VB6.0