トップページ⇒tech
945コメント295KB

(*´д`*)アハァ… VB初心者質問スレ Part27

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001デフォルトの名無しさんNGNG
VB(6.0以前)の質問スレです。
VB.NETの話題はできるだけひかえてください。

前スレはこちら
  Part17 http://pc3.2ch.net/tech/kako/1036/10361/1036154952.html
  Part18 http://pc3.2ch.net/tech/kako/1038/10381/1038103769.html
  Part19 http://pc3.2ch.net/tech/kako/1039/10398/1039859691.html
  Part20 http://pc2.2ch.net/tech/kako/1041/10418/1041879465.html
  Part21 http://pc2.2ch.net/tech/kako/1044/10440/1044028945.html
  Part22 http://pc2.2ch.net/tech/kako/1046/10463/1046354784.html
  Part23 http://pc2.2ch.net/tech/kako/1047/10477/1047743187.html
  Part24 http://pc2.2ch.net/tech/kako/1050/10501/1050151126.html
  Part25 http://pc2.2ch.net/test/read.cgi/tech/1052627913/
  Part26 http://pc2.2ch.net/test/read.cgi/tech/1055145106/


【VB.net関連スレ】
【老若】VB.net質問スレ【男女】 (Part3)
http://pc2.2ch.net/test/read.cgi/tech/1056281084/
【Win32 API関連スレ】
Win32API 質問箱 Build12
http://pc2.2ch.net/test/read.cgi/tech/1056033645/

心得
壱.質問する前に過去ログにも目を通してみる。
弐.質問する前に MSDN などで調べてみる。
参.VBScript もこのスレでOK。
四.インストーラーなどの質問もOK。
五.荒らしは相手しない。
六. VB情報募集中。
七.VB.NETの話題できるだけひかえる。
0002デフォルトの名無しさんNGNG
  Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza2.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
0003デフォルトの名無しさんNGNG
前スレはこちら
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
0004デフォルトの名無しさんNGNG
  Part 1 http://piza2.2ch.net/tech/kako/968/968328471.html
  Part 2 http://piza2.2ch.net/tech/kako/990/990793224.html
  Part 3 http://piza2.2ch.net/tech/kako/1000/10005/1000523122.html
  Part 4 http://pc.2ch.net/tech/kako/1006/10069/1006922992.html
  Part 5 http://pc.2ch.net/tech/kako/1010/10106/1010624646.html
  Part 6 http://pc.2ch.net/tech/kako/1013/10138/1013844542.html
  Part 7 http://pc.2ch.net/tech/kako/1015/10158/1015836357.html
  Part 8 http://pc.2ch.net/tech/kako/1018/10187/1018794901.html
  Part 9 http://pc.2ch.net/tech/kako/1020/10208/1020830472.html
  Part10 http://pc.2ch.net/tech/kako/1022/10221/1022127528.html
  Part11 http://pc.2ch.net/tech/kako/1024/10243/1024380249.html
  Part12 http://pc3.2ch.net/tech/kako/1026/10266/1026642565.html
  Part13 http://pc3.2ch.net/tech/kako/1029/10292/1029241786.html
  Part14 http://pc3.2ch.net/tech/kako/1030/10309/1030947162.html
  Part15 http://pc3.2ch.net/tech/kako/1032/10327/1032706491.html
0005デフォルトの名無しさんNGNG
>>2
Part16がない!
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html
00064NGNG
かぶった。スマソ。
で乙。>>1
0007デフォルトの名無しさんNGNG
VB,VBSはOK
VBAは?
0008デフォルトの名無しさんNGNG
>>1 乙!
>>7 多分OK
0009デフォルトの名無しさんNGNG
VB使いヘボイよ
0010デフォルトの名無しさんNGNG

質問です。
指定したプロセスを終了させるにはどうすればよいのでしょうか?

928 :デフォルトの名無しさん :03/07/20 13:19
>>927
Kill

すみません、初心者なのでもう少し分かりやすくお願いします。
0011デフォルトの名無しさんNGNG
>>10
お前を殺すと言うことでは?
0012デフォルトの名無しさんNGNG
>>10

プロセスハンドルから、ウィンドウハンドルを取得して、WM_CLOSE を投げるってのが
基本的な方法。

ちなみに、kill ってのは、Unix 系のコマンド。.NET なら、Process.Kill() ってのが使える
けど、VB では、ファイルを削除することになります。
0013デフォルトの名無しさんNGNG
>>12
VB使いにそのような事を言っても理解不能なので、
もうちょっとわかりやすくお願いします
001410NGNG
>>12
ありがとうございました。がんばってみます。
0015cb ◆9AFHrbDx3A NGNG
複数行あるTextで、「上 XX 行を消す」ということができるいい方法はありませんか?


┏  <HTML>
消  <HEAD><TITLE>信長の野望(1/32)</TITLE></HEAD>
し  <BODY BGCOLOR=#FFFFFF TEXT=#000000>
   <A NAME=0001> </A>
た  <H2>信長の野望</H2>
い  <DIV ALIGN=RIGHT>2003.02.11 更新
┗  </DIV><BR>
   幼名吉法師、三郎、上総介。
   信長の父信秀は守護代織田氏の支流だったが、実力で本家をのっとり、
   尾張に勢力を張る。父の死後あとを継いだ信長は、桶狭間の合戦で今川


上のようなテキストだけならInstr関数とMID関数を使ってもできるのですが、
「上XX行ばっさり」とはいきませんか?
0016デフォルトの名無しさんNGNG
>>14
改行コードの数を数えて削除すれば?
001716NGNG
>>14 → >>15
0018cb ◆9AFHrbDx3A NGNG
>>16
改行コードChr(10)と配列を使ってできました。ありがとうございます。
001910NGNG

すみませんが、
「プロセスハンドルから、ウィンドウハンドルを取得して、WM_CLOSE を投げるってのが」
このソースコードを記載してくれませんか?
0020デフォルトの名無しさんNGNG
思った通り、VB使いには解らなかったようですね。
それ以前にハンドルが何かという事も理解しているのか・・・
0021八重洲支店NGNG
http://life.fam.cx/a007/



0022デフォルトの名無しさんNGNG
やれやれ説明しても解らないからソースを見せろか・・・

SendMessageというAPIを使ってください。
これ以上言っても解らないようなら諦めた方が良い。
0023デフォルトの名無しさん NGNG
たかがプログラマふぜいが偉そうに.....(ワラ
0024デフォルトの名無しさんNGNG
自分の勝てない領域の話になると、すぐこういう事を言ってくる奴がでてくるね(藁
0025デフォルトの名無しさんNGNG
まぁ大抵こういう事を言うのはコンプレックスがある証拠
0026デフォルトの名無しさんNGNG
つーか初心者を馬鹿にする奴が多過ぎ。
荒らしと変わらん。
0027デフォルトの名無しさんNGNG
>>26
調べたりする努力しているとかあれば次の言葉もあろうけれど
わからんからソース出せと言われると、馬鹿かと思うよ。
0028デフォルトの名無しさんNGNG
そそ。
ちゃんと自分で調べたりしてれば大体文面で解る。
0029デフォルトの名無しさんNGNG
ソースを見せろか...
やぱーりVBスレだけあるなw
0030デフォルトの名無しさんNGNG
>>10
API使えないんならソースを見ても分からないと思うが、

public class Win32
{
public const int WM_SYSCOMMAND = 0x0112;
public const int SC_CLOSE = 0xF060;
[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName,string lpWindowName);
[DllImport("user32.dll")]
public static extern int SendMessage(int hWnd,uint Msg,int wParam,int lParam);
}

で宣言して、

private void YourMethod(object sender, System.EventArgs e)
{
int iHandle=Win32.FindWindow(txtClsNm.Text ,txtWndNm.Text);
int j=Win32.SendMessage(iHandle, Win32.WM_SYSCOMMAND, Win32.SC_CLOSE, 0);
}

のように使う。

期待してるぞ>>10 !頑張れ!
0031デフォルトの名無しさんNGNG
class使って初心者に解りにくくしてるように見えるのは俺だけですか?
0032デフォルトの名無しさんNGNG
ソース見せろ、クラス使うなって(ry
0033デフォルトの名無しさんNGNG
>>1
乙!
0034デフォルトの名無しさんNGNG
>>30
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
003530NGNG
Dim p As System.Diagnostics.Process
'processIdというプロセスIDを持つプロセスを取得
p = System.Diagnostics.Process.GetProcessById(processId)
'プロセスを強制終了
p.Kill()

うまくいったら「うまくいきました!」とか報告すべきだよ。
0036デフォルトの名無しさん NGNG
初心者に分かりやすく説明できないアホは死んでね。
0037デフォルトの名無しさんNGNG
.NETってVB6とかなり扱い方違ってそうだな
0038デフォルトの名無しさんNGNG
貴方の脳が.NETの前で萎縮してるだけ>>37
0039デフォルトの名無しさんNGNG
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
アンチVB厨荒らしまくり アンチVB厨荒らしまくり アンチVB厨荒らしまくり
0040デフォルトの名無しさんNGNG
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
VB厨荒らしまくり VB厨荒らしまくり VB厨荒らしまくり
0041デフォルトの名無しさんNGNG
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
0042デフォルトの名無しさんNGNG
VBなんて仕事じゃ使われてないんだぜ(藁
0043デフォルトの名無しさんNGNG
http://pc2.2ch.net/test/read.cgi/tech/1058702281/l50
荒らしてるのはこのスレの1
0044デフォルトの名無しさんNGNG
荒れているところすみませんが
なんでVBスレってこんなに荒れているんですか?
コンプレックスの塊が沢山いるからですか?
0045デフォルトの名無しさんNGNG
>>43
荒らしているのはお前(ここの1)だな。
004630NGNG
>>10
人にものを聞いて理解できないからって、このザマか。ふざけるなよ。
004730NGNG
>>46
お前誰だよ。オレの真似するな。ふざけるなよ。
0048デフォルトの名無しさんNGNG
>>45=http://pc2.2ch.net/test/read.cgi/tech/1058702281/1
お前まえから思ってたけどキモイんだよ。
おれは2chにスレなんて立てたことはねえ。
0049デフォルトの名無しさんNGNG
>>48
落ち着け。ばれてないと思っているのはお前だけ。
0050デフォルトの名無しさんNGNG
>>49 ハァ?
おれが書き込んだのは>>43>>48だぜ?馬鹿じゃねえの?
0051デフォルトの名無しさんNGNG
>>50
証拠は?
005210NGNG
>>30

ごめんなさい。自分で調べて
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_CLOSE = &H10

ends = FindWindow("OWL_Window", vbNullString)
Call PostMessage(ends, WM_CLOSE, 0, 0)

等で解決しました。
0053デフォルトの名無しさんNGNG
ここはVB初心者が質問をするためのスレであり、
その他の討論はスレ違いなのでやめましょう。
0054デフォルトの名無しさんNGNG
>>50
辻本みてえな香具師だな。往生際が悪いよ!!
005510NGNG
言い忘れてた。

>>12、>>30、ありがとうございました。
0056デフォルトの名無しさんNGNG
またウゼーあげ荒らしが出てきたな。全部
>>45=>>49=>>54=http://pc2.2ch.net/test/read.cgi/tech/1058702281/1
の仕業だろう。
0057デフォルトの名無しさんNGNG
>>56
お前しつこすぎ。
しかも今度は
http://pc2.2ch.net/test/read.cgi/tech/1058702281/を
荒らし始めただろ。
0058デフォルトの名無しさんNGNG
第一何時間も送れて重複スレ立てるのは明らかにルール違反だろ。
削除依頼だしてこいよ>>http://pc2.2ch.net/test/read.cgi/tech/1058702281/1
0059デフォルトの名無しさんNGNG
えっとすみません
Label上に現在時刻と
それにX分を加算したいものを表示させたいのですが
今現在以下のように表記したところ
Label1.Caption = Time
Label2.Caption = DateAdd("n", X, Time)
日付変更が起きると
Label2の表示が時間だけではなく
年からの表示(yyyy/mm/dd hh:nn:ss)になってしまうのですが
対処法はないでしょうか?
006059NGNG
すみません補足です
日付が変更されるというのは
現在の時間が
23:50:10とすると
Label2が10分以上(時刻が00:00:00以上になるとき)加算された
時刻で表示される場合
っということです。
説明がヘタクソでゴメン
ついでに初心者な質問だったらもっとゴメ
0061デフォルトの名無しさんNGNG
>>59

明示的に、Format() しようね。暗黙の変換を利用してると、いずれはまるよ。
006259NGNG
>>61
ありがとう
なんとか形になりました
0063デフォルトの名無しさんNGNG
format c: /q
0064デフォルトの名無しさんNGNG
>>63
ありがとう
なんとか形になりました
0065デフォルトの名無しさんNGNG
>>63
VentureBusiness全滅
0066デフォルトの名無しさんNGNG
テキストボックスの、現在のカーソル位置を取得するにはどうすればよいのでしょうか?
0067デフォルトの名無しさんNGNG
Text1.SelStart
006866NGNG
>>67
あ、なるほど。カーソルの開始位置の指定だけじゃなくて、
位置の取得もできるんですね。落ち着いて考えればそうですな。
レスどうもでした。
0069デフォルトの名無しさんNGNG
コレクションに追加した配列の一部の値を後から変更するには?

Dim a(1) As Long, b As New Collection
a(0) = 1
a(1) = 2
b.Add a
Debug.Print b(1)(0); b(1)(1) ' 1 2
b(1)(1) = 3
Debug.Print b(1)(0); b(1)(1) ' 1 3 となってほすぃ
0070デフォルトの名無しさんNGNG
17桁の10進数計算をさせたいのですが、
Double型だと計算精度が悪いせいなのか、正しい結果が表示されません
Doubleより大きな桁数を格納できるような配列は無いでしょうか?
0071_NGNG
http://homepage.mac.com/hiroyuki44/
0072デフォルトの名無しさんNGNG
通貨型
007370NGNG
>>70です。
Doubleの精度というよりは、Formatがよくないみたいです…
17桁以上のDoubleの精度を落とさずに、10進数で表示する方法は無いでしょうか?
0074デフォルトの名無しさんNGNG
アクティブなセルを含む行の色を変えたいんですが
どうやればよいのかわかりません。
007570NGNG
>>72
通貨型ではオーバーフローしてしまいます
0076デフォルトの名無しさんNGNG
>>74
誤爆か?
Rows(ActiveCell.Row).Interior.ColorIndex = 38
0077_NGNG
http://homepage.mac.com/hiroyuki44/hankaku08.html
0078デフォルトの名無しさんNGNG
>76
誤爆???すみません意味がよく・・・
0079デフォルトの名無しさんNGNG
netを使える環境じゃないからまだVB5だが
最適化をnet程度まで行うコンパイラだけのフリーソフトは
無いものかのう?
あっても良さそう、ていうか出来ないわけないよね?
EXEを最適化でもいいけど。
0080デフォルトの名無しさんNGNG
>>79
買ってきたほうが開発するコストより安いじゃないの。
0081デフォルトの名無しさんNGNG
mingwとか
0082デフォルトの名無しさんNGNG
最適化云々言うんだったらvb使わない方が良い
0083デフォルトの名無しさんNGNG
勘違いさんいるようだが、VBもまともな最適化をしている。
008479NGNG
くそー
てめえらMSの肥やしだー
(´・ω・‘)
0085デフォルトの名無しさんNGNG
偽者登場(w
0086デフォルトの名無しさんNGNG
>>70
配列使って6桁毎ぐらいで計算
008770NGNG
再び>>70です。
>>73は勘違いっぽいです。やっぱり最初に書いたようにDoubleの精度の問題でした…
もうあきらめるしかないんですかね

>>86
レスサンクス。
一度その方法も考えましたが、アルゴリズムがとてつもなく複雑に
なりそうだったので、断念してしまいました…
0088デフォルトの名無しさんNGNG
みなさん、こんにちはVB初心者なので
くだらない質問かもしれませんが、宜しくお願いします

DBに接続する際に使用するコネクションを
多くのアプリで個々にOPEN,CLOSEしているため、
かなりパフォーマンスが悪く、負荷も高い状況です。

一つのコネクションを、各アプリで使い回すには
どうしたらよいでしょうか?

いろいろ探しましたのですが、MTSというキーワードを見つけることで精一杯でした。
Win2000ですが、関係ありますか?

m(__)m

※スレ違いだったらしいので、こちらに再書きこみします
0089デフォルトの名無しさんNGNG
>>88
どんな環境や規模でやってるのか書いてないのでなんとも・・・
0090デフォルトの名無しさんNGNG
うちとこORACLEだが

接続(SessionとDatabase)を持つActiveXを一個作る。
周りはそいつのオブジェクトを利用する。

ただし、SETでオブジェクトの参照を貰って使用すると、
実体を別アプリが持つためか処理が重い。

結果、Dynasetは共有が持ち、値のみ貰う造りになった(メンテ面倒)

言っておくが、セッションが1つってことは、1つのアプリが使用中だと周りは待ちになるぞ
0091デフォルトの名無しさんNGNG
ばか?
0092ミコアイサNGNG
FileSystemObjectを使おうと思うのですが、
これはWindows95では使えないのでしょうか。
また、NT、2000、XPなどでは、どうなのでしょうか。
009388NGNG
>>89
すいません
Win2000Server + SQL-Server2000のサーバに、
IIS5.0+ASPからのクライアント(Win2000Server)、
VB6.0からのクライアント(Win2000Server)が接続します。

>>90
Oraleでないので、試すことができませんが、
その都度、接続OPENに時間がかかるよりは
待ちが少し発生する程度の方が、いいのかもしれません
0094デフォルトの名無しさんNGNG
質問です。If文のなかで、
If (Index > 10) And (Index Mod 10 <> 0) And (q_flg(Index - 11) = 0) Then
と、コードを書いたとします。
このとき、Indexの値は「9」だったとします。
最初の比較で、偽になるのでこのIf文は抜けるはずなんですが、
最後のところの、
(q_flg(Index - 11) = 0)
で、インデックスが有効範囲ではありません。
と出ます。
なぜでしょうか?
0095デフォルトの名無しさんNGNG
>>94
誰か知らんが勝手にコピペするな
0096デフォルトの名無しさんNGNG
>>94
Ifを分けて書けばいいわけで。
0097デフォルトの名無しさんNGNG
>>94
仕様。>>96 の言うとおり、分けて書けばよし。
0098デフォルトの名無しさんNGNG
>>92
WSHが入ってればOK。98以降(2000以降?)なら基本的に大丈夫。
95は標準では入ってなかった筈
0099デフォルトの名無しさんNGNG
VB質問スレが荒れているので分かる方、教えて下さい。
VB6.0でレコードの更新のプログラムを組んだのですが、
SELECT FROM WHEREのWHEREで指定したフィールドのみ
更新できません。

これってどうして更新がされないのか
分かる人いませんか?
0100直リンNGNG
http://homepage.mac.com/maki170001/
0101デフォルトの名無しさんNGNG
>>99
質問の時は環境等を書いたほうがいいですよ。
0102_NGNG
http://homepage.mac.com/hiroyuki44/
010399NGNG
環境は、VB6.0でWinXPです。

0104デフォルトの名無しさんNGNG
>>103
ミドルウェアは何で、どういうコードを書いてるの?
010599NGNG
すいません・・・
ミドルウェアが分かりません・・・・

コードは、
Set rs = db.OpenRecordset("テーブル")
SQL = "SELECT * FROM テーブル WHERE フィールド = " & "'" & name & "'"
Set rs = db.OpenRecordset(SQL, dbOpenDynaset)

  with rs
.edit
テキスト
.update

です。
0106デフォルトの名無しさんNGNG
>>105
SQL = "SELECT * FROM テーブル WHERE フィールド = " & "'" & name1 & "'"

で引っ張ってきたとして、

with rs
.edit
!name1 = 更新後の値1
!name2 = 更新後の値2
.update
end with

とやっても、name2は更新されてname1が更新されないってこと?
0107250NGNG
最大値の値を求めたいのですが
以下だとa(10)の値が出力されてしまいます。
初心者なのでどこが間違っているか分かりませぬ。
どうかご教授いただきたいのですが
for i= 0 to 10
max = a(0)
If a(i) > max Then
max = a(i)





0108デフォルトの名無しさんNGNG
>>107
max=a(0)
for i=1 to 10
if a(i) > max then max = a(i)
next i
0109250NGNG
>>108
ありがとうございます!!

0110デフォルトの名無しさんNGNG
おいVBども端っこ歩け
0111デフォルトの名無しさんNGNG
質問見るとホント初歩的な事ばっかだな・・・
0112デフォルトの名無しさんNGNG
だからVBが馬鹿にされるんだよ… _| ̄|○
0113デフォルトの名無しさんNGNG
VBでエクセルを開いて、複数列範囲選択し、選択した列すべて色を塗りたい
んですけど、下のコードだと1列目だけ色塗りされてしまってて
うまくいきません。
すみません教えてください。

grid_jcldisp.Col = 0
grid_jcldisp.ColSel = 9
grid_jcldisp.CellBackColor = vbButtonFace
011499NGNG
>>106
そうです。
どうしてなのか理由が分かりません。
0115デフォルトの名無しさんNGNG
列と行両方指定しろよ・・・
0116デフォルトの名無しさんNGNG
>>99
UPDATE文にしちまえ
0117デフォルトの名無しさんNGNG
このスレ立てたのって、アハァを守りぬけとかなんとかいう
クソスレ立ててた自閉症児か?
011899NGNG
>>116
SELECT FROM を
UPDATE FROM ということですか?

やってみます。
0119助けて〜@VBもままならない初心者NGNG
教えてください!
VBからアクティブにした状態のExcelのカレントフォルダのパスを取得したいのですが
どうすれば良いですか?

やりたいことは、VBで開いた状態のEXCELをVBで、マイドキュメンツに保存させたいのですが
機械によってDにマイドキュメンツがあるものや、OSも98とXPが
混じってたりで、一定の場所を記憶させることができません。。

うちの会社のEXCELも97とXPが動いており、
レジストリからの取得はレジストリの場所が違うのでダメでした。。

ここ2週間ほどがんばったのですが私の頭では分かりませんでした。。
分かる方すみませんが教えてくださいっ<(_ _)>
0120助けて〜@VBもままならない初心者NGNG
すみません〜〜!!環境書くの忘れてました!!。。


開発してるパソコンは WIN_XP
VBは6です。。。
0121デフォルトの名無しさんNGNG
7月、試用期間って終ってるはずだよなぁ・・・・・・夏か
0122デフォルトの名無しさんNGNG
>>119
直接の回答ではないけど、SHGetFolderPath か何かで、マイドキュメントの位置を
取得すればいいだけじゃない?
0123デフォルトの名無しさんNGNG
vb房にとっては1年中なつなのさ
0124デフォルトの名無しさんNGNG
つぅか、マイドキュメントに保存したいのか任意のパスに保存したいのかどっちやねん
0125デフォルトの名無しさんNGNG
プロジェクトグループでProject1からProject2のフォームなどを立ち上げたいときは
どうしたらいいのかな?
0126デフォルトの名無しさんNGNG
>>125
別実行ファイルなんで、Shell やら COM コンポーネント呼び出しやらを使えばOK。
0127デフォルトの名無しさんNGNG
FormにWebBrowserコントロールを貼りつけているのですが、起動時に
WebBrowserコントロールがどこかのページを読み込もうとしてしまい、
時間を食って困っています。
読み込んだページは「ページが表示できません」となってしまい、
WebBrowser.locationURLは "http:///" となっていました。
locationURLプロパティを作成時に設定しようとしましたがプロパティ一覧には
locationURLがありませんでした。

そこで質問なのですが、起動時に about:blank を素早く表示させるには
どうしたらいいでしょうか?
環境はVB6.0+IE6.0、WinXPです。宜しくお願いします。
0128デフォルトの名無しさんNGNG
>>127
WebBrowser.locationURLにabout:blankを指定。
0129デフォルトの名無しさんNGNG
>>128
Form_Load()に記述しましたが
コンパイル エラー:
引数の数が一致していません。または不正なプロパティを指定しています。

と言われてしまいました。
WebBrowser.Navigateでも読み込みにかなりの時間(指定しないのと同じだけの時間)
がかかってしまいました。
0130デフォルトの名無しさんNGNG
すみません、遅かったのはロード後にWebBrowser.Documentをいじくる
自前の処理でした _| ̄|○
0131128NGNG
>>130
こちらこそごめん。
適当に答えたものの罪の意識にさいなまれて、自分でもあれこれ試してました(w
WebBrowser.Navigate "about:blank"で速攻表示されるので、
他の処理が原因ではないかと書こうとしたところだった。すまんね。
0132デフォルトの名無しさんNGNG
>>131
いえいえ…WebBrowser.Document.body.Style.innerHTMLに文字を指定するだけで
10秒近く時間を食われるとは思いませんでした。
この原因はWebProg板あたりで訊こうと思います。ありがとうございました。
0133助かりました〜!!@VBもままならない初心者NGNG
>>122さん
ありがとうございます!
やってみます!すごい助かりました〜。。

>>124さん
文面がヘタクソでごめんなさい。。<(_ _)>
マイドキュメントの場所のパスが取得したかったです。。
0134デフォルトの名無しさんNGNG
厨な質問ですいません。
実行中にSSTab上にコントロールを配置する方法を
教えて頂けませんか?
0135デフォルトの名無しさんNGNG
>>134
Containerを指定すると置けますが。
0136デフォルトの名無しさんNGNG
重複だゴラアア
0137デフォルトの名無しさんNGNG
こっちは初心者向け。あっちは中級者以上向け。
0138デフォルトの名無しさんNGNG
vbでエクセルのセルを複数選択して
背景色をつけたいのですがどうすれば・・・
0139デフォルトの名無しさんNGNG
>>135
Containerを使う場合に、コントロールを置くTab(の番号)を指定したいのですが
上手く行きません(つД`)
どうかご教授お願いしますm(__)m
0140デフォルトの名無しさんNGNG
VBって値段はどのくらいしますか?

