前のログ | 次のログ |
No.100
クライアントサーバーの書籍 投稿者:浦島太郎 [98/11/17(火)0:19分]
花ちゃんさん、はじめまして。 今度、NT(4.0)、VB(6.0)、SQL Server(6.5)の環境でC/Sシステムを 構築することになりました。 以前、VB(4.0)、Access(95)でプログラミングをしたことがある(二年前)ので 簡単だろうと思っていたら、甘かったです。(環境設定はどうにかできました) そこで、花ちゃんさんにお願いがあります。 もし、C/Sシステムについておすすめの書籍があったら教えてください。 それにしても、技術の進歩は早いですね。マニュアルを読んだら聞いたこともない 言葉がたくさん出てきてしまい、参りました。 よろしくお願いします。
No.99
RE:コントロール配列について 投稿者:花ちゃん [98/11/16(月)17:44分]
イマイチ、なにをしようとされているのかよく解らないのですが? >クリックしたImageのIndexの値をIndex1に格納したい Image1(0)〜(63)のどれをクリックしたか知りたいのであれば Image1_Clickイベントの Index の値を調べれば解りますが Form_Loadイベントに書いておられるので、何か他の事がやりたいのかな? 又、 >Private Sub Form_Load() > Text1.Text = "場所を指定" > Index1 = ???? > Text1.Text = Index1 >End Sub このテキストボックスでなにを表示したいのでしょうか? もう少し状況を詳しく教えて下さい。
No.98
コントロール配列について 投稿者:Tanaka [98/11/16(月)14:54分]
はじめまして。 以下の事について教えて下さい。 Imageのコントロール配列(Image1(0)〜(63))があり、 クリックしたImageのIndexの値をIndex1に格納したい。 Private Sub Form_Load() Text1.Text = "場所を指定" Index1 = ???? Text1.Text = Index1 End Sub ????に入るべき文を教えて下さい。 よろしくお願いします。
No.97
RE:テキストボックスのフォーカスをなくすには? 投稿者:亜美 [98/11/13(金)14:20分]
こういうのでどうでしょうか? 'Text1にカーソルが行かないようにする。 Private Sub Text1_GotFocus() Text2.SetFocus '← このテキストボックスは見えない位置に置いておく End Sub
No.96
TEXTファイルを呼んで構造体に! 投稿者:BUBBUB [98/11/11(水)21:40分]
はじめまして。VB超初心者です。 困ってます。誰か教えてください。 TEXTファイル(固定長)を読んで、そのデータを構造体(レコード)にとりこみたい のですが、Line Input で取り込むときはVariantじゃないと だめみたいなので、Varの変数で とって、その後構造体の変数に移そうとするとエラーになります。 どーすればいいの??
NO.95
ゆう(U)さんへ☆☆☆ 投稿者:うるふ [98/11/10(火)23:55分]
ゆう様、お返事ありがとうございます。 確かに天秤の種類は多々あります。 ちなみに接続したい天秤のメーカーは「島津」です。 で、環境は OS : WINDOWS95 、マシン : NEC(98NX) VB : version5.0(Professional) です。 天秤については、今までBASIC(古いけど(^^; )で使用していたため、 BASICに対してのコード表はあります。 でも、VBに対してのコード表は取り寄せていません。 ゆうさんの言うように、ドライバーやDLLでも出ているかもしれませんし、 一度、メーカーに問い合わせてみたいと思います。 それでも上手くいかないようでしたら、また、詳細を掲示板に書いてみようかと 思います。本当に、こんな私につきあってくださってありがとうございました。 もう一度、がんばって調査してみます。(^^)/
NO.94
投稿者:ゆう(U) [98/11/09(月)15:40分]
電子天秤を持っていないのですが・・・ まず、世界(日本)中に電子天秤なるものは1種類のみ存在するのでしょうか? それなら持っている人はわかると思いますが、数種類存在するなら発売元や型番 などで1つに絞り込まないといけないと思います。 RS-232Cで接続するのは良いのですが、その機器の制御コードのマニュアルなどを 持っていますか? 当然何らかの方法で取得されていますよね! そのマニュアルに接続の通信速度などの設定値は書いてありませんか? 電源投入後の初期化用制御コードは? それに対する返信コードは? 計測開始の制御コードは? 状態監視コードは? これらを順に調べていくといくらか進展すると思うのですが・・・ ものによっては専用のデバイスドライバーをDLLで制御して操作できる ものも在るかもしれません(電子天秤にあるかは不明ですが)。 なお環境として OS、VBバージョン・エディション・SP パソコン(NEC、DOS/V) なども・・・
No.93
悩んでいます・・・ 投稿者:うるふ [98/11/08(日)23:04分]
初めまして☆私はVB初心者のため、今、大きな問題で悩んでいます。 それは、「電子天秤(自動)のデータが安定したら、VB上にINPUTデータとして 取り込む方法」なのですが、誰か教えてもらえませんか? 「CommEvent」で「MSComm」を用いれば出来るらしいのですが、上手く行きません。 ちなみに「RS-232C」を使用してマシンと天秤を接続しています。 もし、わかる方がいましたら御指導ねがいます。
No.92
四捨五入 投稿者:carol [98/11/04(水)23:56分]
乱数を生成するために、下記のソースコードを作製しました。 X = Left((X ^ 2), 4) で、常に上4桁を取り出し、その 4桁に0.5を加え、5桁目を常に四捨五入(切り上げ)を行いたいの ですが、うまくできません。X = Int(Left((X ^ 2), 4) + 0.5)の 部分をどのように変えたらうまくいくでしょうか? もう一つ、初期値に小数点を含む数値を入力し、上記の結果と同じ ように常に上4桁を取り出すとき、取り出した結果を小数点を含 まない整数へ変えるにはどうしたら良いのでしょうか? 教えてください。お願い致します。 ---------------------------------------------------------- Option Explicit Private Sub Command1_Click() Dim n As Long '文字数の宣言 Dim X As Long '初期値の宣言 X = Text2.Text '初期値の取得 For n = 1 To CLng(Len(Text1.Text)) '文字数の取得 X = Int(Left((X ^ 2), 4) + 0.5) '初期値Xから乱数作製 Debug.Print (X) Next End Sub
No.91
お礼:テキストボックスのフォーカス 投稿者:しょうきち [98/11/02(月)13:26分]
花ちゃんさん、早速の回答、ありがとうございます。返事がおそくなり ましたが、無事、解決できました。TextBoxをLockedするだけでは だめだったということがわかりました。 また、お世話になるかもしれませんが、その時はよろしくお願いします。
No.90
RE:テキストボックスのフォーカスの件 投稿者:花ちゃん [98/10/30(金)20:46分]
テキストボックスでのイベント等を完全に無視してよいのなら Text1.Enabled = False を試してみて下さい。
No.89
テキストボックスのフォーカスをなくすには?追加 投稿者:しょうきち [98/10/30(金)15:58分]
二重、三重の投稿になってしまいました。本当にごめんなさい! 一番最初に「TabStopをTrueに」で二回目に「TabStopをFalse」 という、まったく違うことをかいてますが、多分「TabStopをFalse」 が正しいと思います。まったく見当違いだったらまたまたすみません! よろしくお願いします。
No.88
フォーカスをなくすには 投稿者:しょうきち [98/10/30(金)15:38分]
こちらで初めて質問します。よろしくお願いします。 VB4.0なんですが、フォームが表示される時に、テキストボックスにフォーカス が表示されないようにしたいのです。 一応、FormLoad時にTabStopをTrueにしたのですが、うまくいきません。 なにかいい方法がありましたら、よろしくお願いします。
No.87
バイナリファイル<->文字列へ 投稿者:ELU [98/10/23(金)15:57分]
はじめまして。バイナリファイルを文字列として相手先に送ってしまおうという (MIMEみたいの?)ことをたくらんでいるんですが、技術不足でどうにもなりません... どうにかならないでしょうか?(^。^;)
No.86
RE:アクティブタイトルバー・・・・ 投稿者:花ちゃん [98/10/22(木)23:47分]
花ちゃんにそんな難しいこと聞いてもらっても解りません。 そのかわり、私のリンクの 素人工房さんのHPのAPIのすすめの 中の第8回:タイトルバーへ悪戯書きがありますので、それでどう でしょうか? 希望しておられるものだったらいいのですが?
No.85
テキスト・・ありがとうございました 投稿者:にゃ [98/10/22(木)23:25分]
花ちゃん・ゆう(U)さん、ほんとにありがとうございました。 ようやく次に進めます。 また、わからない事がありましたら すみませんが、手ほどきよろしくお願い致します。
No.84
アクティブタイトルバー・・・・ 投稿者:MARU [98/10/22(木)22:54分] http://www1.plala.or.jp/kazukun/
花さん、お久しぶりです。 ところで、他のアプリのアクティブタイトルバーに 文字を書き込むにはどうすればいいんですか?
No.83
RE:こんなやり方でいいのでしょうか 投稿者:花ちゃん [98/10/22(木)21:05分]
事後処理でいいのならこちらの方が高速に処理できると思います。 Text1.Text = RTrim(Mid(.yomi, 1, InStr(.yomi, vbNullChar) - 1))
No.82
続:テキスト〜ごめんなさい 投稿者:にゃ [98/10/22(木)18:40分]
すみません。書いてから気づきました。 こうすればいいんですね。 While Right(yomi, 1) = vbNullChar yomi = Mid(yomi, 1, Len(yomi) - 1) Wend でも本当にこんなやり方でいいのでしょうか? よろしくお願い致します。
No.81
続:テキストボックスについて 投稿者:にゃ [98/10/22(木)18:29分]
皆様、お答えありがとうございます。 また、色々しました。 花ちゃんのを参考にさせて頂きましたが、どうも変化なしです?? (コードを追加しただけで駄目なのでしょうか?) (旧データも捨てないといけないのでしょうか?) で、色々テストしました結果を書きます。 RTrimは右からスペースを消すのだと思い、 文字列(yomi as String * 30)の 最後(右)を探したところvbNullCharを見つけました。 それを消してやりRTrim(yomi)->Textbox->yomi->Putでセーブしました。 読み込みました。またvbNullCharがでました。 (全角文字が1文字入っている場合です) yomiのPut/Get関係で、全角が入っている文字列には勝手に vbNullCharを入れてしまうのではないでしょうか? で、次のコードで落ち着きましたが・・・・よく分かりません。 If Right(yomi, 1) = vbNullChar Then yomi = Mid(yomi, 1, Len(yomi) - x) End If どうしてxを使っているかというと、ここが分からないのです。 全角文字数をxにしないとちゃんとならないのです。 つまり"aあbいcうeえg"だと、x=4でないといけないようなのです。 全角の位置は関係ないようです。 全角の数だけ最後にvbNullCharを追加するようです。 全角だけの文字数なんてどうやって取ればいいのでしょうか? すみません。また教えてください。 他の案もお願いします。 僕のPCが変なのでしょうか?(あー深みにはまっていく〜) よろしくお願い致します。
No.80
RE:ファイルの削除 投稿者:花ちゃん [98/10/22(木)17:22分]
どなたも回答がないようですので、どこかでサンプルを公開されていないか 探したのですが、見当たりませんでした。私のHPのこんなサンプルどこにあるの 「ファイルの検索(サブフォルダー対象)」等を参考にされたらどうでしょうか
No.79
Re3:テキストボックスについて 投稿者:花ちゃん [98/10/22(木)15:26分]
ゆう(U)さんご指摘の通り新規作成時にアスキーコードの 0(vbNullChar) が入ります。本来ならレコードを最初にフォーマットする必要があるものと 思われます。 回避策として新規作成時に都度フォーマットするように考えて見ました。 サブルーチンに Public Sub F_format() With Add .yomi = Space$(30) .mei1 = Space$(34) .mei2 = Space$(34) .keis = Space$(4) .yuno = Space$(8) .jyu1 = Space$(34) .jyu2 = Space$(34) .tel1 = Space$(16) .tel2 = Space$(16) .tel3 = Space$(16) .tel4 = Space$(16) .biko = Space$(120) .saku = Space$(10) .syus = Space$(10) End With Put #1, RC1, Add Get #1, RC1, Add End Sub 表示のところを Public Sub Hyoji() '指定レコードのデータを表示 'レコードNOのエラー防止 If RC1 = 0 Then RC1 = 1 Get #1, RC1, Add If Mid$(Add.yomi, 1, 1) = vbNullChar Then F_format '追加 With Add Text1.Text = RTrim(.yomi) '変更 Text2.Text = RTrim(.mei1) '変更 これで一応回避できます。 一度登録されたデータは空白の部分をデリートして再書き込みすればOKです。 あとテキストボックスの幅だけしか入力できないように制限したいなら教室で使った Strcut関数(自作)を使って下さい。 また、第4回目の最後の方に記入している部分も参考にして下さい。
No.78
Re2:テキストボックスについて 投稿者:ゆう(U) [98/10/22(木)14:12分]
RTrimは問題なく動作しているようなので・・・ もしかするとvbNullCharが入っていませんか? Private Sub Command1_Click() Dim strTemp As String * 10 Dim i As Long '宣言直後の状態 For i = 1 To Len(strTemp) Debug.Print Asc(Mid$(strTemp, i, 1)) Next i '値を代入後の状態 strTemp = "A " & vbNullChar For i = 1 To Len(strTemp) Debug.Print Asc(Mid$(strTemp, i, 1)) Next i Debug.Print RTrim$(strTemp); "←" End Sub この様に途中にvbNullCharが入っているとRTrimは正常に vbNullCharまででTrimを止めてしまいます。 そしてテキストボックスはvbNullCharまでの文字列しか 受け取りません(vbNullCharの後に文字は無視します)。 (C言語などでは文字の終端を表わすのに使用されます) 確認) strTemp = "A " & vbNullChar & "BB" Text1.Text = strTemp Debug.Print strTemp; "←" Debug.Print Text1.Text; "←" もしvbNullCharが原因なら何処かにバグがあるのかも知れません。 ※テキストボックスへはvbNullCharを入れられないので、文字列 変数を処理している時に、vbNullCharが入る原因を突止めて下さい。
NO.77
ありがとうございます 投稿者:にゃ [98/10/22(木)9:19分]
ゆう(U)さん、お返事ありがとうございます。 くわしく書かせて頂きます。 私は、VB5.0+SP3です。 標準モジュール Private Type ShoruiFile Yomi As String * 30 'よみがな | End Type Public Shorui As ShoruiFile Public RC1Max As Integer Public RC1 As Integer フォーム Private Sub Form_Load() Open "c:\Data.DAT" For Random As #1 Len = Len(Shorui) RC1Max = LOF(1) / Len(Shorui) If RC1 = 0 Then RC1 = 1 Get #1, RC1, Shorui With Shorui Text1.Text = RTrim(.Yomi) | End With End Sub Private Sub Command_Click() 'セーブボタン With Shorui .yomi = Text1.Text | End With Put #1, RC1, Shorui End Sub 一部だけ取り出しましたが、大まかにはこんな感じです。 ちなみに花ちゃんのプログラミング教室のプログラムにRTrimを加えましたが やはり初回の読み込みでは、全角が入っているとスペースが出ます。 (テキストボックスにマウスで反転させるとスペースが見える。) 一旦セーブ(書き込み)し他のレコードに変えると、症状が治ります。 ゆう(U)さんや他の方は、どうなんでしょうか? すみません。よろしくお願い致します。 ※テキストボックスの文字制限は、がんばってみます。
No.76
Re:テキストボックスについて 投稿者:ゆう(U) [98/10/22(木)0:15分]
にゃさん、夜分失礼します。 >初心者が編集する時の為、RTrimを使ってテキストボックスに入れましたが >オール半角の場合、きちんと消えるのに全角文字が少しでも入ると どのように確認したのですか? テストコード:テキストのチェンジイベントで実行) Debug.Print RTrim(Text1.Text); "←" 私の環境では問題なく全角・半角スペースともに消去されます。 ※途中に漢字と半角英数字を使用している場合で確認しました にゃさんはどのような環境で行っているのでしょうか? ちなみに花ちゃん(さん)の教室のとおりにしているなら固定長の文字列なので 変数では後ろに半角スペースが追加されています(自動でVBが付加します)。 ですからテキストボックスへの転記の際にRtrimをしなければなりません。 ※にゃさんはどのようにコードを書いていますか? 文字数ではなく文字列幅で制限をかけたい? TextWidthでそのフォントでの幅を調べるか、ラベルを非表示にして フォームへ貼付けてテキストボックスのフォントと同じにし、Autosizeを TrueにしてからCaptionに文字列を設定してからWidthプロパティで文字列の 長さを判定して入力に制限を加える。 ※ちょっと複雑になると思いますががんばってコーディングしてください。 途中で不明点など発生したらそのときのコードを添付して質問してみて 下さい、できる限りアドバイスさせていただきます。 ●質問の際には自分の環境(OS/VBのバージョン・エディション・SP)を 添付して下さい、環境で動作が異なる場合があります。 私の環境は Win98/VS97Pro(SP3) VS6.0Proは箱にいれて飾ったままです(インストールしていません)。
No.75
テキストボックスについて 投稿者:にゃ [98/10/21(水)22:30分]
花ちゃんのプログラミング教室拝見いたしております。 参考になります。(ありがとうございます) 本題ですが、上記の教室の方法を用いて試作品を作りました。が・・・ ファイルを読み込んだ時、テキストボックスには後ろにスペースが入ってしまいます。 初心者が編集する時の為、RTrimを使ってテキストボックスに入れましたが オール半角の場合、きちんと消えるのに全角文字が少しでも入ると 消えないんです・・・(ここで数日悩んでいます・・・) バクでしょうか? あと、テキストボックスの枠までしか入力出来ない様に出来ませんか? (半角・全角入り乱れての場合です。) 文字数指定を使うと悲しい結果になってしまいます。 (半角に合わせると全角は駄目・逆は駄目) 一週間ほどテキストのおかげで眠れません。 誰かたすけて下さい。お願いします。
No.74
お礼:重複不可属性のフィールドのイベントをつかみたいのですが? 投稿者:Kazunori [98/10/18(日)1:55分]
Mas&Mie さん にご回答いただきました 早速利用させていただきます ありがとうございました
No.73
RE:重複不可属性のフィールドのイベント 投稿者:花ちゃん [98/10/16(金)18:04分]
VB初心者友の会の方で回答されていましたが、あれではだめなのでしょうか?
No.72
重複不可属性のフィールドのイベントをつかみたいのですが? 投稿者:Kazunori [98/10/16(金)1:21分]
VB5Pro・MDB形式・DAO・ダイナセットタイプ で簡単な住所録を作成しました。 Dataコントロールは非表示にしています。 したがって、レコードの移動・更新・終了・等、たくさんの データ操作ボタンや、結果的にデータが更新してしまう場合 があります。 (他のフォームで同じテーブルを参照して移動・更新したりします) ここで困ったのですが、 氏名フィールドだけは 「主キー、重複入力不可、空文字不可、値要求あり」 属性です。 したがって、同じ氏名を入力してしまったとき「メッセージを表示したい」 のですが、そのイベントがわからないのです。 いくつもあるボタンや、すべてのイベントのプロシージャ全部に、 エラー番号を調べて見つける方法しかないのでしょうか? Dataコントロールだけならきちんと無愛想な重複している旨のメッセージを 表示してくれるのですが・・・。 いろいろな初心者用の書籍を買ったのですが、 そのような時のメッセージ表示の例が 記述されていません。 どなたか教えていただけますでしょうか。 よろしくお願いいたします。
No.71
ファイルの削除 投稿者:たけ [98/10/15(木)11:44分]
だれか教えてください! 私は、ファイル名の一部に日付をつけて、ネーミングしております。 例(X981011XX.XLS) その複数ファイルの中から、ファイル名の日付(5ヶ月以前を全件とか)によって 一括削除させたいと思っております。 親のフォルダーは"DATA\”となっており、その中に複数のフォルダーがあり全てを対象に したいです。 dirやfindfistfile関数を使って見たのですが、うまくいきません。 どうすれば出来るでしょうか? お願いします。
NO.70
RE:計算 投稿者:花ちゃん [98/10/08(木)21:31分]
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then KeyAscii = 0 Dim zei As Currency Dim tanka As Currency Dim goukei As Currency tanka = Text1.Text zei = tanka * 0.05 goukei = tanka + zei Text2.Text = Format(zei, "###,###") Text3.Text = Format(goukei, "###,###") End If End Sub 又はCommandボタンに計算の部分を貼り付けて下さい。 表示を右寄せにするにはテキストボックスのAlignmentを1―右揃えに 設定して下さい。
No.69
計算 投稿者:りゅう [98/10/08(木)20:49分]
例えば、1個目のText Box に物の値段を、入れたら、2個目のText Boxには、 物の値段に対する消費税額が出てきて、3個目のText Box には、 総合計出るようにするには、どうしたら、いいのですか。誰か教えて下さい。
No.68
クイックソートにバグ! 投稿者:ゆう(U) [98/10/08(木)12:02分]
ごめんなさい、以前投稿したクイックソートにバグがありました、 ソート内容に同一の値があると無限ループに突入します。 以下の様に修正すると正常に動作します。 昇順用Quickソートと昇順用Quickソート共に myArray(i) = myArray(i) Xor myArray(j) myArray(j) = myArray(i) Xor myArray(j) myArray(i) = myArray(i) Xor myArray(j) の後に i = i + 1 'これを追加 j = j - 1 'これを追加 この2行を追加です。
No.67
ゆう(U)さんへ 投稿者:Jpro [98/10/02(金)16:10分]
早速のレス本当にありがとうございました。 あるファイルが存在するとまずいので、強制的に消すkillコマンドを使わせていただきます。 投稿した後、VB付属のプログラミングガイドのコードのデバッグ及びエラー処理の章で たまたま、DIR関数を見つけたので自己レスするつもりでしたが、 既に回答されていた後だったのでお詫び申し上げます。 これからもVBレスキューを利用させていただきますので、よろしくお願いします。
No.66
注意事項 投稿者:ゆう(U) [98/10/02(金)15:56分]
●翔さんへ、前回のコードで注意点を数点・・・ App.Pathは起動直後に文字列変数などへ待避しておく方が良いです。 (何かの拍子にフォルダーが変更される場合が有ります) 構造体OPENFILENAMEをSaveFileNameと改名しているようですが この様なAPI関係の構造体は元の名前のままの方が良いです。 (他人が見た場合他にも変更しているか不安になります) >SaveFile.lStructSize = Len(SaveFile) >SaveFile.hwndOwner = frmUj.hwnd >SaveFile.hInstance = App.hInstance > : >SaveFile.lpstrInitialDir = App.Path この様な場合Withを使用した方が可読性+速度(ちょっと)が 増します。 サンプルコード) 'アプリケーションの起動フォルダーを取得 Public Function fMyAppPath() As String Static strMyPath As String If Len(strMyPath) = 0& Then strMyPath = App.Path If Right$(strMyPath, 1&) <> "\" Then strMyPath = strMyPath & "\" End If End If fMyAppPath = strMyPath End Function ※起動直後のSub MainかスタートアップフォームのLoadで 1度Callして下さい、その後は何処から使用(Call)しても 起動時のフォルダーを返します。 ルートでもフォルダーでも同じように¥付きのPathになります。 ネットワークドライブでは動作未確認です。
No.65
Re:DOSファイルの削除 投稿者:ゆう(U) [98/10/02(金)15:28分]
※Windowsで見れるファイルはDOS窓で作成していようが関係有りません。 キレた方法は エラートラップしていきなりそのファイルを フルパス指定でKillしてしまう。 エラーなら存在しなかった。 エラーにならないなら存在していた。 ※どの道削除してしまうならエラーだろうが、エラーじゃなかろうが 結果的に存在しなくなる 普通の方法は そのファイルが存在するのを確認してから フルパスでKillする。 ※Killすると本当に削除(ごみ箱へは行きません)します SHFileOperation(API)を使うとごみ箱行きも選択できます ヘルプ参照 Kill ステートメント サンプル:自作のExistコード) Public Function fFileExist(ByRef FileName As String, _ Optional Attributes As VbFileAttribute = vbHidden _ ) As Boolean On Error Resume Next fFileExist = Dir$(FileName, Attributes) <> vbNullString If Err.Number <> 0 Then fFileExist = False End If End Function ※使い方は自分で試して見て!
No.64
コモンダイアログAPI-2 投稿者:ゆう(U) [98/10/02(金)15:08分]
翔さんへ、あれから寝ずに調べました・・・うそ(寝てないのは事実ですが)。 とりあえずlpstrDefExt As Stringに"*"でも設定して実行して下さい。 たったこれだけの違いでした・・・ VBのコモンダイアログと比べて出来ないのはおかしいとおもい調査した結果、 ゆー太郎さんの「空耳工房 MY2Project」−API 心の小部屋−703号室の コードと自分のコードを比べて確認しました。 MSDNでフラグを全て調べたり、lpfnHookで何とかならないかとか・・・ 色々やって見たんですが、たったこれだけでした。
No.63
DOSファイルの削除 投稿者:Jpro [98/10/02(金)14:35分]
すんません、まったくの初心者です。 指定ディレクトリ(フォルダー)にDOSファイル(xxxxxx.txt)が存在する場合には、 そのファイルを削除したい場合、VBではどのように記述すればいいのでしょうか? MS-DOSの場合で言うと、例えば IF exist c:\tmp\xxxxxx.txt del c:\tmp\xxxxxx.txt なんていう、ファイルが存在するかどうか判断するコマンドがあるんですけど。
No.62
コモンダイアログAPI 投稿者:ゆう(U) [98/10/01(木)22:34分]
APIでは自動では拡張子がつかないようです、ですから フィルターインデックスで指定された拡張子が付いているか 確認して、付いていなければ自分で付けなければならない ようです。 ※フィルターインデックスには変更結果が返っています。
No.61
ゆう(U)さん へ 投稿者:翔 [98/10/01(木)17:08分]
>ゆう(U)さん いつも有り難うございます。 説明不足でしたが、APIっていうんですかそれをつかってログボックスを引っぱり出して いるのですが、一応下にコードを複写しておきましたので宜しく御願いします。 関係無いかもしれませんが私のは Win95/VB5.Learning(SP無し)/IE4.01・・です Private Declare Function GetSaveFileName Lib "comdlg32.dll" Alias _ "GetSaveFileNameA" (pSaveFileName As SaveFileName) As Long Private Type SaveFileName lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type Private Sub Command1_Click() Dim SaveFile As SaveFileName Dim lReturn As Long Dim sFilter As String SaveFile.lStructSize = Len(SaveFile) SaveFile.hwndOwner = frmUj.hwnd SaveFile.hInstance = App.hInstance sFilter = "すべての形式 (*.*)" & Chr(0) & "*.*" & Chr(0) & _ "テキスト形式 (.txt)" & Chr(0) & "*.txt" & Chr(0) SaveFile.lpstrFilter = sFilter SaveFile.nFilterIndex = 1 SaveFile.lpstrFile = String(257, 0) SaveFile.nMaxFile = Len(SaveFile.lpstrFile) - 1 SaveFile.lpstrFileTitle = SaveFile.lpstrFile SaveFile.nMaxFileTitle = SaveFile.nMaxFile SaveFile.lpstrInitialDir = App.Path
No.60
コモンダイアログ(保存)の拡張子 投稿者:ゆう(U) [98/10/01(木)10:23分]
VBのバージョンは?4(16,32)/5/6 コモンダイアログコントロールのSPは2ですか? コモンダイアログのプロパティはどのように設定されていますか? 実際のコードを添付されるとReしやすいです。 Filterで指定している拡張子(複数)以外の拡張子(なし含む)で保存すると 現在設定されているFilterの拡張子が自動で付加されます(私のコードでは)。 Win95/VB5.0pro(SP3)/IE4.01 サンプルコード) With CommonDialog1 .DialogTitle = "データ保存" .Flags = cdlOFNExplorer _ + cdlOFNHideReadOnly .FileName = fMyAppPath & "*.Tra" .Filter = "テキストファイル|*.Txt|バイナリ ファイル|*.Bin" .FilterIndex = 1 ' .CancelError = True .ShowSave Debug.Print .FileName End With
NO.59
投稿者:翔 [98/10/01(木)2:59分]
初心者友の会にも聞いてはいるんですが、 なかなか待ち遠しくここにも書いてみます。 今回はファイル保存用の保存用コモンダイアログについて質問なのですが、 ダイアログボクッスが開いてファイルはしっかりと保存するのですが 拡張子が無いままのファイルが保存されます。 ふつうならば、ファイルの種類の欄がTXTならば、ファイル名の欄に 例えば“AA”と記入すると自然にというか勝手に“AA.TXT”が保存されていますよね。 そうさせる様な構文でもあるのでしょうか 困っています。花ちゃんさんご教授を〜〜!
No.58
あっさり解決m(__)m 投稿者:翔 [98/9/29(火)0:13分]
こんばんは翔です。 おかげ様で問題はあっさりと解決しました。 よくよく考えてみるとそうですよね。 とにかく大変助かりました。有り難う御座います。
No.57
RE:検索について 投稿者:花ちゃん [98/9/26(土)8:05分]
件数が30件でしたら While A <> ShData And ShCP < 31 '30件まで If ShCP > 30 Then '30以上だったら となるのではないでしょうか? 一度試して下さい。
No.56
検索について 投稿者:翔(・・いつもスイマセン) [98/9/26(土)2:43分]
花ちゃんさん、お久ぶりです。 今回は検索についてお伺いしたいのですが、 以下のコードでは、どうしても29件目まですか検索しません。 最終項目の30番目を検索しても、項目が存在するのに “該当なし”とでます。 どこが、いけないのかわかりません。 よろしくお願いします。 While A <> ShData And ShCP < 30 ShCP = ShCP + 1 A = DT_NA(ShCP) Wend If ShCP > 29 Then prompt = "該当なし" buttons = vbCritical Title = "検索" ans = MsgBox(prompt, buttons, Title) Exit Sub End If
No.55
MSFlexGridの表示について 投稿者:gogogo [98/9/24(木)23:06分]
gogogoです。花ちゃんさんいろいろご教示ありがとうございました。 またわからないことがあったら質問させて頂きます。 そのときは宜しくお願いします。
No.54
RE1:MSFlexGrid 投稿者:花ちゃん [98/9/24(木)0:16分]
>CLOSE #2がなかったんですが ご指摘の通り必要です。 書き忘れたのではないのですが元々表示及びソートの部分だけ変更して ファイルが同時に複数開けるか確認しただけなので、保存・その他 の部分は手直ししておりません。
No.53
RE:MSFlexGrid 表示の件のお礼 投稿者:gogogo [98/9/23(水)22:20分]
gogogoです。サンプルデータ送って頂きありがとうございます。 忙しい中に詳しく書いていただき,その親切に感謝します。 2つのファイルを読み書きするにはファイル番号を変えて#1,#2 でそれぞれOPENすればいいんですね。なるほど大変参考になりました。 1つ気になったことがあったんですが,CLOSEの場合,CLOSE #1の 記述はあって,CLOSE #2がなかったんですが,これは? 書き忘れ?それとも不要なんでしょうか。
No.52
RE:MSFlexGrid 表示の件その3 投稿者:gogogo [98/9/21(月)23:51分]
こんばんは,花ちゃんさん。 もしよければ,そのコードの記述例送っていただけませんか? 名簿ファイルと数値ファイルという2つのデータファイルを 呼び出して,1つの表内に表示させたいのです。
No.51
RE:MSFlexGrid 表示の件その2 投稿者:花ちゃん [98/9/21(月)9:42分]
申し訳ありませんが今手持ちの分は初期に作ったもので 恥ずかしくて公開できるものではないので、技術評論社発行の はじめてのVisual basic5という本のなかで、ファイルの リード・ライトという事でMSFlexGridを使って説明されて あります。又入出力だけでなくソートのやり方等40ページ ほど解説されておりサンプルCDもあります。 価格が2600円と少し高いのですが。 尚、メールでも頂ければ、サンプルを送付致しますが? どなたか、該当のサンプルお持ちでしたらUP願えないでしょうか?
前のログ | 次のログ |
VBレスキュー(花ちゃん)
Visual
Basic6.0 VB6.0