0141デフォルトの名無しさんNGNG
MsgBoxのボタンのキャプションを任意の文字列に変えるには?
0142デフォルトの名無しさんNGNG
>>140
お店へGO☆

>>141
MsgBoxに似たFormを作るのほうがラクです。
0143デフォルトの名無しさんNGNG
>>139
GotFocusイベントの中でためしたけど、
SSTab1.Tab = 0
Set Text1.Container = SSTab1
SSTab1.Tab = 1
Set Text2.Container = SSTab1
みたいな書き方でイケましたよ
0144デフォルトの名無しさんNGNG
プロジェクトの参照設定からExcel8.0 Object Libraryの設定にチェックを入れて
プロジェクトを保存しても、次に立ち上げるときはまた、Excel8.0 Object Libraryの
チェックが消えていて。いちいち一回一回チェックいれなおさなくちゃならないのを防ぐのにはどうしたらよいですか?
0145_NGNG
http://homepage.mac.com/hiroyuki44/hankaku04.html
0146デフォルトの名無しさんNGNG
最近pinkbbsに投稿されたバイナリ。(画像・動画)
http://homepage3.nifty.com/coco-nut/
0147デフォルトの名無しさんNGNG
教えてください。
セルに日にちを打って、横のセルに年度(一年が4月〜翌年の3月という年度)を
表示させたいのですが・・・
たとえば、1999/4/1は、1999年度、1999/3/31は、1998年度という風に。
VBでも、エクセルでもどちらでも出来る方法を教えてください。
お願いします。
0148デフォルトの名無しさんNGNG
>>147
dateaddで3ヶ月引けば?
0149デフォルトの名無しさんNGNG
仕事で先週独学にはじめてみたものの、夜中にテンパってます。(明朝提出)
ACCESSのMDBのフィールドを丸ごとADODCなんぞを使ってComboboxに吐き出させる方法はありますでしょうか。
ループさせて、ひとつづつ拾って、Additemするのが正解でしょうか?
お手数をおかけしますがご回答お願いします。
0150デフォルトの名無しさんNGNG
俺は AddItem 一本でやるのが好き
0151150NGNG
一応こっちも

>ACCESSのMDBのフィールドを丸ごとADODCなんぞを使ってComboboxに吐き出させる方法はありますでしょうか。
http://www.google.com/search?q=datacombo&lr=lang_ja
0152119@VBもままならない初心者NGNG
>>122さん
できました〜!
ありがとうございました〜!
0153デフォルトの名無しさんNGNG
すいません教えていただけませんか?いろいろと探したのですが、
みちからなかったもので・・・・。
VB6で通信制御系のアプリを書いています。

MsgBoxやCommonDialogを利用すると、ソフトウェア全体がロックしてしまい、
そのときに受信した信号から発生するイベントを取得することができない
ですよね。

MsgBoxのときは、新しいフォームに「OK」と「キャンセル」のボタンだけ作って、
そのボタンがクリックさせるまでLOOP(押されたら変数の変化を判断してLOOP
脱出)して、DoEventsしておけばいいと思うのですが、CommonDialogのときには
どうやって実現すればいいのか思慮しています。

どなたか、過去のこれを解決された方、またはこれらを解説しているサイト、
もしくはヒントだけでも結構ですので、お教えいただければと思っています。
どうかよろしくお願い致します。
0154デフォルトの名無しさんNGNG
>>153
EXEにしたときも止まりますか?
デバッグモードのときだけ止まった記憶があるんですが。
0155デフォルトの名無しさんNGNG
>>154
ガーーーーーン
そうなんだ!!!
早速実験してみます。ありがとうございました!!!!!
0156デフォルトの名無しさんNGNG
>>154
やってみました。タイマーで以下のようなイベントを発生させてみました。

Private Sub Command1_Click()
Timer1.Interval = 1000
Timer1.Enabled = True
reply = MsgBox("", vbInformation, "")
End Sub

Private Sub Timer1_Timer()
Me.Caption = "unko!"
End Sub

「開始」「完全コンパイル後に開始」では、ボタンをおしてもキャプションはいつまでたっても変わらず・・・
EXEにして実行したところ、見事Captionは変わりました!!
いやーこんなこと知らなかったなんてお恥ずかしい。
でも、丸一日かけて調べていたので助かりました。本当にありがとうございました。
一応、後進の人のために詳しく結果報告させていただきました。長文をお許しください。
0157デフォルトの名無しさんNGNG
アメリカ東部時刻および日付をGETしたいのですが、
PCのシステム全体のタイムゾーンを変更せずに取得する方法はありますか?
日本時間から時差分を考慮するのも考えていますが、
日付変更が入った場合の処理を書くのが面倒で・・・

私VBAをみようみまねで書いている初心者です。
0158デフォルトの名無しさんNGNG
>>157
DateAdd関数はVBAでは使えないのかな?
0159デフォルトの名無しさんNGNG
>>158
使えますね
0160デフォルトの名無しさんNGNG
あとはサマータイムを考慮するかどうかでしょうかねぇ
0161デフォルトの名無しさんNGNG
>>160
現状の時刻であれば、東部時間を示すNTPにアクセスしにいくってのは
どうでしょうね。VBAではできないかな・・・
0162デフォルトの名無しさんNGNG
VBでエクセル上のセルをクリックすると
クリックしたセルを含む1ラインに背景色を付けるコードを作成したんですが
キーボードのカーソルでセルを移動すると消えてしまいます。
どうしたら・・・
0163デフォルトの名無しさんNGNG
>>162
どんなコードにしたのでしょうか・・・
0164デフォルトの名無しさんNGNG
>163
こんなんです
Col = 0
ColSel = 9
CellBackColor = vbActiveTitleBar
CellForeColor = vbWhite
0165157NGNG
いろいろと情報ありがとうございます。
DateAddで目的は達成できました。
当面サマータイム固定でやることにします。
0166デフォルトの名無しさんNGNG
テキストファイルの書式付データを取り込むとき
どんな関数を使ったら良いのでしょうか?
VBでもfscanfみたいな関数あるのでしょうか?
0167デフォルトの名無しさんNGNG
>>166
無いと困ります?
0168_NGNG
http://homepage.mac.com/hiroyuki44/
0169デフォルトの名無しさんNGNG
>>166
書式のフォーマットさえきちんとしておけば、区切り文字でsplitかけたり、
いろいろとできるとおもいますよん
0170v(・∀-)bNGNG
バカばっか
0171(*´д`*)NGNG
バカですいません
0172デフォルトの名無しさんNGNG
メッセージボックスに入力がない場合、
一定の時間で、そのメッセージボックスを閉じることは
できまつか??
0173デフォルトの名無しさんNGNG
>>172
MsgBoxに似たFormを作るのほうがラクです。
0174デフォルトの名無しさんNGNG
>>173
お、ありがとうございます。
偽msgbox表示→LoopでDoEvents→偽msgboxに入力がある→変数を変化させる→
Loop内で変数の変化を認識する→偽msgboxを閉じる→loopを抜ける

または
偽msgbox表示→LoopでDoEvents→偽msgboxに入力がない→タイマー発生で変数を変化させる→
Loop内で変数の変化を認識する→偽msgboxを閉じる→loopを抜ける

という感じでいいのでしょうか?
プロシージャ内でmsgboxのTrueかFalseを受け取りたいので。
SendKeysはつかわんほうがいいですかね。

ん?vbmodalにしておけば、Loopで判断しなくてもいいのかな??
0175デフォルトの名無しさんNGNG
>>173
やってみました
Private Sub Command1_Click()
   boolMsgBox = False
   Form2.Show vbModal
End Sub

Private Sub Command1_Click()
   Form1.boolMsgBox = True
   CloseWindow
End Sub
Private Sub Command2_Click()
   CloseWindow
End Sub
Private Sub CloseWindow()
   Me.Hide
   Unload Me
End Sub
Private Sub Timer1_Timer()
   CloseWindow
End Sub

上記でいけました。意外と簡単でした。どもありがとうございました。
0176デフォルトの名無しさんNGNG
外部のプログラムを起動する時はSystem関数で起動できるようなのですが、
コマンドプロンプトから実行する「dir」や「tree」等のコマンドを
VBから起動させるにはどのようにすれば良いのでしょうか?
dir > hoge.txt
とやりたいのですが。
0177デフォルトの名無しさんNGNG
内部コマンドでもできます
0178デフォルトの名無しさんNGNG
え?
その場合、System(PATH)
のPATHはどのように書けばよろしいですか?
「dir」だけだと実行時エラーになってしまうようなのですが。
0179デフォルトの名無しさんNGNG
>>178
スマン、確かDOSとunixでそのコマンドは使った記憶があったんだけど(しかもC)。
vbとWin32APIに本当にそのコマンドある?
0180デフォルトの名無しさんNGNG
system(PATH)
じゃなくて
system(command)
の方じゃない?
0181デフォルトの名無しさんNGNG
あ、ごめんなさい。(UnixのC出身者ってバレタ)

Shell ("C:\WINDOWS\system32\calc.exe")

おっしゃるとおりsystemじゃなくてShellです。
0182デフォルトの名無しさんNGNG
じゃぁ
Shell("command.com /c dir > hoge.txt")
だな・・・
0183デフォルトの名無しさんNGNG
おぉ、できた。ありがとうございます。
# これはどちらかと言うとVBよりDOSよりの話だったのかしらん?

command promptから
command /?
でcommand.comコマンド自体のオプションも確認できました。

その他にオプションやコマンドの詳細の確認方法を、
もしご存知でしたら教えてください。
0184デフォルトの名無しさんNGNG
>>182

%COMSPEC% の方がいいかも。
0185デフォルトの名無しさんNGNG
>>184
Shell (Environ("COMSPEC") & " /c dir > c:\hoge.txt")
すか?
0186デフォルトの名無しさんNGNG
? asc("山")
-29102
コードをLongで扱いたいのです。つまり36434を得たいのですが。

まさかこれはないでしょうね?
? val("&H" & hex(asc("山")) & "#")
36434

なにか良い方法を教えて。
0187デフォルトの名無しさんNGNG
>>186
? asc("山") + 65536
? asc("山") and 65535
なぜ負数になるのかが解ってればなんとでもなる。
0188デフォルトの名無しさんNGNG
プログラムが終了する直前に動作する命令を組み込むにはどうすればいいでしょうか?
0189デフォルトの名無しさんNGNG
VB勉強するのに
どんな本が良いの・・・・
て、こんな質問はだめなの?
0190デフォルトの名無しさんNGNG
終了する直前のイベントに書く。
UnloadかTerminateあたりでないの。
0191188NGNG
>>190
フォームの閉じるボタン(×)を押して終了した時は無理でしょうか?
0192デフォルトの名無しさんNGNG
>>189
個人的に持ってて役に立ってるのは
ISBN4-7741-1166-X
です。アルゴリズムの本も知っておくと良いかと思います。
0193デフォルトの名無しさんNGNG
>>191
??試してみました?

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
MsgBox "QueryUnload"
End Sub

Private Sub Form_Terminate()
MsgBox "Terminate"
End Sub

Private Sub Form_Unload(Cancel As Integer)
MsgBox "Unload"
End Sub
0194188NGNG
>>193
おぉ〜ちゃんと動きました
ありがとうございます m(_ _)m
0195デフォルトの名無しさんNGNG
これから覚えるならVBよりもVB.netのほうがいいんですか?
.netじゃないVBって今から覚えても無駄になりますかね?
0196デフォルトの名無しさんNGNG
>>195
無駄です。
0197デフォルトの名無しさんNGNG
Visual Basic
それは生きていく上では全く役に立たない無駄な知識。
かのアイザック・アシモクはこう言いました。
「人間は無用な知識の数が増えることで快感を感じることができる唯一の動物である」
0198デフォルトの名無しさんNGNG
vb自体覚えても無駄ですがナニカ?
0199186NGNG
>>187
> ? asc("山") and 65535
> なぜ負数になるのかが解ってればなんとでもなる。

ありがとう。 

 それにしても不思議だ。
 &h0000ffff は負で
 &h0001ffffは正なのだ



0200デフォルトの名無しさんNGNG
>>198
なんで無駄なんだ?
ほんとに無駄だったらVBスレがこんなにいくつも栄えてるわけないだろ。
0201デフォルトの名無しさんNGNG
>>199

VBの整数型はすべて「符号あり」で、符号あり整数は、最上位ビットが立っているときに
負の数値として扱われるから。

Asc()関数は、Integer 型の戻り値なので、こうなっちゃうんだね。
0202デフォルトの名無しさんNGNG
>>200
198はVBすらできない厨だから放置
0203_NGNG
http://homepage.mac.com/hiroyuki44/
0204デフォルトの名無しさんNGNG
ActiveX.EXEからよびだし元の変数は利用できるの?
これができればすげぇ便利なんだけど・・・・
0205デフォルトの名無しさんNGNG
form1.controls.add "vb.TextBox", "txtadd1"
のようにして実行中に動的にコントロールを追加しているのですが、
これらをコントロール配列として使いたい時はどのようにすればよいで
しょうか?また、最初から配置された、配列になっているコントロールがあって、
それと同じものを次の添え字を与えて新しく追加する。みたいな事はできるの
でしょうか?
(?×?行列と指定されたら、そのようにテキストボックスを配置、表示する
プログラムを作ろうとしています。)
0206デフォルトの名無しさんNGNG
>>205
やっつけソース
Dim i As Integer
Dim NewTxt() As Object
ReDim NewTxt(0 To 9)
For i = 0 To 9 Step 1
Set NewTxt(i) = Form1.Controls.Add("vb.TextBox", "txtadd" & i)
NewTxt(i).Visible = True
Next i
0207デフォルトの名無しさんNGNG
>>204
できる。
0208デフォルトの名無しさんNGNG
>>207
お願いです、教えてくださいませ。
0209デフォルトの名無しさんNGNG
>>206
即レス感謝です。
0210sNGNG
☆無修正画像&サンプルムービーをどうぞ!!☆
http://yahooo.s2.x-beat.com/linkv/linkv.html
0211デフォルトの名無しさんNGNG
>>208
ActiveX EXEに呼び出し元の変数(プロパティ)があるオブジェクトを渡す。
ActiveX EXEからイベントを発生させて間接的に変数を操作する方法もある。
0212デフォルトの名無しさんNGNG
>>211
レスどうも!!、2つ目の方法はWITH EVENTとかを使ってためした
のですが、ACTIVEX.EXEをたくさん呼ぶので断念しました。
そこで、できれば上の方法をもう少し詳しく教えていただけないでしょう
か?というかVBでオブジェクトって渡せるんですか?
0213デフォルトの名無しさんNGNG
テキストボックスの文字間隔は調整できますか?
0214デフォルトの名無しさんNGNG
すいませんが教えてください。
マイクロソフトが提供している暗号化ロジックにcapicomというのがあるのですが、
開発環境ではしっかりと入力した文字が暗号化されたのですが、本番環境にて
下のようなエラーがでました。
CAPICOM_E_NOT_SUPPORTED
The requested operation is not supported in the current platform.
見るとこの環境では動かないよーとい感じの意味だと思うのですが、
開発環境と同じWindows NT4.0サーバ(sp6a)で動作しているので、何が足りない
のかさっぱりわかりません。
今まで環境面で調べた事はIISの設定とかランタイム関係などを見ました。
質問の内容がスレ違いかもしれないですが、ソースはVBスクリプトなので
こちらで質問させていただきました。
何か、散々調べているのですが、あまり使っている人がいないらしく、どなたか
過去にcapicomを使った方などいれば、何かアドバイスをー
0215名無し@沢村NGNG
おまいらよ、VBでTVウェアをつくらないか?

http://pc2.2ch.net/test/read.cgi/tech/1059262203/l50
0216デフォルトの名無しさんNGNG
0,1
2,3
5,6
・・
このような2列複数行のテキストファイルの2列目の各行の要素を一つ一つ
配列に格納したいのですがstrArray(1)に
2列目全部の値が格納されてしまいます(strArray(0)には1列目全部).
超の付く初心者ですが
どうかご教授頂けないでしょうか?

Do Until EOF(intFileNo)
'ファイルから1行読み込む
Line Input #intFileNo, strRecBuff
strArray = Split(strRecBuff, ",")
For i = 0 To UBound(strArray)

Next i
0217scooterNGNG
少し上のほうでの質問とかぶるのですが、どなたかわかる方教えてください。
VB6.0でactiveXDLLを作りました。
他のexeでそのDLLを呼び出して使いたいのですが、一応DLLを呼び出すところまでは行きましたが、
DLLから引数をとれてなかったんです。
思いつく限り様々な方法を試してみたのですが、どうしてもexeのほうにDLLで使用していた変数がわたりません。
どなたか教えてください。
0218204NGNG
>>204
>>211
補足です。やりたい事は、オブジェクトを渡して、それを変更した物が返っ
てくる。みたいな事じゃなくて、Javaみたいにマルチスレッドなんだけど
オオモトの変数を普通に扱える。みたい感じの事です。
(マルチスレッドにしてそれぞれが計算終わらせたら結果を呼び元の変数
に入れたいんです)※イベントで呼び出し元の変数をいじるのはNGという
ことで、やっぱ無理なんでしょうか?
0219デフォルトの名無しさんNGNG
1文字の入力エリアがあり、平仮名しか入力できないようにしてあります。
ここに濁点や゚のついている文字を入力された際に、自動で濁点をとるようにしたい
のですが、良いやり方ありますか?

一文字ずつ、「だ」が入力された場合は「た」に変換、と
長い長いSelectCase書かないといけないのでしょうか。
0220デフォルトの名無しさんNGNG
パソコンにワード97とワードXPが共存してるんですが、vbからワードを開いたときに
ワードXPのほうが開かれてしまいます。
ワード97のほうを開くのは無理なんでしょうか?
0221デフォルトの名無しさんNGNG
>>217
馬鹿も休み休み言ってくれ
0222デフォルトの名無しさんNGNG
>>219
"だぢづでど"という文字列つくってmidで回して判定して
"たちつてと"という文字列のインデックスと入れ替えたら?
0223デフォルトの名無しさんNGNG
>>220
フルパス指定しても?
0224デフォルトの名無しさんNGNG
>216
なんだそのソース。寝言は寝て言え
0225220NGNG
>>223さん
フルパス指定すれば97が動くのですが、できればフルパス指定しないで97を開きたいんですよ。
なんとかなりませんか・・?お願いします。
0226デフォルトの名無しさんNGNG
>>225
簡単じゃないか。ワードXPを消せばいい。
0227デフォルト名無しさんNGNG
関数の質問があります。
Trimなどの関数で$がついてTrim$と表現されてたりしますが、$をつけることによって
つけない場合と何が違うのでしょうか?
0228デフォルトの名無しさんNGNG
>227
$を付けると戻り値がStringになる。そうじゃない時はVariant。
0229tonNGNG
デスクトップ上の画面を取得するにはどうすればいいのでしょうか?
リモート操作できるものを作ろうと思っているんですが
その第一弾としてデスクトップ上の画面を描画(画像)でなく
動的?なものを取得したいのですがどうすればよいのでしょうか?
わかるかた助言ください
0230デフォルトの名無しさんNGNG
>>229
定期的に画面を撮って、前回取得した画像との相違点を探せばいいだけでは。
デスクトップごとかソフト別かはお好きに。
0231VBSアラシNGNG
>>229
デスクトップ画面のDC(デバイスコンテキスト)を取得
PictureBoxのDCにコピーすればVBから画像を保存できるだろう
まずWin32APIの描画系の関数の知識のお勉強をすること(仕組みも少しはな)
DCとは何か?
よ〜くなwww
いちいちコード示さんよ、これぐらいで、描画は基本!!

0232デフォルトの名無しさんNGNG
VB初心者というか、プログラミング自体したことも無く、
それで手を出そうと思っているので、どんなものかも分かっていないのですが、
ひとつ聞かせてください。
ここに回答者として書き込んでいるような皆さんは、
自分がまだ右も左も分からなかった頃、
何から始めたというか、何を参考にして勉強をしたのでしょうか。
参考書、web上の解説ページ等でしょうか。
上記の環境のみでイケるのなら、
自分にも努力次第で勉強できる気がしないでも無いのですが。
0233VBSアラシNGNG
補足だ
正確にはDCのハンドルを取得する
formやPictureBoxではhdcプロパティがそうだ
が、変数に取り込んおいてはイケナイ、いつ変動するか不定だからだ
使うときに直接取得する

言うまでもなく、VB作成以外のwindowのDCはもちろんAPI関数で取得。
0234デフォルトの名無しさんNGNG
>>232
自分の場合は
・本を買う
・色々作ってみる
の繰り返しだった。手垢できたなくなるまで読み潰そう。
0235VBSアラシNGNG
>>232
かつてマイコンBASICマガジンという雑誌があった
読者投稿のソースコードをそのまま乗せるものだ
近年まであったようだが、いまや簡単にDLできる時代では考えられらいが、
みな、昔は他人のプログラムコードをその雑誌から手で打ち込んだ
もちろん、作者の説明などもあるし、どれも素人の短いものであるから、
実に勉強になった
とりあえず、完成されたコードを打ち込む、自分で、、改良してみる
これだなw
0236デフォルトの名無しさんNGNG
>>234
了解しますた。
とりあえず明日VBの参考書を探してきます。
0237デフォルトの名無しさんNGNG
>>236

その前に、ヘルプは読んだの?
0238227NGNG
>>228
寝てました。
どうもありがとうございました。ぺこり。
0239219NGNG
>>222
レスありがとうです。
やっぱ、そんなやり方しかないんですか?
まいったな…
0240デフォルトの名無しさんNGNG
 30レベルくらいの深い階層のサブルーチンコールから、いっきに呼び出しもとの
メインに抜けたいのですが、VBではどのようにするのでしょうか?
 最深部でエラーが発生するのですが、元に戻るのが大変でなにか良い方法が
ないか探しています。
0241デフォルトの名無しさんNGNG
>>240
(実行時)エラーが発生したら一気に戻るが?
0242デフォルトの名無しさんNGNG
>>240
絵に描いたようなクソ設計だな (・∀・;)
0243デフォルトの名無しさんNGNG
まさかGoSubとか使ってねぇだろうな・・・
0244デフォルトの名無しさんNGNG
>>240
その前にクラス化とか考えれ。
0245デフォルトの名無しさんNGNG
>>242
例外とか実行時エラーって知らないの?
エラーが発生したら呼び出しツリーをさかのぼって
トラップしている所まで帰るのは当たり前なんだけど。
0246デフォルトの名無しさんNGNG
>>245
242だが、俺が言ってるのはそんなことじゃねーよw

>30レベルくらいの深い階層

これ、まともな設計してたらありえないからw
0247デフォルトの名無しさんNGNG
>>246
うむ。言いたいことは解る。

でも、既にコードがあってそれに対する解決策もある。
なのにお前の答えは「クソ設計なので書き直せ」なんだな。
0248デフォルトの名無しさんNGNG
>>247
「書き直せ」なんて一言も言ってないっつーの。
クソ設計だな と指摘しただけだよ。
それでどうするかは知らん。
0249デフォルトの名無しさんNGNG
別に再帰とかなら30階層ぐらいいくだろ。
0250デフォルトの名無しさんNGNG
>>248
>それでどうするかは知らん。
じゃあ出てくんなよ。
0251デフォルトの名無しさんNGNG
>>249
再帰ならね。
0252デフォルトの名無しさんNGNG
>>250
(゚д゚)ハァ?
0253204NGNG
>>206
教わった通りためしてみたのですが、370個ぐらい表示するとエラー
が出て止まってしまいます。これはメモリとか、コレクションが保持可能
な個数とかそういうので無理なのですか?
0254デフォルトの名無しさんNGNG
>>253
370個表示できたことのほうが驚きだ
0255204NGNG
>>254
そうなんですか?そうすると、どうすればやりたい事は実現できるので
しょうか?
0256デフォルトの名無しさんNGNG
☆★ 新商品 ゾク・ゾク 入荷!! 急げ〜!! ☆★☆
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安!  スピード発送!  商品豊富!   
★☆      http://www.get-dvd.com        
☆★ 激安DVDショップ 「GETDVDドットコム」 
★☆      http://www.get-dvd.com        
☆★ 今すぐアクセス Let’s Go!   急げ! 
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
0257デフォルトの名無しさんNGNG
>>255
どういう画面デザインにしたら370個も必要なのかのほうが知りたいぞw
やりたいことはよく分からんが、多分グリッドコントロールとか
同じコントロールの使いまわしとかで回避できるんじゃないか?
0258204NGNG
>>257
一応書いた(かな)かもしれないんですけど、行列の計算をするプログラム
を作っています。しかし、しょうがないのでグリッドコントロールを使う方向
で考えてみます
0259_NGNG
http://homepage.mac.com/hiroyuki44/
0260デフォルトの名無しさんNGNG
タブ区切りのテキストファイルをAccessデータベースにそっくりそのまま追加したい
一行一行読んで追加すりゃできるのはわかるがもっと効率の良い方法あれば教えれ
0261デフォルトの名無しさんNGNG
>>260
タブをカンマに変えてCSVで読み込む・・・ってタブ区切り対応してないの?Access
0262さとこNGNG
関連付けられたアプリケーションでファイルを開くには
WindowsAPIのShellExecuteを使いますよね?
VB6だと
Call ShellExecute(0, "Open", ファイル名, "", "", 1)
こんな感じでも動くのですが、
VB.netだと動かないのですよ!
昨日からものすごく困ってます。
どうしたらよいですか?
是非、教えてください!
0263デフォルトの名無しさんNGNG
>>262
VB.NETスレで聞きましょうね
0264さとこNGNG
すみませんでした^^;
0265デフォルトの名無しさんNGNG
10みたいな質問でスマンが、
サービス実行中のアプリを強制終了さすにはどうすればいいんだ?
net stopじゃなくてプログラムの強制終了。
0266デフォルトの名無しさんNGNG
listboxの内容をテキストファイルに出力する方法
を教えて頂きたいのですが。
超初心者ですいません
0267デフォルトの名無しさんNGNG
>>266
たとえばテキストボックスに出すなら
Dim i As Long
Text1.Text = ""
For i = 0 To List1.ListCount - 1
Text1.Text = Text1.Text & List1.List(i) & vbCrLf
Next i

テキストファイルに出すのは改造しとくれ。
0268デフォルトの名無しさんNGNG
iってintの略かと思ってた
0269デフォルトの名無しさんNGNG
>>268
indexのiでは?
0270デフォルトの名無しさんNGNG
>>268-269
iteration 繰り返し, 反復.
0271デフォルトの名無しさんNGNG
80へぇ獲得。
0272デフォルトの名無しさんNGNG
FOTRANでの整数として使える最初の文字
0273デフォルトの名無しさんNGNG
すみませんが、以下の中に、WindowsAPIとVBが引数としてやりとりできないものはあるでしょうか?

1.文字列と他のデータ型(Integerなど)がメンバに混在する構造体
2.メンバが文字列のみの構造体
3.(1.)の構造体の配列
4.(2.)の構造体の配列

当方、VB6で、メンバに数値と文字列の混在する構造体の配列を引数として取る
DLLを操作しなければならなくなったのです。
できるだろうと思って調べ始めたのですが、いろいろ調べてもわからず、
もしかしたらできないのではと思い始めました。とくにAPIで文字列を受け渡すときに
自動的に行われる Ascii <--> Unicode の変換が悪影響を与えそうです。

以下のサイトには関連情報が載っていますが、これらから結論を出すことが私には
できませんでした。

http://www.microsoft.com/japan/developer/library/VBCon98/vbconpassinguserdefinedtypestodllprocedure.htm
http://www02.so-net.ne.jp/~handa/deadend/c_vb.html

どうかどなたか、可能か不可能か、もし可能ならそのやり方を教えていただけないでしょうか?
実は、仕事が差し迫って、大変急いでおります。恐縮ですがどうかお願いいたします。
0274_NGNG
http://homepage.mac.com/hiroyuki44/
0275デフォルトの名無しさんNGNG
>>273
そこまで情報を集めておきながら、何故・・・
あとはテストコード作って試すだけでしょう?
0276273NGNG
>>273
確かにそのとおりで、すでに何度もテストコードを書いております。
しかしどうしてもうまくいかないのです。
実はデスマーチの最中で、非常に疲労していて、普段ならしないような間違いを
たくさんしております。自分ではもう、何が正しいのか、見極められなく
なってしまったのです。

今日の午後までに結果が出なければ、VB.NETを使わなければならないのです。
.NETにはサンプルコードが用意されているのですが、私は今まで触れたことも
ないので、できるならVB6で解決したいのですが…。

どうかよろしくお願いします。
0277273NGNG
上の >>273 は >>275 の誤りです。ああもう。
0278273NGNG
補足しますと、
http://www.microsoft.com/japan/developer/library/VBCon98/vbconpassinguserdefinedtypestodllprocedure.htm
には「ユーザー定義型を受け取る DLL プロシージャのほとんどは、ユーザー定義型に文字列データが
含まれていないことを前提としています。」と書いてありますし、他のサイトでも、
文字列型を含む構造体の配列を扱っているのを見つけられなかったのです。
もしかして、私はVB6では原理的にできないことをやろうとしているのではないか?
その不安がどんどん大きくなっているのです。

どうかどなたか、可能か不可能か、はっきりさせていただける方の登場を
痛切に希望いたします。
0279_NGNG
http://homepage.mac.com/hiroyuki44/
0280_NGNG
http://homepage.mac.com/hiroyuki44/2ch.html
0281デフォルトの名無しさんNGNG
文字列のポインタをStrPtrで取得してLong型変数に入れるとか
文字列をByte型配列に入れるとか。
0282デフォルトの名無しさんNGNG
固定長文字列じゃだめなんだろうか。
0283デフォルトの名無しさんNGNG
>>278

可能か不可能かで言えば、可能。泥臭いこと(Byte型の配列にとって、メモリコピーみたいな)
をする必要が出てくるかもしれないけど。

0284デフォルトの名無しさんNGNG
>>273
文字列データが含まれる構造体でもなんでも所詮バイトデータの
並びなんだからDLLを作っているのならどんなデータでも処理できる。
MSDNライブラリを見てどういうデータ構造になっているか調べろ。

既存のDLLで引数の方が決まっているのなら呼び出し方法が
間違っているのであろう。その間違っているコードを晒せ。
0285デフォルトの名無しさんNGNG
>>276
その状況を改善するか、会社辞めるのが最善策とおもわれ
0286_NGNG
http://homepage.mac.com/hiroyuki44/2ch.html
0287デフォルトの名無しさんNGNG
VBのプロシージャについてお伺いします。
二次元配列を渡したいのですが、エラーが出ます。
VBでは関数の引数で配列を使う場合、
アドレス渡しですか、値渡しですか?
宜しくお願いします。

dim cmb_data(2,10) as string
call load_data(cmb_data(0,0))

sub load_data(paramarray cmb_data())
'二次元配列にデータを格納
end sub
0288273NGNG
実際のコードです。
関数名などは変えてあります。


関数名GetAllUserList (char *year, int *cnt, S_USER *user[])


■引数
IN : char *year   年度文字列(nullを代入すると、今年のものが出る。)
OUT : int *cnt   全ユーザ数
OUT : S_USER *user[]全ユーザ情報

■備考
ユーザ情報構造体
typedef struct {// ユーザ情報
  char cUser[256];// ユーザ名
} S_USER;
0289273NGNG
----------------------------------------------------------------------
'全ユーザ情報取得処理
Public Declare Function GetAllUserList Lib "company.dll" _
(ByVal year As String, Count As Integer, ByVal User As Long) As Long

----------------------------------------------------------------------
Public Function GetAllUsers() As String
  Dim intCount As Integer
  Dim lngPointer As Long
  Dim strBuffer As String
  strBuffer = String(65535, vbNullChar)
  lngPointer = strPtr(strBuffer)
  '上の行をコメントアウトすると、
  '"0x10004e69"の命令が、"0x00000000"のメモリを参照しました。メモリが"written"に
  'なることはできませんでした。

  'というエラーになります。
  'つまり、このapiは、構造体配列を参照渡ししているのではなく、
  'VBが領域確保した場所に、配列を書き込んでくるのだと思います。

0290273NGNG
  lngRetrun = GetAllUserList(vbNullString, intCount, lngPointer)
  'APIを呼び出しています。

  Dim strUsers As String
  strUsers = StrConv(strBuffer, vbUnicode)
  '構造体の中身はcharの配列が一個だけですから、固定長文字列の配列とみなしてもいいと
  '思いました。そこで、UNICODEに変換しました。
  'データを正確に切り出すことは、とりあえず後回しにしようと思いました。
  GetAllUsers = strUsers
End Function


これを実行すると、「リ・」などと表示されるだけで、ぜんぜんデータが返ってきません。
90名の登録があるはずなのに。
メモリをダンプしてみましたが、256*90バイト以上消費されるかと思ったら、
107バイトし書き込まれませんでした。おかしい…。
0291273NGNG
今し方、新しい話がきました。
APIの側は、領域確保は自分でやっていて、VBが領域確保しなくても
エラーは出ないはず、と言ってきました。
だけどエラーが出るんです。

以上です。職場からは書き込めないので、携帯を介してアクセスしてます。
あまり高速で応答できません。すみません。
0292デフォルトの名無しさんNGNG
>>291
ついでに動かないとか言うふざけた症状も伝えればどうだ?
0293デフォルトの名無しさんNGNG
>>287

参照渡しで問題ないはず。

>>288

String ではなく、Byte 配列を使うのが基本

>>289

C の int は VB では Long 位置がずれてるっぽい。

>>291

C の方で確保しているのなら、Long を ByRef で渡せば、アドレスが変数に
設定されるんじゃなかったけかな。
0294デフォルトの名無しさんNGNG
寝るんで、あと気をつける点をば。

・確か、構造体の中の文字列には、ANSI → Unicode 変換がかからなかったはず。
英数字だけならいいけど、2バイトが入るなら、明示的な変換を忘れずに。

・VBの配列は、順に並ぶとは限らない。配列のアドレス位置をずらしながら、
RtlMoveMemory() でとっていくようにする

・C の配列と VB の配列はオリジンの違いによって数が異なるので注意。
ex. char[256] → byte(255)

・C の関数に、返値がないけど、その点は大丈夫? ビット数の違いに気をつけること

・当然、__cdecl は呼び出せないんで、__stdcall にしてもらうこと

そんなものかな。頑張ってね。
0295287NGNG
>>293 様
レス有難うございます。m(__)m

先程のプロシージャ内で、配列に値を代入しようとしたいのですが
”配列の次元が一致していません”とのエラーが出ます。

VBの場合、参照渡しの配列に値を代入するには
記号、宣言等必要ですか?

cmb_data(clmloop - 1, arrayloop) = Cells(rowloop, clmloop).Value
0296273NGNG
わたしが参考にした>>273のサイトではByValでLongを渡していたようだったので、
私もそうしたのです。
ByRefに変え、lngPointer = StrPtr(strBuffer)をコメントアウトすると、
"0x10004e3d"の命令が"0x11f7bdd8"のメモリを参照しました。
メモリが"written"になることはできませんでした。

というエラーになります。longの変数自体が存在しているメモリに、
構造体配列を書き込もうとしているように見えるんです。

ちなみにこのdll、ほかの部門(VB.NETを使っている)では動いているそうです。
0297_NGNG
http://homepage.mac.com/hiroyuki44/
0298_NGNG
http://homepage.mac.com/hiroyuki44/2ch.html
0299デフォルトの名無しさんNGNG
>>296

参考にしたサイトうんぬんは、あんまり関係ない。まずは、C の DLL の仕様を
確認することだね。

VB 側でメモリを確保する必要があるのなら、大きなバイト配列を作って、その先頭
要素のアドレスを渡すようにする。

VB.NET で動いてるんなら、ソース見せてもらえばいいじゃん。
0300デフォルトの名無しさんNGNG
>C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
0301デフォルトの名無しさんNGNG
日本語が分からない奴が来たのか?
相変わらずVBスレには厨がよく来る。
0302273NGNG
すみません。ちょっと書き込む時間が取れませんでした。
dllの作成者側からは、構造体配列の参照渡しといわれているのですが、
実際は、
・declare部でポインタをByRefで宣言すると、メモリ書き込みエラーになる。
byValならエラーは出ない。
・ByValでも、あらかじめ領域確保したアドレスを納めたポインタをdllに渡さないと
 書き込みエラーになる。
という奇妙な状態なのです。


.NETのソースはもらったのですが、マーシャリングという私の知らない概念を
使っていて、見ても意味がよくわからないのです。
もっとも、VB6でダメなら、.NETを使わざるを得なくなりますが。

厨房で申し訳ないです。
0303デフォルトの名無しさんNGNG
>>302
言葉じゃなくCの宣言をそのままアップしてくれと。
0304273NGNG
Cのソースはもらっておりません。
もらっているのは>>288の仕様書だけです。
Cソースをうちの会社がもらえるかどうかはわかりません。
すみません。
0305デフォルトの名無しさんNGNG
>言葉じゃなくCの宣言をそのままアップしてくれと。

>関数名GetAllUserList (char *year, int *cnt, S_USER *user[])

(;´Д`)
0306デフォルトの名無しさんNGNG
まぁ、答えを言ってしまうと_cdeclだったりな。
0307デフォルトの名無しさんNGNG
ヘッダファイルくらいはもらえるんじゃない?
ヘッダフィルがなけりゃC言語から使えないし。
0308273NGNG
ヘッダファイルはもらっていました。すみません。

int __stdcall GetAllUserList(char *year,
                int *cnt,
                S_USER *user[]);
該当部分を抜き出してみました。
仕様書とあまり変わらないと思います。

知人のノートPCを携帯で接続しています。書き込みが遅れるのをご容赦ください。
0309デフォルトの名無しさんNGNG
>>302

#まだ寝てなかったり。

あのね。C では、配列は参照でしか渡せないのよ。だから、ポイントになるのは、
参照渡しかどうかではなくて、メモリの確保をどっちでやってるか。

現象から見ると、メモリの確保は呼び出し側でやる必要があるみたいね。その手の
関数だと、最初に NULL を渡すと大きさを返してくれたりするんだけど、そういう機能は
ないのかな?

なら、何度も書いてるけど、Byte 配列でわたしちゃうのがいいと思うよ。

.NET では、その辺はマーシャリングが必須になる。で、ソースを見せてもらえば、
正しい呼び出し方がわかるんだけど・・・

>>305

返値の指定がないから、int か・・・

>>306

それに関しては、VB.NET のソースを見れば一発だわな。
0310デフォルトの名無しさんNGNG
>>308
ポインタの配列って受け取りようあるんかいなと。
0311デフォルトの名無しさんNGNG
> Public Declare Function GetAllUserList Lib "company.dll" _
> (ByVal year As String, Count As Integer, ByVal User As Long) As Long
Count As IntegerじゃなくてCount As Longで、

> APIの側は、領域確保は自分でやっていて、VBが領域確保しなくても
> エラーは出ないはず、と言ってきました。
データのポインタがUserに帰ると思われるから、
ByVal User As LongじゃなくてByRef User As Long(ByRefキーワードは省略可)で

帰ってきたデータを操作する場合は
Userに帰ってきたポインタから指し示されるデータを
CopyMemoryとかで適切なデータ型にコピーするんじゃないの?
0312_NGNG
http://homepage.mac.com/hiroyuki44/
0313デフォルトの名無しさんNGNG
>>311
>ByVal User As Long

帰ってくんの?User。
0314273NGNG
__cdeclではなく、__stdcallのようです。
恥ずかしながら意味はわかりませんが。
ヘッダファイルと、.NETのソースにそのワードがありますので。

しかし、こちらで領域確保するようにできているとしても、
256 * 90 バイトの書き込みを期待しているのに、
たった107バイトしか書き込まれない。しかも中身はゴミ。

ヘタレな私にはどうしようもない感じになってきました。
ああ、もうすぐ締め切りの時間です。どうしよう…。
0315デフォルトの名無しさんNGNG
.NETでのソースを出せば詳しい人が変換してくれるかもしれない。
0316273NGNG
宣言部でポインタをbyRefにするとメモリ書き込みエラーになってしまうんです。
>>302にも書きましたが。

int と long は問題ないと思います。
関数の返値はエラーレベルなのですが、これは正常に取得できています。
cntはユーザ数なのですが、これも正解である90が取得できてます。
0317273NGNG
コンピュータのやることですから、不思議なことは何もないはずで、
ただヘタレな私が見落としている点があるだけのはずなんです。

なにが起こっているのか、何か思いつかれた方はいらっしゃいませんか?
0318デフォルトの名無しさんNGNG
>何が起こっているのか

悲しいVB厨のAPI奮闘記
0319デフォルトの名無しさんNGNG
またアンチVB厨が紛れ込みやがった。うぜー。
0320デフォルトの名無しさんNGNG
*a[]

配列の先頭を指すポインタ -配列要素1(ポインタ)   -構造体
                    -配列要素2(ポインタ)   -構造体
                    -配列要素3(ポインタ)   -構造体
                    -配列要素4(ポインタ)   -構造体
                    -配列要素5(ポインタ)   -構造体
                    -配列要素6(ポインタ)   -構造体
                    -配列要素7(ポインタ)   -構造体
                    -配列要素8(ポインタ)   -構造体
                    -配列要素9(ポインタ)   -構造体

無理だわ。無理。
0321デフォルトの名無しさんNGNG
>>320 無理な理由が無い。自己満足は止めなさい。アンチVB厨か?
0322デフォルトの名無しさんNGNG
ポインタ配列ったって、たかがメモリのアドレスを指してる
変数の配列に過ぎないわけだが。
0323デフォルトの名無しさんNGNG
>>321
では、建設的な解決方法をお願いします。
0324デフォルトの名無しさんNGNG
>>323 それを今やっているんだろ。意味の無いレスでじゃまするのは止めろ。
0325_NGNG
http://homepage.mac.com/hiroyuki44/kaz04.html
0326デフォルトの名無しさんNGNG
>>324
出来るなら1レスで済む話じゃないですか?
はいはい、こんな煽りに反応する暇あったら回答してあげて下さいよ(藁

と、言うか同じ仕様のDLL書いてそれをどうやれば読めるのか実験。
それで誰が悪いのか確かめた方が早くない?
0327デフォルトの名無しさんNGNG
>>316
>宣言部でポインタをbyRefにするとメモリ書き込みエラーになってしまうんです。

理屈どおりだとByRefでしょ。この場合。
それがなぜエラーになるのかを考えず、対症療法で
ごまかそうとするから、いつまでたってもうまくいかないんじゃないの?
0328デフォルトの名無しさんNGNG
>>326
仕様が不確定なんだから1レスじゃすんでないの。
煽りと認めるのはいいが、煽りをするくらいならちゃんと回答しろ。
0329デフォルトの名無しさんNGNG
>>328
インターフェースと、「メモリは向こうで確保されている」。
実験するには純分でしょう。

だから煽りに反応する暇あったらコード書いてやれって。
0330デフォルトの名無しさんNGNG
>>329 お前が書けよ。
0331デフォルトの名無しさんNGNG
>>329
そうだお前が書けよ。
0332デフォルトの名無しさんNGNG
>>330
C書けないなら書けないって素直に言えばいいのに。
0333デフォルトの名無しさんNGNG
アンチVB厨うぜー。
0334デフォルトの名無しさんNGNG
>>332=>>320
だろ? お前がポインタというものの本質をまったく理解していないことが
分かる名文だったな、あれはよ。( ´,_ゝ`)プッ
0335デフォルトの名無しさんNGNG
>>334
まぁ、言うのは勝手だが、さっさと答えだしてやれ。
質問者から見たら折れもお前も答えの出せない低脳君だ。
0336デフォルトの名無しさんNGNG
>>335

 お ま え が 質 問 者 だ ろ

煽ってソース引き出そうなんて、きょうびはやらねーんだよこのド低脳が
0337デフォルトの名無しさんNGNG
>>336
違うぞ。
0338デフォルトの名無しさんNGNG
つーかメモリ確保をどちらで行ってるとかの問題も含め、
単純に質問者がVB.NETで動作してるソースを晒せばよろしい
それを見りゃ分かる
0339デフォルトの名無しさんNGNG
>>338
マーシャリングしてるらしいぞ。
0340273NGNG
ああっ、いつの間にか荒れている。
どうもすみません。まとまらない質問をした私が悪いと思います。すみません。

実は、タイムリミットが来てしまいました。今日の昼休みあけまでだったのです。
正式に、.NETに移行することになりました。まったくの未経験で、どうなるか
わかりませんが…。

いろいろお世話になりました。ありがとうございました。
0341273NGNG
最後に、.NETのソースを書いておきます。
ここだけ見てわかるのかどうか、判断がつきかねますが、
私の書いたコードではないので、あまり公開するわけにも行きませんので、
ご容赦ください。

多少、変数名などを修正してあります。

0342273NGNG
  ' 全ユーザ取得
  Public Shared Function GetAllUserList(ByRef outCount As Integer, ByRef outUser() As S_DUser) As Integer
    Const intArraySize As Integer = 512
    ReDim outUser(intArraySize - 1)
    Dim i, intResult As Integer
    Dim Buffer(intArraySize) As IntPtr
    outCount = 0

    For i = 0 To intArraySize - 1
      outUser(i) = New S_DUser()  ' インスタンス化&初期化
    Next
    For i = 0 To intArraySize - 1
      Buffer(i) = Marshal.AllocCoTaskMem(Marshal.SizeOf(outUser(i))) ' メモリ割り当て
      Marshal.StructureToPtr(outUser(i), Buffer(i), False)      ' 初期化
    Next
0343273NGNG

    intResult = MemberLibWrap.GetAllUserList(outCount, Buffer)

    If intResult = 0 Then
      For i = 0 To outCount - 1
        ' アンマネージ メモリ ブロックからマネージ オブジェクトにデータをマーシャリングします。
        Marshal.PtrToStructure(Buffer(i), outUser(i))
        Marshal.DestroyStructure(Buffer(i), GetType(S_DUser))
      Next
    End If
    For i = 0 To intArraySize - 1
      Marshal.FreeCoTaskMem(Buffer(i))
    Next

    ReDim Preserve outUser(outCount)
    GetAllUserList = intResult
  End Function  ' GetAllUserList
0344デフォルトの名無しさんNGNG
へぇ、最近のVB.NETってアンセーフなこと出来るんだ。
0345273NGNG
最後の最後に告白です。
実は私は、VBに関しては厨房ですらありません。
マシンにインストールしたのが一週間前。VBの仕事は初めてです。
本当にご迷惑をおかけしました。すみません。
0346デフォルトの名無しさんNGNG
ならVB.NETでやっても変わりないじゃん!!
なんじゃそりゃw
0347デフォルトの名無しさんNGNG
>>346
解らなかった癖に・・・。
0348デフォルトの名無しさんNGNG
>>346に対してどうして>>347のレスがつけれるのか

その思考回路が解からない
0349デフォルトの名無しさんNGNG
すいませんが、質問です;;

(入力されたデータ)
変数A = '9999999'

(テキストから読みこんんだデータ)(カンマ区切り)
変数B = '9999999','1234567','7777777'

で、入力されたデータが、カンマ区切りデータのいずれかと一致すれば
OKというプログラムを組みたいのですが、なにかいい案はないでしょうか。。
申し訳ございませんが、教えてください。
0350デフォルトの名無しさんNGNG
>>349
その変数A、Bってのは文字列なの?
とりあえずInStrを調べてみそ。
0351349NGNG
文字列です。

Aの値が、Bの中になければエラーとしたいので、
InStrだと、例の場合、A = '9' でも通ってしまうんですよね。。。
A = '9999999' の場合のみOKとしたいので;;

すいませんです;;
0352デフォルトの名無しさんNGNG
>>351
ああ、なるほど。
じゃあSplitで配列に分解、変数Aと完全に
一致するかどうかループでまわして判断するしかないな。
0353349NGNG
>>352

ありがとうございます。がんばってみます!
0354デフォルトの名無しさんNGNG
>>349
変数Aと変数B両方カンマで挟んだらInStr使えねーか?
"'" & 変数B & "'"のなかに"'" & 変数A & "'"があるかどうか。
0355デフォルトの名無しさんNGNG
Win98、VB6.0SP5でwinlessコントロール(コンボボックス)
を使ったプログラムを作ったのですが
winXPの環境で起動すると
RunTime Error '7' Out of memory
と出て動作しなかったそうです。
Exeと同じ階層にmswless.ocxを入れてありますので、
winlessコントロールが動かなかったわけではないと思うのですが
原因がわからず、困っています。
何か原因がわかるかたいましたら教えてください。
0356デフォルトの名無しさんNGNG
>>355
インストーラでやりました?
ocxは登録してますか?
0357355NGNG
>>356
インストーラ使っていません。
ocxも登録していません。
普通にExeを作成で作ったものとOcxファイルを渡していました。
インストーラを使えばいいのでしょうか?
0358デフォルトの名無しさんNGNG
>>357
試してからでも遅くはあるまいて
0359355NGNG
>>358
そうですね。。(汗
アドバイスありがとうございました。
0360デフォルトの名無しさんNGNG

0361デフォルトの名無しさんNGNG
現在無茶にも、VBで多倍長演算をしようと考えています。そこで、
どなたか、多倍長演算のAPIとかを知っているかたいませんか?
0362デフォルトの名無しさんNGNG
>>361
ふつうに計算しては?
0363デフォルトの名無しさんNGNG
>>362
どういう意味でしょうか?最初から多倍長だという事ですか?
0364デフォルトの名無しさんNGNG
>>363
通貨型 (Currency)
-922,337,203,685,477.5808 〜 922,337,203,685,477.5807
でも足りなければ、多倍長演算ルーチン作れということでしょうね
0365デフォルトの名無しさんNGNG
>>364
vbで多倍長演算ルーチンを扱っているサイトとかありませんか?

0366デフォルトの名無しさんNGNG
>>361、365
そもそも自分の都合でVBの仕様外のこと聞いてるのだろう?
1回聞けばいいだろ、何度も粘るな


0367デフォルトの名無しさんNGNG
>>366
みんな自分の都合じゃないの??????
0368デフォルトの名無しさんNGNG
・初心者優先であること
・VB仕様外であるからレスを期待しない<だから1度聞け
・自力でなんとかいう努力が見られない、検索云々もない
・従ってオマエの都合には合わせる気にはならん
以上
0369デフォルトの名無しさんNGNG
まぁ、答えたくないやつは答えなければいいし、答えたいやつは答えれば
いいし、と。

>>365

VB.NET だけど、ほれ

http://www.tokyo-pax.co.jp/pasovb5.htm
0370デフォルトの名無しさんNGNG
重複スレのhttp://pc2.2ch.net/test/read.cgi/tech/1058702281/119です。
答えていただいた方、ありがとうございました。
パッと理解できない難しい事ですが、ちょっと勉強してみます。
どもでした。
0371デフォルトの名無しさんNGNG
>>370
みなさんご迷惑をおかけしました。369さんありがとうございます。
0372デフォルトの名無しさんNGNG
シニス
0373デフォルトの名無しさんNGNG
所詮vb使ってる奴等なんてこんなもの
0374デフォルトの名無しさんNGNG
助言すらできない奴がいるみたいだけど気にすんな
0375デフォルトの名無しさんNGNG
AS/400に標準でくっついてるDBにアクセスして
レコードを取得したり挿入したりしたいんですけど、
参考になるサイトがあれば教えていただきたい。
0376_NGNG
http://homepage.mac.com/hiroyuki44/jaz09.html
0377361NGNG
>>369
どうにか教えていただいたサイトを参考に、プラス・マイナスどちらでも
与える事のできる加算関数と同じく乗算の関数を作る事ができまいた。
ついでにネットで探してもVBのこういったものはあまり見かけなかった
ので一応アップしておきます。(サンプルプロジェクトになっています。)
http://www12.ocn.ne.jp/~mygrid/Project1.zip
0378361NGNG
>>377
補足ですが、速度はまったく気にしていないのでめちゃくちゃかもしれ
ませんが気にしないで下さい。後、なにかアドバイスがあればおねがい
します。
0379デフォルトの名無しさんNGNG
おいおい、グロかよー…。
0380デフォルトの名無しさんNGNG
>>379 必死だな(w

>>378
「まりな」って誰よ?(w
0381デフォルトの名無しさんNGNG
>>378
ツマラン指摘で悪いんだが
> Private Function FrontSpace(ByRef tstr As String, OneUse As Integer) As String
> Dim i, j As Integer
iがバリアントになっている。(b�楸と?)
あと全般的に文字列じゃなくてバイト配列でやったほうがいいのではと思った。
ついでにクラスを使ってもっと自然な感じに。
0382山崎 渉NGNG
(^^)
0383デフォルトの名無しさんNGNG
>>377
Superlong Calculator
ttp://www10.plala.or.jp/sryu/top.htm
0384375NGNG
またまたカキコで申し訳ない。
AS/400に標準でくっついてるDBにつなげたいのですが
どなたか教えてください。
0385361NGNG
>>381
ご指摘ありがとうございます。あと、バイト配列でやるというのはどうい
うことでしょうか?引数もバイト配列で与えて、戻り値もバイト配列に
するという事でしょうか?それとも、関数内部でバイト配列に置き換えて
、という事でしょうか?ご教授ねがいます。
0386361NGNG
>>385
書き忘れたのですが、一応VBで多倍長演算の関数は書いてみたもの
の、遅い・・・・・、なので、Cとかで作ってある外部DLLを提供している
サイトとかどなたか知ってらっしゃったら教えて下さい。
0387一桁一バイトNGNG
>>386
多分、遅いのはVBよりもプログラムの問題じゃないかという気がする。
それを高速化させる手段の一つが>>381なんじゃないかと。
0388デフォルトの名無しさんNGNG
うん、ブタプログラミングだ。
0389デフォルトの名無しさんNGNG
>>387
Dim i As Integer, j As Integer
って書かなきゃいけないのを知らないひとは、それなりにいるかも。
他言語で馴れてるひととか。たぶん、>>378が使ってきた言語はC言語。
0390デフォルトの名無しさんNGNG
ただ知らなかっただけと見るが…。
0391デフォルトの名無しさんNGNG
>>389
で?
0392デフォルトの名無しさんNGNG
変数も知らないヤツなんてvbやってるヤツぐらいだろ
0393デフォルトの名無しさんNGNG
>>392
お前は何か勘違いしていますね。
0394デフォルトの名無しさんNGNG
vb使いを煽ったつもりが、vb使いと同じレベルだった罠
0395デフォルトの名無しさんNGNG
念のために解説

cでは
int a, b, c;
で全部intだが、

vbでは
Dim a ,b, c As Integer
ではcだけがInteger

ちなみにaとbはVariant
0396デフォルトの名無しさんNGNG
正しい煽り例

vbやってるやつは全部Variantでも使っとけ
0397デフォルトの名無しさんNGNG
>>395
笑い所解説されるくらい冷めることはない。

>>396
面白いこと言ってんの、それ?
0398デフォルトの名無しさんNGNG
>>397
お前の滑稽さが何とも言えずおもしろい。
0399デフォルトの名無しさんNGNG
>>396=>>398
光栄です。
0400デフォルトの名無しさんNGNG
>>399
残念ながらはずれです。
0401デフォルトの名無しさんNGNG
俺です。
0402デフォルトの名無しさんNGNG
>>397
ここはべつに笑うためのスレじゃないんだが。
0403デフォルトの名無しさんNGNG
もういいだろ。

  ↓次の質問ドゾー
0404デフォルトの名無しさんNGNG
>>395はVB初心者にとってよくある間違いだろうから、それなりに有益だろ。
笑い所とか言ってるあたりがさすがVBプログラマというか。>>397に苦笑い。
0405デフォルトの名無しさんNGNG
一番笑いのセンスがあるのは>>392
0406デフォルトの名無しさんNGNG
>>405=>>392ということでオk?
0407デフォルトの名無しさんNGNG
>>406
MsgBox ">>405=>>392ということでオk?", vbOKOnly
0408デフォルトの名無しさんNGNG
なんだ、この状況。
0409デフォルトの名無しさんNGNG
笑われるセンスがあるのは>>392だろうな
0410デフォルトの名無しさんNGNG
笑わせると笑われるでは大きく違うな
0411デフォルトの名無しさんNGNG
アンチVB厨がまた荒らしているのか。はぁぁ。
0412デフォルトの名無しさんNGNG
ふとんがふっとんだ
0413デフォルトの名無しさんNGNG
取りに行けよ。
0414デフォルトの名無しさんNGNG
ntpサーバの時刻をもとめたいのですが、
どのように求めたらよいでしょうか?
0415デフォルトの名無しさんNGNG
こんなに見えちゃってヤバクない???
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html


0416デフォルトの名無しさんNGNG
>>414
sntpにしとけ。
0417デフォルトの名無しさんNGNG
アナルがふっとんだ
0418tonNGNG
聞きたいことがあるのですが!DirectXを使用して
VBの機能であるボタンやリストボックス、
はたまたActiveXで作ったオリジナルなボタンなどを
操作することができるのでしょうか?
だれかご指導ください
0419デフォルトの名無しさんNGNG
>>418
フツーにできるが、何か?
0420tonNGNG
ほんとだできました
0421デフォルトの名無しさんNGNG
>>420
仕事速ぇーな。
0422デフォルトの名無しさんNGNG
ていうか、そんなすぐできることを (多分たいして調べもせずに) 質問するなよ。
0423デフォルトの名無しさんNGNG
WinXPのWordにVisual Basicがついてるなんて初めて知った。
なんで今までだれも教えてくれんかったんだ。
0424デフォルトの名無しさんNGNG
>>423
??
君と話したくないんじゃないかな。
0425デフォルトの名無しさんNGNG
>>424
ワラタ。

>>423
Offceに入ってるアプリ全部についてる。
Outlookにすらついてるよ。
0426デフォルトの名無しさんNGNG
>>425
機能は市販のVBとかと同じなの?
0427デフォルトの名無しさんNGNG
>>423->>425
買ってないんだがVBのバージョンは何なの
0428423NGNG
>>427
Microsoft Visual Basic 6.3
0429デフォルトの名無しさんNGNG
DocomoはJAVAですけどJ-PhoneはVBで携帯アプリつくれますか?
0430デフォルトの名無しさんNGNG
>>429
どのキャリアも無理。
0431429NGNG
>>430
んー・・・JAVAやることにします
0432デフォルトの名無しさんNGNG
携帯はもうそろそろFlashの時代になりそうだけどね。
Javaは作るのが難しいだけでJava使う意味は無いから。
0433デフォルトの名無しさんNGNG
まだ、本域でFLASHやろうと表明してんのはドキュモだけじゃなかったっけ?
0434デフォルトの名無しさんNGNG
リッチテキストボックスとかで入力した文字が
自動リンクになるような方法ありますか?
HTTP://WWW.YAH00.CO.JP/
とかが入力してる途中にURLだと判断されたら青い文字になって
それがリンクになるみたいな
0435デフォルトの名無しさんNGNG
>>434
少なくともそれはURLではない。
0436デフォルトの名無しさんNGNG
ここって大文字でもリンクするんだな。
0437デフォルトの名無しさんNGNG
大文字で書き込んだらどうなるかなと思ってテストを兼ねた質問です
ごめんなさい
0438デフォルトの名無しさんNGNG
>>436
されてませんが
0439デフォルトの名無しさんNGNG
>>438
http://pc2.2ch.net/tech/
0440デフォルトの名無しさんNGNG
>>439
なに?
0441デフォルトの名無しさんNGNG
>>440
スレッドを個別に表示した場合はリンクされないが、一覧表示(http://pc2.2ch.net/tech/)した場合はリンクされ(てい)る。
HTTP://pc2.2ch.net/tech/
0442デフォルトの名無しさんNGNG
なんか、このレス群、みたことあるぞ。
デジャヴュ?
0443デフォルトの名無しさんNGNG
画像の縦横サイズを取得したいのですが、そのようなapiとかないっスか?
jpg、gif、pngでも取得出来れば十分でございます。
0444デフォルトの名無しさんNGNG
>>443
Image
0445429NGNG
>>432ふうん
0446デフォルトの名無しさんNGNG
とあるサイトでVBのことを
オブジェクト指向言語と書いてあったのですが、
そうなのでしょうか?

オブジェクト指向言語のようなことができるっていみなのかなーって
最初思ったのですが、そのような記述がみあたらなかったので
なんだか頭がもやもやしてます。

どなかた教えていただけないでしょうか?
0447デフォルトの名無しさんNGNG
>>446
まあ、グレーだな。
一応クラス (らしきもの) は作れるけど、継承とかできないから不完全と言えば不完全。
少なくとも、VB でオブジェクト指向を学ぶと言うのは避けたほうがいい。
VB は あくまでも VB だから。
0448デフォルトの名無しさんNGNG
>>443
それぞれのファイル構造を調べてバイナリ取得
0449デフォルトの名無しさんNGNG
> VB は あくまでも VB だから。
激しく無意味なことを言っているような気がするが・・・。

>>446
まあそれはいいとしてオブジェクト指向ってのは考え方だからね。
極端に言えばアセンブラやC言語であってもオブジェクト指向は出来る。
ただアセンブラやC言語はオブジェクト指向としての言語のサポートが無い。
オブジェクト指向言語のサポートってのは「無い」か「有る」かの
どちらかじゃなくて「ある程度有る」という風に中間的なものが存在する。
VBはその中間のもの。オブジェクト指向言語に必要な機能のうち
クラスやカプセル化やインターフェースや多態はある。ないのは実装継承ぐらい。

VBはJavaやC#やVB.NETよりはオブジェクト指向言語ではないが、
アセンブラやC言語よりかはオブジェクト指向言語ということだね。
0450デフォルトの名無しさんNGNG
それからオブジェクト指向を学ぶならsmalltalkの方がいいかも。
実践向けとは言い難いがJavaやC#よりも純粋な
オブジェクト指向言語だからね。
0451デフォルトの名無しさんNGNG
>>450
まあ学んでどうなるってものでもないがw
0452デフォルトの名無しさんNGNG
VBでオブジェクト指向なんてやろうとする奴なんてろくなもんじゃない
0453デフォルトの名無しさんNGNG
>>452
んあ?
0454デフォルトの名無しさんNGNG
>>452 Cでオブジェクト指向やるよりかははるかにマシだがな。
0455デフォルトの名無しさんNGNG
わざわざご丁寧にお世辞を言う>>452が一番ろくでもない奴という罠。
0456デフォルトの名無しさんNGNG
へいべいべ、そういうときは俺のジョークを聞いてくれ

「バイナリ小なり」
0457デフォルトの名無しさんNGNG
CでOOをやる必要を感じないんだが
0458_NGNG
http://homepage.mac.com/hiroyuki44/
0459361NGNG
>>377
前回アップしておいたソースにバグがあり修正いたしました。見てく
ださった方。もしよろしければ、修正後をどうぞ。ついでに、そのソース
をCで書き直してみました。こちらもよろしければ(やっぱCは早い!!)
http://www12.ocn.ne.jp/~mygrid/Project1.zip
0460デフォルトの名無しさんNGNG
>>459
tempolalyじゃなくてtemporary
0461デフォルトの名無しさんNGNG
>>457
COOLとか知らない? 知らないなら少しは勉強した方がいいよ。
他にもGTKなんか使うとオブジェクト指向せざる負えないんだけど。

C 言語によるオブジェクト記述法 COOL
http://www.sage-p.com/process/cool.htm

GTK v1.2 チュートリアル(日本語版) 序文
http://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja-1.html
> GTK は本質的に、オブジェクト指向に基いた API である
> [訳注:原文 "application programmers interface(API)"]。
> GTK は全て C 言語で書かれているが、実装にはクラスや
> コールバック関数 (関数へのポインタ) といったアイデアが使われている。

設計やアルゴリズムのような考え方は言語に関係なく存在するもんなんだけどね。
しかしCでOOするのはVBでOOするのに比べてかなり手間がかかるね。
0462デフォルトの名無しさんNGNG
>>459 Cは速いというよりVBで書いたコードが糞なのが原因なんだが。
0463デフォルトの名無しさんNGNG
>>459
VBスレで書くのもなんだけど、
> for(x=1;x<=strlen(strone);x++){
> strone[x-1] = strone[x];
これが単に文字列を一つ前にシフトしたいだけなら、終端文字ごとmemmoveすればできる。
ポインタを一つ用意してstrone[1]を指すようにしてもいいけど。
0464   NGNG
VBのフォームに、ハイパーリンクを張ることはできますか?

【やりたい事】
たとえば、VBのノーマルのフォームに、"Yahoo! Japan"と書いてあり、
そこをクリックすると、ウェブブラウザが立ち上がり、ヤフーのページが
表示される。
0465デフォルトの名無しさんNGNG
>>464 できるよ
0466デフォルトの名無しさんNGNG
サイトのタイトルでいいんか?URLじゃなくて?
「やりたい事」を実現するなら、ShellするなりCreateObjectするなりすりゃいいだけだが・・・
0467464NGNG
できれば、ブラウザのように、文字にアンダーラインがあり、
未読ページなら青、既読なら紫のような感じにしたいです。

そういう機能を全部こちらが書けばもちろんできるんですけど、
こういうのって既に用意されるのかなーって思って質問しました。
0468デフォルトの名無しさん NGNG
RPG作っています。
主人公がマップを自由に動けるようにしたいんですが
マップのスクロール法を教えてください。
0469デフォルトの名無しさんNGNG
>>467
WebBrowserコントロールで(ry
0470デフォルトの名無しさんNGNG
>>468
画面に表示する画像を変更するだけだよ。
0471468NGNG
>470様
ありがとうございます。
挑戦してみます!
0472_NGNG
http://homepage.mac.com/hiroyuki44/
0473361NGNG
>>460
我ながらクサイなぁとは思っていたんですが、やはり間違っていました
か〜。まぁご愛嬌という事で、
0474361NGNG
>>463
なるほど、そうですね。あと、CにはMidみたいな関数とかないんです
かね?文字列を扱うのがすごい面倒クサイ。
0475361NGNG
>>462
まーまー、そう言わずに。あと、それならアドバイスの一つもくれるとあり
がたいですね。
0476361NGNG
>>463
すいません、書き忘れたのですが、よろしければmemmoveでやる方法
を教えてください。文字列の先頭の"-"をなくす処理をしているのですが、
2個目の引数にstrone[1]のポインタを当てればいいんですか?
(VBスレなのに本当に申し訳ない)
0477デフォルトの名無しさんNGNG
今、悩んでることがありまして、どちらでもいいと言われたらそれまでなんですが、
ソースの書き方について解らないことがあります。
'A-1
SQL = SQL & "INSERT INTO なんちゃら VALUES ("
SQL = SQL = "なんたら,"
SQL = SQL & "かんたら"
SQL = SQL & ");"

'A-2
SQL = "INSERT INTO なんちゃら VALUES (" & _
"なんたら," & _
"かんたら" & _
");"
0478続きNGNG
'B-1
Dim a As String
Dim b As String
Dim c As String
a = nanntara
hogehoge etc....
'--------------
b = kantara
hogehoge etc...
'-------------
c = nannkann
hogehoge etc...

'B-2
Dim a As String
a = nanntara
hogehoge etc....
'--------------
Dim b As String
b = kantara
hogehoge etc...
'-------------
Dim c As String
c = nannkann
hogehoge etc...

A、B共に1でも2でも同じ結果だと思うのですが、A,Bとも、どちらの書き方が良いのでしょうか?
御教授ねがえますでしょうか。
0479デフォルトの名無しさんNGNG
>>477,478
読みやすい方。
おれならA−1、B−1。
0480デフォルトの名無しさんNGNG
>>479
(゚Д゚)ハァ? A-1なんてあり得な〜い
数十万回くらい繰り返して速度計測してみろや

もとよりこうすりゃA-2のほうが読みやすいかと
SQL = "INSERT INTO なんちゃら VALUES (" & _
      "なんたら," & _
      "かんたら" & _
      ");"
0481デフォルトの名無しさんNGNG
ちょっとくだらない質問なんだけど、ポンポンと答えてもらえるとうれしい。
例えば関数の中でdim a[10000] as double とかでっかい配列宣言してると、
けっこう関数のパフォーマンスって落ちる?やっぱりいつもそんなに必要としない
なら動的に確保した方がいいかな?
0482続きNGNG
>480
済みません、ブラウザ上でタブが認識されていなかったようです。
元はそのように書いてありましたm(__)m

そうなんですよね、
再起代入繰り返したら遅くなるのは目に見えている訳で。。。

そこら辺のバランスを考えてると、こんがらがってしまってσ(^◇^;)

諸先輩方の意見をお願い致しますm(__)m
0483デフォルトの名無しさんNGNG
>>481
Cと混合している時点で逝けてない。0点
0484デフォルトの名無しさんNGNG
こんなに見えちゃってヤバクない???
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html


0485479NGNG
>>480
おれはA−1の方が読みやすい。(これは好みかな?)
それにA−1の方がSQLの途中でコメント入れれるし。
パフォーマンスに関してだけど文字列連結にどれだけ時間がかかったか、ではなく
文字列連結にかかる時間が全体の何%か、てのが大事っしょ。
文字列連結だからといって気にする必要ないときも多いはず。

>>482
あんたの好きな方選びなさい。
0486デフォルトの名無しさんNGNG
不毛で冗長な議論では楽しめない
0487デフォルトの名無しさんNGNG
>>482
> 再起代入繰り返したら遅くなるのは目に見えている訳で。。。

>>485
> 文字列連結だからといって気にする必要ないときも多いはず。

それ以前に A-1 はバグってるって >>480 は言ってんじゃないのか ?

>> SQL = SQL = "なんたら,"
0488デフォルトの名無しさんNGNG
コンボボックスでドロップダウンリストを選択した時に、
デフォルトでリストの一番上の項目を表示させたいのですが、
どうすればできますか?
0489デフォルトの名無しさんNGNG
>>488
ListIndex = 0
0490デフォルトの名無しさんNGNG
ListIndexというのはコンボボックスのプロパティでしょうか?
見当たらないのですが・・・
0491489じゃないがNGNG
>>490
ComBo1.ListIndex = 0 はプロパティウィンドウではなく、コードウィンドウに記述するプロパティ。
0492デフォルトの名無しさんNGNG
>>477
要するにプログラムの可読性を上げたいだけだろ。
それなら答えはおのずから出るわな。

すべからくプログラムのスタイルは合理的精神に基づいて選択すればいい。
経験があろうとなかろうと、人に主張できる一貫した論理性がそこにあればよい。
それが君のスタイルだよ。
0493デフォルトの名無しさんNGNG
コピペして他の部分でも使えるコードをこころがけるのもよい
0494デフォルトの名無しさんNGNG
VBSでLHAで圧縮したいのですが、VBSはAPI使えないので
何か方法無いですか。
0495デフォルトの名無しさんNGNG
>488,490
できました!ありがとうございます。
0496デフォルトの名無しさんNGNG
>477
個人的にはA-2が好きなんだが、途中にコメント入れられないのが痛いんだよな。
それが言語仕様なんだからしょうがないとは思うけど。
上で速度の話が出てたけど、ミリ秒単位で遅い早いの世界ならそもそもVBを使ってる
のが間違いという気もしないでもない。

周囲に合わせるのが一番だと思われ。
0497デフォルトの名無しさんNGNG
>>494
LHAを扱えるActiveXコンポーネントを他言語で作成して(以下略
0498デフォルトの名無しさんNGNG
>>480
>数十万回くらい繰り返して速度計測してみろや
SQL文をそんな風に作成している時点でアウトだろ、、
0499_NGNG
http://homepage.mac.com/hiroyuki44/
0500デフォルトの名無しさんNGNG
>498
許してやれよ。
きっと、>480はSQL一発ですむ所を数十万回のDELETE文SQL発行で処理しているのさ。
0501デフォルトの名無しさんNGNG
VB6です。
 業務アプリを組む際のエラー処理の仕方で、定番と言えるやり方ってどんな感じなのでしょうか?
 本や研修資料のサンプルには、関数単位のエラー処理(On Error Goto使用)は載っているのですが、
システム全体でのうまいエラー処理の例は全く載っていません。
 エラーが発生した時の挙動(メッセージやボタン等)を統一する為の知恵、それを解説している
ページ等無いでしょうか?
 質問内容が漠然としていてすみません。俺はこうしている、これは上手い方法だと感じた例
などありましたら教えてください。
0502デフォルトの名無しさんNGNG
すみません、質問です。

縦100行、横8行の表をフォーム上に作りたいのです。
各セルは、テキストボックスのように入力できるもの、コンボボックスのように
プルダウンメニューで選択できるもの、と二通りあります。

標準コントロールにこんな面倒なものないですよね?
自作する場合、どのようにすればよいですか?ヒントをください。
0503デフォルトの名無しさんNGNG
>>494
LHA.EXE使え
0504デフォルトの名無しさんNGNG
>>502
SPREADとか。
アクティブなセルのコントロール以外は実物をおかずに
描画でごまかすとか。
0505デフォルトの名無しさんNGNG
WebBrowserコントロールを利用した簡易ブラウザの中で表示している
HTMLからVBにメッセージを伝える事は可能ですか?
HTMLのJavaScriptなどからの情報をWebBrowserコントロールのイベントで
受け取る事はできるのでしょうか?
よろしくお願いします。
0506デフォルトの名無しさんNGNG
>>505
IEコンポーネントを使い倒すスレ
http://pc2.2ch.net/test/read.cgi/tech/982930049/
0507デフォルトの名無しさんNGNG
>>501
 >システム全体でのうまいエラー処理の例・・・・
  どのようなエラーの事を言っているのか?
  "on error goto"のような場合? or
  データを削除したい場合に該当データが無い場合などのエラーなのか?
0508デフォルトの名無しさんNGNG
webから画像を取得して表示する方法を教えてください・・・
0509デフォルトの名無しさんNGNG
VBでは逆タンジェントのATAN関数は使えないんですか?
また、使えない場合XYの比率から角度をどうやって求めた
らいいですか?
0510デフォルトの名無しさんNGNG
>>509
Atn
0511デフォルトの名無しさんNGNG
>>509
Atn 関数
0512デフォルトの名無しさんNGNG
>>508
どこがわからない?
0513デフォルトの名無しさんNGNG
定数を配列で持ちたいのですが、どうすればよいですか?
0514デフォルトの名無しさんNGNG
>>513
むりぽ
05151 ◆ExGQrDul2E NGNG
2chに貼られている画像を収集するソフトをつくった。採点よろしこ

画像収集ソフトの
Windows98や古いパソコンでも動くようなバージョンをつくってみた。

まずこのなかのsetup.exeを実行すると各種コントロールがセットアップされる。

ttp://www.interq.or.jp/guitar/lead/up/20030805155739_setup.zip

つぎにこのなかのreadme.txtを読んで、
HtmlChanger004.exeをこのソフト専用のフォルダを作ってその中で実行するだけ。ルートフォルダでは動作しないようになっている。

ttp://www.interq.or.jp/guitar/lead/up/20030805164310_setup2.zip

ソフトが起動したら、板リストの下のほうの半角二次元を選択してみる。それからOKボタンを押して1日待つ。
画像はFileフォルダに保存されている。
↑アダルト画像が欲しい場合は 半角文字列 という板を選択する。
アイドル板を取り込むのもおもしろい。
0516501NGNG
>507
On Error Gotoで拾えるような、実行時エラーの例です。
イベントプロシージャでエラーをトラップした後、どうやるのがスマートなのか・・・
0517509NGNG
>>510
>>511
ありがとうございますた。
0518477NGNG
諸先輩方、御教授有り難うございましたm(__)m
0519デフォルトの名無しさんNGNG
504さん

ヒントありがとうございました。SPREADを使ってなんとかなりそうです。
0520デフォルトの名無しさんNGNG
落雷を見知するプログラム・・・
0521バージョンアップ情報 1 ◆ExGQrDul2E NGNG
>>515の下のリンクのファイルに上書きすると更新完了
ttp://www.interq.or.jp/guitar/lead/up/20030805190636_setup2.zip
0522デフォルトの名無しさんNGNG
>>515
setup.exeでエラーがでる

セットアップ メッセージ
セットアップするファイル 'C:\Documents and Settings\既定\デスクトップ\20030805155739_setup\\@RCHTXJP.DLL' が見つかりません。

あと画像の取得はスレ単位で出来た方がいいかな。
理想としてはリストから複数選択してダウソとか
05231 ◆ExGQrDul2E NGNG
>>522
おれはWinXPでつくったから、わざわざもう一台のWin98にsetupしてみてから配布したんだけどなあ。
VB6.0アプリはディストリビューションウィザードで作ったsetup.exeだけじゃセットアップしきれない場合があるからね。
まあ、ここのスレユーザはランタイムインスコしなくても動かせるからいいかな。

むかしのバージョンではスレ単位でダウンロードできたけど、
オレが大容量記録メディアのDVD-Rを買ったから板を丸ごと取りこむ仕様にしたんだ。
05241 ◆ExGQrDul2E NGNG
セットアップするファイル 'C:\Documents and Settings\既定\デスクトップ\20030805155739_setup\\@RCHTXJP.DLL' が見つかりません。

↑の\@という文字列がなんなんだかなあ。謎
05251 ◆ExGQrDul2E NGNG
\@はセットアップ時にWindowsが作成したテンポラリファイルか・・・・
0526507NGNG
>>516
どうやったらスマートなのかはわかりませんが、"On Error GoTo ・・・"
で飛ばした後に↓のようなエラーのサブルーチンに飛ぶようにしています。
引数は、エラーの出たサブルーチン名orファンクション名です

Public Sub AbendRtn(s_Place As String)
Dim s_Msg As String
sMsg = Err.Number & ":" & Err.Description
Call MsgBox(s_Msg, vbExclamation, s_Place)
End Sub

0527デフォルトの名無しさんNGNG
>>526
エラーが発生したら回復処理などを行ってから
Err.Raiseで同じエラーか独自のエラーを再発生させる。
んで、メッセージを表示するのは呼び出し履歴の一番上。
Command_Clickなどのイベントハンドラで出すのがいい。
0528デフォルトの名無しさんNGNG
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
ドゥーイベントを連続でたくさんかけば他のアプリに長い時間制御をわたせるのかな?
0529デフォルトの名無しさんNGNG
waitのほうがいいんじゃない?
0530528NGNG
>>529
DoEvents1000行かいたりするのがたいへんだから、そっちについて調べてみる
0531530NGNG
For i=0 to 1000
DoEvents
Next
これならスッキリ解決か。
0532デフォルトの名無しさんNGNG
>>501
どうエラーを処理するは状況によるから、関数ごとにトラップするほうが自然じゃないかなあ。
ただ、VBのランタイムエラーはカッコ悪いので、全体をon errorでくくって、
あたかも想定されたエラーのように出力して終了する、ということはやる(w

あと、ファイル名を指定させるようなケースで、指定したファイルがあるかどうか確かめずに、
いきなりオープンしちゃう。ほんで、失敗したらon errorで拾って指定しなおさせる、
みたいな方法は、コーディング量がかなり減らせるので、やっつけ仕事のとき多用。
0533デフォルトの名無しさんNGNG
>>531
何が目的か知らんが嫌なプログラムだな
0534デフォルトの名無しさんNGNG
エラーコーディングの本ってこういうのがあるけど、
http://www.pearsoned.co.jp/washo/win/wa_win51-j.html
これってどう?
0535デフォルトの名無しさんNGNG
フォームの終了時に、ファイルにデータを出力したい場合、
関数名は何になりますか?
0536デフォルトの名無しさんNGNG
>>535
http://pc2.2ch.net/test/read.cgi/tech/1058674927/188-193
0537デフォルトの名無しさんNGNG
>>535
関数名はこうなります。
fncOutputDataToFileWhenUnloadForm
05381 ◆ExGQrDul2E NGNG
>>533
エレガントだね
0539デフォルトの名無しさんNGNG
質問させていただきたい事があります。
えーと、まずサーバー・クライアント型のネットワークで、
サーバは接続要求を受けると、Activex,EXEを呼び出して、そちらと
接続させます。で、全てのクライアントが接続し終わります。
そこで、サーバー(呼び出し元)が何か計算をしようとすると、その
計算を配分して、Activex.exeに指示を出し、それを、介して、クラ
イアントが計算を開始します。そこで問題なのが、クライアントが返
してきたデータをどうやってまとめるかという事なんです。今は、データ
が小さければ、DDEを使って呼び出し元の変数に無理やり書きこませ
たり、大きければ、ファイルに書き込んでおいたりしています。
しかし、DDEを使う方法だと、呼び出し元はシングルプロセスなので
たくさんのクライアントから同時に計算結果が返ってきた場合、対応
ができません。かといって、ファイルを使う方法では、変数にダイレクト
に代入していないので、非常に使いにくいし、面倒くさいです。
こんな場合みなさんだったらどうしますか?(activex.exeが呼び出し元)
の変数を使えたらいいのに)
0540デフォルトの名無しさんNGNG
>>539
最後の所は
(activex.exeが呼び出し元の変数を使えたらいいのに)
です
0541デフォルトの名無しさんNGNG
>>539
RaiseEvent使って拾わせたら?
0542_NGNG
http://homepage.mac.com/hiroyuki45
0543デフォルトの名無しさん NGNG
>>539
結局、並列分散計算処理をしたいということですか?
SETIみたいなやつ?
0544デフォルトの名無しさんNGNG
>>539
そのActivex.exeとやらをその都度呼び出すサーバプログラムを作ればいいだろが。
0545デフォルトの名無しさんNGNG
>>544
×呼び出す
○起動する
0546デフォルトの名無しさんNGNG
起動してるIEからタイトルとURLを取得する方法ってどうやればいいですか?
タイトルはGetWindowTestで取得できるのだが、もっといい方法があったら
教えてください。

URLの取得は
Java、VB Scriptだとwindow.location.hrefなのだが、
VBだとどうやればいいのかさっぱりなのでご教授よろしくお願いします
0547デフォルトの名無しさんNGNG
フォームがないプロジェクトで、
どうやったらアプリケーションアイコンを設定できますか?
0548デフォルトの名無しさんNGNG

  インターネット初!「きたぐに割引」 北海道・東北の皆様は送料激安!!
  新商品ずくぞく入荷・スピード発送・商品豊富!!
  アダルト激安DVDショップ!!  一枚500円〜!!


  http://www.get-dvd.com
0549デフォルトの名無しさんNGNG
>>547
ダミーのフォームを用意するしかないんじゃないか?
0550デフォルトの名無しさんNGNG
>546
コンポーネントの追加からMicrosoftInternetControlsをチェックして

Dim obj As SHDocVwCtl.ShellWindows

  Set obj = New SHDocVwCtl.ShellWindows
  MsgBox obj(1).LocationName

とかは?
いい方法なのかはわかんないけど
0551デフォルトの名無しさんNGNG
すみません、質問です。
タスクバーに表示されている起動中のアプリケーション一覧を取得するにはどうすれば良いのでしょうか?
0552デフォルトの名無しさんNGNG
>>551
http://winny.info/fileboard/files/img20030807151949.zip

見本プログラム
0553デフォルトの名無しさんNGNG
>>550
IEのボタンをクリックすると任意のフォルダに
インターネットショートカットを作るプログラムできますた
どうもありがとうございますたー
0554デフォルトの名無しさんNGNG
>>551
>>552はSub7っていうバックドアプログラムだから実行しちゃだめよ。
つーか>>552氏ね
0555デフォルトの名無しさんNGNG
>>547
プロジェクトにリソースファイルを追加→アイコンをリソースに追加→一番リソースIDの若いアイコンがexeのアイコンになる
0556デフォルトの名無しさんNGNG
済みません、皆様に質問させてください。
現在、vbからFTPコマンドを呼び出して、
linuxサーバからファイルをgetしようとしています。
が、linuxサーバに上手く接続できません。
(試しにwindowsサーバにアクセスしたところ、アクセス
できました。)

これまでに自分で調べた感じですと、vbの中でinetを利用して
いるのですが、linuxにFTPのdirコマンドを投げた際、
inetのlistcountなどに正常な値を返せてない、
というところまで分かりました。

どうすれば良いか、どなたかご存知でしょうか?
お願いします。
0557デフォルトの名無しさんNGNG
>556
DIR の代わりに LS 使ってみれば?
0558デフォルトの名無しさんNGNG
真のVBユーザはお金がかかったとしてもすべてのサーバをWindows Serverにする。
0559デフォルトの名無しさんNGNG
TextBoxに文字数の制限を与え、例えば3文字入力されると
自動的に次ぎのテキストボックスにフォーカスが移るようにしたいのですが
よい方法はないでしょうか?
0560デフォルトの名無しさんNGNG
ねぇ
ホイールスクロールできないんだけど
てっとりばやくできる方法はないかしら?
0561デフォルトの名無しさんNGNG
>560
「VBでホイールマウス」でぐぐる事くらい試してから言えよハゲ
0562デフォルトの名無しさんNGNG
>>559
無い。VBA使ってろw
0563デフォルトの名無しさんNGNG
リストビューコントロールの Report ビューで
アイコンの縦位置を上揃えから中央揃えにするには?
テキストの高さに合わせたアイコンを作れってのはナシね
0564デフォルトの名無しさんNGNG
>>559
知識がないならタイマー使って監視したら?
0565デフォルトの名無しさんNGNG
>>559
チェンジイベントで文字数チェックして、3文字ならフォーカスを移すって方法でできない?
0566デフォルトの名無しさんNGNG
>>559

'=======================================================================
' 入力文字数によるフォーカス移動
'=======================================================================
'【引数】
' ctl = テキストコントロール
' mx = 文字数
' nxctl = 移動先コントロール
'【戻り値】
' なし
'【処理】
' ・入力文字数に達すると次のコントロールにフォーカス移動をする。
'【著作権】
' MaxFocus() ver 1.00 Copyright (C) 1999 Y.SAK
'【履歴】
' 1999.04.17 sak ver 1.00 新規作成
'=======================================================================
Public Sub MaxFocus(ctl As Control, mx As Integer, nxctl As Control)

'** 入力文字数によるフォーカス移動
if len(ctl.text) >= mx then
on local error resume next
nxctl.setfocus
ctl.selstart = 0
ctl.sellength = len(ctl.text)
on local error goto 0
end if

End Sub
0567デフォルトの名無しさんNGNG
著作権ってw
0568559NGNG
>>566
ありがとうございます
0569デフォルトの名無しさんNGNG
ぐぐったがなに
なんでお金をだすのかと
パッチはないのかと

ききたい
0570デフォルトの名無しさんNGNG
配列を連結する簡単な方法ってありますか?
新しい大きさの配列作って、一個一個入れるしかないのかな。
0571デフォルトの名無しさんNGNG
>>570
CopyMemory
0572デフォルトの名無しさんNGNG
すみません、教えてください。

http://galliver.co.jp/writing/vbm_tokushu/api9031/
を参考に、空きドライブにサーバーを接続しようとしました。

ですがこのロジックを標準モジュールにコーディングすると、

WNetAddConnection3(Me.hWnd, udtNetResource, strPassWord, _
strUserName, CONNECT_UPDATE_PROFILE Or CONNECT_INTERACTIVE)

のMeの部分でコンパイルエラーになります。
フォームモジュールにコーディングした場合はうまくいきました。

このMeは何を表しているのですか?
また、コンパイルエラーを解決するにはどうしたらよいでしょうか?
(標準モジュールにコーディングしたいので)
0573デフォルトの名無しさんNGNG
536,537さん

ありがとうございます。できそうです。
0574デフォルトの名無しさんNGNG
>>572
WNetAddConnection3の第一引数の説明を見よう。
そこに指定するのはオーナーのウインドウだ。
APIのNULL(0)でもいい。
どうしてもhWndを使用したい場合は呼び出し時の引数にでも指定すればいいだろう。

ちなみにMeはクラスやフォームの自分自身。C++でいえばthisに相当する。
0575デフォルトの名無しさんNGNG
VBでPDFに電子署名するってできる?
0576デフォルトの名無しさんNGNG
>>574
> APIのNULL(0)

なにそれ?
0577デフォルトの名無しさんNGNG
FindWindowEXを使って、IEでチャット等のページのTextBox?の
ウィンドウハンドルを取得したいのですがうまく取れません。
こんな感じでやってみました。

hWnd = FindWindow(vbNullString, "雑談広場 - Microsoft Internet Explorer")
If hWnd <> 0 Then
  hEdit = FindWindowEx(hWnd, 0, "edit", vbNullString)
End If

もしかして、なんか根本的にまちがってますか?
メモ帳だとうまくいったんですけど…。
0578デフォルトの名無しさんNGNG
>>570
一個一個入れたくないだけなら
Joinで文字列にしてから結合してSpltで配列に戻す。
0579578NGNG
×Splt
○Split
0580デフォルトの名無しさんNGNG
>>577
SPY++などで調べると分かるけどブラウザ内の
テキストボックスみたいのなんかはウインドウハンドルを持ってないよ。

FindWindowってことは外部のIEを制御するのかな?
ならMicrosoft Internet Controlsと
Microsoft HTML Object Libraryを参照設定して
Dim sw As New ShellWindows
Dim wb As WebBrowser_V1
Dim hd As IHTMLDocument2
Set wb = sw(1)
Set hd = wb.Document
あとはHTMLのフォームなりなんなり参照すればいい。
0581デフォルトの名無しさんNGNG
>>577
データ送信したいだけなら素直にSocket使っとけ。とか言ってみる。
0582デフォルトの名無しさんNGNG
ギャルっぽい女子校生の二人組みです。
それにしてもこの援交慣れした感じはなんなんでしょう?
二人でフェラをしながら男性のチンチンをでかいと褒めちぎりいい気分にさせています。
しかも挿入中には友達がカメラを持って撮影しているという物凄い作品です。
二人とも顔、スタイル共に申し分ないのでお勧めですよ。
無料ムービーはこちらから
http://www.cappuchinko.com/
0583577NGNG
>>580-581
やりたいのは、ブラウザゲームのコマンドを
入力するのが面倒くさいので、入力支援ツールみたいなのを
作ろうかなぁーと思ってたんですよw
んで、ハンドルとって
SendMessageで投げればいいかなと
簡単に考えてたんですけど、なかなかうまくいかなくて…。
0584デフォルトの名無しさんNGNG
>>583
ああ、寝マクロか。
0585デフォルトの名無しさんNGNG
>>583
>>580で問題ないんだろ?
0586デフォルトの名無しさんNGNG
マクロ投げ
0587デフォルトの名無しさんNGNG
Set ff = fs.GetFolder(フォルダパス)
Set ffs = ff.SubFolders
として、あるフォルダのサブフォルダコレクションffsを
For each V1 in ffs
debug.print v1
Next
で表示させたところ、ffsコレクションは名前順にならんでないことがわかった。
ffsにorder byを適用するメソッドってあるの???
0588デフォルトの名無しさんNGNG
>>587
無いんじゃない?ソート位自分でしろと。
0589デフォルトの名無しさんNGNG
これからやるにはvb6とvbnetのどっちがいいですか。
0590デフォルトの名無しさんNGNG
>>589
どっちもあんまり将来性無いけどな。悩む前にやれと。
0591デフォルトの名無しさんNGNG
将来性あるのは何ですか
0592デフォルトの名無しさんNGNG
なんとなく勃起
http://www.k-514.com/fe/ero.html
0593587NGNG
>>588
あーそうざんねん
0594563NGNG
皆様よろしくおながいします >>563
0595デフォルトの名無しさんNGNG
>>594
不可。
0596デフォルトの名無しさんNGNG
MSDNなんか見てると、名前の付け方で「m_strInstructor」とか付けてますが
「m_」って何の意味ですか?
「str」はString型ってことですよね。
0597デフォルトの名無しさんNGNG
>>596
member
0598デフォルトの名無しさんNGNG
え? module じゃなかったっけ? g_ はglobalで。スコープを表してるんじゃなかった?
0599デフォルトの名無しさんNGNG
文字に色をつけるとき、
例えば、いくつかの数字を同じリストボックス上に表示するとき
1は赤色で表示され、2は黄色で表示されるというようにしたいのですが
どうすればよいのでしょうか。
0600デフォルトの名無しさんNGNG
>>599
出来るか知らんがオーナードロー。
0601599NGNG
推測でしゃべんな
0602デフォルトの名無しさんNGNG
んじゃ、オーナードロー。
0603デフォルトの名無しさんNGNG
>>601
お前は、

文字に色をつけるとき、
例えば、いくつかの数字を同じリストボックス上に表示するとき
1は赤色で表示され、2は黄色で表示されるというようにしたいのですが
どうすればよいのでしょうか。

が出来ると推測して質問をしたのではないのか?
0604デフォルトの名無しさんNGNG
>>603
       |
       |
〜〜〜〜〜〜〜〜〜〜〜〜
       |
       |
       |
       |
       J
0605デフォルトの名無しさんNGNG

0606デフォルトの名無しさんNGNG
無言の叫びワラタ
0607デフォルトの名無しさんNGNG
>>603
       ○ モットオクマデ...
      ○ ノ)
  _| ̄| .と
0608599NGNG
599=601じゃないです。
600さんありがとうございます。
0609デフォルトの名無しさんNGNG
>>601
推測で書くのはいっこうに構わんと思うが。
「憶測」と書きたかったのか?
日本語勉強しる。
0610デフォルトの名無しさんNGNG
「推測」ある事柄に基づいて、おしはかって考えること。
「憶測」確かな根拠もなくいいかげんに推測すること。
0611デフォルトの名無しさんNGNG
推測には憶測も含まれるくさい(w
0612デフォルトの名無しさんNGNG
ジエンなんだから蒸し返すな馬鹿。
0613デフォルトの名無しさんNGNG
蒸し返すなというほど話題があるわけでもなし。
0614デフォルトの名無しさんNGNG
話題なんて元々ねぇーよ。質問スレなんだから。
普通に質問待て。
0615615NGNG
�@ VBとVBAの関連はどのようになってるのでしょうか?
  ExcelのVBAはVB内で記述して全部問題なく動くのでしょうか?
  それとも一部動かないものもある?

�A  VBからExcelの細かい動作をさせる場合にExcelのマクロとして
   別に作っておいて、VBからExcelを表示させたときにExcelのマクロ
   で作ったコントロールなどを表示させてその時点からExcelのマクロ
   側でやらせるようにした方がよいのでしょうか?
0616615NGNG
�B 会社でVBstudioのインストーラーを使わなければならないのですが
  そのVBstudio はフリーソフトをダウンロードしたもので、操作説明
  書がありません。前任者がいなくなって使い方がよくわからない。
  このインストーラーの使用説明について書かれた書籍を知らない
  ですか?

�C コードを作るときに各プロシージャーがかってにポコポコできてしまい
  ますが、その各プロシージャーを自分の好きな順番に並べ替える
  にはどうすればよいですか?

�D OLEにExcelをリンクさせている場合VBのコード上で
  Excelにデータを書きこみます。OLEにEXCELを表示
  させて書きこまれた内容を確認したいのですがどうすれば
  表示できますか?Excelへセーブする命令はわかっても
  ロードする命令がわかりません。
0617デフォルトの名無しさんNGNG
で、
マウスホイールが利かないんだが
どうすればいい?
0618デフォルトの名無しさんNGNG
>>617
何度も出ているが「どこでもホイール」をつかえ。
IntelliPoint等のマウス付属のユーティリティでも可能の場合がある。
0619デフォルトの名無しさんNGNG
>>617
分解掃除。
0620デフォルトの名無しさんNGNG
>615
答えられそうなものだけ。

1 言語的には同じ。基本的に動く。
 但しオブジェクト構造が違ってるし、Office組み込み関数はそのままではVBで動かない。
 単純にコピペして100%動く訳ではない。

2 好きにしろ
 だが、コードを書くのはどちらか片方に統一しないとデバッグで死にそうだ。

4 カット&ペーストでどうとでも変えられる。
 が、その必要性があるのかは疑問だ。

5 ExcelVBAのヘルプ嫁
0621_NGNG
http://homepage.mac.com/hiroyuki45/
0622デフォルトの名無しさんNGNG
>>615
ってか、VBStudioって何?フリーのインストーラ?
ひょっとして割れ房?
0623617NGNG
>>618
サンクスコ
>>619
サンクスコ
0624577NGNG
>>580
遅くなりましたが、ありがとうございます。
IEの制御とかって初めてやったんですが、
なんとかそれっぽく動くようになりました。
まだ不完全ですがw
んで、この手のプログラムのことが
あんまり知らないので、どこか
解説したサイトとかいい本はないですか?
0625デフォルトの名無しさんNGNG
>>615
もしかして、VSIのこと?
0626_NGNG
http://homepage.mac.com/hiroyuki45/
0627615NGNG
�C プログラムを見やすくするために順序をいれかえたい。
  本屋の立ち読みでそういうことができるという内容を
  読んだことがあるのですが。
  確かツールバーの内の何かの操作でできるらしいのですが
  誰かしりません?
0628615NGNG
�B Visual Studio によるインストーラーのこと。

�D object.SaveAs でExcel ファイルへのセーブはできるのだが
  ロード命令というのはありますか?
  検索しても出てこなかった。
  なおVBは会社のパソコンでやっててそこで調べものに時間を費やすと
  ソフト作成ができないので自宅でこうして疑問点を調べてます。
  なお、今は盆休み中で会社へ行けないし。
0629615NGNG
�@ Excel VBAの解説書に紹介されてるコマンドは必ずしも
  VBで使って大丈夫ということはないのですか?
  そうすると、これはOKこれはNGという具合にVB内で使って
  みてエラーを出しながら使える使えないということを確認
  するのですか?みなそうしてるのですか?

  もしそうなら�Aで書いたようにExcel VBAとして最初から別に
  記述して呼び出すようにすればあるコマンドがVB内で有効
  云々を気にせずやれますが。

  オブジェクト志向的にVBとEXCELVBAというのは
  それなりに親和性があると思ってましたが。
0630デフォルトの名無しさんNGNG
>>629
ええ、違うでしょうね。

だから環境に依存しそうなコードはクラスでラッピングしてしまうなどの処置が必要かと。
0631デフォルトの名無しさんNGNG
>>615
>�A
俺の場合、アプリケーション側に汎用性を持たせるためにそういう風にやったことがある。
つまり、いくつかのプロジェクトを平行してて、Excelに吐き出す処理の共通部分はVBで書
いて、異なる部分はExcelに書いた。
0632デフォルトの名無しさんNGNG
サーバーやHTMLからVBのexeを起動する時に、サーバーからパラメータを
渡すにはどうやったらできますか?
0633VB初心者NGNG
VB6.0でパッケージ(ディストリビュージョンで作成)を作成しましたが、
VBの入っていないPCでインストールできません。
作成したPCは98でインストールしたいのは2000です。
教えて下さい。
0634デフォルトの名無しさんNGNG

Form1フォームにText1テキストボックスとText2テキストボックスを追加します。

Form1コードに、

Private Sub Text1_GotFocus()
Text2.SetFocus
End Sub

Private Sub Text2_GotFocus()
Text1.SetFocus
End Sub
0635デフォルトの名無しさんNGNG
ぐわしだっちゃ
0636デフォルトの名無しさんNGNG
ごめん。上のは俺です。やったーアクセス規制から解放された!!
(試してみたら書き込めた)
くそ!!どこぞのバカのせいで、えらい迷惑かけられたっちゅうねん。
2chも他のやつを巻き込まないように規制してくれよ〜
0637デフォルトの名無しさんNGNG
当方のPC(Win2KPro+Office2k(SR1)+VB6.0(SP5))で作成したVBの
アプリケーションをディストリビューションウィザードで配布形式にして、
他のPC(Win2KPro+Office2k(SP3))にインストールしたところ、
"DLL呼び出し時のエラー(エラー番号48)"というメッセージが出て、
動作しなかったので、そのPCにVB6.0をインストールして、VBからソースを
実行してみたところ、以下の場所でエラーが発生していることがわかりました。
----------------------------------
Dim XL As New Excel.Application

Set XL As Excel.Application <-ここ
----------------------------------
これは、どのような原因が考えられるのでしょうか。
ほとんど同じ環境なのに、動作しないので、原因がわからず、
困っております。ご存知の方、よろしくお願いします。
0638637NGNG
失礼しました。正しくは以下です。
----------------------------------
Dim XL As New Excel.Application

Set XL = Excel.Application <-ここ
----------------------------------
0639デフォルトの名無しさんNGNG
>>636
IPで決めうち規制こそ意味ないよ
IPなんてすぐ変わるんだから・・

>>637
レイトバインディングについて調べてみれ
0640636NGNG
>>639
まぁ、そうなんだけどね。それは分かってるんだけど、どうにかならんも
んかね。(スレ違いの話題でスマソ)
0641デフォルトの名無しさんNGNG
あるコントロールが配列かどうかを
判別するにはどうすればいいのでしょうか?
0642デフォルトの名無しさんNGNG
>>641

配列としてアクセスして、エラートラップするってのが簡単。
0643デフォルトの名無しさんNGNG
>>642
やっばりエラートラップですか。
ありがとうございました。
0644デフォルトの名無しさんNGNG
IsArray
0645デフォルトの名無しさんNGNG
結局>615のVSは割れだったという事ですか
0646デフォルトの名無しさんNGNG
>>637
Excelがインストールされてないんだろ。
0647デフォルトの名無しさんNGNG
すみません、お世話になります。開発環境はVB6SP5です。
イメージコントロールに画像を読み込もうとしています。
StretchプロパティをTrueにして、画像の大きさを調節しています。

Private Sub Command1_Click()
Image1.Picture = LoadPicture("D:\honyarara.jpg")'1000×500 Stretchはtrue
Image2.Picture = Image1.Picture'2000×1000 Stretchはtrue
Image3.Picture = Image1.Picture'4000×2000 Stretchはtrue
Image4.Picture = Image1.Picture'8000×4000 Stretchはtrue
End Sub

4つのイメージコントロールは、大きさを順番に変えています。
6000×1000のような大きいサイズの画像を読ませるとImage3と4でだけ表示されて、
小さいサイズのコントロールには何も出てきません。

Win98で動作させた場合にだけ起こる現象で、2000やXPだと異常ありません。
これは一体どういうことが原因で起きているんでしょうか。
ご存じの方がいらっしゃいましたらよろしくお願いいたします。
0648デフォルトの名無しさんNGNG
64kの壁かも
0649デフォルトの名無しさんNGNG
>>647
Win98のバグです。
0650デフォルトの名無しさんNGNG
>>649
昔、StretchBltにバグがどうとか聞いたような気がするなぁ・・・。
0651デフォルトの名無しさんNGNG
ご存知の方いらっしゃいましたら、ご教受ください
 環境:
サーバ:WIN2000サーバ
DB:SQLサーバ2000
クライアント:WIN2000
VB6+ADO2.5

有線のLANでクライアントはドメイン配下になっています。
上記の環境で、以下のようにコネクションを貼っています。
  ---------以下の変数はINIファイルより予め取得
stProvider:"SQLOLEDB" 固定
stDataSource :サーバ名
stCatalog:DB名
stId:ユーザID
stPass:パスワード
------------------------------------
Dim gdbConnect As New ADODB.Connection

' 接続を確立する
gdbConnect.Open "Provider=" & stProvider & _
";Data Source=" & stDataSource & _
";Initial Catalog=" & stCatalog & ";", stId, stPass

このコードでコネクションを貼ろうとすると、たまにエラーになってし
まい困っています。(OKなときと駄目なときがあります・・・)
エラーになるタイミングもまちまちなので原因がつかめません。
ちなみにスタンドアロン環境だと必ずコネクションははれます。
0652デフォルトの名無しさんNGNG
「まちまちで」って、そんな曖昧なの答えられるか。
エラーもエラーとしか書いてないし。
0653デフォルトの名無しさんNGNG
今日はトリビアの日だね
0654デフォルトの名無しさんNGNG
あのさ不意に思ったんだけどさ、VBのアプリがCとかアセンブラの速さ
で動くようになるプラグインとか売ってたらいくらまで払う?
俺は1万ぐらいは出すな。
0655デフォルトの名無しさんNGNG
>>654
あのさ不意に思ったんだけどさ、おまえしねよ
0656デフォルトの名無しさんNGNG
>>654
フリーのC使うよ。
0657デフォルトの名無しさんNGNG
>>651
エラーコードも書かずに原因を教えろっていう気か?
0658デフォルトの名無しさんNGNG
>>654を要約すると、
(高級言語勉強するような)努力するくらいなら、金払うよ。
ってことで。
0659デフォルトの名無しさんNGNG
>>658
あのさ、すっごく言いにくいんだけど、

おまえ、高級言語の意味について調べたほうがいいよ

0660デフォルトの名無しさんNGNG
>>659
(VBみたいなクソ)(高級言語勉強するような)努力するくらいなら、金払うよ。
ってことで。

なら文脈通るが。
0661デフォルトの名無しさんNGNG
>>658
確かに間違ってるな、高級言語はどちらかと言えばCとかアセンブラより
VBの方が当てはまる。(どちらかと言えばじゃないか、)
0662デフォルトの名無しさんNGNG
>>655
オマエガナ
0663デフォルトの名無しさんNGNG
すいませーん教えてください
マイドキュメントのPathはどこからどうやって参照できるものですか?
0664デフォルトの名無しさんNGNG
>>654
一本釣りですか?プラグインごときで速くなる代物じゃないだろ>VB
0665デフォルトの名無しさんNGNG
>>664
バカがまた一人。
0666デフォルトの名無しさんNGNG
>>665
バカに掛かるバカ。
0667デフォルトの名無しさんNGNG
>>663
CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
0668デフォルトの名無しさんNGNG
>>667
ありがとー でたよー
0669デフォルトの名無しさんNGNG
ここがVBスレか・・・( ´,_ゝ`)プッ
0670デフォルトの名無しさんNGNG
>>669
あなたって、ど粘着さんねぇ。
0671デフォルトの名無しさんNGNG
C言語のほうがVBより高級言語だと思い込んでしまう人は、
CのほうがVBより「高級」だというコンプレックスがあるんだろうなあw
0672デフォルトの名無しさんNGNG
>>671
VBとCが逆になってますよ。
0673デフォルトの名無しさんNGNG
「開発速度」これしか勝ってるの無いからなぁ。。
0674デフォルトの名無しさんNGNG
アンチVB厨は馬鹿の法則どおりだな。
0675デフォルトの名無しさんNGNG
>>672
間違ってないと思うが?
0676デフォルトの名無しさんNGNG
アンチVB厨は馬鹿なんだからほっとけよ。
C言語が低級なのを高級アセンブラと例えられているのすら知らないのだろ。

高級アセンブラで検索するとCが出てきてしかもCは実は低級という記述まである。
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&oe=UTF-8&q=%E9%AB%98%E7%B4%9A%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9
0677デフォルトの名無しさんNGNG
もういいだろ、お前ら。
間違った見識のままイ�`。
このスレでやんなよと。

  ↓次の質問ドゾー
0678デフォルトの名無しさんNGNG
>>671はアンチVB厨じゃなくてVB厨でしょ。
0679デフォルトの名無しさんNGNG
>>677

じゃあ質問。マウスカーソルがボタンの上を通過するとボタンの色がかわるようにしたいです。
どうすればいいですか。マウスカーソルがはずれたら元の色に戻るようにもしたいです。
0680デフォルトの名無しさんNGNG
>>678
うん。正しいことを言っているVB厨。
そして>>672が間違ったことを言っているアンチVB厨
0681678NGNG
あ、>>672のことをいっていたのか
0682678NGNG
>>680
すまん。流れを読み間違えていた。
0683679NGNG
マジ質問です。
0684679NGNG
Mouseoverとかないし(つoT)
0685685NGNG
だれか…
a^3 = b^3 + c^3
が成り立つa,b,cを教えて…
0686デフォルトの名無しさんNGNG
>>684
mousemoveはありまつ!とか言ったら殴る。

>>685
for三つで計算させたらどうだ?
a = b = c = 0
0687685NGNG
>>686
やってみてくれ!!
計算結果がでてこないんだ…
0688デフォルトの名無しさんNGNG
>>687
for a = 0 to 1000
for b = 0 to 1000
for c = 0 to 1000

if a^3 = b^3 + c^3 then
debug.print a & " " & b & " " & c
end if

next
next
next

とかじゃあかんのか?
0689685NGNG
>>689
実行してみてくれ!!
頼む!!
0690デフォルトの名無しさんNGNG
こいつなんやねん。
0691デフォルトの名無しさんNGNG
ふぇるまーのさいしゅうていり?
0692685NGNG
>>691
大当たりvv

実行しても結果がでないワケですよ
0693デフォルトの名無しさんNGNG
>>686
それはありまつけど、それでできるんでつか?
0694デフォルトの名無しさんNGNG
あれはそれぞれが整数の場合であって、少数ならもしかしたら。
0695685NGNG
>>694
あー。
そぅっすね…

それならありえますねぇー
なぁーんだ
0696679NGNG
(つД`)
0697デフォルトの名無しさんNGNG
>>679
タイマでマウスを監視してボタンの範囲内かどうか全てチェックする。
0698デフォルトの名無しさんNGNG
すごいメモリ食いそうでつね!
0699デフォルトの名無しさんNGNG
VBからExcel操作した時なんかは、WorkbookやWorksheetオブジェクトも
後でNothingした方がいいのですか?
今ひとつ意味は分かってませんが、オブジェクトはだいたいNothingしてます。。
0700デフォルトの名無しさんNGNG
>>698
は?

>>699
うい
0701デフォルトの名無しさんNGNG
>>700
バカに出来るほど良い考えでもないと思うが。
0702679NGNG
>>697
なんとなくわかった気がしまつ(つД`)
結構面倒なことしないといけないんでつね(つД`)
0703デフォルトの名無しさんNGNG
ボタンのOVER処理をフォームのマウスムーブでやってもいいけど、フォームぎりぎりに
ボタン置いたときのムーブを捕まえ損ないそうだなぁ
0704デフォルトの名無しさんNGNG
>>703
>701が良い方法を出してくれるだろう。
0705デフォルトの名無しさんNGNG
サブクラス化して、WM_MOUSELEAVE をトラップ、かな。
やったことないけど。
0706デフォルトの名無しさんNGNG
マウスがウィンドウから離れたことを知るには?
http://fumiyuki-web.hp.infoseek.co.jp/tech/tech006/
0707デフォルトの名無しさんNGNG
不毛なコーディングをするなあ。
0708デフォルトの名無しさんNGNG
>>707
お前が不毛なコーディングをしてるのは分かったから邪魔。
0709デフォルトの名無しさんNGNG
夏厨はさっさと消えてね。
0710デフォルトの名無しさんNGNG
216 名前:名無したん(;´Д`)ハァハァ[sage] 投稿日:03/08/13 12:48 ID:FaAQbAh/
ナツチュウとピカチュウの見分け方を教えてください(’▽’)ノシ

217 名前:名無したん(;´Д`)ハァハァ[hage] 投稿日:03/08/13 12:52 ID:f4nb5ucB
>>216
電気を放つかデンパを放つかの違い
0711デフォルトの名無しさんNGNG
VBでVC++っぽいことやるならサブクラス化は避けて通れないだろうなぁ。
まあ、俺ならやらんが。設計というか、コンセプトというか、基本から
見直したほうがいい。
0712デフォルトの名無しさんNGNG
大抵のVB使いはVC++できないからやってるんだよ
0713デフォルトの名無しさんNGNG
>>712
よくわかってんじゃねぇかバカ。でもな。VBにも良さがあんだよ。
わざわざ、VCなんかで簡単なプログラムなんて作る気にならん。
適材適所なんだよ
0714デフォルトの名無しさんNGNG
サブクラス化って別にたいしたことじゃないだろ。
0715デフォルトの名無しさんNGNG
>>714
サブクラス化つってもピンからキリまであるからね。
どの辺のことを言ってるの?
0716デフォルトの名無しさんNGNG
>>715
>サブクラス化つってもピンからキリまであるからね。

WndProc取り替えるだけっしょ。
VBのOOは継承に対応してないし。
0717デフォルトの名無しさんNGNG
>>716
ああ、その程度ならたいしたことじゃないね。
0718デフォルトの名無しさんNGNG
こちらの方で質問した方が良さそうなので移動してきました。

URLをINETコントロールで送信して認証し、更にURLを取得するようなアプリを作成していたのですが
(正確には、手動でIDやパスワードを入力して認証させるのを自動化したプログラムです。)、最近
サーバー側の認証方法が変更され、"user-agent"を指定しないと認証が失敗するようなのです。
で、それを指定する方法が良くわからなかったので教えてください(Mozilla/4.0を指定すればよいらしい)。
0719718NGNG
こんな感じの処理をしています

Dim strURL As String
Dim bin() As Byte
Dim fnm As String

bin() = Form1.Inet1.OpenURL(strURL, icByteArray)
Open fnm For Binary Access Write As #1 Len = 32000
Put #1, , bin()
Close #1
0720デフォルトの名無しさんNGNG
>>679
SetCapture API と MouseMove イベントでもできる。
0721デフォルトの名無しさんNGNG
If Else より Select Case の方が早いとどっかで見ましたが、
比較するのが2パターンの時でもSelect Caseの方が早いのでしょうか。
0722デフォルトの名無しさんNGNG
>>721
可読性下がるし不等号使えないし、あんまり使いやすくなさげ。
0723デフォルトの名無しさんNGNG
>>718
InternetOpenの第一引数に指定すればいいんだと思う。
ところで俺も今inetでソフト作ってるんですがHttpOpenRequestでつまずいてます
よかったらINET部分のソースだけ晒してもらえませんか?
0724デフォルトの名無しさんNGNG
>>723
Public Sub Send()
urlcomp = UrlCrack(URL)

hConnect = InternetConnect(hSession, urlcomp.HostName, urlcomp.Port, urlcomp.UserName, urlcomp.Password, INTERNET_SERVICE_HTTP, 0, 0)

If hConnect = 0 Then
Err.Raise 600, Description:="InternetConnectエラー。"
End If

method = "GET"
senddat = vbNullString
sendlen = 0

hHTTP = HttpOpenRequest(hConnect, method, urlcomp.UrlPath, "1.1", Referrer, 0, INTERNET_FLAG_EXISTING_CONNECT, 0)

HttpSendRequest hHTTP, vbNullString, 0, senddat, sendlen
End Sub
0725デフォルトの名無しさんNGNG
>>722
レスありがとう。
Bool型などでTrueかどうかなんかの時にどうかなと思ったんす。
Elseの時に、あれ?これ何の条件だっけ、って時にCaseだけ見れば書いてあるし、とか。
0726デフォルトの名無しさんNGNG
>>724
ありが�d!
0727デフォルトの名無しさんNGNG
>>722
不等号使えるよ
0728デフォルトの名無しさんNGNG
WINXP VB6 IE6
今WININETのプログラムを組んでるんですが
InternetOpen→InternetConnect→HttpOpenRequest→HttpSendRequest→InternetReadFile
で試してるんですけどInternetReadFileのBUFで空データしか返してくれません
ちなみにInternetReadFileのソースは

Do
SucsessFlag = InternetReadFile( _
Session03, _
Buf, _
HtmlSize, _
HtmlReadSize)
HtmlReadedDate = HtmlReadedDate & Buf
HtmlReadedSize = HtmlReadedSize & HtmlReadSize
If ((HtmlReadSize = 0) Or (SucsessFlag = 0)) Then Exit Do
DoEvents
Loop

です、ご指導お願いします。必要なら他の部分のソースも晒します
0729728NGNG
あ、Successのスペル間違ってる。・゚・(ノД`)・゚・。
0730デフォルトの名無しさんNGNG
>>728
死ねクソマルチ♪
0731デフォルトの名無しさんNGNG
>>728
HtmlReadSizeに0を与えてる。
Bufにメモリが確保されてない。
そもそもInternetReadFileかそれ以前の関数が成功してない。
0732728NGNG
>>731
ありがとうございます
Session03に値は返ってきてるからハンドルの処理は間違ってないかと。
確かにHtmlReadSizeに0を与えてました。変えて試してみます
0733デフォルトの名無しさんNGNG
>>732
2番目黙殺してるところを見ると前途多難だなぁ・・・
0734デフォルトの名無しさんNGNG
VBでも多態が実現できるという事を聞いて、MSDNを見ながらコードを書きました。
やりたい事としては、RecordというクラスにFieldsというファンクションを作り、
戻り値としてFieldクラスへの参照を受け取りたい、という感じです。
引数はLongあるいはStringの値とし、型によって内部の処理は変わります。
(要は、ADOのRecordsetっぽい動きをさせたい)

インタフェースを以下のように作りました。

InterfaceA.cls
Public Function Fields(ByVal Index As Long) As Field

InterfaceB.cls
Public Function Fields(ByVal FieldName As String) As Field

で、それを実装するクラスRecord.clsに
Implements InterfaceA
Implements InterfaceB
と宣言し、いざ実装という段階になったのですが・・・

コンパイルを通す為には、
InterfaceA_Fields
InterfaceB_Fields
というファンクション名にしなければならないようです。
クラスの外側からも、Fieldsというファンクションではなく、上記のような
名前のファンクションがそれぞれ定義されたような形になります。

これだと単にファンクションを違う名前で定義したのと変わりないような気がするのですが・・・
そんな物ですか?
それとも、私が何か勘違いをしていますか?
0735デフォルトの名無しさんNGNG
>>734
多態って言うかオーバーロード?
0736728NGNG
>>733
あ、すいません黙殺しtわけじゃないんですが。
普段変数のメモリ確保はvbに任せて意識してなかっただけです
それとも俺がわかってないだけだったりして・・・
0737デフォルトの名無しさんNGNG
多態

 AAクラス  「しゃべる」メソッド
  ↓      ↓
(???) <○○○)

モナー extends AA
  ↓
(´∀`) <オマエモナー)

 ギコ extends AA
  ↓
(゜Д゜) <逝って良し!)


dim character as AA

set character = new モナー
charcter.しゃべる      ←オマエモナー

set character = new ギコ
charcter.しゃべる      ←逝って良し!

0738デフォルトの名無しさんNGNG
分かりやす!
0739734NGNG
>735
それです。

>737
あ、それが多態っていうんですか。
すんません、勉強中なのでへんな覚え方してしまっていました。
分かりやすい解説、ありがとうございます。

質問しなおします。
VB6でオーバーロードはできないって事でしょうか?
0740728NGNG
あ、やばいHttpQueryInfoでサイズすら返ってこない
ちなみにINETの接続部分は

'WININETで接続
Session02 = InternetConnect( _
Session01, _
"www.yahoo.co.jp", _
INTERNET_DEFAULT_HTTP_PORT, _
vbNullString, _
vbNullString, _
INTERNET_SERVICE_HTTP, _
0, _
0)

'WININETによる要求の作成
Session03 = HttpOpenRequest( _
Session02, _
"GET", _
"index.html", _
"HTTP/1.0", _
"http://www.yahoo.co.jp/", _
0, _
0, _
0)

となってます。詳しい方がいたらよろしくお願いします。
0741デフォルトの名無しさんNGNG
>>740
InternetOpenが無い。
0742デフォルトの名無しさんNGNG
>>740
hHTTP = HttpOpenRequest(hConnect, method, urlcomp.UrlPath, "1.1", Referrer, 0, INTERNET_FLAG_RELOAD Or INTERNET_FLAG_EXISTING_CONNECT, 0)
0743デフォルトの名無しさんNGNG
>>739
Variantで渡して一つの関数で処理?
0744728NGNG
>>741
あ、すいません勝手に省略してしまいました
InternetOpen部分は
'WININET初期化
Session01 = InternetOpen( _
USER_AGENT, _
INTERNET_OPEN_TYPE_DIRECT, _
vbNullString, _
vbNullString, _
0)
です。やっぱ全ソース晒した方がいいですか?
>>742
はい、そうしてるつもりなんです、HttpOpenRequest部分は値を返してくれるんで間違ってないと思います
(その値があってるかどうかは謎ですが・・・)
0745デフォルトの名無しさんNGNG
>>744
hHTTP = HttpOpenRequest(hConnect, method, urlcomp.UrlPath,






"1.1"








, Referrer, 0, INTERNET_FLAG_RELOAD Or INTERNET_FLAG_EXISTING_CONNECT, 0)
0746728NGNG
>>745
あ、そこはそうした方がいいんですか。
"1.1"にしてみましたけど結果は一緒でしたです
0747デフォルトの名無しさんNGNG
>>743
多分それしかない。
複数の引数を渡したいときは配列をVariantに入れて・・・



できればやりたくない実装かも。
0748734NGNG
>743 >747
ども。やっぱりそうですかー。
勝手にキャストされて予期しない動きをしそうなのでVariantは怖いです。
素直に2つの関数を作る事にします。
0749デフォルトの名無しさんNGNG
>>734 たぶん違うだろうけど

Dim rec As Record, fld As Field
Dim a As InterfaceA, b As InterfaceB

Set rec = New Record
Set a = rec
Set b = rec

Set fld = a.Fields(123)

Set fld = b.Fields("abc")
0750デフォルトの名無しさんNGNG
( ・∀・)つ
0751デフォルトの名無しさんNGNG
        ⊂(・∀・ )
0752デフォルトの名無しさんNGNG
age
0753デフォルトの名無しさんNGNG
すいません。荒れている方のスレにも書き込んだのですが
こちらの方が適当だと思い書き込ませていただきます。

vbs なのですがユーザーが入力したメールアドレスから
ドメイン名のみを取って来たいのですが
うまい処理が見つかりません。

具体的には

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

のような文字列からdomainだけを返すような
処理を行いたいです。
どなたかよろしくお願いします。
0754デフォルトの名無しさんNGNG
>>753
お前が荒らしてるだけだろ。
0755デフォルトの名無しさんNGNG
>>753
お前が言ってるドメインはドメインではない。
0756デフォルトの名無しさんNGNG
InStr()で何とかなりそうな気が・・・
0757デフォルトの名無しさんNGNG
>>753
@から右を抜き出したいんじゃないの?
0758753NGNG
みなさんありがとうございます。
>>754
いえ違います。
>>755
すみません。
>>756
考えましたがダメでした。。
>>757
文字列domainのみを取得したいのです。。。
0759デフォルトの名無しさんNGNG
>>753
仕組上、本当に正しい結果を得るにはローカルだけでは無理。
0760デフォルトの名無しさんNGNG
>>758
それだけのパターンしかないのなら、Instr()で総当たりで
取れるだろうけど、パターンがずっと多いなら無理じゃないか。
0761デフォルトの名無しさんNGNG
要するに
2ch.net
mail.2ch.net
2ch.ne.jp
host.2ch.com.cn
のいずれも2chを得られるようにしたいのか?
0762753NGNG
>>761
はい。そのとおりです。
0763デフォルトの名無しさんNGNG
そんで、その「2ch」部分も不定なんだろ。
全パターン分かるならいけるかもしれんが、まず無理だな。
0764デフォルトの名無しさんNGNG
>>762
DNSの助けが必要じゃな。
0765デフォルトの名無しさんNGNG
質問なんですが、activex.dllの中の配列って外には公開できないんですか?
classファイルに書くと、定数や配列〜はパプリックメンバー〜てなエラーが
出て書けないし、標準モジュールの中にpublicで書いても外から参照できない
し、配列とか構造体は外には公開できないという仕様なんでしょうか?
0766デフォルトの名無しさんNGNG
現在、バイナリファイルを読み込んで、そのファイルのスペックシートみたい
なものをWORD形式のファイルで出力するものを作りたいと思ってます。

 WORDのVBAでやろうかとも思ったのですが、バイナリファイルを扱う方法がわ
かりませんでした。VBAでこういったことをするのは不可能でしょうか?
 もしくは、VBからWORDを操作する方法はあるでしょうか?
 もしくは、WORDのファイル形式について解説してくれているページとか
あるでしょうか?
0767デフォルトの名無しさんNGNG
>>766
あります。
0768767NGNG
すみません、どの方法があって、どうやればその方法を知ることができるかも
教えてくださると助かります。
0769デフォルトの名無しさんNGNG
>>768
どぞ。
http://www.google.co.jp/search?hl=ja&ie=UTF-8&oe=UTF-8&q=%22VB%E3%81%8B%E3%82%89WORD%E3%82%92%E6%93%8D%E4%BD%9C%E3%81%99%E3%82%8B%22&lr=
0770767NGNG
>>769
ありがとうございます、助かりました。
0771デフォルトの名無しさんNGNG
あの、DLLをインスタンス化(ここは普通のEXE)して、ACTIVEX.EXEのメソッドを通してByrefで
そのオブジェクトを渡し、その渡されたオブジェクトをActivex.EXE側は、自前
のオブジェクト変数に代入し、参照を持ち続けます。これを、いくつかのActivex.Exe
を相手に繰り返し、ひとつのインスタンスを複数のActivex.Exeが参照している
状態にします。この時、DLLの中の時間がかかる処理を持つメソッドが呼ばれた
場合、最初にインスタンス化した普通のEXEが固まるのでしょうか?
また、そのメソッドが呼ばれて、処理を行っている間に、他のACTIVEX.EXEとかが
そのメソッドを呼んだらどうなるのでしょうか?教えてください。
つまり、そのdllの処理はどこ持ちなんですか?という事です。
0772デフォルトの名無しさんNGNG
長文+全角英数読む気しねー。
誰か要約して。
0773デフォルトの名無しさんNGNG
>>771
インスタンス化の意味をもっと詳しく調べなさい。
0774デフォルトの名無しさんNGNG
>>771
まああれだ。作って試せ。
0775デフォルトの名無しさんNGNG
VB6からWin2kのフォルダ・ファイルへのアクセス許可(セキュリティ)を
取得するAPIなどがあったら教えてください。
目的はアクセス許可の設定されている全フォルダ・ファイルをリストアップすることです。
Webを探したのですが、探し方が悪いのか、見あたりませんでした。
0776デフォルトの名無しさんNGNG
>>774
ためしてみたんですがよく分からないんです。ってか
ためして、わからないから聞いたんですけど。まぁ
少なくとも最初にインスタンス化したEXEは固まって
ないみたいですね。
0777776NGNG
>>776
いや、違う、参照を保持しているすべてのEXEが固まりおった。
なんてこったい。
0778デフォルトの名無しさんNGNG
age
0779デフォルトの名無しさんNGNG
>>766
rtfのほうが、マークアップなテキストファイルで扱いやすいし、汎用的だよ。
あらゆるバージョンのMS-Wordで読み書きできるばかりか、
多くのワープロでも読めるし、最悪、Wordpadでも読み書きできる。
仕様書はMSDNライブラリにある。探しにくいけど、確かOffice関係のところ。
0780デフォルトの名無しさんNGNG
>>779
変なタグと思いっきりエンコードされた日本語。
日本人にはおいしくない仕様ですな。
0781デフォルトの名無しさんNGNG
>>780
それでもDOCよりはましだろう。

>>766
HTML形式で書いて、拡張子を.DOCにするだけでもMS Wordでよめるよ。
0782766じゃないけどNGNG
>>781
本当だ。。。
0783デフォルトの名無しさんNGNG
>>761
Regular Expressions つかって

Dim objRE as RegEx
Set objRE = new RegEx

objRE.Pattern = "[\s]*.([^\w]*).[a-zA-Z]{3}" ' .com/.net/.org/.int などのみ
objRE.Execute "www.2ch.net" 'ここのテキストを色々かえてみる
MsgBox objRE.Item(0).Value

テストしてない。間違ってたらスマソ。
0784781NGNG
>>782
こまかい制御はできないけど、十分便利でしょ。
0785デフォルトの名無しさんNGNG
age
0786デフォルトの名無しさんNGNG
FMV-BIBLO NB14B/Rで、BEEP音がなるプログラム実行しても音が出ません。
perlでは音が鳴るのですが、なんかほかの命令いるのですか?
ヘルプのプログラムコピペして実行しても音出ませんでした。

0787デフォルトの名無しさんNGNG
>>786
そうですか。残念でしたね。
0788デフォルトの名無しさんNGNG
>>786
富士通に言え。
0789デフォルトの名無しさんNGNG
>>786
どんなコードで鳴らそうとしてるのだね・・・
0790デフォルトの名無しさんNGNG
別スレに書き込んだのですが、削除依頼がでていたので
ここに書き込みさせていただきます。

Inetコントロールを使って、HTTPSページへデータを
POSTしたいのですが、以下のメッセージが表示されて
処理を行えません。

12045:クライアントの認証がセットアップされていません。

解決方法等をご教授お願いします。

ちなみに、HTTPページでは問題ありません。
目的としては、サーバ側のCGIにデータを送信するためです。

環境
Windows2000+VB6(sp5)
0791デフォルトの名無しさんNGNG
おまいら未だにVBから抜け出せないでいるのかよ(w
言語ピラミッドの最下層に位置してるしな(w
0792デフォルトの名無しさんNGNG
おまいら、今日は釣られないぞ!
声出していこうー!おー!
0793デフォルトの名無しさんNGNG
上層を支える重要な部分だよ。
0794デフォルトの名無しさんNGNG
次の質問どぞー
0795デフォルトの名無しさんNGNG
ビープ音を鳴らす方法を教えてください。
0796デフォルトの名無しさんNGNG
print "\a"
0797デフォルトの名無しさんNGNG
>>790
HTTPSとHTTPの違いを勉強して下さい。VBの知識だけでは解決できません。
0798デフォルトの名無しさんNGNG
>>796
フォームに\aと書き込まれるだけでした。
0799デフォルトの名無しさんNGNG
>>798
ネタをネタと、、、と釣られてやろう。
Beepという命令あるじゃん。
0800デフォルトの名無しさんNGNG
>>799
できました。
ありがとうございました。
0801デフォルトの名無しさんNGNG
>>796
Cでもないし・・・なんだろうな。これは。
0802デフォルトの名無しさんNGNG
>>797
SSLによる認証と暗号化が行われる。
0803デフォルトの名無しさんNGNG
>>801
Perl
0804803NGNG
セミコロンがねーか
0805790NGNG
>>797

クライアント側であまり意識しなくてもSSLを使えると思って、
Inetを使っているのですが・・・

ちなみにInetのオプションをGETにすればできています。
POSTではさきほどのエラーがでてしまいます。
そういうものなのでしょうか・・・

0806デフォルトの名無しさんNGNG
>>766
プロシージャ経由で渡すのは問題あるのか?
0807山崎 渉NGNG
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0808デフォルトの名無しさんNGNG
sage
0809デフォルトの名無しさんNGNG
保
0810デフォルトの名無しさんNGNG
ショートカットの幼い娘!といった感じのいずみちゃんです。
部屋の中のベンチでローターをクリにあてしきりにオナニーに励み、
男性二人に責められて喘ぎまくる姿が妙に色っぽいです。
感じやすそうなピンクの乳首もいいですよ。
セーラー服いっぱいで無修正!
無料ムービーいい感じだよ。
http://www.pinkschool.com/
0811デフォルトの名無しさんNGNG
VBAからCGIにPOSTするプログラムを作っています。

日本語を含むString型からPOSTするデータを作るときにapplication/x-www-form-urlencodedに
エンコードするのはどうすればいいのでしょう?
今は泥臭くmidで1文字ごと切り出し、ascで正負を判定し、必要なエスケープ処理を行っています。
0812デフォルトの名無しさんNGNG
>>811
それでいいじゃないか。
0813サクーシャ ◆q0gCeq2ch6 NGNG
>>811
私も実装しました。適当ですけど。
0814デフォルトの名無しさんNGNG
>>801
Print は立派なVBの関数だが?
0815デフォルトの名無しさんNGNG
>>814
\aでアラームを鳴らせることについてだろ。
0816デフォルトの名無しさんNGNG
結局beep関数のお世話になるんでしょ?
0817デフォルトの名無しさんNGNG
ひっぱるほどのネタでもないが・・・
WAV鳴らしてもいいし。
0818811NGNG
昨日検索したときは、なんかのDLL(職場行かないとわからない)使うバージョンが見つかって、
試してみたけど2バイトコードはエスケープされなかったので質問してみました。
改めて検索してみるとFAQだったようですね、世界中あちこちで実装されていました。
# 何を検索していたんだ。 > オレ
ありがとうございました。
0819デフォルトの名無しさんNGNG
あるクラスのインスタンスを参照している複数の変数があったとして、
それらが同じインスタンスを指しているのかを調べる事はできるでしょうか?

Dim a As Class1
Dim b As Class1

Set a = New Class1
Set b = a

If a = b Then

とすると、「オブジェクトはこのプロパティ又はメソッドをサポートしていません」
としてエラーになります。
ユニークなオブジェクトIDを返すようなプロパティを作成するしかないでしょうか?
0820デフォルトの名無しさんNGNG
>>819

If a is b Then
0821デフォルトの名無しさんNGNG
>820
おぉぉ、出来ました。
なるほどIsか・・・

ありがとうございまっ
0822デフォルトの名無しさんNGNG
age
0823デフォルトの名無しさんNGNG
あの、拡張子がSCRのスクリーンセーバーをディストリビューションウィザードで
パッケージにしようとしたのですが、何故かできたパッケージがちゃんと動きま
せんでした。その時は、しょうがないのでダミーのEXEといっしょにパッケージ
に無理やり詰めてどうにかしたのですが、SCR単独ではパッケージ化できない
とかあるんでしょうか?
0824デフォルトの名無しさんNGNG

コーポレイトソフトウェアていうサポセンの馬鹿が
PGに喧嘩売ってます。

http://money.2ch.net/test/read.cgi/haken/1057486349/287

腹立ちました。
みんなでやっつけにいこう。
0825デフォルトの名無しさんNGNG
>>824
一人でやってろ
0826デフォルトの名無しさんNGNG
ってか、PGに馬鹿が多いのは事実だ。824のリンク先も馬鹿っぽいが。
0827デフォルトの名無しさんNGNG
相手すんなよ。
0828デフォルトの名無しさん NGNG
Const AAA = 0

でなく  

Const AAA = &H0&  

と指定するのはどういう意味あんですか?
0829デフォルトの名無しさんNGNG
初心者だがVBで以下のようなことをしてるのを見た
Set DBEngine = Nothing
何が起こる?

普通に考えれば、以降DBEngineにアクセスできなくなりそうなのにvb6で試してみたら何も起きない。言語が用意した変数は特別扱いされる?
0830デフォルトの名無しさんNGNG
>>828
AAAが16進のLong型だってことが一目で分かる。
Const AAA as Long = &H0
の方がお勧め。
0831デフォルトの名無しさんNGNG
>>829
インスタンスの参照中は無視される。仕様でつ。
0832デフォルトの名無しさんNGNG
>>831
そうすると、
Set var = object
Set var = Nothing
Debug.Print var ' <- こんなことはできんか

だと var は object ?(でもたしかNothing)
ますますわからんくなった。
0833デフォルトの名無しさんNGNG
>>829
変数DBEngineにNothingを代入する。
ttp://www.gj.il24.net/〜nakasima/vb/tech/Nothing/index.htm
0834デフォルトの名無しさん NGNG
>>830
ありがと
VB6でENUMで型指定ってできないんですか?

ENUM AAA
AAA1 = 0
END ENUM
0835デフォルトの名無しさんNGNG
>>834
Enumについてのヘルプ嫁
0836デフォルトの名無しさんNGNG
>>834
列挙型(Enum)とユーザー定義型(Type)を混同してる?
混同ついてに、VBのユーザー定義型はCの構造体に似てるけど微妙に違う。
0837デフォルトの名無しさん NGNG
>>835
読んだが良くわからん
Longになっちゃうの?
0838デフォルトの名無しさんNGNG
>>837
多分そう。
0839>>2ちゃんねらーの皆さんNGNG
( ´Д`)/< 先生!!こんなのを見つけました。
http://www.hokekyoji.com/
http://www.yakuyoke.or.jp/
http://members.tripod.co.jp/hossyoji/index/
http://www.maap.com/tanjoh-ji/
http://www.honmonji.or.jp/
http://www.maap.com/tanjoh-ji/
http://www.kuonji.jp/
http://www.butsuzou.com/jiten/sanmen.html
http://www.butsuzou.com/list1/sanmen2.html
http://www.butsuzou.com/list1/sanmen3.html
http://www.butsuzou.com/keitai/sanmen-kz.html
0840デフォルトの名無しさんNGNG
>>833
参照カウンタはわかる。しかし、DBEngineの場合
Private Sub Command1_Click()
Set DBEngine = Nothing
Debug.Print DBEngine.Workspaces(0).Name
End Sub

で、#Default Workspace#が表示される

ここで、言語が用意したDBEngineという変数(実は変数じゃなかったり?)は特
別扱いされてるのかと思った。
0841デフォルトの名無しさんNGNG
>>840
もまえ、宣言時にNewしてない?その場合はの動作はこうなる。
Set DBEngine = Nothing ←インスタンス破棄
Debug.Print DBEngine.Workspaces(0).Name ←ここでインスタンスが新たに生成される
0842デフォルトの名無しさんNGNG
関数呼び出しんとき hoge(a, b) て言うのとhoge a, b てできるけど
これってなんか違いあるんですか?
Cからやってるんで後者がどうにも気持ち悪く、前者でやってるんですが、
MSのサンプルソース見たら後者で呼び出してるので。

0843デフォルトの名無しさんNGNG
>>841
そうか、試したプログラムは840だけなんだが、VBが

Dim DBEngine As New DAO.DBEngine ' こうか?こう書くんか?

みたいなことをやってるということなのか。

このことを確認する方法ってあるか?オブジェクトの同一性を確認する方法
(この場合、Is は使えん)

ひとまずはありがとう。もれが見たプログラムは

DBEngine.BeginTrans
Set DBEngine = Nothing
'いろいろ
DBEngine.CommitTrans

などとやってて。これバグってるよかーん。試してみるよ。ほんとに
ありがとう。
0844デフォルトの名無しさんNGNG
同じですよ。自分は断然前者がいいと思いますが。VB初心者とかは後者がおおいっすね
0845デフォルトの名無しさんNGNG
>>844
>>842ですすいません
0846デフォルトの名無しさんNGNG
>>844
そうなんですか。じゃあ今までどおり前者でいきまつ。ありがとん。

前者で不便なのってFunctionの時に戻り値無視する場合
いちいちCallしてやらなきゃいけないんですよね。
後者の場合Callするとシンタックスエラーだし。

どうにも理解しかねる言語仕様…
0847840NGNG
>>842
VB初心者の840だが、他の質問教えてもらったのでお礼

たぶん、VB は括弧を省略する文法を用意したのだが、関数の場合は値を返す都合上
func1 func2 a, b, func3 d
などとすると構文解析できない(どれがどの関数の引数かVBがわからない)から、
ある場面では括弧省略できないだけだと思うぞ

違ったらすまんな
0848デフォルトの名無しさんNGNG
その後

Private Sub Command1_Click()

Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase("db1.mdb", 0, False)

DBEngine.BeginTrans
db.Execute "insert into t1 values('a','b');"

Set DBEngine = Nothing
Set ws = Nothing

'DBEngine.Rollback
DBEngine.CommitTrans

End Sub

などとしてみたがコミットもロールバックも問題ない。

Private Sub Command1_Click()

Dim a As New DAO.DBEngine
Debug.Print a Is DBEngine ' True

End Sub

などとやってみたら True になったからDBEngineはSingletonみたいだな。破
棄されてもトランザクションが保持されてるのはそういうものだと思っておく
ことにするよ。でも解説できる人はオナガイシマス
0849デフォルトの名無しさんNGNG
>>848
「参照設定」はアーリーバインディングだからな。
0850デフォルトの名無しさんNGNG
>>848
DAOよく分かんないけど、途中の
Set DBEngine = Nothing
は意味無いし気持ち悪いね
0851デフォルトの名無しさんNGNG
ははあ、だんだんわかってきたぞ。VBのDim ... as newというのはEarly Binding
の宣言なんだな、コンパイル時にメソッド呼び出しとかが決定されるから
DBEngine.BeginTrans
Set DBEngine = Nothing
DBEngine.CommitTrans
としても最後のCommitTransで呼び出すべきメソッドがわかってるんだ。

で、BeginTrans, CommitTransはインスタンスの状態に関係ないからエラーが
起きない。違う?つかCOMも知らんから妄想の世界だ
0852デフォルトの名無しさんNGNG
>>851
>BeginTrans, CommitTransはインスタンスの状態に関係ない
関係あるよ。

Set DBEngine = Nothing ←参照が外れる(インスタンスの破棄ではない)
DBEngine.CommitTrans ←自動的に参照し直す

インスタンスの破棄はどこからも参照されなくなったとき自動的に行われる。
つまり「参照設定」でアーリーバインディングされたインスタンスの破棄は
アプリケーションの終了時に行われる。
0853デフォルトの名無しさんNGNG
>>852
>>851じゃないけど、
DBEngineって「参照設定」しただけでアプリケーション実行中は
オブジェクト変数も無しにインスタンス生成されんの?
0854デフォルトの名無しさんNGNG
>>853
その辺の実装がどうなってんのかはわかんないね。挙動からの推測にすぎない。
0855デフォルトの名無しさんNGNG
>>852
わかりました。完璧!これで安心して眠れます。
VBの不快仕様がわかりました。
Early Bindingな変数を
Set xxx = Nothing
した場合にエラーになるべきなんじゃー>VB
0856デフォルトの名無しさんNGNG
>>855
それがねぇ、Set xxx = Nothingは破棄ではなくて参照を外すだけだから…。
0857855NGNG
まともに考えたらコンパイルして参照されている部分を見つけたらスタートアッ
プルーチンにオブジェクト生成するコードが含まれるんじゃない?
たくさんオブジェクトを参照設定して実行してメモリサイズが変わるか
見ればいいんだな。今度やってみよ
0858デフォルトの名無しさんNGNG
>>857
コンパイルオプションに「使用しないActiveXコントロールについての情報を削除する(E)」
ってのがあるじゃん。
0859855NGNG
>>856
ちょっと思った。

A.BAS
Sub xxx()
Set DBEngine = Object ' <- DBEngine はたまたま名前が被っただけ
End Sub

B.BAS
Dim DBEingine as New DAO.DBEngine

となってても実行できるように考慮してるのかなあそれでも「参照設定」はグ
ローバルに効くだろうからSetしたらエラーになって欲しいと思うんだが。ま
あいいや。なんか都合の悪い場合があるか言語の一貫性みたいなモノの都合だと
考えよう。

いや、ほんとVB知らんのよ(さっきのCommand1_Clickが俺がはじめて作った実
行できるプログラム)
0860855NGNG
>>858
DAOってActiveXコントロールなん?
いや、ごめん。聞く前に調べるべきね。
もう寝るわ
みなさん、ありがとうございました。
0861通りすがりNGNG
DBEngineクラスのメンバが全部static?
となると>>855の言うとおり
Set DBEngine = Nothing
出来るのはおかしいよなぁ・・
変数じゃ無いもんにNothingをSetするなんて考えられない
0862デフォルトの名無しさんNGNG
855氏ね
0863デフォルトの名無しさんNGNG
>>850
意味はないかもしれんが、気持ち悪くはないだろ
08647NGNG
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
 ☆★ 無修正DVD★☆なら 新宿歌舞伎町直送 ☆★

人気爆発新作ベスト9入荷
  堤さやか引退特集 憂木瞳 プロジェクトX No8 ベイビーフェイスをやっちまえ
 白石ひより・愛葉るび SNAPSHOT 地下映像陵辱援交 すぎはら美里痴女教師
 店頭販売の売れ筋のみ厳選してみました 安心の後払い
     http://book-i.net/moromoro/
   白石ひとみ 小森詩 山田まり 長瀬愛
@@ 及川奈央 レジェンド @@ 堤さやか 東京バーチャル 依然大好評
    
  サンプル画像充実  見る価値あり  最高画質
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ 
0865デフォルトの名無しさんNGNG
>>863
Nothing入れてからコミットしてるのが気持ち悪い
0866デフォルトの名無しさんNGNG
すげぇくだらない質問ですまないんだけど、もし、ちょっと本腰を入れてアプリ
をつくったとしたら、プログラムのソース全部で何行ぐらいになる?
俺の作ってるのはどの程度手がかかってるとか比べてみたいから、
教えてちょ
0867デフォルトの名無しさんNGNG
>>866
どんなものを作るかによるだろ。
「本腰を入れて、お母さんに手紙を書くと、何文字くらいになりますか」
分かるか、おい。
0868デフォルトの名無しさんNGNG











             ま た ア ホ か           











0869デフォルトの名無しさんNGNG
>>865
そこまで見てなかった。納得。
0870デフォルトの名無しさんNGNG
VB6、ADOでAccessのMDBからデータを取ってくる処理を勉強しています。

接続しているMDBは日報みたいなもので、とりあえず「日付」と「本文」しかありません。
ここから、日付の月でループさせて、

  ・2003/01/01
   ○○○○○○○○○○○○○
  ・2003/01/02
   ○○○○○○○○○○○○○

のように、一月分の「日付」と「本文」を一つのテキストファイルに書き出し、
MDBに登録されている月の分、全部を出力するものをと考えています。

この日付が、以後増える予定で、月も2003/01→2003/03などと、�dでしまう月もある為、
月別にどのようにループさせてよいか分からず困っています。

一般的な案で良いので、良い案があればご教授おながいします。
0871デフォルトの名無しさんNGNG
>>867
まぁ、そう来るとは思ってたんだけどね。じゃあ、通信プログラムを組んだ
としたら、そう、まぁ、チャットとかでいいや
0872デフォルトの名無しさんNGNG
負けを認めないウンコだなぁ。
0873デフォルトの名無しさんNGNG
>>870
月日でソートしといて、今出力中の年月と違う年月が出てきたらファイルを新規に作成すればいいと思う。

ソートがだめなら、毎回追加書きでファイルを開いて書き込めばいい。
性能がちょっと心配だが。


>>872
あふぉは、放置汁。
0874デフォルトの名無しさんNGNG
>>870

単に昇順にソートしてからループすればいいだけでしょ。で、日付がわかったときに
別ファイルを作成すると。

面倒だったら、月ごとに SQL を発行するという手もあり。時間はかかるけど、ループ
処理が適当で済むし。
0875デフォルトの名無しさんNGNG
>>869

うぉ。かぶった。

>>871

チャットか。100行ぐらいかな、せいぜい。いつもサンプルプログラムしか作らないしね。
0876875NGNG
>>875

>>869 じゃなくて、>>873 だった・・・ なんでこんなミスを・・・
0877デフォルトの名無しさんNGNG
VBの質問とちょっと違うかもしれませんが。。。
最近、Visioを入れたら、VBに「Visioツールバー」が出るようになりました。
これは消しても、VBを起動する度に復活します。
これを"VB側で"出なくする方法ってありますか?
0878870NGNG
>>873、>>874
月ごとにSQLで取得することしか思いつかず、苦労していました。
全件取得してから処理することにします。
どうもありがとうございました。
0879デフォルトの名無しさんNGNG
>>877

アドインとして登録されてるんだろうから、その辺の設定を見直せば?
0880デフォルトの名無しさんNGNG
年賀状ソフトなんかでよくある、TextBoxに名前を入れると、
別のTextBoxに振り仮名を自動で表示させたいと思っています。

ExcelのVBAにPhonetic関数なる振り仮名を自動で振ってくれる
関数を見つけたのですが、VBには同様の関数が見つかりません。

代替手段はありますでしょうか?

0881デフォルトの名無しさんNGNG
>>880
WindowsAPIにあったはず。
0882877NGNG
>>879サン
直りました。ありがとうございました!
0883647NGNG
>>648-650
どうもありがとうございます。レスが遅れてすみません。

根本的にはOSを変えるしかない、となるとして、
画像をより小さく縮小すると表示ができなくなるという原因を
説明できるようにしておきたいのですが、どう言えばいいやら…。
大きい画像が表示できないのならまだ分かるような気がするのですが。

StretchBltなどを検索で調べてはみたのですが、ピンと来るものが
見つかりませんでした。
0884デフォルトの名無しさんNGNG
>> 647
言い訳を考えてみたw

言い訳1(無能)
 Windowsの仕様です。
 ご指定のOSではそうなんだからあきらめましょう。
 文句はビル君に直接言ってください。

言い訳2(もっともらしい嘘w)
 画像の見た目を出来るだけ崩さないように縮小するには
 その縮小度が大きいほどバッファメモリや処理能力が多く必要になります。
 またOSは要求を処理中に限界に達してしまった場合、
 システム全体を危険にさらすことがないよう処理を中止し
 アプリ側には正常と返す場合もあります。
 今回の場合Win98では限界を超えてしまったために
 このような現象になったものと思われます。

言い訳3(屁理屈&嘘w)
 VisualBasic及びWindowsでは「どんな画像でも表示する」という
 保障はされていませんし、Microsoftにはその原因を提示する義務が
 ないという条件で使用が認められています。
 詳しい原因を提示するにはMicrosoftに
 かなり高額なライセンス料を払う必要があります。
0885デフォルトの名無しさんNGNG
age
0886デフォルトの名無しさんNGNG
漏れの自宅のパソコンで、参照設定で Web Browser Component が見つからないのですが…
学校のパソコンだと見つかるのになぁ…

どんなソフトをインストールすると、このコンポーネントが入るのでしょうか?
0887デフォルトの名無しさんNGNG
ん?なんか
Microsoft Internet Components を選択したら参照が解決しました。
英語版 Windows と何か違うのかな??
0888デフォルトの名無しさんNGNG
Internet Controls でっした。
0889デフォルトの名無しさんNGNG
>>647
これ?
http://support.microsoft.com/default.aspx?scid=kb;en-us;269585
0890デフォルトの名無しさんNGNG
自分が作ったプログラムを実行すると、実行前とはクリップボードの内容が変わってしまうため、
プログラムの最後にクリップボードの内容を元に戻そうと思っています。
いい方法はないでしょうか?
0891デフォルトの名無しさんNGNG
>>890
Clipboard オブジェクトってのがあるぞ。
0892初めて書き込みますNGNG
失礼します。
最近C言語でのプログラミングを勉強しようとしたのですが、一番
始めにLSI C−86をインストールしてプロンプトを開くと
C:¥>
と書いてあると記載されていました。でも自分のには参考書
C:¥Documents and Settings\>C
と記載されていてそのまま参考書にある操作をしても「指定された
パスが見つからない」とでてしまいます。
調べるとカレントディレクトリを変更できる状態、プロンプトを
開くとC:¥>のみ表示した状態にするにはどうしたらいいんで
しょうか?一応ヘルプなどで調べたんですがその説明はされてませんでした。
ちなみにOSはXPです。
0893デフォルトの名無しさんNGNG
まぁここは VB スレッドなんでどこか別のところに言ってくれ。

あと、一応書いておく。
cd \ でカレントディスクのルートに移動できる。
0894890NGNG
Clipboard オブジェクトだと元に戻せない内容があるのですが・・・。
オブジェクトの実体のコピーって作れないのでしょうか?
0895デフォルトの名無しさんNGNG
 他人が作ったプログラムが「応答なし」の状態かどうか取得する方法を
教えてください。
 IsHungAppWindow を使用すれば取得できるようなのですが、ウィンドウ
ハンドルが必要なため困っています。
 1)プロセスIDからウィンドウハンドルを取得するにはどうすればいいので
しょうか?
 2)他の関数を使えばできるのでしょうか?

OS:WIN2000
開発言語:VB6
0896デフォルトの名無しさんNGNG
>>895

1)
一発では取得できません。ウィンドウハンドルを列挙して、GetWindowThreadProcessId()
で取得したプロセス ID と付け合せるというのが一般的な方法です。

2)
どのみちウィンドウハンドルが必要になるのは一緒です。
0897デフォルトの名無しさんNGNG
ところで、 MonthView コントロールを使うには、
なんという名前のライブラリ(?)を参照設定でチェックすればいいのでしょうか?

また、参照設定に現れている各コンポーネントが何をエクスポートしているかを
一覧することはできますでしょうか?
0898デフォルトの名無しさんNGNG
>>894
視点を変えて、自分のプログラムではクリップボードを操作しない。
0899デフォルトの名無しさんNGNG
>>897

参照設定ではなく、Windows Common Control という ActiveX コントロールを
ツールボックスに追加する。

後ろの質問については、ちょっと意図が違うかもしれないけど、オブジェクトブラウザ
や OLE View を使えばいいかも。

>>898

賛成。
0900デフォルトの名無しさんNGNG
>>899
レスありがとうございます。
すみません、じつは Access の VBA なので、どうもツールボックスとかは無いようです。
Access のスレッドを見つけたので、そちらで質問してみます。
0901890NGNG
それを考えてみたんですけどいい考えが浮かばなくて困ってます。

今やってるのはスプレッドシートを使うプログラム作ってるんですけど、
1行目が数式が書いてある行で、その行のセル値に数式(例えば、"=A2"という値)を入れてます。
その1行目の数式を、2行目の同じ列の数式に設定して、
行を追加した時に、「2行目.copy 3行目」 として数式書式をコピーしています。
この方法だとうまい具合、3行目の同じ列の数式が、
=A2としていたとこの行番号だけが変わってくれ=A3になってくれます。

1行目に数式を書くことによって、プログラムをいじる事なく数式が変えられるので、
この方法でなんとかクリップボードの内容を元に戻したいんですけど、いい方法はないでしょうか?
0902デフォルトの名無しさんNGNG
>>901

VB の Clipboardオブジェクトが対応しているのは、テキストと画像ぐらいしか
なかったはず。それ以外のものに対応したいのなら、API を使ってごにょごにょ
やる必要がある。かなり面倒だと思うよ。
0903890NGNG
>>902
やっぱりそうですか。
自分もAPIかなって考えてみてちょっと下調べしてたんですけど、
すんごい面倒そうで他にいい方法ないかなと思ったんですけど。

どなたかこんなのいいんじゃないって案がありましたらよろしくお願いします。
明日の朝また覗かせてもらいます。
0904デフォルトの名無しさんNGNG
もしかしたら凄く初歩的な質問かもしれませんが・・・・・。と言うより、馬鹿な質問かもしれませんが・・・・・。

あるデータの拡張子を関連付けをして、それを開くとVBで作ったアプリケーションを起動して処理する
様になっているのですが、そのアプリが起動中に、再度別のデータを開くと、現在起動中のアプリで
処理する様にするにはどの様にすれば良いのでしょう。
0905デフォルトの名無しさんNGNG
>>904

結構面倒です。後に開かれたほうで多重起動のチェックを行い、先に開かれている
方に対して、ファイル名を教えてあげることになります。

多重起動については、App.PrevInstance や Mutex を、教え方については、プロセス間
通信について調べてみてください。
0906デフォルトの名無しさんNGNG
IEEE1394でDVなどからキャプチャをするようなOCXとかは
ないもんでしょうか。
0907デフォルトの名無しさんNGNG
>>906

http://www.totsu.co.jp/isp/ispproducts/ratoc/totsu.pdf

こんなんあったよ。
0908デフォルトの名無しさんNGNG
フォームの×ボタンをなくすには、どうすればいいですか?
タイトルバーは消したくないので、borderStyleプロパティ
1−固定(実線)の×ボタンだけ消したいのです。
0909デフォルトの名無しさんNGNG
Formをプリント形式でファイルへ出力したい。
Form.PrintFormでForm表示をプリンターへ出力できるので、
DC(デバイスコンテキスト)をファイル出力へ変えてやることで
できるらしいのですがどうやればよいのでしょうか?

API関数で取得するとかしないとか?よくわかりません。
0910デフォルトの名無しさんNGNG
>>908

無効にはできても、消すのは無理だったと思う。無効にするときは、メニュー関係
の API を使う。

>>909

PrintForm では無理でしょ。普通に API で DC をコピーした後、PictureBox に
転送して SavePicture ってのが楽かな?

もしくは、ぜんぜん違う手法だけどサポート技術情報にある方法を使うことになるね。
文書番号: 161299 を参照してね。
0911デフォルトの名無しさんNGNG
>>908
ControlBoxプロパティ。
但し最小化最大化も消える。
0912デフォルトの名無しさんNGNG
>>907さんあるがとうございます
それにしても高い…
0913デフォルトの名無しさんNGNG
>>893さん
ありがとうございました。問題解決しました。それとスレッド間違って
しまってゴメンナサイ。
0914647NGNG
>>884
言い訳まで考えてもらってすみませんm(__)m。

>>889
どうもありがとうございます。
英語を斜め読みした限りですが、これで間違いないように思います。
近いうちに実際のマシンで確認してみます。


0915909NGNG
>PrintForm では無理でしょ。普通に API で DC をコピーした後、PictureBox に
 転送して SavePicture ってのが楽かな?

 具体的にコードで記述するとどげんとなるとですか?

0916デフォルトの名無しさんNGNG
>>909
http://www.google.co.jp/search?num=100&hl=ja&ie=UTF-8&oe=UTF-8&newwindow=1&q=Declare+BitBlt+%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
を参考にしてください。
0917デフォルトの名無しさんNGNG
普通にコンパイルして実行ファイルを作ると、プロジェクトと同じフォルダ内にExeが作成
されますが、これを場所指定で別のフォルダに作成する事はできるのでしょうか?
0918デフォルトの名無しさんNGNG
age忘れました
0919デフォルトの名無しさんNGNG
Object型変数に格納されているオブジェクトの型を取得するにはどうすればいいのでしょうか?
0920デフォルトの名無しさんNGNG
If TypeOf something Is Class1 Then

If TypeName(something) = "Class1" Then
0921919NGNG
>>920 HayaiKaitouArigato-!
0922/?NGNG
>>917
できる。
0923904NGNG
>>905
回答ありがとうございます。

なんか、難しそうですね。むしろ、前に起動している方を強制終了して新規に動かした方が
楽そうな気もするんだけど、その方法も良く分からないし・・・・・。


App.PrevInstanceについては分かるので、とりあえずプロセス間通信について調べてみます。
0924デフォルトの名無しさんNGNG
もまえのシリアルナンバー教えて
ついでに次スレ
0925デフォルトの名無しさんNGNG
>>924
次スレ立てました
http://pc2.2ch.net/test/read.cgi/tech/1061296197/l50
0926デフォルトの名無しさんNGNG
顔文字が…っ
0927デフォルトの名無しさんNGNG
CoolBarにメニューを設置したいんですが、どうすればいいですか?
0928デフォルトの名無しさんNGNG
ツールバーにメニューをセット
0929デフォルトの名無しさんNGNG
age
0930デフォルトの名無しさんNGNG
>>928
どういうことですか?
0931デフォルトの名無しさんNGNG
>>930
ネタだから気にするな。
0932デフォルトの名無しさんNGNG
Delphi使えよ
0933デフォルトの名無しさんNGNG
初めて、エクセルのVBAをやってみたんですが、
テキストボックスの配列が出来ないようなんですが
どうなってんでしょうか????

教えてください。
0934デフォルトの名無しさんNGNG
>>933
dim textboxes(5) as object

set textboxes(1) = textbox1
...
0935デフォルトの名無しさんNGNG
VBAってコントロール配列使えないんじゃなかったっけか
0936デフォルトの名無しさんNGNG
934で配列にコントロールを入れてる訳か
0937デフォルトの名無しさんNGNG
VBAって配列使えないのか・・・
イベントとかどうすんだ?
0938デフォルトの名無しさんNGNG
>>937
もちろんコントロールごとにイベントプロシジャを記述するよ。
0939デフォルトの名無しさんNGNG
テキストボックスを複数個用意して、TextBox1,TextBox2・・・と名前を付ける。
コードでMe.Controls("TextBox" & Cstr(i)))と指定する事で、iの値に対応した
テキストボックスへの参照を取得できるが・・・なんかマズー
Accessではこんな感じでできたけどExcelは?でし
0940デフォルトの名無しさんNGNG
こんにちわ。私は現在 VB6.0 を使いVBを勉強している最中の者です。
フォーム上にあるリッチテキストの内容をコモンダイアログの『名前をつけて保存』を使用して
保存する為、以下のようにコードを打ちました。

'----------------------------------

Private Sub mdlDataSave_act()
  CommonDialog.Flags = cdlOFNOverwritePrompt
  CommonDialog.Filter = "ファイル設定(省略)"
  CommonDialog.DefaultExt = "*.htm"
  CommonDialog.ShowSave

  リッチテキスト.SaveFile CommonDialog.FileTitle, rtfText

end sub

'----------------------------------

ShowSaveダイアログで「キャンセル」を押した場合でもコモンダイアログのFileTitleが無い為
以下の保存動作が働いても今のところエラーは出ないようなのですが、あまり宜しくないかとおもうので
できればShowSaveでダイアログを出した後、「キャンセル」を押した場合はShowSave以下の処理を行わずに抜けたいです。
CommonDialogでキャンセルを押した場合の値の取得は何を用いれば良いのでしょうか?
参考書やネットでも調べてみたのですが、見つけられませんでした…

ものすごく初歩的なことかとは思うのですが…ご教授あるいは参照となる場所があれば
誘導していただけるとありがたいです。
0941デフォルトの名無しさんNGNG
>>940
CancelError をつかって、エラーを発生させます。

Private Sub mdlDataSave_act()
On Error Goto ErrH
  CommonDialog.CancelError = True

  CommonDialog.Flags = cdlOFNOverwritePrompt
  CommonDialog.Filter = "ファイル設定(省略)"
  CommonDialog.DefaultExt = "*.htm"
  CommonDialog.ShowSave

  リッチテキスト.SaveFile CommonDialog.FileTitle, rtfText
Exit Sub
ErrH:
End Sub
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cmdlg98/html/vbprocancelerror.asp
0942940NGNG
>>941
ナルホド、CancelErrorが怪しい予感はしていたのですが…
On Error文で書けばよかったのか…恥ずかしながら盲点でした…

貼ってくださったリンクの方も参照して勉強いたします!
本当に初歩的な質問にもかかわらず有難う御座いました!!
0943942NGNG
↑に書き忘れですが、教えていただいたコードで無事動作確認できました!
本当にありがとうございました。
0944デフォルトの名無しさんNGNG
非アクティブ時にキーの状態を得るにはどうすればいいのでしょうか?
シフトキーの状態を得ようとして
If GetKeyState(VK_SHIFT) < 0 Then
Label1.Caption = "シフトキーが押されている"
Else
Label1.Caption = "シフトキー押されていない"
End If
このようにしているんですが、アクティブ時しか動きません。
0945944NGNG
すいません、自己解決しました。
レス数が900を超えています。1000を超えると表示できなくなるよ。