5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:03/07/20 13:22
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の話題できるだけひかえる。

2 :デフォルトの名無しさん:03/07/20 13:25
  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

3 :デフォルトの名無しさん:03/07/20 13:26
前スレはこちら
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html

4 :デフォルトの名無しさん:03/07/20 13:26
  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


5 :デフォルトの名無しさん:03/07/20 13:26
>>2
Part16がない!
  Part16 http://pc3.2ch.net/tech/kako/1034/10343/1034302532.html

6 :4:03/07/20 13:27
かぶった。スマソ。
で乙。>>1

7 :デフォルトの名無しさん:03/07/20 13:30
VB,VBSはOK
VBAは?

8 :デフォルトの名無しさん:03/07/20 13:39
>>1 乙!
>>7 多分OK

9 :デフォルトの名無しさん:03/07/20 13:47
VB使いヘボイよ

10 :デフォルトの名無しさん:03/07/20 14:38

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

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

すみません、初心者なのでもう少し分かりやすくお願いします。


11 :デフォルトの名無しさん:03/07/20 15:55
>>10
お前を殺すと言うことでは?

12 :デフォルトの名無しさん:03/07/20 16:21
>>10

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

ちなみに、kill ってのは、Unix 系のコマンド。.NET なら、Process.Kill() ってのが使える
けど、VB では、ファイルを削除することになります。


13 :デフォルトの名無しさん:03/07/20 16:27
>>12
VB使いにそのような事を言っても理解不能なので、
もうちょっとわかりやすくお願いします

14 :10:03/07/20 16:44
>>12
ありがとうございました。がんばってみます。


15 :cb ◆9AFHrbDx3A :03/07/20 17:42
複数行ある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行ばっさり」とはいきませんか?

16 :デフォルトの名無しさん:03/07/20 18:16
>>14
改行コードの数を数えて削除すれば?

17 :16:03/07/20 18:17
>>14 → >>15

18 :cb ◆9AFHrbDx3A :03/07/20 19:12
>>16
改行コードChr(10)と配列を使ってできました。ありがとうございます。

19 :10:03/07/20 20:01

すみませんが、
「プロセスハンドルから、ウィンドウハンドルを取得して、WM_CLOSE を投げるってのが」
このソースコードを記載してくれませんか?


20 :デフォルトの名無しさん:03/07/20 20:20
思った通り、VB使いには解らなかったようですね。
それ以前にハンドルが何かという事も理解しているのか・・・

21 :八重洲支店:03/07/20 20:24
http://life.fam.cx/a007/





22 :デフォルトの名無しさん:03/07/20 20:26
やれやれ説明しても解らないからソースを見せろか・・・

SendMessageというAPIを使ってください。
これ以上言っても解らないようなら諦めた方が良い。


23 :デフォルトの名無しさん :03/07/20 20:28
たかがプログラマふぜいが偉そうに.....(ワラ

24 :デフォルトの名無しさん:03/07/20 20:34
自分の勝てない領域の話になると、すぐこういう事を言ってくる奴がでてくるね(藁

25 :デフォルトの名無しさん:03/07/20 20:40
まぁ大抵こういう事を言うのはコンプレックスがある証拠

26 :デフォルトの名無しさん:03/07/20 20:42
つーか初心者を馬鹿にする奴が多過ぎ。
荒らしと変わらん。

27 :デフォルトの名無しさん:03/07/20 21:05
>>26
調べたりする努力しているとかあれば次の言葉もあろうけれど
わからんからソース出せと言われると、馬鹿かと思うよ。

28 :デフォルトの名無しさん:03/07/20 21:31
そそ。
ちゃんと自分で調べたりしてれば大体文面で解る。


29 :デフォルトの名無しさん:03/07/20 21:35
ソースを見せろか...
やぱーりVBスレだけあるなw

30 :デフォルトの名無しさん:03/07/20 21:48
>>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 !頑張れ!

31 :デフォルトの名無しさん:03/07/20 21:58
class使って初心者に解りにくくしてるように見えるのは俺だけですか?

32 :デフォルトの名無しさん:03/07/20 22:02
ソース見せろ、クラス使うなって(ry

33 :デフォルトの名無しさん:03/07/20 22:07
>>1
乙!

34 :デフォルトの名無しさん:03/07/20 22:09
>>30
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。
すみません、初心者なのでもう少し分かりやすくお願いします。


35 :30:03/07/20 22:12
Dim p As System.Diagnostics.Process
'processIdというプロセスIDを持つプロセスを取得
p = System.Diagnostics.Process.GetProcessById(processId)
'プロセスを強制終了
p.Kill()

うまくいったら「うまくいきました!」とか報告すべきだよ。

36 :デフォルトの名無しさん :03/07/20 22:14
初心者に分かりやすく説明できないアホは死んでね。


37 :デフォルトの名無しさん:03/07/20 22:18
.NETってVB6とかなり扱い方違ってそうだな

38 :デフォルトの名無しさん:03/07/20 22:21
貴方の脳が.NETの前で萎縮してるだけ>>37

39 :デフォルトの名無しさん:03/07/20 22:24
アンチ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厨荒らしまくり

40 :デフォルトの名無しさん:03/07/20 22:25
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厨荒らしまくり

41 :デフォルトの名無しさん:03/07/20 22:26
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?
ソース見せろ。それでもVB厨か?


42 :デフォルトの名無しさん:03/07/20 22:27
VBなんて仕事じゃ使われてないんだぜ(藁


43 :デフォルトの名無しさん:03/07/20 22:28
http://pc2.2ch.net/test/read.cgi/tech/1058702281/l50
荒らしてるのはこのスレの1

44 :デフォルトの名無しさん:03/07/20 22:30
荒れているところすみませんが
なんでVBスレってこんなに荒れているんですか?
コンプレックスの塊が沢山いるからですか?

45 :デフォルトの名無しさん:03/07/20 22:32
>>43
荒らしているのはお前(ここの1)だな。

46 :30:03/07/20 22:34
>>10
人にものを聞いて理解できないからって、このザマか。ふざけるなよ。

47 :30:03/07/20 22:35
>>46
お前誰だよ。オレの真似するな。ふざけるなよ。

48 :デフォルトの名無しさん:03/07/20 22:42
>>45=http://pc2.2ch.net/test/read.cgi/tech/1058702281/1
お前まえから思ってたけどキモイんだよ。
おれは2chにスレなんて立てたことはねえ。

49 :デフォルトの名無しさん:03/07/20 22:43
>>48
落ち着け。ばれてないと思っているのはお前だけ。

50 :デフォルトの名無しさん:03/07/20 22:46
>>49 ハァ?
おれが書き込んだのは>>43>>48だぜ?馬鹿じゃねえの?

51 :デフォルトの名無しさん:03/07/20 22:49
>>50
証拠は?

52 :10:03/07/20 22:54
>>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)

等で解決しました。


53 :デフォルトの名無しさん:03/07/20 22:55
ここはVB初心者が質問をするためのスレであり、
その他の討論はスレ違いなのでやめましょう。


54 :デフォルトの名無しさん:03/07/20 22:55
>>50
辻本みてえな香具師だな。往生際が悪いよ!!

55 :10:03/07/20 22:58
言い忘れてた。

>>12>>30、ありがとうございました。

56 :デフォルトの名無しさん:03/07/20 23:07
またウゼーあげ荒らしが出てきたな。全部
>>45=>>49=>>54=http://pc2.2ch.net/test/read.cgi/tech/1058702281/1
の仕業だろう。

57 :デフォルトの名無しさん:03/07/20 23:13
>>56
お前しつこすぎ。
しかも今度は
http://pc2.2ch.net/test/read.cgi/tech/1058702281/
荒らし始めただろ。

58 :デフォルトの名無しさん:03/07/20 23:21
第一何時間も送れて重複スレ立てるのは明らかにルール違反だろ。
削除依頼だしてこいよ>>http://pc2.2ch.net/test/read.cgi/tech/1058702281/1

59 :デフォルトの名無しさん:03/07/21 01:18
えっとすみません
Label上に現在時刻と
それにX分を加算したいものを表示させたいのですが
今現在以下のように表記したところ
Label1.Caption = Time
Label2.Caption = DateAdd("n", X, Time)
日付変更が起きると
Label2の表示が時間だけではなく
年からの表示(yyyy/mm/dd hh:nn:ss)になってしまうのですが
対処法はないでしょうか?

60 :59:03/07/21 01:52
すみません補足です
日付が変更されるというのは
現在の時間が
23:50:10とすると
Label2が10分以上(時刻が00:00:00以上になるとき)加算された
時刻で表示される場合
っということです。
説明がヘタクソでゴメン
ついでに初心者な質問だったらもっとゴメ

61 :デフォルトの名無しさん:03/07/21 02:14
>>59

明示的に、Format() しようね。暗黙の変換を利用してると、いずれはまるよ。

62 :59:03/07/21 04:34
>>61
ありがとう
なんとか形になりました


63 :デフォルトの名無しさん:03/07/21 14:52
format c: /q

64 :デフォルトの名無しさん:03/07/21 22:00
>>63
ありがとう
なんとか形になりました

65 :デフォルトの名無しさん:03/07/22 00:44
>>63
VentureBusiness全滅

66 :デフォルトの名無しさん:03/07/22 00:45
テキストボックスの、現在のカーソル位置を取得するにはどうすればよいのでしょうか?

67 :デフォルトの名無しさん:03/07/22 00:54
Text1.SelStart

68 :66:03/07/22 01:05
>>67
あ、なるほど。カーソルの開始位置の指定だけじゃなくて、
位置の取得もできるんですね。落ち着いて考えればそうですな。
レスどうもでした。

69 :デフォルトの名無しさん:03/07/22 09:49
コレクションに追加した配列の一部の値を後から変更するには?

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 となってほすぃ

70 :デフォルトの名無しさん:03/07/22 10:51
17桁の10進数計算をさせたいのですが、
Double型だと計算精度が悪いせいなのか、正しい結果が表示されません
Doubleより大きな桁数を格納できるような配列は無いでしょうか?

71 :_:03/07/22 11:02
http://homepage.mac.com/hiroyuki44/

72 :デフォルトの名無しさん:03/07/22 11:04
通貨型

73 :70:03/07/22 11:05
>>70です。
Doubleの精度というよりは、Formatがよくないみたいです…
17桁以上のDoubleの精度を落とさずに、10進数で表示する方法は無いでしょうか?

74 :デフォルトの名無しさん:03/07/22 11:05
アクティブなセルを含む行の色を変えたいんですが
どうやればよいのかわかりません。


75 :70:03/07/22 11:07
>>72
通貨型ではオーバーフローしてしまいます

76 :デフォルトの名無しさん:03/07/22 11:09
>>74
誤爆か?
Rows(ActiveCell.Row).Interior.ColorIndex = 38

77 :_:03/07/22 11:15
http://homepage.mac.com/hiroyuki44/hankaku08.html

78 :デフォルトの名無しさん:03/07/22 11:25
>76
誤爆???すみません意味がよく・・・


79 :デフォルトの名無しさん:03/07/22 11:34
netを使える環境じゃないからまだVB5だが
最適化をnet程度まで行うコンパイラだけのフリーソフトは
無いものかのう?
あっても良さそう、ていうか出来ないわけないよね?
EXEを最適化でもいいけど。

80 :デフォルトの名無しさん:03/07/22 12:21
>>79
買ってきたほうが開発するコストより安いじゃないの。

81 :デフォルトの名無しさん:03/07/22 12:24
mingwとか

82 :デフォルトの名無しさん:03/07/22 12:25
最適化云々言うんだったらvb使わない方が良い

83 :デフォルトの名無しさん:03/07/22 12:29
勘違いさんいるようだが、VBもまともな最適化をしている。

84 :79:03/07/22 12:36
くそー
てめえらMSの肥やしだー
(´・ω・‘)

85 :デフォルトの名無しさん:03/07/22 12:38
偽者登場(w

86 :デフォルトの名無しさん:03/07/22 14:08
>>70
配列使って6桁毎ぐらいで計算

87 :70:03/07/22 17:07
再び>>70です。
>>73は勘違いっぽいです。やっぱり最初に書いたようにDoubleの精度の問題でした…
もうあきらめるしかないんですかね

>>86
レスサンクス。
一度その方法も考えましたが、アルゴリズムがとてつもなく複雑に
なりそうだったので、断念してしまいました…

88 :デフォルトの名無しさん:03/07/22 17:09
みなさん、こんにちはVB初心者なので
くだらない質問かもしれませんが、宜しくお願いします

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

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

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

m(__)m

※スレ違いだったらしいので、こちらに再書きこみします

89 :デフォルトの名無しさん:03/07/22 17:15
>>88
どんな環境や規模でやってるのか書いてないのでなんとも・・・

90 :デフォルトの名無しさん:03/07/22 17:16
うちとこORACLEだが

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

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

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

言っておくが、セッションが1つってことは、1つのアプリが使用中だと周りは待ちになるぞ

91 :デフォルトの名無しさん:03/07/22 17:54
ばか?

92 :ミコアイサ:03/07/22 17:58
FileSystemObjectを使おうと思うのですが、
これはWindows95では使えないのでしょうか。
また、NT、2000、XPなどでは、どうなのでしょうか。

93 :88:03/07/22 18:36
>>89
すいません
Win2000Server + SQL-Server2000のサーバに、
IIS5.0+ASPからのクライアント(Win2000Server)、
VB6.0からのクライアント(Win2000Server)が接続します。

>>90
Oraleでないので、試すことができませんが、
その都度、接続OPENに時間がかかるよりは
待ちが少し発生する程度の方が、いいのかもしれません


94 :デフォルトの名無しさん:03/07/22 21:10
質問です。If文のなかで、
If (Index > 10) And (Index Mod 10 <> 0) And (q_flg(Index - 11) = 0) Then
と、コードを書いたとします。
このとき、Indexの値は「9」だったとします。
最初の比較で、偽になるのでこのIf文は抜けるはずなんですが、
最後のところの、
(q_flg(Index - 11) = 0)
で、インデックスが有効範囲ではありません。
と出ます。
なぜでしょうか?

95 :デフォルトの名無しさん:03/07/22 21:12
>>94
誰か知らんが勝手にコピペするな

96 :デフォルトの名無しさん:03/07/22 21:22
>>94
Ifを分けて書けばいいわけで。

97 :デフォルトの名無しさん:03/07/22 21:26
>>94
仕様。>>96 の言うとおり、分けて書けばよし。


98 :デフォルトの名無しさん:03/07/22 21:31
>>92
WSHが入ってればOK。98以降(2000以降?)なら基本的に大丈夫。
95は標準では入ってなかった筈

99 :デフォルトの名無しさん:03/07/22 21:37
VB質問スレが荒れているので分かる方、教えて下さい。
VB6.0でレコードの更新のプログラムを組んだのですが、
SELECT FROM WHEREのWHEREで指定したフィールドのみ
更新できません。

これってどうして更新がされないのか
分かる人いませんか?


100 :直リン:03/07/22 21:38
http://homepage.mac.com/maki170001/

101 :デフォルトの名無しさん:03/07/22 21:41
>>99
質問の時は環境等を書いたほうがいいですよ。

102 :_:03/07/22 21:43
http://homepage.mac.com/hiroyuki44/

103 :99:03/07/22 21:46
環境は、VB6.0でWinXPです。



104 :デフォルトの名無しさん:03/07/22 21:54
>>103
ミドルウェアは何で、どういうコードを書いてるの?

105 :99:03/07/22 21:58
すいません・・・
ミドルウェアが分かりません・・・・

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

  with rs
.edit
テキスト
.update

です。

106 :デフォルトの名無しさん:03/07/22 22:28
>>105
SQL = "SELECT * FROM テーブル WHERE フィールド = " & "'" & name1 & "'"

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

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

とやっても、name2は更新されてname1が更新されないってこと?

107 :250:03/07/23 02:03
最大値の値を求めたいのですが
以下だとa(10)の値が出力されてしまいます。
初心者なのでどこが間違っているか分かりませぬ。
どうかご教授いただきたいのですが
for i= 0 to 10
max = a(0)
If a(i) > max Then
max = a(i)







108 :デフォルトの名無しさん:03/07/23 02:08
>>107
max=a(0)
for i=1 to 10
if a(i) > max then max = a(i)
next i

109 :250:03/07/23 02:15
>>108
ありがとうございます!!



110 :デフォルトの名無しさん:03/07/23 02:21
おいVBども端っこ歩け

111 :デフォルトの名無しさん:03/07/23 02:34
質問見るとホント初歩的な事ばっかだな・・・


112 :デフォルトの名無しさん:03/07/23 03:12
だからVBが馬鹿にされるんだよ… _| ̄|○

113 :デフォルトの名無しさん:03/07/23 09:23
VBでエクセルを開いて、複数列範囲選択し、選択した列すべて色を塗りたい
んですけど、下のコードだと1列目だけ色塗りされてしまってて
うまくいきません。
すみません教えてください。

grid_jcldisp.Col = 0
grid_jcldisp.ColSel = 9
grid_jcldisp.CellBackColor = vbButtonFace

114 :99:03/07/23 09:41
>>106
そうです。
どうしてなのか理由が分かりません。


115 :デフォルトの名無しさん:03/07/23 10:44
列と行両方指定しろよ・・・

116 :デフォルトの名無しさん:03/07/23 11:08
>>99
UPDATE文にしちまえ

117 :デフォルトの名無しさん:03/07/23 11:55
このスレ立てたのって、アハァを守りぬけとかなんとかいう
クソスレ立ててた自閉症児か?

118 :99:03/07/23 12:21
>>116
SELECT FROM を
UPDATE FROM ということですか?

やってみます。

119 :助けて〜@VBもままならない初心者:03/07/23 15:59
教えてください!
VBからアクティブにした状態のExcelのカレントフォルダのパスを取得したいのですが
どうすれば良いですか?

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

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

ここ2週間ほどがんばったのですが私の頭では分かりませんでした。。
分かる方すみませんが教えてくださいっ<(_ _)>

120 :助けて〜@VBもままならない初心者:03/07/23 16:05
すみません〜〜!!環境書くの忘れてました!!。。


開発してるパソコンは WIN_XP
VBは6です。。。


121 :デフォルトの名無しさん:03/07/23 17:34
7月、試用期間って終ってるはずだよなぁ・・・・・・夏か

122 :デフォルトの名無しさん:03/07/23 17:43
>>119
直接の回答ではないけど、SHGetFolderPath か何かで、マイドキュメントの位置を
取得すればいいだけじゃない?

123 :デフォルトの名無しさん:03/07/23 18:03
vb房にとっては1年中なつなのさ

124 :デフォルトの名無しさん:03/07/23 18:14
つぅか、マイドキュメントに保存したいのか任意のパスに保存したいのかどっちやねん

125 :デフォルトの名無しさん:03/07/23 18:50
プロジェクトグループでProject1からProject2のフォームなどを立ち上げたいときは
どうしたらいいのかな?


126 :デフォルトの名無しさん:03/07/23 20:21
>>125
別実行ファイルなんで、Shell やら COM コンポーネント呼び出しやらを使えばOK。

127 :デフォルトの名無しさん:03/07/24 00:32
FormにWebBrowserコントロールを貼りつけているのですが、起動時に
WebBrowserコントロールがどこかのページを読み込もうとしてしまい、
時間を食って困っています。
読み込んだページは「ページが表示できません」となってしまい、
WebBrowser.locationURLは "http:///" となっていました。
locationURLプロパティを作成時に設定しようとしましたがプロパティ一覧には
locationURLがありませんでした。

そこで質問なのですが、起動時に about:blank を素早く表示させるには
どうしたらいいでしょうか?
環境はVB6.0+IE6.0、WinXPです。宜しくお願いします。

128 :デフォルトの名無しさん:03/07/24 00:59
>>127
WebBrowser.locationURLにabout:blankを指定。

129 :デフォルトの名無しさん:03/07/24 01:08
>>128
Form_Load()に記述しましたが
コンパイル エラー:
引数の数が一致していません。または不正なプロパティを指定しています。

と言われてしまいました。
WebBrowser.Navigateでも読み込みにかなりの時間(指定しないのと同じだけの時間)
がかかってしまいました。

130 :デフォルトの名無しさん:03/07/24 01:15
すみません、遅かったのはロード後にWebBrowser.Documentをいじくる
自前の処理でした _| ̄|○


131 :128:03/07/24 01:23
>>130
こちらこそごめん。
適当に答えたものの罪の意識にさいなまれて、自分でもあれこれ試してました(w
WebBrowser.Navigate "about:blank"で速攻表示されるので、
他の処理が原因ではないかと書こうとしたところだった。すまんね。

132 :デフォルトの名無しさん:03/07/24 01:33
>>131
いえいえ…WebBrowser.Document.body.Style.innerHTMLに文字を指定するだけで
10秒近く時間を食われるとは思いませんでした。
この原因はWebProg板あたりで訊こうと思います。ありがとうございました。

133 :助かりました〜!!@VBもままならない初心者:03/07/24 08:45
>>122さん
ありがとうございます!
やってみます!すごい助かりました〜。。

>>124さん
文面がヘタクソでごめんなさい。。<(_ _)>
マイドキュメントの場所のパスが取得したかったです。。

134 :デフォルトの名無しさん:03/07/24 10:22
厨な質問ですいません。
実行中にSSTab上にコントロールを配置する方法を
教えて頂けませんか?

135 :デフォルトの名無しさん:03/07/24 11:52
>>134
Containerを指定すると置けますが。

136 :デフォルトの名無しさん:03/07/24 13:26
重複だゴラアア

137 :デフォルトの名無しさん:03/07/24 13:33
こっちは初心者向け。あっちは中級者以上向け。

138 :デフォルトの名無しさん:03/07/24 13:34
vbでエクセルのセルを複数選択して
背景色をつけたいのですがどうすれば・・・

139 :デフォルトの名無しさん:03/07/24 14:14
>>135
Containerを使う場合に、コントロールを置くTab(の番号)を指定したいのですが
上手く行きません(つД`)
どうかご教授お願いしますm(__)m

140 :デフォルトの名無しさん:03/07/24 14:19
VBって値段はどのくらいしますか?



141 :デフォルトの名無しさん:03/07/24 14:57
MsgBoxのボタンのキャプションを任意の文字列に変えるには?

142 :デフォルトの名無しさん:03/07/24 15:03
>>140
お店へGO☆

>>141
MsgBoxに似たFormを作るのほうがラクです。

143 :デフォルトの名無しさん:03/07/24 15:19
>>139
GotFocusイベントの中でためしたけど、
SSTab1.Tab = 0
Set Text1.Container = SSTab1
SSTab1.Tab = 1
Set Text2.Container = SSTab1
みたいな書き方でイケましたよ

144 :デフォルトの名無しさん:03/07/24 19:40
プロジェクトの参照設定からExcel8.0 Object Libraryの設定にチェックを入れて
プロジェクトを保存しても、次に立ち上げるときはまた、Excel8.0 Object Libraryの
チェックが消えていて。いちいち一回一回チェックいれなおさなくちゃならないのを防ぐのにはどうしたらよいですか?


145 :_:03/07/24 19:48
http://homepage.mac.com/hiroyuki44/hankaku04.html

146 :デフォルトの名無しさん:03/07/24 19:51
最近pinkbbsに投稿されたバイナリ。(画像・動画)
http://homepage3.nifty.com/coco-nut/

147 :デフォルトの名無しさん:03/07/24 21:40
教えてください。
セルに日にちを打って、横のセルに年度(一年が4月〜翌年の3月という年度)を
表示させたいのですが・・・
たとえば、1999/4/1は、1999年度、1999/3/31は、1998年度という風に。
VBでも、エクセルでもどちらでも出来る方法を教えてください。
お願いします。

148 :デフォルトの名無しさん:03/07/24 22:40
>>147
dateaddで3ヶ月引けば?

149 :デフォルトの名無しさん:03/07/25 03:29
仕事で先週独学にはじめてみたものの、夜中にテンパってます。(明朝提出)
ACCESSのMDBのフィールドを丸ごとADODCなんぞを使ってComboboxに吐き出させる方法はありますでしょうか。
ループさせて、ひとつづつ拾って、Additemするのが正解でしょうか?
お手数をおかけしますがご回答お願いします。

150 :デフォルトの名無しさん:03/07/25 04:08
俺は AddItem 一本でやるのが好き

151 :150:03/07/25 04:13
一応こっちも

>ACCESSのMDBのフィールドを丸ごとADODCなんぞを使ってComboboxに吐き出させる方法はありますでしょうか。
http://www.google.com/search?q=datacombo&lr=lang_ja

152 :119@VBもままならない初心者:03/07/25 08:56
>>122さん
できました〜!
ありがとうございました〜!

153 :デフォルトの名無しさん:03/07/25 12:57
すいません教えていただけませんか?いろいろと探したのですが、
みちからなかったもので・・・・。
VB6で通信制御系のアプリを書いています。

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

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

どなたか、過去のこれを解決された方、またはこれらを解説しているサイト、
もしくはヒントだけでも結構ですので、お教えいただければと思っています。
どうかよろしくお願い致します。


154 :デフォルトの名無しさん:03/07/25 13:11
>>153
EXEにしたときも止まりますか?
デバッグモードのときだけ止まった記憶があるんですが。

155 :デフォルトの名無しさん:03/07/25 13:16
>>154
ガーーーーーン
そうなんだ!!!
早速実験してみます。ありがとうございました!!!!!

156 :デフォルトの名無しさん:03/07/25 13:41
>>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は変わりました!!
いやーこんなこと知らなかったなんてお恥ずかしい。
でも、丸一日かけて調べていたので助かりました。本当にありがとうございました。
一応、後進の人のために詳しく結果報告させていただきました。長文をお許しください。

157 :デフォルトの名無しさん:03/07/25 15:32
アメリカ東部時刻および日付をGETしたいのですが、
PCのシステム全体のタイムゾーンを変更せずに取得する方法はありますか?
日本時間から時差分を考慮するのも考えていますが、
日付変更が入った場合の処理を書くのが面倒で・・・

私VBAをみようみまねで書いている初心者です。


158 :デフォルトの名無しさん:03/07/25 15:44
>>157
DateAdd関数はVBAでは使えないのかな?

159 :デフォルトの名無しさん:03/07/25 16:01
>>158
使えますね

160 :デフォルトの名無しさん:03/07/25 16:18
あとはサマータイムを考慮するかどうかでしょうかねぇ

161 :デフォルトの名無しさん:03/07/25 16:27
>>160
現状の時刻であれば、東部時間を示すNTPにアクセスしにいくってのは
どうでしょうね。VBAではできないかな・・・

162 :デフォルトの名無しさん:03/07/25 16:34
VBでエクセル上のセルをクリックすると
クリックしたセルを含む1ラインに背景色を付けるコードを作成したんですが
キーボードのカーソルでセルを移動すると消えてしまいます。
どうしたら・・・

163 :デフォルトの名無しさん:03/07/25 16:37
>>162
どんなコードにしたのでしょうか・・・

164 :デフォルトの名無しさん:03/07/25 16:42
>163
こんなんです
Col = 0
ColSel = 9
CellBackColor = vbActiveTitleBar
CellForeColor = vbWhite


165 :157:03/07/25 17:12
いろいろと情報ありがとうございます。
DateAddで目的は達成できました。
当面サマータイム固定でやることにします。


166 :デフォルトの名無しさん:03/07/25 17:41
テキストファイルの書式付データを取り込むとき
どんな関数を使ったら良いのでしょうか?
VBでもfscanfみたいな関数あるのでしょうか?


167 :デフォルトの名無しさん:03/07/25 20:29
>>166
無いと困ります?

168 :_:03/07/25 20:34
http://homepage.mac.com/hiroyuki44/

169 :デフォルトの名無しさん:03/07/26 10:28
>>166
書式のフォーマットさえきちんとしておけば、区切り文字でsplitかけたり、
いろいろとできるとおもいますよん

170 :v(・∀-)b:03/07/26 12:12
バカばっか

171 :(*´д`*):03/07/26 12:13
バカですいません

172 :デフォルトの名無しさん:03/07/26 13:05
メッセージボックスに入力がない場合、
一定の時間で、そのメッセージボックスを閉じることは
できまつか??

173 :デフォルトの名無しさん:03/07/26 13:21
>>172
MsgBoxに似たFormを作るのほうがラクです。

174 :デフォルトの名無しさん:03/07/26 13:31
>>173
お、ありがとうございます。
偽msgbox表示→LoopでDoEvents→偽msgboxに入力がある→変数を変化させる→
Loop内で変数の変化を認識する→偽msgboxを閉じる→loopを抜ける

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

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

ん?vbmodalにしておけば、Loopで判断しなくてもいいのかな??


175 :デフォルトの名無しさん:03/07/26 13:48
>>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

上記でいけました。意外と簡単でした。どもありがとうございました。

176 :デフォルトの名無しさん:03/07/26 18:18
外部のプログラムを起動する時はSystem関数で起動できるようなのですが、
コマンドプロンプトから実行する「dir」や「tree」等のコマンドを
VBから起動させるにはどのようにすれば良いのでしょうか?
dir > hoge.txt
とやりたいのですが。

177 :デフォルトの名無しさん:03/07/26 18:21
内部コマンドでもできます

178 :デフォルトの名無しさん:03/07/26 18:35
え?
その場合、System(PATH)
のPATHはどのように書けばよろしいですか?
「dir」だけだと実行時エラーになってしまうようなのですが。


179 :デフォルトの名無しさん:03/07/26 18:53
>>178
スマン、確かDOSとunixでそのコマンドは使った記憶があったんだけど(しかもC)。
vbとWin32APIに本当にそのコマンドある?

180 :デフォルトの名無しさん:03/07/26 19:00
system(PATH)
じゃなくて
system(command)
の方じゃない?

181 :デフォルトの名無しさん:03/07/26 19:03
あ、ごめんなさい。(UnixのC出身者ってバレタ)

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

おっしゃるとおりsystemじゃなくてShellです。

182 :デフォルトの名無しさん:03/07/26 19:21
じゃぁ
Shell("command.com /c dir > hoge.txt")
だな・・・

183 :デフォルトの名無しさん:03/07/26 19:50
おぉ、できた。ありがとうございます。
# これはどちらかと言うとVBよりDOSよりの話だったのかしらん?

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

その他にオプションやコマンドの詳細の確認方法を、
もしご存知でしたら教えてください。

184 :デフォルトの名無しさん:03/07/26 19:54
>>182

%COMSPEC% の方がいいかも。

185 :デフォルトの名無しさん:03/07/26 20:23
>>184
Shell (Environ("COMSPEC") & " /c dir > c:\hoge.txt")
すか?

186 :デフォルトの名無しさん:03/07/27 08:38
? asc("山")
-29102
コードをLongで扱いたいのです。つまり36434を得たいのですが。

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

なにか良い方法を教えて。


187 :デフォルトの名無しさん:03/07/27 13:46
>>186
? asc("山") + 65536
? asc("山") and 65535
なぜ負数になるのかが解ってればなんとでもなる。


188 :デフォルトの名無しさん:03/07/28 01:51
プログラムが終了する直前に動作する命令を組み込むにはどうすればいいでしょうか?

189 :デフォルトの名無しさん:03/07/28 02:07
VB勉強するのに
どんな本が良いの・・・・
て、こんな質問はだめなの?

190 :デフォルトの名無しさん:03/07/28 02:07
終了する直前のイベントに書く。
UnloadかTerminateあたりでないの。

191 :188:03/07/28 02:18
>>190
フォームの閉じるボタン(×)を押して終了した時は無理でしょうか?

192 :デフォルトの名無しさん:03/07/28 02:30
>>189
個人的に持ってて役に立ってるのは
ISBN4-7741-1166-X
です。アルゴリズムの本も知っておくと良いかと思います。

193 :デフォルトの名無しさん:03/07/28 02:43
>>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


194 :188:03/07/28 02:46
>>193
おぉ〜ちゃんと動きました
ありがとうございます m(_ _)m

195 :デフォルトの名無しさん:03/07/28 03:23
これから覚えるならVBよりもVB.netのほうがいいんですか?
.netじゃないVBって今から覚えても無駄になりますかね?

196 :デフォルトの名無しさん:03/07/28 03:34
>>195
無駄です。

197 :デフォルトの名無しさん:03/07/28 03:55
Visual Basic
それは生きていく上では全く役に立たない無駄な知識。
かのアイザック・アシモクはこう言いました。
「人間は無用な知識の数が増えることで快感を感じることができる唯一の動物である」

198 :デフォルトの名無しさん:03/07/28 05:10
vb自体覚えても無駄ですがナニカ?

199 :186:03/07/28 05:25
>>187
> ? asc("山") and 65535
> なぜ負数になるのかが解ってればなんとでもなる。

ありがとう。 

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





200 :デフォルトの名無しさん:03/07/28 06:33
>>198
なんで無駄なんだ?
ほんとに無駄だったらVBスレがこんなにいくつも栄えてるわけないだろ。

201 :デフォルトの名無しさん:03/07/28 06:48
>>199

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

Asc()関数は、Integer 型の戻り値なので、こうなっちゃうんだね。

202 :デフォルトの名無しさん:03/07/28 10:27
>>200
198はVBすらできない厨だから放置

203 :_:03/07/28 10:30
http://homepage.mac.com/hiroyuki44/

204 :デフォルトの名無しさん:03/07/28 14:54
ActiveX.EXEからよびだし元の変数は利用できるの?
これができればすげぇ便利なんだけど・・・・

205 :デフォルトの名無しさん:03/07/28 16:52
form1.controls.add "vb.TextBox", "txtadd1"
のようにして実行中に動的にコントロールを追加しているのですが、
これらをコントロール配列として使いたい時はどのようにすればよいで
しょうか?また、最初から配置された、配列になっているコントロールがあって、
それと同じものを次の添え字を与えて新しく追加する。みたいな事はできるの
でしょうか?
(?×?行列と指定されたら、そのようにテキストボックスを配置、表示する
プログラムを作ろうとしています。)

206 :デフォルトの名無しさん:03/07/28 17:31
>>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


207 :デフォルトの名無しさん:03/07/28 17:44
>>204
できる。

208 :デフォルトの名無しさん:03/07/28 18:37
>>207
お願いです、教えてくださいませ。

209 :デフォルトの名無しさん:03/07/28 18:37
>>206
即レス感謝です。


210 :s:03/07/28 18:38
☆無修正画像&サンプルムービーをどうぞ!!☆
http://yahooo.s2.x-beat.com/linkv/linkv.html

211 :デフォルトの名無しさん:03/07/28 18:44
>>208
ActiveX EXEに呼び出し元の変数(プロパティ)があるオブジェクトを渡す。
ActiveX EXEからイベントを発生させて間接的に変数を操作する方法もある。

212 :デフォルトの名無しさん:03/07/28 18:59
>>211
レスどうも!!、2つ目の方法はWITH EVENTとかを使ってためした
のですが、ACTIVEX.EXEをたくさん呼ぶので断念しました。
そこで、できれば上の方法をもう少し詳しく教えていただけないでしょう
か?というかVBでオブジェクトって渡せるんですか?


213 :デフォルトの名無しさん:03/07/28 20:20
テキストボックスの文字間隔は調整できますか?

214 :デフォルトの名無しさん:03/07/28 20:27
すいませんが教えてください。
マイクロソフトが提供している暗号化ロジックにcapicomというのがあるのですが、
開発環境ではしっかりと入力した文字が暗号化されたのですが、本番環境にて
下のようなエラーがでました。
CAPICOM_E_NOT_SUPPORTED
The requested operation is not supported in the current platform.
見るとこの環境では動かないよーとい感じの意味だと思うのですが、
開発環境と同じWindows NT4.0サーバ(sp6a)で動作しているので、何が足りない
のかさっぱりわかりません。
今まで環境面で調べた事はIISの設定とかランタイム関係などを見ました。
質問の内容がスレ違いかもしれないですが、ソースはVBスクリプトなので
こちらで質問させていただきました。
何か、散々調べているのですが、あまり使っている人がいないらしく、どなたか
過去にcapicomを使った方などいれば、何かアドバイスをー


215 :名無し@沢村:03/07/28 20:50
おまいらよ、VBでTVウェアをつくらないか?

http://pc2.2ch.net/test/read.cgi/tech/1059262203/l50

216 :デフォルトの名無しさん:03/07/28 21:52
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


217 :scooter:03/07/28 22:00
少し上のほうでの質問とかぶるのですが、どなたかわかる方教えてください。
VB6.0でactiveXDLLを作りました。
他のexeでそのDLLを呼び出して使いたいのですが、一応DLLを呼び出すところまでは行きましたが、
DLLから引数をとれてなかったんです。
思いつく限り様々な方法を試してみたのですが、どうしてもexeのほうにDLLで使用していた変数がわたりません。
どなたか教えてください。

218 :204:03/07/28 22:08
>>204
>>211
補足です。やりたい事は、オブジェクトを渡して、それを変更した物が返っ
てくる。みたいな事じゃなくて、Javaみたいにマルチスレッドなんだけど
オオモトの変数を普通に扱える。みたい感じの事です。
(マルチスレッドにしてそれぞれが計算終わらせたら結果を呼び元の変数
に入れたいんです)※イベントで呼び出し元の変数をいじるのはNGという
ことで、やっぱ無理なんでしょうか?


219 :デフォルトの名無しさん:03/07/28 22:13
1文字の入力エリアがあり、平仮名しか入力できないようにしてあります。
ここに濁点や゚のついている文字を入力された際に、自動で濁点をとるようにしたい
のですが、良いやり方ありますか?

一文字ずつ、「だ」が入力された場合は「た」に変換、と
長い長いSelectCase書かないといけないのでしょうか。

220 :デフォルトの名無しさん:03/07/28 22:21
パソコンにワード97とワードXPが共存してるんですが、vbからワードを開いたときに
ワードXPのほうが開かれてしまいます。
ワード97のほうを開くのは無理なんでしょうか?

221 :デフォルトの名無しさん:03/07/28 22:22
>>217
馬鹿も休み休み言ってくれ

222 :デフォルトの名無しさん:03/07/28 22:28
>>219
"だぢづでど"という文字列つくってmidで回して判定して
"たちつてと"という文字列のインデックスと入れ替えたら?

223 :デフォルトの名無しさん:03/07/28 22:33
>>220
フルパス指定しても?

224 :デフォルトの名無しさん:03/07/28 22:34
>216
なんだそのソース。寝言は寝て言え

225 :220:03/07/28 22:42
>>223さん
フルパス指定すれば97が動くのですが、できればフルパス指定しないで97を開きたいんですよ。
なんとかなりませんか・・?お願いします。

226 :デフォルトの名無しさん:03/07/28 22:49
>>225
簡単じゃないか。ワードXPを消せばいい。

227 :デフォルト名無しさん:03/07/29 00:00
関数の質問があります。
Trimなどの関数で$がついてTrim$と表現されてたりしますが、$をつけることによって
つけない場合と何が違うのでしょうか?


228 :デフォルトの名無しさん:03/07/29 00:19
>227
$を付けると戻り値がStringになる。そうじゃない時はVariant。

229 :ton:03/07/29 00:50
デスクトップ上の画面を取得するにはどうすればいいのでしょうか?
リモート操作できるものを作ろうと思っているんですが
その第一弾としてデスクトップ上の画面を描画(画像)でなく
動的?なものを取得したいのですがどうすればよいのでしょうか?
わかるかた助言ください

230 :デフォルトの名無しさん:03/07/29 01:10
>>229
定期的に画面を撮って、前回取得した画像との相違点を探せばいいだけでは。
デスクトップごとかソフト別かはお好きに。

231 :VBSアラシ:03/07/29 01:20
>>229
デスクトップ画面のDC(デバイスコンテキスト)を取得
PictureBoxのDCにコピーすればVBから画像を保存できるだろう
まずWin32APIの描画系の関数の知識のお勉強をすること(仕組みも少しはな)
DCとは何か?
よ〜くなwww
いちいちコード示さんよ、これぐらいで、描画は基本!!



232 :デフォルトの名無しさん:03/07/29 01:21
VB初心者というか、プログラミング自体したことも無く、
それで手を出そうと思っているので、どんなものかも分かっていないのですが、
ひとつ聞かせてください。
ここに回答者として書き込んでいるような皆さんは、
自分がまだ右も左も分からなかった頃、
何から始めたというか、何を参考にして勉強をしたのでしょうか。
参考書、web上の解説ページ等でしょうか。
上記の環境のみでイケるのなら、
自分にも努力次第で勉強できる気がしないでも無いのですが。

233 :VBSアラシ:03/07/29 01:26
補足だ
正確にはDCのハンドルを取得する
formやPictureBoxではhdcプロパティがそうだ
が、変数に取り込んおいてはイケナイ、いつ変動するか不定だからだ
使うときに直接取得する

言うまでもなく、VB作成以外のwindowのDCはもちろんAPI関数で取得。

234 :デフォルトの名無しさん:03/07/29 01:30
>>232
自分の場合は
・本を買う
・色々作ってみる
の繰り返しだった。手垢できたなくなるまで読み潰そう。

235 :VBSアラシ:03/07/29 01:33
>>232
かつてマイコンBASICマガジンという雑誌があった
読者投稿のソースコードをそのまま乗せるものだ
近年まであったようだが、いまや簡単にDLできる時代では考えられらいが、
みな、昔は他人のプログラムコードをその雑誌から手で打ち込んだ
もちろん、作者の説明などもあるし、どれも素人の短いものであるから、
実に勉強になった
とりあえず、完成されたコードを打ち込む、自分で、、改良してみる
これだなw

236 :デフォルトの名無しさん:03/07/29 01:36
>>234
了解しますた。
とりあえず明日VBの参考書を探してきます。

237 :デフォルトの名無しさん:03/07/29 05:39
>>236

その前に、ヘルプは読んだの?

238 :227:03/07/29 06:56
>>228
寝てました。
どうもありがとうございました。ぺこり。

239 :219:03/07/29 07:05
>>222
レスありがとうです。
やっぱ、そんなやり方しかないんですか?
まいったな…

240 :デフォルトの名無しさん:03/07/29 09:25
 30レベルくらいの深い階層のサブルーチンコールから、いっきに呼び出しもとの
メインに抜けたいのですが、VBではどのようにするのでしょうか?
 最深部でエラーが発生するのですが、元に戻るのが大変でなにか良い方法が
ないか探しています。


241 :デフォルトの名無しさん:03/07/29 09:53
>>240
(実行時)エラーが発生したら一気に戻るが?

242 :デフォルトの名無しさん:03/07/29 10:00
>>240
絵に描いたようなクソ設計だな (・∀・;)

243 :デフォルトの名無しさん:03/07/29 10:12
まさかGoSubとか使ってねぇだろうな・・・

244 :デフォルトの名無しさん:03/07/29 10:17
>>240
その前にクラス化とか考えれ。

245 :デフォルトの名無しさん:03/07/29 11:17
>>242
例外とか実行時エラーって知らないの?
エラーが発生したら呼び出しツリーをさかのぼって
トラップしている所まで帰るのは当たり前なんだけど。

246 :デフォルトの名無しさん:03/07/29 12:07
>>245
242だが、俺が言ってるのはそんなことじゃねーよw

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

これ、まともな設計してたらありえないからw

247 :デフォルトの名無しさん:03/07/29 12:19
>>246
うむ。言いたいことは解る。

でも、既にコードがあってそれに対する解決策もある。
なのにお前の答えは「クソ設計なので書き直せ」なんだな。


248 :デフォルトの名無しさん:03/07/29 12:26
>>247
「書き直せ」なんて一言も言ってないっつーの。
クソ設計だな と指摘しただけだよ。
それでどうするかは知らん。

249 :デフォルトの名無しさん:03/07/29 12:40
別に再帰とかなら30階層ぐらいいくだろ。

250 :デフォルトの名無しさん:03/07/29 12:48
>>248
>それでどうするかは知らん。
じゃあ出てくんなよ。

251 :デフォルトの名無しさん:03/07/29 12:49
>>249
再帰ならね。

252 :デフォルトの名無しさん:03/07/29 12:49
>>250
(゚д゚)ハァ?

253 :204:03/07/29 14:59
>>206
教わった通りためしてみたのですが、370個ぐらい表示するとエラー
が出て止まってしまいます。これはメモリとか、コレクションが保持可能
な個数とかそういうので無理なのですか?


254 :デフォルトの名無しさん:03/07/29 15:06
>>253
370個表示できたことのほうが驚きだ

255 :204:03/07/29 15:13
>>254
そうなんですか?そうすると、どうすればやりたい事は実現できるので
しょうか?


256 :デフォルトの名無しさん:03/07/29 15:14
☆★ 新商品 ゾク・ゾク 入荷!! 急げ〜!! ☆★☆
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
☆★ 送料激安!  スピード発送!  商品豊富!   
★☆      http://www.get-dvd.com        
☆★ 激安DVDショップ 「GETDVDドットコム」 
★☆      http://www.get-dvd.com        
☆★ 今すぐアクセス Let’s Go!   急げ! 
★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★


257 :デフォルトの名無しさん:03/07/29 15:20
>>255
どういう画面デザインにしたら370個も必要なのかのほうが知りたいぞw
やりたいことはよく分からんが、多分グリッドコントロールとか
同じコントロールの使いまわしとかで回避できるんじゃないか?

258 :204:03/07/29 15:39
>>257
一応書いた(かな)かもしれないんですけど、行列の計算をするプログラム
を作っています。しかし、しょうがないのでグリッドコントロールを使う方向
で考えてみます

259 :_:03/07/29 15:42
http://homepage.mac.com/hiroyuki44/

260 :デフォルトの名無しさん:03/07/29 16:26
タブ区切りのテキストファイルをAccessデータベースにそっくりそのまま追加したい
一行一行読んで追加すりゃできるのはわかるがもっと効率の良い方法あれば教えれ

261 :デフォルトの名無しさん:03/07/29 16:27
>>260
タブをカンマに変えてCSVで読み込む・・・ってタブ区切り対応してないの?Access

262 :さとこ:03/07/29 17:06
関連付けられたアプリケーションでファイルを開くには
WindowsAPIのShellExecuteを使いますよね?
VB6だと
Call ShellExecute(0, "Open", ファイル名, "", "", 1)
こんな感じでも動くのですが、
VB.netだと動かないのですよ!
昨日からものすごく困ってます。
どうしたらよいですか?
是非、教えてください!

263 :デフォルトの名無しさん:03/07/29 17:07
>>262
VB.NETスレで聞きましょうね

264 :さとこ:03/07/29 17:10
すみませんでした^^;

265 :デフォルトの名無しさん:03/07/29 17:26
10みたいな質問でスマンが、
サービス実行中のアプリを強制終了さすにはどうすればいいんだ?
net stopじゃなくてプログラムの強制終了。


266 :デフォルトの名無しさん:03/07/29 23:53
listboxの内容をテキストファイルに出力する方法
を教えて頂きたいのですが。
超初心者ですいません

267 :デフォルトの名無しさん:03/07/30 00:02
>>266
たとえばテキストボックスに出すなら
Dim i As Long
Text1.Text = ""
For i = 0 To List1.ListCount - 1
Text1.Text = Text1.Text & List1.List(i) & vbCrLf
Next i

テキストファイルに出すのは改造しとくれ。

268 :デフォルトの名無しさん:03/07/30 00:49
iってintの略かと思ってた

269 :デフォルトの名無しさん:03/07/30 00:51
>>268
indexのiでは?

270 :デフォルトの名無しさん:03/07/30 00:53
>>268-269
iteration 繰り返し, 反復.

271 :デフォルトの名無しさん:03/07/30 00:53
80へぇ獲得。

272 :デフォルトの名無しさん:03/07/30 00:54
FOTRANでの整数として使える最初の文字


273 :デフォルトの名無しさん:03/07/30 04:03
すみませんが、以下の中に、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

どうかどなたか、可能か不可能か、もし可能ならそのやり方を教えていただけないでしょうか?
実は、仕事が差し迫って、大変急いでおります。恐縮ですがどうかお願いいたします。

274 :_:03/07/30 04:39
http://homepage.mac.com/hiroyuki44/

275 :デフォルトの名無しさん:03/07/30 05:30
>>273
そこまで情報を集めておきながら、何故・・・
あとはテストコード作って試すだけでしょう?

276 :273:03/07/30 07:23
>>273
確かにそのとおりで、すでに何度もテストコードを書いております。
しかしどうしてもうまくいかないのです。
実はデスマーチの最中で、非常に疲労していて、普段ならしないような間違いを
たくさんしております。自分ではもう、何が正しいのか、見極められなく
なってしまったのです。

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

どうかよろしくお願いします。

277 :273:03/07/30 07:24
上の >>273>>275 の誤りです。ああもう。

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

どうかどなたか、可能か不可能か、はっきりさせていただける方の登場を
痛切に希望いたします。


279 :_:03/07/30 08:07
http://homepage.mac.com/hiroyuki44/

280 :_:03/07/30 08:10
http://homepage.mac.com/hiroyuki44/2ch.html

281 :デフォルトの名無しさん:03/07/30 08:11
文字列のポインタをStrPtrで取得してLong型変数に入れるとか
文字列をByte型配列に入れるとか。

282 :デフォルトの名無しさん:03/07/30 08:38
固定長文字列じゃだめなんだろうか。

283 :デフォルトの名無しさん:03/07/30 08:50
>>278

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



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

既存のDLLで引数の方が決まっているのなら呼び出し方法が
間違っているのであろう。その間違っているコードを晒せ。

285 :デフォルトの名無しさん:03/07/30 09:41
>>276
その状況を改善するか、会社辞めるのが最善策とおもわれ

286 :_:03/07/30 09:43
http://homepage.mac.com/hiroyuki44/2ch.html

287 :デフォルトの名無しさん:03/07/30 10:17
VBのプロシージャについてお伺いします。
二次元配列を渡したいのですが、エラーが出ます。
VBでは関数の引数で配列を使う場合、
アドレス渡しですか、値渡しですか?
宜しくお願いします。

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

sub load_data(paramarray cmb_data())
'二次元配列にデータを格納
end sub


288 :273:03/07/30 10:18
実際のコードです。
関数名などは変えてあります。


関数名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;


289 :273:03/07/30 10:19
----------------------------------------------------------------------
'全ユーザ情報取得処理
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が領域確保した場所に、配列を書き込んでくるのだと思います。



290 :273:03/07/30 10:20
  lngRetrun = GetAllUserList(vbNullString, intCount, lngPointer)
  'APIを呼び出しています。

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


これを実行すると、「リ・」などと表示されるだけで、ぜんぜんデータが返ってきません。
90名の登録があるはずなのに。
メモリをダンプしてみましたが、256*90バイト以上消費されるかと思ったら、
107バイトし書き込まれませんでした。おかしい…。

291 :273:03/07/30 10:24
今し方、新しい話がきました。
APIの側は、領域確保は自分でやっていて、VBが領域確保しなくても
エラーは出ないはず、と言ってきました。
だけどエラーが出るんです。

以上です。職場からは書き込めないので、携帯を介してアクセスしてます。
あまり高速で応答できません。すみません。

292 :デフォルトの名無しさん:03/07/30 10:31
>>291
ついでに動かないとか言うふざけた症状も伝えればどうだ?


293 :デフォルトの名無しさん:03/07/30 10:41
>>287

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

>>288

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

>>289

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

>>291

C の方で確保しているのなら、Long を ByRef で渡せば、アドレスが変数に
設定されるんじゃなかったけかな。

294 :デフォルトの名無しさん:03/07/30 10:49
寝るんで、あと気をつける点をば。

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

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

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

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

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

そんなものかな。頑張ってね。

295 :287:03/07/30 10:58
>>293 様
レス有難うございます。m(__)m

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

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

cmb_data(clmloop - 1, arrayloop) = Cells(rowloop, clmloop).Value

296 :273:03/07/30 10:59
わたしが参考にした>>273のサイトではByValでLongを渡していたようだったので、
私もそうしたのです。
ByRefに変え、lngPointer = StrPtr(strBuffer)をコメントアウトすると、
"0x10004e3d"の命令が"0x11f7bdd8"のメモリを参照しました。
メモリが"written"になることはできませんでした。

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

ちなみにこのdll、ほかの部門(VB.NETを使っている)では動いているそうです。

297 :_:03/07/30 11:12
http://homepage.mac.com/hiroyuki44/

298 :_:03/07/30 11:15
http://homepage.mac.com/hiroyuki44/2ch.html

299 :デフォルトの名無しさん:03/07/30 11:24
>>296

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

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

VB.NET で動いてるんなら、ソース見せてもらえばいいじゃん。

300 :デフォルトの名無しさん:03/07/30 11:48
>C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を
C の DLL の仕様を


301 :デフォルトの名無しさん:03/07/30 12:08
日本語が分からない奴が来たのか?
相変わらずVBスレには厨がよく来る。

302 :273:03/07/30 12:16
すみません。ちょっと書き込む時間が取れませんでした。
dllの作成者側からは、構造体配列の参照渡しといわれているのですが、
実際は、
・declare部でポインタをByRefで宣言すると、メモリ書き込みエラーになる。
byValならエラーは出ない。
・ByValでも、あらかじめ領域確保したアドレスを納めたポインタをdllに渡さないと
 書き込みエラーになる。
という奇妙な状態なのです。


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

厨房で申し訳ないです。

303 :デフォルトの名無しさん:03/07/30 12:17
>>302
言葉じゃなくCの宣言をそのままアップしてくれと。

304 :273:03/07/30 12:22
Cのソースはもらっておりません。
もらっているのは>>288の仕様書だけです。
Cソースをうちの会社がもらえるかどうかはわかりません。
すみません。

305 :デフォルトの名無しさん:03/07/30 12:25
>言葉じゃなくCの宣言をそのままアップしてくれと。

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

(;´Д`)

306 :デフォルトの名無しさん:03/07/30 12:25
まぁ、答えを言ってしまうと_cdeclだったりな。

307 :デフォルトの名無しさん:03/07/30 12:27
ヘッダファイルくらいはもらえるんじゃない?
ヘッダフィルがなけりゃC言語から使えないし。

308 :273:03/07/30 12:34
ヘッダファイルはもらっていました。すみません。

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

知人のノートPCを携帯で接続しています。書き込みが遅れるのをご容赦ください。

309 :デフォルトの名無しさん:03/07/30 12:35
>>302

#まだ寝てなかったり。

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

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

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

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

>>305

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

>>306

それに関しては、VB.NET のソースを見れば一発だわな。

310 :デフォルトの名無しさん:03/07/30 12:37
>>308
ポインタの配列って受け取りようあるんかいなと。

311 :デフォルトの名無しさん:03/07/30 12:44
> 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とかで適切なデータ型にコピーするんじゃないの?

312 :_:03/07/30 12:46
http://homepage.mac.com/hiroyuki44/

313 :デフォルトの名無しさん:03/07/30 12:46
>>311
>ByVal User As Long

帰ってくんの?User。

314 :273:03/07/30 12:48
__cdeclではなく、__stdcallのようです。
恥ずかしながら意味はわかりませんが。
ヘッダファイルと、.NETのソースにそのワードがありますので。

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

ヘタレな私にはどうしようもない感じになってきました。
ああ、もうすぐ締め切りの時間です。どうしよう…。


315 :デフォルトの名無しさん:03/07/30 12:51
.NETでのソースを出せば詳しい人が変換してくれるかもしれない。

316 :273:03/07/30 12:52
宣言部でポインタをbyRefにするとメモリ書き込みエラーになってしまうんです。
>>302にも書きましたが。

int と long は問題ないと思います。
関数の返値はエラーレベルなのですが、これは正常に取得できています。
cntはユーザ数なのですが、これも正解である90が取得できてます。

317 :273:03/07/30 12:55
コンピュータのやることですから、不思議なことは何もないはずで、
ただヘタレな私が見落としている点があるだけのはずなんです。

なにが起こっているのか、何か思いつかれた方はいらっしゃいませんか?

318 :デフォルトの名無しさん:03/07/30 12:56
>何が起こっているのか

悲しいVB厨のAPI奮闘記

319 :デフォルトの名無しさん:03/07/30 13:00
またアンチVB厨が紛れ込みやがった。うぜー。

320 :デフォルトの名無しさん:03/07/30 13:03
*a[]

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

無理だわ。無理。


321 :デフォルトの名無しさん:03/07/30 13:08
>>320 無理な理由が無い。自己満足は止めなさい。アンチVB厨か?

322 :デフォルトの名無しさん:03/07/30 13:10
ポインタ配列ったって、たかがメモリのアドレスを指してる
変数の配列に過ぎないわけだが。

323 :デフォルトの名無しさん:03/07/30 13:10
>>321
では、建設的な解決方法をお願いします。

324 :デフォルトの名無しさん:03/07/30 13:13
>>323 それを今やっているんだろ。意味の無いレスでじゃまするのは止めろ。

325 :_:03/07/30 13:14
http://homepage.mac.com/hiroyuki44/kaz04.html

326 :デフォルトの名無しさん:03/07/30 13:15
>>324
出来るなら1レスで済む話じゃないですか?
はいはい、こんな煽りに反応する暇あったら回答してあげて下さいよ(藁

と、言うか同じ仕様のDLL書いてそれをどうやれば読めるのか実験。
それで誰が悪いのか確かめた方が早くない?

327 :デフォルトの名無しさん:03/07/30 13:15
>>316
>宣言部でポインタをbyRefにするとメモリ書き込みエラーになってしまうんです。

理屈どおりだとByRefでしょ。この場合。
それがなぜエラーになるのかを考えず、対症療法で
ごまかそうとするから、いつまでたってもうまくいかないんじゃないの?

328 :デフォルトの名無しさん:03/07/30 13:18
>>326
仕様が不確定なんだから1レスじゃすんでないの。
煽りと認めるのはいいが、煽りをするくらいならちゃんと回答しろ。

329 :デフォルトの名無しさん:03/07/30 13:19
>>328
インターフェースと、「メモリは向こうで確保されている」。
実験するには純分でしょう。

だから煽りに反応する暇あったらコード書いてやれって。

330 :デフォルトの名無しさん:03/07/30 13:21
>>329 お前が書けよ。

331 :デフォルトの名無しさん:03/07/30 13:22
>>329
そうだお前が書けよ。

332 :デフォルトの名無しさん:03/07/30 13:22
>>330
C書けないなら書けないって素直に言えばいいのに。

333 :デフォルトの名無しさん:03/07/30 13:25
アンチVB厨うぜー。

334 :デフォルトの名無しさん:03/07/30 13:25
>>332=>>320
だろ? お前がポインタというものの本質をまったく理解していないことが
分かる名文だったな、あれはよ。( ´,_ゝ`)プッ

335 :デフォルトの名無しさん:03/07/30 13:28
>>334
まぁ、言うのは勝手だが、さっさと答えだしてやれ。
質問者から見たら折れもお前も答えの出せない低脳君だ。

336 :デフォルトの名無しさん:03/07/30 13:30
>>335

 お ま え が 質 問 者 だ ろ

煽ってソース引き出そうなんて、きょうびはやらねーんだよこのド低脳が

337 :デフォルトの名無しさん:03/07/30 13:31
>>336
違うぞ。

338 :デフォルトの名無しさん:03/07/30 13:34
つーかメモリ確保をどちらで行ってるとかの問題も含め、
単純に質問者がVB.NETで動作してるソースを晒せばよろしい
それを見りゃ分かる

339 :デフォルトの名無しさん:03/07/30 13:35
>>338
マーシャリングしてるらしいぞ。

340 :273:03/07/30 13:42
ああっ、いつの間にか荒れている。
どうもすみません。まとまらない質問をした私が悪いと思います。すみません。

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

いろいろお世話になりました。ありがとうございました。

341 :273:03/07/30 13:58
最後に、.NETのソースを書いておきます。
ここだけ見てわかるのかどうか、判断がつきかねますが、
私の書いたコードではないので、あまり公開するわけにも行きませんので、
ご容赦ください。

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



342 :273:03/07/30 13:58
  ' 全ユーザ取得
  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


343 :273:03/07/30 13:59

    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


344 :デフォルトの名無しさん:03/07/30 14:01
へぇ、最近のVB.NETってアンセーフなこと出来るんだ。

345 :273:03/07/30 14:04
最後の最後に告白です。
実は私は、VBに関しては厨房ですらありません。
マシンにインストールしたのが一週間前。VBの仕事は初めてです。
本当にご迷惑をおかけしました。すみません。

346 :デフォルトの名無しさん:03/07/30 14:08
ならVB.NETでやっても変わりないじゃん!!
なんじゃそりゃw

347 :デフォルトの名無しさん:03/07/30 14:09
>>346
解らなかった癖に・・・。

348 :デフォルトの名無しさん:03/07/30 14:11
>>346に対してどうして>>347のレスがつけれるのか

その思考回路が解からない

349 :デフォルトの名無しさん:03/07/30 16:34
すいませんが、質問です;;

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

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

で、入力されたデータが、カンマ区切りデータのいずれかと一致すれば
OKというプログラムを組みたいのですが、なにかいい案はないでしょうか。。
申し訳ございませんが、教えてください。

350 :デフォルトの名無しさん:03/07/30 16:37
>>349
その変数A、Bってのは文字列なの?
とりあえずInStrを調べてみそ。

351 :349:03/07/30 16:54
文字列です。

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

すいませんです;;

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

353 :349:03/07/30 17:01
>>352

ありがとうございます。がんばってみます!

354 :デフォルトの名無しさん:03/07/30 19:29
>>349
変数Aと変数B両方カンマで挟んだらInStr使えねーか?
"'" & 変数B & "'"のなかに"'" & 変数A & "'"があるかどうか。

355 :デフォルトの名無しさん:03/07/30 20:21
Win98、VB6.0SP5でwinlessコントロール(コンボボックス)
を使ったプログラムを作ったのですが
winXPの環境で起動すると
RunTime Error '7' Out of memory
と出て動作しなかったそうです。
Exeと同じ階層にmswless.ocxを入れてありますので、
winlessコントロールが動かなかったわけではないと思うのですが
原因がわからず、困っています。
何か原因がわかるかたいましたら教えてください。

356 :デフォルトの名無しさん:03/07/30 20:25
>>355
インストーラでやりました?
ocxは登録してますか?

357 :355:03/07/30 20:38
>>356
インストーラ使っていません。
ocxも登録していません。
普通にExeを作成で作ったものとOcxファイルを渡していました。
インストーラを使えばいいのでしょうか?


358 :デフォルトの名無しさん:03/07/30 20:41
>>357
試してからでも遅くはあるまいて

359 :355:03/07/30 20:43
>>358
そうですね。。(汗
アドバイスありがとうございました。

360 :デフォルトの名無しさん:03/08/01 00:20



361 :デフォルトの名無しさん:03/08/01 00:52
現在無茶にも、VBで多倍長演算をしようと考えています。そこで、
どなたか、多倍長演算のAPIとかを知っているかたいませんか?

362 :デフォルトの名無しさん:03/08/01 00:55
>>361
ふつうに計算しては?

363 :デフォルトの名無しさん:03/08/01 01:26
>>362
どういう意味でしょうか?最初から多倍長だという事ですか?

364 :デフォルトの名無しさん:03/08/01 01:43
>>363
通貨型 (Currency)
-922,337,203,685,477.5808 〜 922,337,203,685,477.5807
でも足りなければ、多倍長演算ルーチン作れということでしょうね


365 :デフォルトの名無しさん:03/08/01 01:51
>>364
vbで多倍長演算ルーチンを扱っているサイトとかありませんか?



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




367 :デフォルトの名無しさん:03/08/01 02:22
>>366
みんな自分の都合じゃないの??????


368 :デフォルトの名無しさん:03/08/01 02:28
・初心者優先であること
・VB仕様外であるからレスを期待しない<だから1度聞け
・自力でなんとかいう努力が見られない、検索云々もない
・従ってオマエの都合には合わせる気にはならん
以上

369 :デフォルトの名無しさん:03/08/01 04:08
まぁ、答えたくないやつは答えなければいいし、答えたいやつは答えれば
いいし、と。

>>365

VB.NET だけど、ほれ

http://www.tokyo-pax.co.jp/pasovb5.htm

370 :デフォルトの名無しさん:03/08/01 07:06
重複スレのhttp://pc2.2ch.net/test/read.cgi/tech/1058702281/119です。
答えていただいた方、ありがとうございました。
パッと理解できない難しい事ですが、ちょっと勉強してみます。
どもでした。

371 :デフォルトの名無しさん:03/08/01 09:24
>>370
みなさんご迷惑をおかけしました。369さんありがとうございます。


372 :デフォルトの名無しさん:03/08/01 18:33
シニス

373 :デフォルトの名無しさん:03/08/01 18:40
所詮vb使ってる奴等なんてこんなもの

374 :デフォルトの名無しさん:03/08/01 18:48
助言すらできない奴がいるみたいだけど気にすんな

375 :デフォルトの名無しさん:03/08/02 00:14
AS/400に標準でくっついてるDBにアクセスして
レコードを取得したり挿入したりしたいんですけど、
参考になるサイトがあれば教えていただきたい。

376 :_:03/08/02 00:14
http://homepage.mac.com/hiroyuki44/jaz09.html

377 :361:03/08/02 00:23
>>369
どうにか教えていただいたサイトを参考に、プラス・マイナスどちらでも
与える事のできる加算関数と同じく乗算の関数を作る事ができまいた。
ついでにネットで探してもVBのこういったものはあまり見かけなかった
ので一応アップしておきます。(サンプルプロジェクトになっています。)
http://www12.ocn.ne.jp/~mygrid/Project1.zip

378 :361:03/08/02 00:25
>>377
補足ですが、速度はまったく気にしていないのでめちゃくちゃかもしれ
ませんが気にしないで下さい。後、なにかアドバイスがあればおねがい
します。


379 :デフォルトの名無しさん:03/08/02 00:26
おいおい、グロかよー…。

380 :デフォルトの名無しさん:03/08/02 01:28
>>379 必死だな(w

>>378
「まりな」って誰よ?(w

381 :デフォルトの名無しさん:03/08/02 01:32
>>378
ツマラン指摘で悪いんだが
> Private Function FrontSpace(ByRef tstr As String, OneUse As Integer) As String
> Dim i, j As Integer
iがバリアントになっている。(わざと?)
あと全般的に文字列じゃなくてバイト配列でやったほうがいいのではと思った。
ついでにクラスを使ってもっと自然な感じに。

382 :山崎 渉:03/08/02 02:03
(^^)

383 :デフォルトの名無しさん:03/08/02 09:21
>>377
Superlong Calculator
ttp://www10.plala.or.jp/sryu/top.htm

384 :375:03/08/02 10:15
またまたカキコで申し訳ない。
AS/400に標準でくっついてるDBにつなげたいのですが
どなたか教えてください。


385 :361:03/08/02 10:26
>>381
ご指摘ありがとうございます。あと、バイト配列でやるというのはどうい
うことでしょうか?引数もバイト配列で与えて、戻り値もバイト配列に
するという事でしょうか?それとも、関数内部でバイト配列に置き換えて
、という事でしょうか?ご教授ねがいます。


386 :361:03/08/02 10:28
>>385
書き忘れたのですが、一応VBで多倍長演算の関数は書いてみたもの
の、遅い・・・・・、なので、Cとかで作ってある外部DLLを提供している
サイトとかどなたか知ってらっしゃったら教えて下さい。


387 :一桁一バイト:03/08/02 10:37
>>386
多分、遅いのはVBよりもプログラムの問題じゃないかという気がする。
それを高速化させる手段の一つが>>381なんじゃないかと。


388 :デフォルトの名無しさん:03/08/02 11:34
うん、ブタプログラミングだ。

389 :デフォルトの名無しさん:03/08/02 14:29
>>387
Dim i As Integer, j As Integer
って書かなきゃいけないのを知らないひとは、それなりにいるかも。
他言語で馴れてるひととか。たぶん、>>378が使ってきた言語はC言語。

390 :デフォルトの名無しさん:03/08/02 14:44
ただ知らなかっただけと見るが…。

391 :デフォルトの名無しさん:03/08/02 15:14
>>389
で?

392 :デフォルトの名無しさん:03/08/02 16:50
変数も知らないヤツなんてvbやってるヤツぐらいだろ

393 :デフォルトの名無しさん:03/08/02 17:13
>>392
お前は何か勘違いしていますね。

394 :デフォルトの名無しさん:03/08/02 17:27
vb使いを煽ったつもりが、vb使いと同じレベルだった罠

395 :デフォルトの名無しさん:03/08/02 17:30
念のために解説

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

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

ちなみにaとbはVariant

396 :デフォルトの名無しさん:03/08/02 17:32
正しい煽り例

vbやってるやつは全部Variantでも使っとけ

397 :デフォルトの名無しさん:03/08/02 17:52
>>395
笑い所解説されるくらい冷めることはない。

>>396
面白いこと言ってんの、それ?

398 :デフォルトの名無しさん:03/08/02 17:53
>>397
お前の滑稽さが何とも言えずおもしろい。

399 :デフォルトの名無しさん:03/08/02 17:54
>>396=>>398
光栄です。

400 :デフォルトの名無しさん:03/08/02 18:06
>>399
残念ながらはずれです。

401 :デフォルトの名無しさん:03/08/02 18:08
俺です。

402 :デフォルトの名無しさん:03/08/02 18:31
>>397
ここはべつに笑うためのスレじゃないんだが。

403 :デフォルトの名無しさん:03/08/02 18:33
もういいだろ。

  ↓次の質問ドゾー

404 :デフォルトの名無しさん:03/08/02 18:41
>>395はVB初心者にとってよくある間違いだろうから、それなりに有益だろ。
笑い所とか言ってるあたりがさすがVBプログラマというか。>>397に苦笑い。

405 :デフォルトの名無しさん:03/08/02 18:43
一番笑いのセンスがあるのは>>392

406 :デフォルトの名無しさん:03/08/02 18:45
>>405=>>392ということでオk?

407 :デフォルトの名無しさん:03/08/02 18:52
>>406
MsgBox ">>405=>>392ということでオk?", vbOKOnly

408 :デフォルトの名無しさん:03/08/02 18:53
なんだ、この状況。

409 :デフォルトの名無しさん:03/08/02 18:54
笑われるセンスがあるのは>>392だろうな

410 :デフォルトの名無しさん:03/08/02 19:23
笑わせると笑われるでは大きく違うな

411 :デフォルトの名無しさん:03/08/02 19:27
アンチVB厨がまた荒らしているのか。はぁぁ。

412 :デフォルトの名無しさん:03/08/02 22:12
ふとんがふっとんだ


413 :デフォルトの名無しさん:03/08/02 22:20
取りに行けよ。

414 :デフォルトの名無しさん:03/08/02 22:44
ntpサーバの時刻をもとめたいのですが、
どのように求めたらよいでしょうか?

415 :デフォルトの名無しさん:03/08/02 23:00
こんなに見えちゃってヤバクない???
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html




416 :デフォルトの名無しさん:03/08/02 23:00
>>414
sntpにしとけ。

417 :デフォルトの名無しさん:03/08/03 02:08
アナルがふっとんだ

418 :ton:03/08/03 04:34
聞きたいことがあるのですが!DirectXを使用して
VBの機能であるボタンやリストボックス、
はたまたActiveXで作ったオリジナルなボタンなどを
操作することができるのでしょうか?
だれかご指導ください

419 :デフォルトの名無しさん:03/08/03 04:39
>>418
フツーにできるが、何か?

420 :ton:03/08/03 04:53
ほんとだできました

421 :デフォルトの名無しさん:03/08/03 10:04
>>420
仕事速ぇーな。


422 :デフォルトの名無しさん:03/08/03 10:34
ていうか、そんなすぐできることを (多分たいして調べもせずに) 質問するなよ。

423 :デフォルトの名無しさん:03/08/03 14:10
WinXPのWordにVisual Basicがついてるなんて初めて知った。
なんで今までだれも教えてくれんかったんだ。

424 :デフォルトの名無しさん:03/08/03 14:13
>>423
??
君と話したくないんじゃないかな。

425 :デフォルトの名無しさん:03/08/03 14:27
>>424
ワラタ。

>>423
Offceに入ってるアプリ全部についてる。
Outlookにすらついてるよ。

426 :デフォルトの名無しさん:03/08/03 14:37
>>425
機能は市販のVBとかと同じなの?

427 :デフォルトの名無しさん:03/08/03 14:38
>>423->>425
買ってないんだがVBのバージョンは何なの

428 :423:03/08/03 14:40
>>427
Microsoft Visual Basic 6.3

429 :デフォルトの名無しさん:03/08/03 15:06
DocomoはJAVAですけどJ-PhoneはVBで携帯アプリつくれますか?

430 :デフォルトの名無しさん:03/08/03 15:13
>>429
どのキャリアも無理。

431 :429:03/08/03 15:25
>>430
んー・・・JAVAやることにします

432 :デフォルトの名無しさん:03/08/03 16:02
携帯はもうそろそろFlashの時代になりそうだけどね。
Javaは作るのが難しいだけでJava使う意味は無いから。

433 :デフォルトの名無しさん:03/08/03 16:06
まだ、本域でFLASHやろうと表明してんのはドキュモだけじゃなかったっけ?

434 :デフォルトの名無しさん:03/08/03 17:15
リッチテキストボックスとかで入力した文字が
自動リンクになるような方法ありますか?
HTTP://WWW.YAH00.CO.JP/
とかが入力してる途中にURLだと判断されたら青い文字になって
それがリンクになるみたいな

435 :デフォルトの名無しさん:03/08/03 17:17
>>434
少なくともそれはURLではない。

436 :デフォルトの名無しさん:03/08/03 17:18
ここって大文字でもリンクするんだな。


437 :デフォルトの名無しさん:03/08/03 17:22
大文字で書き込んだらどうなるかなと思ってテストを兼ねた質問です
ごめんなさい

438 :デフォルトの名無しさん:03/08/03 18:11
>>436
されてませんが

439 :デフォルトの名無しさん:03/08/03 18:16
>>438
http://pc2.2ch.net/tech/

440 :デフォルトの名無しさん:03/08/03 18:32
>>439
なに?

441 :デフォルトの名無しさん:03/08/03 18:36
>>440
スレッドを個別に表示した場合はリンクされないが、一覧表示(http://pc2.2ch.net/tech/)した場合はリンクされ(てい)る。
HTTP://pc2.2ch.net/tech/

442 :デフォルトの名無しさん:03/08/03 18:52
なんか、このレス群、みたことあるぞ。
デジャヴュ?

443 :デフォルトの名無しさん:03/08/03 20:16
画像の縦横サイズを取得したいのですが、そのようなapiとかないっスか?
jpg、gif、pngでも取得出来れば十分でございます。

444 :デフォルトの名無しさん:03/08/03 20:27
>>443
Image

445 :429:03/08/03 21:30
>>432ふうん

446 :デフォルトの名無しさん:03/08/03 23:41
とあるサイトでVBのことを
オブジェクト指向言語と書いてあったのですが、
そうなのでしょうか?

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

どなかた教えていただけないでしょうか?

447 :デフォルトの名無しさん:03/08/03 23:49
>>446
まあ、グレーだな。
一応クラス (らしきもの) は作れるけど、継承とかできないから不完全と言えば不完全。
少なくとも、VB でオブジェクト指向を学ぶと言うのは避けたほうがいい。
VB は あくまでも VB だから。

448 :デフォルトの名無しさん:03/08/04 00:31
>>443
それぞれのファイル構造を調べてバイナリ取得

449 :デフォルトの名無しさん:03/08/04 01:33
> VB は あくまでも VB だから。
激しく無意味なことを言っているような気がするが・・・。

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

VBはJavaやC#やVB.NETよりはオブジェクト指向言語ではないが、
アセンブラやC言語よりかはオブジェクト指向言語ということだね。

450 :デフォルトの名無しさん:03/08/04 01:38
それからオブジェクト指向を学ぶならsmalltalkの方がいいかも。
実践向けとは言い難いがJavaやC#よりも純粋な
オブジェクト指向言語だからね。

451 :デフォルトの名無しさん:03/08/04 03:15
>>450
まあ学んでどうなるってものでもないがw

452 :デフォルトの名無しさん:03/08/04 07:31
VBでオブジェクト指向なんてやろうとする奴なんてろくなもんじゃない

453 :デフォルトの名無しさん:03/08/04 09:48
>>452
んあ?

454 :デフォルトの名無しさん:03/08/04 10:10
>>452 Cでオブジェクト指向やるよりかははるかにマシだがな。

455 :デフォルトの名無しさん:03/08/04 11:38
わざわざご丁寧にお世辞を言う>>452が一番ろくでもない奴という罠。

456 :デフォルトの名無しさん:03/08/04 11:48
へいべいべ、そういうときは俺のジョークを聞いてくれ

「バイナリ小なり」


457 :デフォルトの名無しさん:03/08/04 12:53
CでOOをやる必要を感じないんだが

458 :_:03/08/04 12:54
http://homepage.mac.com/hiroyuki44/

459 :361:03/08/04 13:04
>>377
前回アップしておいたソースにバグがあり修正いたしました。見てく
ださった方。もしよろしければ、修正後をどうぞ。ついでに、そのソース
をCで書き直してみました。こちらもよろしければ(やっぱCは早い!!)
http://www12.ocn.ne.jp/~mygrid/Project1.zip

460 :デフォルトの名無しさん:03/08/04 13:54
>>459
tempolalyじゃなくてtemporary

461 :デフォルトの名無しさん:03/08/04 13:59
>>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するのに比べてかなり手間がかかるね。

462 :デフォルトの名無しさん:03/08/04 14:01
>>459 Cは速いというよりVBで書いたコードが糞なのが原因なんだが。

463 :デフォルトの名無しさん:03/08/04 14:03
>>459
VBスレで書くのもなんだけど、
> for(x=1;x<=strlen(strone);x++){
> strone[x-1] = strone[x];
これが単に文字列を一つ前にシフトしたいだけなら、終端文字ごとmemmoveすればできる。
ポインタを一つ用意してstrone[1]を指すようにしてもいいけど。

464 :   :03/08/04 15:22
VBのフォームに、ハイパーリンクを張ることはできますか?

【やりたい事】
たとえば、VBのノーマルのフォームに、"Yahoo! Japan"と書いてあり、
そこをクリックすると、ウェブブラウザが立ち上がり、ヤフーのページが
表示される。

465 :デフォルトの名無しさん:03/08/04 15:23
>>464 できるよ

466 :デフォルトの名無しさん:03/08/04 15:25
サイトのタイトルでいいんか?URLじゃなくて?
「やりたい事」を実現するなら、ShellするなりCreateObjectするなりすりゃいいだけだが・・・

467 :464:03/08/04 15:30
できれば、ブラウザのように、文字にアンダーラインがあり、
未読ページなら青、既読なら紫のような感じにしたいです。

そういう機能を全部こちらが書けばもちろんできるんですけど、
こういうのって既に用意されるのかなーって思って質問しました。

468 :デフォルトの名無しさん :03/08/04 15:37
RPG作っています。
主人公がマップを自由に動けるようにしたいんですが
マップのスクロール法を教えてください。

469 :デフォルトの名無しさん:03/08/04 15:38
>>467
WebBrowserコントロールで(ry

470 :デフォルトの名無しさん:03/08/04 15:39
>>468
画面に表示する画像を変更するだけだよ。

471 :468:03/08/04 15:44
>470様
ありがとうございます。
挑戦してみます!

472 :_:03/08/04 15:56
http://homepage.mac.com/hiroyuki44/

473 :361:03/08/04 16:03
>>460
我ながらクサイなぁとは思っていたんですが、やはり間違っていました
か〜。まぁご愛嬌という事で、


474 :361:03/08/04 16:06
>>463
なるほど、そうですね。あと、CにはMidみたいな関数とかないんです
かね?文字列を扱うのがすごい面倒クサイ。

475 :361:03/08/04 16:07
>>462
まーまー、そう言わずに。あと、それならアドバイスの一つもくれるとあり
がたいですね。


476 :361:03/08/04 16:21
>>463
すいません、書き忘れたのですが、よろしければmemmoveでやる方法
を教えてください。文字列の先頭の"-"をなくす処理をしているのですが、
2個目の引数にstrone[1]のポインタを当てればいいんですか?
(VBスレなのに本当に申し訳ない)


477 :デフォルトの名無しさん:03/08/04 17:09
今、悩んでることがありまして、どちらでもいいと言われたらそれまでなんですが、
ソースの書き方について解らないことがあります。
'A-1
SQL = SQL & "INSERT INTO なんちゃら VALUES ("
SQL = SQL = "なんたら,"
SQL = SQL & "かんたら"
SQL = SQL & ");"

'A-2
SQL = "INSERT INTO なんちゃら VALUES (" & _
"なんたら," & _
"かんたら" & _
");"


478 :続き:03/08/04 17:10
'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とも、どちらの書き方が良いのでしょうか?
御教授ねがえますでしょうか。

479 :デフォルトの名無しさん:03/08/04 18:22
>>477,478
読みやすい方。
おれならA−1、B−1。

480 :デフォルトの名無しさん:03/08/04 18:58
>>479
(゚Д゚)ハァ? A-1なんてあり得な〜い
数十万回くらい繰り返して速度計測してみろや

もとよりこうすりゃA-2のほうが読みやすいかと
SQL = "INSERT INTO なんちゃら VALUES (" & _
      "なんたら," & _
      "かんたら" & _
      ");"

481 :デフォルトの名無しさん:03/08/04 19:04
ちょっとくだらない質問なんだけど、ポンポンと答えてもらえるとうれしい。
例えば関数の中でdim a[10000] as double とかでっかい配列宣言してると、
けっこう関数のパフォーマンスって落ちる?やっぱりいつもそんなに必要としない
なら動的に確保した方がいいかな?

482 :続き:03/08/04 19:07
>480
済みません、ブラウザ上でタブが認識されていなかったようです。
元はそのように書いてありましたm(__)m

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

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

諸先輩方の意見をお願い致しますm(__)m

483 :デフォルトの名無しさん:03/08/04 19:14
>>481
Cと混合している時点で逝けてない。0点

484 :デフォルトの名無しさん:03/08/04 19:21
こんなに見えちゃってヤバクない???
http://yahooo.s2.x-beat.com/linkvp2/linkvp2.html




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

>>482
あんたの好きな方選びなさい。

486 :デフォルトの名無しさん:03/08/04 20:37
不毛で冗長な議論では楽しめない

487 :デフォルトの名無しさん:03/08/04 21:55
>>482
> 再起代入繰り返したら遅くなるのは目に見えている訳で。。。

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

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

>> SQL = SQL = "なんたら,"

488 :デフォルトの名無しさん:03/08/04 22:19
コンボボックスでドロップダウンリストを選択した時に、
デフォルトでリストの一番上の項目を表示させたいのですが、
どうすればできますか?

489 :デフォルトの名無しさん:03/08/04 22:43
>>488
ListIndex = 0

490 :デフォルトの名無しさん:03/08/04 23:30
ListIndexというのはコンボボックスのプロパティでしょうか?
見当たらないのですが・・・

491 :489じゃないが:03/08/04 23:52
>>490
ComBo1.ListIndex = 0 はプロパティウィンドウではなく、コードウィンドウに記述するプロパティ。

492 :デフォルトの名無しさん:03/08/05 03:28
>>477
要するにプログラムの可読性を上げたいだけだろ。
それなら答えはおのずから出るわな。

すべからくプログラムのスタイルは合理的精神に基づいて選択すればいい。
経験があろうとなかろうと、人に主張できる一貫した論理性がそこにあればよい。
それが君のスタイルだよ。

493 :デフォルトの名無しさん:03/08/05 06:59
コピペして他の部分でも使えるコードをこころがけるのもよい

494 :デフォルトの名無しさん:03/08/05 07:12
VBSでLHAで圧縮したいのですが、VBSはAPI使えないので
何か方法無いですか。

495 :デフォルトの名無しさん:03/08/05 07:37
>488,490
できました!ありがとうございます。

496 :デフォルトの名無しさん:03/08/05 09:13
>477
個人的にはA-2が好きなんだが、途中にコメント入れられないのが痛いんだよな。
それが言語仕様なんだからしょうがないとは思うけど。
上で速度の話が出てたけど、ミリ秒単位で遅い早いの世界ならそもそもVBを使ってる
のが間違いという気もしないでもない。

周囲に合わせるのが一番だと思われ。

497 :デフォルトの名無しさん:03/08/05 09:20
>>494
LHAを扱えるActiveXコンポーネントを他言語で作成して(以下略

498 :デフォルトの名無しさん:03/08/05 10:59
>>480
>数十万回くらい繰り返して速度計測してみろや
SQL文をそんな風に作成している時点でアウトだろ、、

499 :_:03/08/05 11:01
http://homepage.mac.com/hiroyuki44/

500 :デフォルトの名無しさん:03/08/05 11:24
>498
許してやれよ。
きっと、>480はSQL一発ですむ所を数十万回のDELETE文SQL発行で処理しているのさ。

501 :デフォルトの名無しさん:03/08/05 11:36
VB6です。
 業務アプリを組む際のエラー処理の仕方で、定番と言えるやり方ってどんな感じなのでしょうか?
 本や研修資料のサンプルには、関数単位のエラー処理(On Error Goto使用)は載っているのですが、
システム全体でのうまいエラー処理の例は全く載っていません。
 エラーが発生した時の挙動(メッセージやボタン等)を統一する為の知恵、それを解説している
ページ等無いでしょうか?
 質問内容が漠然としていてすみません。俺はこうしている、これは上手い方法だと感じた例
などありましたら教えてください。

502 :デフォルトの名無しさん:03/08/05 12:13
すみません、質問です。

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

標準コントロールにこんな面倒なものないですよね?
自作する場合、どのようにすればよいですか?ヒントをください。

503 :デフォルトの名無しさん:03/08/05 12:38
>>494
LHA.EXE使え

504 :デフォルトの名無しさん:03/08/05 13:01
>>502
SPREADとか。
アクティブなセルのコントロール以外は実物をおかずに
描画でごまかすとか。


505 :デフォルトの名無しさん:03/08/05 13:05
WebBrowserコントロールを利用した簡易ブラウザの中で表示している
HTMLからVBにメッセージを伝える事は可能ですか?
HTMLのJavaScriptなどからの情報をWebBrowserコントロールのイベントで
受け取る事はできるのでしょうか?
よろしくお願いします。

506 :デフォルトの名無しさん:03/08/05 13:34
>>505
IEコンポーネントを使い倒すスレ
http://pc2.2ch.net/test/read.cgi/tech/982930049/


507 :デフォルトの名無しさん:03/08/05 14:05
>>501
 >システム全体でのうまいエラー処理の例・・・・
  どのようなエラーの事を言っているのか?
  "on error goto"のような場合? or
  データを削除したい場合に該当データが無い場合などのエラーなのか?


508 :デフォルトの名無しさん:03/08/05 14:14
webから画像を取得して表示する方法を教えてください・・・

509 :デフォルトの名無しさん:03/08/05 14:22
VBでは逆タンジェントのATAN関数は使えないんですか?
また、使えない場合XYの比率から角度をどうやって求めた
らいいですか?


510 :デフォルトの名無しさん:03/08/05 14:56
>>509
Atn

511 :デフォルトの名無しさん:03/08/05 14:56
>>509
Atn 関数

512 :デフォルトの名無しさん:03/08/05 15:22
>>508
どこがわからない?


513 :デフォルトの名無しさん:03/08/05 16:14
定数を配列で持ちたいのですが、どうすればよいですか?


514 :デフォルトの名無しさん:03/08/05 16:20
>>513
むりぽ

515 :1 ◆ExGQrDul2E :03/08/05 17:00
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フォルダに保存されている。
↑アダルト画像が欲しい場合は 半角文字列 という板を選択する。
アイドル板を取り込むのもおもしろい。

516 :501:03/08/05 17:40
>507
On Error Gotoで拾えるような、実行時エラーの例です。
イベントプロシージャでエラーをトラップした後、どうやるのがスマートなのか・・・

517 :509:03/08/05 17:45
>>510
>>511
ありがとうございますた。

518 :477:03/08/05 17:54
諸先輩方、御教授有り難うございましたm(__)m

519 :デフォルトの名無しさん:03/08/05 18:31
504さん

ヒントありがとうございました。SPREADを使ってなんとかなりそうです。

520 :デフォルトの名無しさん:03/08/05 19:05
落雷を見知するプログラム・・・

521 :バージョンアップ情報 1 ◆ExGQrDul2E :03/08/05 19:08
>>515の下のリンクのファイルに上書きすると更新完了
ttp://www.interq.or.jp/guitar/lead/up/20030805190636_setup2.zip

522 :デフォルトの名無しさん:03/08/05 20:03
>>515
setup.exeでエラーがでる

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

あと画像の取得はスレ単位で出来た方がいいかな。
理想としてはリストから複数選択してダウソとか

523 :1 ◆ExGQrDul2E :03/08/05 20:09
>>522
おれはWinXPでつくったから、わざわざもう一台のWin98にsetupしてみてから配布したんだけどなあ。
VB6.0アプリはディストリビューションウィザードで作ったsetup.exeだけじゃセットアップしきれない場合があるからね。
まあ、ここのスレユーザはランタイムインスコしなくても動かせるからいいかな。

むかしのバージョンではスレ単位でダウンロードできたけど、
オレが大容量記録メディアのDVD-Rを買ったから板を丸ごと取りこむ仕様にしたんだ。

524 :1 ◆ExGQrDul2E :03/08/05 20:11
セットアップするファイル 'C:\Documents and Settings\既定\デスクトップ\20030805155739_setup\\@RCHTXJP.DLL' が見つかりません。

↑の\@という文字列がなんなんだかなあ。謎

525 :1 ◆ExGQrDul2E :03/08/05 20:25
\@はセットアップ時にWindowsが作成したテンポラリファイルか・・・・

526 :507:03/08/05 20:26
>>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



527 :デフォルトの名無しさん:03/08/05 21:02
>>526
エラーが発生したら回復処理などを行ってから
Err.Raiseで同じエラーか独自のエラーを再発生させる。
んで、メッセージを表示するのは呼び出し履歴の一番上。
Command_Clickなどのイベントハンドラで出すのがいい。

528 :デフォルトの名無しさん:03/08/05 21:28
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
DoEvents
ドゥーイベントを連続でたくさんかけば他のアプリに長い時間制御をわたせるのかな?

529 :デフォルトの名無しさん:03/08/05 21:54
waitのほうがいいんじゃない?

530 :528:03/08/05 21:59
>>529
DoEvents1000行かいたりするのがたいへんだから、そっちについて調べてみる

531 :530:03/08/05 22:27
For i=0 to 1000
DoEvents
Next
これならスッキリ解決か。

532 :デフォルトの名無しさん:03/08/06 02:01
>>501
どうエラーを処理するは状況によるから、関数ごとにトラップするほうが自然じゃないかなあ。
ただ、VBのランタイムエラーはカッコ悪いので、全体をon errorでくくって、
あたかも想定されたエラーのように出力して終了する、ということはやる(w

あと、ファイル名を指定させるようなケースで、指定したファイルがあるかどうか確かめずに、
いきなりオープンしちゃう。ほんで、失敗したらon errorで拾って指定しなおさせる、
みたいな方法は、コーディング量がかなり減らせるので、やっつけ仕事のとき多用。

533 :デフォルトの名無しさん:03/08/06 07:58
>>531
何が目的か知らんが嫌なプログラムだな

534 :デフォルトの名無しさん:03/08/06 09:43
エラーコーディングの本ってこういうのがあるけど、
http://www.pearsoned.co.jp/washo/win/wa_win51-j.html
これってどう?

535 :デフォルトの名無しさん:03/08/06 10:08
フォームの終了時に、ファイルにデータを出力したい場合、
関数名は何になりますか?

536 :デフォルトの名無しさん:03/08/06 10:17
>>535
http://pc2.2ch.net/test/read.cgi/tech/1058674927/188-193

537 :デフォルトの名無しさん:03/08/06 12:02
>>535
関数名はこうなります。
fncOutputDataToFileWhenUnloadForm

538 :1 ◆ExGQrDul2E :03/08/06 15:53
>>533
エレガントだね

539 :デフォルトの名無しさん:03/08/06 19:18
質問させていただきたい事があります。
えーと、まずサーバー・クライアント型のネットワークで、
サーバは接続要求を受けると、Activex,EXEを呼び出して、そちらと
接続させます。で、全てのクライアントが接続し終わります。
そこで、サーバー(呼び出し元)が何か計算をしようとすると、その
計算を配分して、Activex.exeに指示を出し、それを、介して、クラ
イアントが計算を開始します。そこで問題なのが、クライアントが返
してきたデータをどうやってまとめるかという事なんです。今は、データ
が小さければ、DDEを使って呼び出し元の変数に無理やり書きこませ
たり、大きければ、ファイルに書き込んでおいたりしています。
しかし、DDEを使う方法だと、呼び出し元はシングルプロセスなので
たくさんのクライアントから同時に計算結果が返ってきた場合、対応
ができません。かといって、ファイルを使う方法では、変数にダイレクト
に代入していないので、非常に使いにくいし、面倒くさいです。
こんな場合みなさんだったらどうしますか?(activex.exeが呼び出し元)
の変数を使えたらいいのに)


540 :デフォルトの名無しさん:03/08/06 20:09
>>539
最後の所は
(activex.exeが呼び出し元の変数を使えたらいいのに)
です

541 :デフォルトの名無しさん:03/08/06 23:47
>>539
RaiseEvent使って拾わせたら?

542 :_:03/08/06 23:53
http://homepage.mac.com/hiroyuki45

543 :デフォルトの名無しさん :03/08/06 23:58
>>539
結局、並列分散計算処理をしたいということですか?
SETIみたいなやつ?

544 :デフォルトの名無しさん:03/08/07 02:49
>>539
そのActivex.exeとやらをその都度呼び出すサーバプログラムを作ればいいだろが。

545 :デフォルトの名無しさん:03/08/07 02:49
>>544
×呼び出す
○起動する

546 :デフォルトの名無しさん:03/08/07 07:04
起動してるIEからタイトルとURLを取得する方法ってどうやればいいですか?
タイトルはGetWindowTestで取得できるのだが、もっといい方法があったら
教えてください。

URLの取得は
Java、VB Scriptだとwindow.location.hrefなのだが、
VBだとどうやればいいのかさっぱりなのでご教授よろしくお願いします

547 :デフォルトの名無しさん:03/08/07 09:55
フォームがないプロジェクトで、
どうやったらアプリケーションアイコンを設定できますか?

548 :デフォルトの名無しさん:03/08/07 10:12

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


  http://www.get-dvd.com

549 :デフォルトの名無しさん:03/08/07 10:14
>>547
ダミーのフォームを用意するしかないんじゃないか?

550 :デフォルトの名無しさん:03/08/07 10:15
>546
コンポーネントの追加からMicrosoftInternetControlsをチェックして

Dim obj As SHDocVwCtl.ShellWindows

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

とかは?
いい方法なのかはわかんないけど

551 :デフォルトの名無しさん:03/08/07 15:09
すみません、質問です。
タスクバーに表示されている起動中のアプリケーション一覧を取得するにはどうすれば良いのでしょうか?

552 :デフォルトの名無しさん:03/08/07 15:20
>>551
http://winny.info/fileboard/files/img20030807151949.zip

見本プログラム

553 :デフォルトの名無しさん:03/08/07 17:38
>>550
IEのボタンをクリックすると任意のフォルダに
インターネットショートカットを作るプログラムできますた
どうもありがとうございますたー

554 :デフォルトの名無しさん:03/08/07 17:39
>>551
>>552はSub7っていうバックドアプログラムだから実行しちゃだめよ。
つーか>>552氏ね

555 :デフォルトの名無しさん:03/08/07 17:50
>>547
プロジェクトにリソースファイルを追加→アイコンをリソースに追加→一番リソースIDの若いアイコンがexeのアイコンになる

556 :デフォルトの名無しさん:03/08/07 20:27
済みません、皆様に質問させてください。
現在、vbからFTPコマンドを呼び出して、
linuxサーバからファイルをgetしようとしています。
が、linuxサーバに上手く接続できません。
(試しにwindowsサーバにアクセスしたところ、アクセス
できました。)

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

どうすれば良いか、どなたかご存知でしょうか?
お願いします。

557 :デフォルトの名無しさん:03/08/08 02:16
>556
DIR の代わりに LS 使ってみれば?

558 :デフォルトの名無しさん:03/08/08 03:04
真のVBユーザはお金がかかったとしてもすべてのサーバをWindows Serverにする。

559 :デフォルトの名無しさん:03/08/08 10:02
TextBoxに文字数の制限を与え、例えば3文字入力されると
自動的に次ぎのテキストボックスにフォーカスが移るようにしたいのですが
よい方法はないでしょうか?

560 :デフォルトの名無しさん:03/08/08 10:25
ねぇ
ホイールスクロールできないんだけど
てっとりばやくできる方法はないかしら?

561 :デフォルトの名無しさん:03/08/08 10:30
>560
「VBでホイールマウス」でぐぐる事くらい試してから言えよハゲ

562 :デフォルトの名無しさん:03/08/08 10:31
>>559
無い。VBA使ってろw

563 :デフォルトの名無しさん:03/08/08 10:31
リストビューコントロールの Report ビューで
アイコンの縦位置を上揃えから中央揃えにするには?
テキストの高さに合わせたアイコンを作れってのはナシね

564 :デフォルトの名無しさん:03/08/08 10:56
>>559
知識がないならタイマー使って監視したら?

565 :デフォルトの名無しさん:03/08/08 10:57
>>559
チェンジイベントで文字数チェックして、3文字ならフォーカスを移すって方法でできない?

566 :デフォルトの名無しさん:03/08/08 11:04
>>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


567 :デフォルトの名無しさん:03/08/08 11:28
著作権ってw

568 :559:03/08/08 12:42
>>566
ありがとうございます

569 :デフォルトの名無しさん:03/08/08 13:01
ぐぐったがなに
なんでお金をだすのかと
パッチはないのかと

ききたい

570 :デフォルトの名無しさん:03/08/08 14:25
配列を連結する簡単な方法ってありますか?
新しい大きさの配列作って、一個一個入れるしかないのかな。

571 :デフォルトの名無しさん:03/08/08 14:26
>>570
CopyMemory

572 :デフォルトの名無しさん:03/08/08 16:23
すみません、教えてください。

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

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

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

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

このMeは何を表しているのですか?
また、コンパイルエラーを解決するにはどうしたらよいでしょうか?
(標準モジュールにコーディングしたいので)

573 :デフォルトの名無しさん:03/08/08 16:30
536,537さん

ありがとうございます。できそうです。

574 :デフォルトの名無しさん:03/08/08 18:31
>>572
WNetAddConnection3の第一引数の説明を見よう。
そこに指定するのはオーナーのウインドウだ。
APIのNULL(0)でもいい。
どうしてもhWndを使用したい場合は呼び出し時の引数にでも指定すればいいだろう。

ちなみにMeはクラスやフォームの自分自身。C++でいえばthisに相当する。

575 :デフォルトの名無しさん:03/08/08 20:36
VBでPDFに電子署名するってできる?

576 :デフォルトの名無しさん:03/08/08 21:25
>>574
> APIのNULL(0)

なにそれ?

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

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

もしかして、なんか根本的にまちがってますか?
メモ帳だとうまくいったんですけど…。

578 :デフォルトの名無しさん:03/08/08 22:18
>>570
一個一個入れたくないだけなら
Joinで文字列にしてから結合してSpltで配列に戻す。

579 :578:03/08/08 22:19
×Splt
○Split


580 :デフォルトの名無しさん:03/08/08 22:44
>>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のフォームなりなんなり参照すればいい。

581 :デフォルトの名無しさん:03/08/08 22:56
>>577
データ送信したいだけなら素直にSocket使っとけ。とか言ってみる。

582 :デフォルトの名無しさん:03/08/08 23:10
ギャルっぽい女子校生の二人組みです。
それにしてもこの援交慣れした感じはなんなんでしょう?
二人でフェラをしながら男性のチンチンをでかいと褒めちぎりいい気分にさせています。
しかも挿入中には友達がカメラを持って撮影しているという物凄い作品です。
二人とも顔、スタイル共に申し分ないのでお勧めですよ。
無料ムービーはこちらから
http://www.cappuchinko.com/


583 :577:03/08/09 00:15
>>580-581
やりたいのは、ブラウザゲームのコマンドを
入力するのが面倒くさいので、入力支援ツールみたいなのを
作ろうかなぁーと思ってたんですよw
んで、ハンドルとって
SendMessageで投げればいいかなと
簡単に考えてたんですけど、なかなかうまくいかなくて…。

584 :デフォルトの名無しさん:03/08/09 00:24
>>583
ああ、寝マクロか。

585 :デフォルトの名無しさん:03/08/09 01:29
>>583
>>580で問題ないんだろ?

586 :デフォルトの名無しさん:03/08/09 02:32
マクロ投げ

587 :デフォルトの名無しさん:03/08/09 08:06
Set ff = fs.GetFolder(フォルダパス)
Set ffs = ff.SubFolders
として、あるフォルダのサブフォルダコレクションffsを
For each V1 in ffs
debug.print v1
Next
で表示させたところ、ffsコレクションは名前順にならんでないことがわかった。
ffsにorder byを適用するメソッドってあるの???

588 :デフォルトの名無しさん:03/08/09 08:11
>>587
無いんじゃない?ソート位自分でしろと。

589 :デフォルトの名無しさん:03/08/09 08:26
これからやるにはvb6とvbnetのどっちがいいですか。

590 :デフォルトの名無しさん:03/08/09 08:29
>>589
どっちもあんまり将来性無いけどな。悩む前にやれと。

591 :デフォルトの名無しさん:03/08/09 08:32
将来性あるのは何ですか


592 :デフォルトの名無しさん:03/08/09 08:33
なんとなく勃起
http://www.k-514.com/fe/ero.html

593 :587:03/08/09 09:30
>>588
あーそうざんねん

594 :563:03/08/09 11:14
皆様よろしくおながいします >>563

595 :デフォルトの名無しさん:03/08/09 11:38
>>594
不可。

596 :デフォルトの名無しさん:03/08/10 01:56
MSDNなんか見てると、名前の付け方で「m_strInstructor」とか付けてますが
「m_」って何の意味ですか?
「str」はString型ってことですよね。

597 :デフォルトの名無しさん:03/08/10 02:13
>>596
member

598 :デフォルトの名無しさん:03/08/10 09:23
え? module じゃなかったっけ? g_ はglobalで。スコープを表してるんじゃなかった?

599 :デフォルトの名無しさん:03/08/10 13:42
文字に色をつけるとき、
例えば、いくつかの数字を同じリストボックス上に表示するとき
1は赤色で表示され、2は黄色で表示されるというようにしたいのですが
どうすればよいのでしょうか。

600 :デフォルトの名無しさん:03/08/10 14:00
>>599
出来るか知らんがオーナードロー。

601 :599:03/08/10 14:13
推測でしゃべんな

602 :デフォルトの名無しさん:03/08/10 14:32
んじゃ、オーナードロー。

603 :デフォルトの名無しさん:03/08/10 14:34
>>601
お前は、

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

が出来ると推測して質問をしたのではないのか?

604 :デフォルトの名無しさん:03/08/10 14:41
>>603
       |
       |
〜〜〜〜〜〜〜〜〜〜〜〜
       |
       |
       |
       |
       J

605 :デフォルトの名無しさん:03/08/10 14:43



606 :デフォルトの名無しさん:03/08/10 14:52
無言の叫びワラタ

607 :デフォルトの名無しさん:03/08/10 14:53
>>603
       ○ モットオクマデ...
      ○ ノ)
  _| ̄| .と

608 :599:03/08/10 16:47
599=601じゃないです。
600さんありがとうございます。

609 :デフォルトの名無しさん:03/08/10 20:04
>>601
推測で書くのはいっこうに構わんと思うが。
「憶測」と書きたかったのか?
日本語勉強しる。

610 :デフォルトの名無しさん:03/08/10 20:13
「推測」ある事柄に基づいて、おしはかって考えること。
「憶測」確かな根拠もなくいいかげんに推測すること。

611 :デフォルトの名無しさん:03/08/10 20:14
推測には憶測も含まれるくさい(w

612 :デフォルトの名無しさん:03/08/10 20:47
ジエンなんだから蒸し返すな馬鹿。

613 :デフォルトの名無しさん:03/08/10 22:09
蒸し返すなというほど話題があるわけでもなし。

614 :デフォルトの名無しさん:03/08/11 06:57
話題なんて元々ねぇーよ。質問スレなんだから。
普通に質問待て。

615 :615:03/08/11 07:52
@ VBとVBAの関連はどのようになってるのでしょうか?
  ExcelのVBAはVB内で記述して全部問題なく動くのでしょうか?
  それとも一部動かないものもある?

A  VBからExcelの細かい動作をさせる場合にExcelのマクロとして
   別に作っておいて、VBからExcelを表示させたときにExcelのマクロ
   で作ったコントロールなどを表示させてその時点からExcelのマクロ
   側でやらせるようにした方がよいのでしょうか?


616 :615:03/08/11 08:09
B 会社でVBstudioのインストーラーを使わなければならないのですが
  そのVBstudio はフリーソフトをダウンロードしたもので、操作説明
  書がありません。前任者がいなくなって使い方がよくわからない。
  このインストーラーの使用説明について書かれた書籍を知らない
  ですか?

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

D OLEにExcelをリンクさせている場合VBのコード上で
  Excelにデータを書きこみます。OLEにEXCELを表示
  させて書きこまれた内容を確認したいのですがどうすれば
  表示できますか?Excelへセーブする命令はわかっても
  ロードする命令がわかりません。

617 :デフォルトの名無しさん:03/08/11 10:10
で、
マウスホイールが利かないんだが
どうすればいい?

618 :デフォルトの名無しさん:03/08/11 10:14
>>617
何度も出ているが「どこでもホイール」をつかえ。
IntelliPoint等のマウス付属のユーティリティでも可能の場合がある。

619 :デフォルトの名無しさん:03/08/11 10:14
>>617
分解掃除。

620 :デフォルトの名無しさん:03/08/11 12:29
>615
答えられそうなものだけ。

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

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

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

5 ExcelVBAのヘルプ嫁


621 :_:03/08/11 12:29
http://homepage.mac.com/hiroyuki45/

622 :デフォルトの名無しさん:03/08/11 12:36
>>615
ってか、VBStudioって何?フリーのインストーラ?
ひょっとして割れ房?

623 :617:03/08/11 12:43
>>618
サンクスコ
>>619
サンクスコ

624 :577:03/08/11 14:29
>>580
遅くなりましたが、ありがとうございます。
IEの制御とかって初めてやったんですが、
なんとかそれっぽく動くようになりました。
まだ不完全ですがw
んで、この手のプログラムのことが
あんまり知らないので、どこか
解説したサイトとかいい本はないですか?

625 :デフォルトの名無しさん:03/08/11 15:09
>>615
もしかして、VSIのこと?

626 :_:03/08/11 15:15
http://homepage.mac.com/hiroyuki45/

627 :615:03/08/11 17:07
C プログラムを見やすくするために順序をいれかえたい。
  本屋の立ち読みでそういうことができるという内容を
  読んだことがあるのですが。
  確かツールバーの内の何かの操作でできるらしいのですが
  誰かしりません?

628 :615:03/08/11 17:16
B Visual Studio によるインストーラーのこと。

D object.SaveAs でExcel ファイルへのセーブはできるのだが
  ロード命令というのはありますか?
  検索しても出てこなかった。
  なおVBは会社のパソコンでやっててそこで調べものに時間を費やすと
  ソフト作成ができないので自宅でこうして疑問点を調べてます。
  なお、今は盆休み中で会社へ行けないし。


629 :615:03/08/11 17:28
@ Excel VBAの解説書に紹介されてるコマンドは必ずしも
  VBで使って大丈夫ということはないのですか?
  そうすると、これはOKこれはNGという具合にVB内で使って
  みてエラーを出しながら使える使えないということを確認
  するのですか?みなそうしてるのですか?

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

  オブジェクト志向的にVBとEXCELVBAというのは
  それなりに親和性があると思ってましたが。

630 :デフォルトの名無しさん:03/08/11 17:34
>>629
ええ、違うでしょうね。

だから環境に依存しそうなコードはクラスでラッピングしてしまうなどの処置が必要かと。

631 :デフォルトの名無しさん:03/08/12 02:01
>>615
>A
俺の場合、アプリケーション側に汎用性を持たせるためにそういう風にやったことがある。
つまり、いくつかのプロジェクトを平行してて、Excelに吐き出す処理の共通部分はVBで書
いて、異なる部分はExcelに書いた。

632 :デフォルトの名無しさん:03/08/12 12:15
サーバーやHTMLからVBのexeを起動する時に、サーバーからパラメータを
渡すにはどうやったらできますか?

633 :VB初心者:03/08/12 12:45
VB6.0でパッケージ(ディストリビュージョンで作成)を作成しましたが、
VBの入っていないPCでインストールできません。
作成したPCは98でインストールしたいのは2000です。
教えて下さい。


634 :デフォルトの名無しさん:03/08/12 14:54

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

Form1コードに、

Private Sub Text1_GotFocus()
Text2.SetFocus
End Sub

Private Sub Text2_GotFocus()
Text1.SetFocus
End Sub

635 :デフォルトの名無しさん:03/08/12 15:52
ぐわしだっちゃ

636 :デフォルトの名無しさん:03/08/12 15:54
ごめん。上のは俺です。やったーアクセス規制から解放された!!
(試してみたら書き込めた)
くそ!!どこぞのバカのせいで、えらい迷惑かけられたっちゅうねん。
2chも他のやつを巻き込まないように規制してくれよ〜


637 :デフォルトの名無しさん:03/08/12 15:59
当方の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 <-ここ
----------------------------------
これは、どのような原因が考えられるのでしょうか。
ほとんど同じ環境なのに、動作しないので、原因がわからず、
困っております。ご存知の方、よろしくお願いします。

638 :637:03/08/12 16:02
失礼しました。正しくは以下です。
----------------------------------
Dim XL As New Excel.Application

Set XL = Excel.Application <-ここ
----------------------------------

639 :デフォルトの名無しさん:03/08/12 16:02
>>636
IPで決めうち規制こそ意味ないよ
IPなんてすぐ変わるんだから・・

>>637
レイトバインディングについて調べてみれ

640 :636:03/08/12 16:53
>>639
まぁ、そうなんだけどね。それは分かってるんだけど、どうにかならんも
んかね。(スレ違いの話題でスマソ)


641 :デフォルトの名無しさん:03/08/12 18:00
あるコントロールが配列かどうかを
判別するにはどうすればいいのでしょうか?


642 :デフォルトの名無しさん:03/08/12 18:56
>>641

配列としてアクセスして、エラートラップするってのが簡単。

643 :デフォルトの名無しさん:03/08/12 18:59
>>642
やっばりエラートラップですか。
ありがとうございました。

644 :デフォルトの名無しさん:03/08/12 21:18
IsArray

645 :デフォルトの名無しさん:03/08/13 00:55
結局>615のVSは割れだったという事ですか

646 :デフォルトの名無しさん:03/08/13 01:12
>>637
Excelがインストールされてないんだろ。

647 :デフォルトの名無しさん:03/08/13 01:28
すみません、お世話になります。開発環境は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だと異常ありません。
これは一体どういうことが原因で起きているんでしょうか。
ご存じの方がいらっしゃいましたらよろしくお願いいたします。

648 :デフォルトの名無しさん:03/08/13 03:09
64kの壁かも

649 :デフォルトの名無しさん:03/08/13 09:40
>>647
Win98のバグです。

650 :デフォルトの名無しさん:03/08/13 10:01
>>649
昔、StretchBltにバグがどうとか聞いたような気がするなぁ・・・。

651 :デフォルトの名無しさん:03/08/13 15:13
ご存知の方いらっしゃいましたら、ご教受ください
 環境:
サーバ: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なときと駄目なときがあります・・・)
エラーになるタイミングもまちまちなので原因がつかめません。
ちなみにスタンドアロン環境だと必ずコネクションははれます。

652 :デフォルトの名無しさん:03/08/13 15:15
「まちまちで」って、そんな曖昧なの答えられるか。
エラーもエラーとしか書いてないし。


653 :デフォルトの名無しさん:03/08/13 15:22
今日はトリビアの日だね

654 :デフォルトの名無しさん:03/08/13 15:45
あのさ不意に思ったんだけどさ、VBのアプリがCとかアセンブラの速さ
で動くようになるプラグインとか売ってたらいくらまで払う?
俺は1万ぐらいは出すな。

655 :デフォルトの名無しさん:03/08/13 16:01
>>654
あのさ不意に思ったんだけどさ、おまえしねよ

656 :デフォルトの名無しさん:03/08/13 16:05
>>654
フリーのC使うよ。

657 :デフォルトの名無しさん:03/08/13 16:16
>>651
エラーコードも書かずに原因を教えろっていう気か?

658 :デフォルトの名無しさん:03/08/13 16:16
>>654を要約すると、
(高級言語勉強するような)努力するくらいなら、金払うよ。
ってことで。

659 :デフォルトの名無しさん:03/08/13 16:21
>>658
あのさ、すっごく言いにくいんだけど、

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



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

なら文脈通るが。

661 :デフォルトの名無しさん:03/08/13 16:31
>>658
確かに間違ってるな、高級言語はどちらかと言えばCとかアセンブラより
VBの方が当てはまる。(どちらかと言えばじゃないか、)


662 :デフォルトの名無しさん:03/08/13 16:32
>>655
オマエガナ

663 :デフォルトの名無しさん:03/08/13 16:40
すいませーん教えてください
マイドキュメントのPathはどこからどうやって参照できるものですか?

664 :デフォルトの名無しさん:03/08/13 16:42
>>654
一本釣りですか?プラグインごときで速くなる代物じゃないだろ>VB

665 :デフォルトの名無しさん:03/08/13 16:50
>>664
バカがまた一人。

666 :デフォルトの名無しさん:03/08/13 16:53
>>665
バカに掛かるバカ。

667 :デフォルトの名無しさん:03/08/13 16:55
>>663
CreateObject("WScript.Shell").SpecialFolders("MyDocuments")


668 :デフォルトの名無しさん:03/08/13 17:01
>>667
ありがとー でたよー

669 :デフォルトの名無しさん:03/08/13 17:01
ここがVBスレか・・・( ´,_ゝ`)プッ

670 :デフォルトの名無しさん:03/08/13 17:06
>>669
あなたって、ど粘着さんねぇ。

671 :デフォルトの名無しさん:03/08/13 17:16
C言語のほうがVBより高級言語だと思い込んでしまう人は、
CのほうがVBより「高級」だというコンプレックスがあるんだろうなあw

672 :デフォルトの名無しさん:03/08/13 17:50
>>671
VBとCが逆になってますよ。

673 :デフォルトの名無しさん:03/08/13 17:52
「開発速度」これしか勝ってるの無いからなぁ。。

674 :デフォルトの名無しさん:03/08/13 17:56
アンチVB厨は馬鹿の法則どおりだな。

675 :デフォルトの名無しさん:03/08/13 18:28
>>672
間違ってないと思うが?

676 :デフォルトの名無しさん:03/08/13 18:34
アンチ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

677 :デフォルトの名無しさん:03/08/13 18:35
もういいだろ、お前ら。
間違った見識のままイ`。
このスレでやんなよと。

  ↓次の質問ドゾー

678 :デフォルトの名無しさん:03/08/13 18:36
>>671はアンチVB厨じゃなくてVB厨でしょ。

679 :デフォルトの名無しさん:03/08/13 18:37
>>677

じゃあ質問。マウスカーソルがボタンの上を通過するとボタンの色がかわるようにしたいです。
どうすればいいですか。マウスカーソルがはずれたら元の色に戻るようにもしたいです。

680 :デフォルトの名無しさん:03/08/13 18:38
>>678
うん。正しいことを言っているVB厨。
そして>>672が間違ったことを言っているアンチVB厨

681 :678:03/08/13 18:39
あ、>>672のことをいっていたのか

682 :678:03/08/13 18:39
>>680
すまん。流れを読み間違えていた。

683 :679:03/08/13 18:54
マジ質問です。

684 :679:03/08/13 18:58
Mouseoverとかないし(つoT)

685 :685:03/08/13 19:01
だれか…
a^3 = b^3 + c^3
が成り立つa,b,cを教えて…

686 :デフォルトの名無しさん:03/08/13 19:03
>>684
mousemoveはありまつ!とか言ったら殴る。

>>685
for三つで計算させたらどうだ?
a = b = c = 0

687 :685:03/08/13 19:03
>>686
やってみてくれ!!
計算結果がでてこないんだ…

688 :デフォルトの名無しさん:03/08/13 19:05
>>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

とかじゃあかんのか?

689 :685:03/08/13 19:07
>>689
実行してみてくれ!!
頼む!!

690 :デフォルトの名無しさん:03/08/13 19:08
こいつなんやねん。

691 :デフォルトの名無しさん:03/08/13 19:11
ふぇるまーのさいしゅうていり?

692 :685:03/08/13 19:11
>>691
大当たりvv

実行しても結果がでないワケですよ

693 :デフォルトの名無しさん:03/08/13 19:11
>>686
それはありまつけど、それでできるんでつか?

694 :デフォルトの名無しさん:03/08/13 19:12
あれはそれぞれが整数の場合であって、少数ならもしかしたら。

695 :685:03/08/13 19:22
>>694
あー。
そぅっすね…

それならありえますねぇー
なぁーんだ

696 :679:03/08/13 19:51
(つД`)

697 :デフォルトの名無しさん:03/08/13 20:11
>>679
タイマでマウスを監視してボタンの範囲内かどうか全てチェックする。

698 :デフォルトの名無しさん:03/08/13 20:17
すごいメモリ食いそうでつね!

699 :デフォルトの名無しさん:03/08/13 20:20
VBからExcel操作した時なんかは、WorkbookやWorksheetオブジェクトも
後でNothingした方がいいのですか?
今ひとつ意味は分かってませんが、オブジェクトはだいたいNothingしてます。。

700 :デフォルトの名無しさん:03/08/13 20:34
>>698
は?

>>699
うい

701 :デフォルトの名無しさん:03/08/13 20:41
>>700
バカに出来るほど良い考えでもないと思うが。

702 :679:03/08/13 20:44
>>697
なんとなくわかった気がしまつ(つД`)
結構面倒なことしないといけないんでつね(つД`)

703 :デフォルトの名無しさん:03/08/13 20:47
ボタンのOVER処理をフォームのマウスムーブでやってもいいけど、フォームぎりぎりに
ボタン置いたときのムーブを捕まえ損ないそうだなぁ

704 :デフォルトの名無しさん:03/08/13 21:23
>>703
>701が良い方法を出してくれるだろう。


705 :デフォルトの名無しさん:03/08/13 21:23
サブクラス化して、WM_MOUSELEAVE をトラップ、かな。
やったことないけど。

706 :デフォルトの名無しさん:03/08/13 21:25
マウスがウィンドウから離れたことを知るには?
http://fumiyuki-web.hp.infoseek.co.jp/tech/tech006/

707 :デフォルトの名無しさん:03/08/13 21:55
不毛なコーディングをするなあ。

708 :デフォルトの名無しさん:03/08/13 21:59
>>707
お前が不毛なコーディングをしてるのは分かったから邪魔。

709 :デフォルトの名無しさん:03/08/13 22:00
夏厨はさっさと消えてね。

710 :デフォルトの名無しさん:03/08/13 22:03
216 名前:名無したん(;´Д`)ハァハァ[sage] 投稿日:03/08/13 12:48 ID:FaAQbAh/
ナツチュウとピカチュウの見分け方を教えてください(’▽’)ノシ

217 名前:名無したん(;´Д`)ハァハァ[hage] 投稿日:03/08/13 12:52 ID:f4nb5ucB
>>216
電気を放つかデンパを放つかの違い

711 :デフォルトの名無しさん:03/08/13 22:37
VBでVC++っぽいことやるならサブクラス化は避けて通れないだろうなぁ。
まあ、俺ならやらんが。設計というか、コンセプトというか、基本から
見直したほうがいい。

712 :デフォルトの名無しさん:03/08/14 00:47
大抵のVB使いはVC++できないからやってるんだよ

713 :デフォルトの名無しさん:03/08/14 01:40
>>712
よくわかってんじゃねぇかバカ。でもな。VBにも良さがあんだよ。
わざわざ、VCなんかで簡単なプログラムなんて作る気にならん。
適材適所なんだよ

714 :デフォルトの名無しさん:03/08/14 02:11
サブクラス化って別にたいしたことじゃないだろ。

715 :デフォルトの名無しさん:03/08/14 02:16
>>714
サブクラス化つってもピンからキリまであるからね。
どの辺のことを言ってるの?

716 :デフォルトの名無しさん:03/08/14 08:32
>>715
>サブクラス化つってもピンからキリまであるからね。

WndProc取り替えるだけっしょ。
VBのOOは継承に対応してないし。

717 :デフォルトの名無しさん:03/08/14 09:28
>>716
ああ、その程度ならたいしたことじゃないね。

718 :デフォルトの名無しさん:03/08/14 10:58
こちらの方で質問した方が良さそうなので移動してきました。

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

719 :718:03/08/14 11:01
こんな感じの処理をしています

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


720 :デフォルトの名無しさん:03/08/14 13:20
>>679
SetCapture API と MouseMove イベントでもできる。

721 :デフォルトの名無しさん:03/08/14 14:57
If Else より Select Case の方が早いとどっかで見ましたが、
比較するのが2パターンの時でもSelect Caseの方が早いのでしょうか。

722 :デフォルトの名無しさん:03/08/14 15:00
>>721
可読性下がるし不等号使えないし、あんまり使いやすくなさげ。

723 :デフォルトの名無しさん:03/08/14 15:07
>>718
InternetOpenの第一引数に指定すればいいんだと思う。
ところで俺も今inetでソフト作ってるんですがHttpOpenRequestでつまずいてます
よかったらINET部分のソースだけ晒してもらえませんか?

724 :デフォルトの名無しさん:03/08/14 15:13
>>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


725 :デフォルトの名無しさん:03/08/14 15:17
>>722
レスありがとう。
Bool型などでTrueかどうかなんかの時にどうかなと思ったんす。
Elseの時に、あれ?これ何の条件だっけ、って時にCaseだけ見れば書いてあるし、とか。

726 :デフォルトの名無しさん:03/08/14 15:22
>>724
ありがd!

727 :デフォルトの名無しさん:03/08/14 15:22
>>722
不等号使えるよ

728 :デフォルトの名無しさん:03/08/14 15:23
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

です、ご指導お願いします。必要なら他の部分のソースも晒します

729 :728:03/08/14 15:26
あ、Successのスペル間違ってる。・゚・(ノД`)・゚・。

730 :デフォルトの名無しさん:03/08/14 15:26
>>728
死ねクソマルチ♪

731 :デフォルトの名無しさん:03/08/14 15:28
>>728
HtmlReadSizeに0を与えてる。
Bufにメモリが確保されてない。
そもそもInternetReadFileかそれ以前の関数が成功してない。

732 :728:03/08/14 15:39
>>731
ありがとうございます
Session03に値は返ってきてるからハンドルの処理は間違ってないかと。
確かにHtmlReadSizeに0を与えてました。変えて試してみます

733 :デフォルトの名無しさん:03/08/14 15:41
>>732
2番目黙殺してるところを見ると前途多難だなぁ・・・

734 :デフォルトの名無しさん:03/08/14 15:41
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というファンクションではなく、上記のような
名前のファンクションがそれぞれ定義されたような形になります。

これだと単にファンクションを違う名前で定義したのと変わりないような気がするのですが・・・
そんな物ですか?
それとも、私が何か勘違いをしていますか?

735 :デフォルトの名無しさん:03/08/14 15:44
>>734
多態って言うかオーバーロード?

736 :728:03/08/14 15:45
>>733
あ、すいません黙殺しtわけじゃないんですが。
普段変数のメモリ確保はvbに任せて意識してなかっただけです
それとも俺がわかってないだけだったりして・・・

737 :デフォルトの名無しさん:03/08/14 15:48
多態

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

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

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


dim character as AA

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

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



738 :デフォルトの名無しさん:03/08/14 15:50
分かりやす!

739 :734:03/08/14 15:53
>735
それです。

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

質問しなおします。
VB6でオーバーロードはできないって事でしょうか?

740 :728:03/08/14 15:53
あ、やばい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)

となってます。詳しい方がいたらよろしくお願いします。

741 :デフォルトの名無しさん:03/08/14 15:54
>>740
InternetOpenが無い。

742 :デフォルトの名無しさん:03/08/14 15:55
>>740
hHTTP = HttpOpenRequest(hConnect, method, urlcomp.UrlPath, "1.1", Referrer, 0, INTERNET_FLAG_RELOAD Or INTERNET_FLAG_EXISTING_CONNECT, 0)


743 :デフォルトの名無しさん:03/08/14 15:55
>>739
Variantで渡して一つの関数で処理?

744 :728:03/08/14 15:59
>>741
あ、すいません勝手に省略してしまいました
InternetOpen部分は
'WININET初期化
Session01 = InternetOpen( _
USER_AGENT, _
INTERNET_OPEN_TYPE_DIRECT, _
vbNullString, _
vbNullString, _
0)
です。やっぱ全ソース晒した方がいいですか?
>>742
はい、そうしてるつもりなんです、HttpOpenRequest部分は値を返してくれるんで間違ってないと思います
(その値があってるかどうかは謎ですが・・・)


745 :デフォルトの名無しさん:03/08/14 16:00
>>744
hHTTP = HttpOpenRequest(hConnect, method, urlcomp.UrlPath,






"1.1"








, Referrer, 0, INTERNET_FLAG_RELOAD Or INTERNET_FLAG_EXISTING_CONNECT, 0)


746 :728:03/08/14 16:04
>>745
あ、そこはそうした方がいいんですか。
"1.1"にしてみましたけど結果は一緒でしたです

747 :デフォルトの名無しさん:03/08/14 16:55
>>743
多分それしかない。
複数の引数を渡したいときは配列をVariantに入れて・・・



できればやりたくない実装かも。

748 :734:03/08/14 17:21
>743 >747
ども。やっぱりそうですかー。
勝手にキャストされて予期しない動きをしそうなのでVariantは怖いです。
素直に2つの関数を作る事にします。

749 :デフォルトの名無しさん:03/08/14 18:26
>>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")

750 :デフォルトの名無しさん:03/08/14 19:33
( ・∀・)つ

751 :デフォルトの名無しさん:03/08/14 19:43
        ⊂(・∀・ )

752 :デフォルトの名無しさん:03/08/14 21:34
age

753 :デフォルトの名無しさん:03/08/14 22:23
すいません。荒れている方のスレにも書き込んだのですが
こちらの方が適当だと思い書き込ませていただきます。

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

具体的には

user@domain.com
user@domain.co.jp
user@domain.com.cn
user@mail.domain.net
user@mail.domain.com.cn

のような文字列からdomainだけを返すような
処理を行いたいです。
どなたかよろしくお願いします。

754 :デフォルトの名無しさん:03/08/14 22:26
>>753
お前が荒らしてるだけだろ。

755 :デフォルトの名無しさん:03/08/14 22:28
>>753
お前が言ってるドメインはドメインではない。

756 :デフォルトの名無しさん:03/08/14 22:30
InStr()で何とかなりそうな気が・・・

757 :デフォルトの名無しさん:03/08/14 22:31
>>753
@から右を抜き出したいんじゃないの?

758 :753:03/08/14 22:34
みなさんありがとうございます。
>>754
いえ違います。
>>755
すみません。
>>756
考えましたがダメでした。。
>>757
文字列domainのみを取得したいのです。。。

759 :デフォルトの名無しさん:03/08/14 22:39
>>753
仕組上、本当に正しい結果を得るにはローカルだけでは無理。

760 :デフォルトの名無しさん:03/08/14 22:40
>>758
それだけのパターンしかないのなら、Instr()で総当たりで
取れるだろうけど、パターンがずっと多いなら無理じゃないか。

761 :デフォルトの名無しさん:03/08/14 22:42
要するに
2ch.net
mail.2ch.net
2ch.ne.jp
host.2ch.com.cn
のいずれも2chを得られるようにしたいのか?

762 :753:03/08/14 22:45
>>761
はい。そのとおりです。

763 :デフォルトの名無しさん:03/08/14 22:51
そんで、その「2ch」部分も不定なんだろ。
全パターン分かるならいけるかもしれんが、まず無理だな。

764 :デフォルトの名無しさん:03/08/14 22:56
>>762
DNSの助けが必要じゃな。

765 :デフォルトの名無しさん:03/08/14 23:09
質問なんですが、activex.dllの中の配列って外には公開できないんですか?
classファイルに書くと、定数や配列〜はパプリックメンバー〜てなエラーが
出て書けないし、標準モジュールの中にpublicで書いても外から参照できない
し、配列とか構造体は外には公開できないという仕様なんでしょうか?

766 :デフォルトの名無しさん:03/08/14 23:37
現在、バイナリファイルを読み込んで、そのファイルのスペックシートみたい
なものをWORD形式のファイルで出力するものを作りたいと思ってます。

 WORDのVBAでやろうかとも思ったのですが、バイナリファイルを扱う方法がわ
かりませんでした。VBAでこういったことをするのは不可能でしょうか?
 もしくは、VBからWORDを操作する方法はあるでしょうか?
 もしくは、WORDのファイル形式について解説してくれているページとか
あるでしょうか?

767 :デフォルトの名無しさん:03/08/14 23:38
>>766
あります。

768 :767:03/08/14 23:39
すみません、どの方法があって、どうやればその方法を知ることができるかも
教えてくださると助かります。

769 :デフォルトの名無しさん:03/08/14 23:44
>>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=

770 :767:03/08/14 23:59
>>769
ありがとうございます、助かりました。

771 :デフォルトの名無しさん:03/08/15 00:13
あの、DLLをインスタンス化(ここは普通のEXE)して、ACTIVEX.EXEのメソッドを通してByrefで
そのオブジェクトを渡し、その渡されたオブジェクトをActivex.EXE側は、自前
のオブジェクト変数に代入し、参照を持ち続けます。これを、いくつかのActivex.Exe
を相手に繰り返し、ひとつのインスタンスを複数のActivex.Exeが参照している
状態にします。この時、DLLの中の時間がかかる処理を持つメソッドが呼ばれた
場合、最初にインスタンス化した普通のEXEが固まるのでしょうか?
また、そのメソッドが呼ばれて、処理を行っている間に、他のACTIVEX.EXEとかが
そのメソッドを呼んだらどうなるのでしょうか?教えてください。
つまり、そのdllの処理はどこ持ちなんですか?という事です。

772 :デフォルトの名無しさん:03/08/15 00:18
長文+全角英数読む気しねー。
誰か要約して。

773 :デフォルトの名無しさん:03/08/15 00:20
>>771
インスタンス化の意味をもっと詳しく調べなさい。

774 :デフォルトの名無しさん:03/08/15 00:27
>>771
まああれだ。作って試せ。

775 :デフォルトの名無しさん:03/08/15 00:33
VB6からWin2kのフォルダ・ファイルへのアクセス許可(セキュリティ)を
取得するAPIなどがあったら教えてください。
目的はアクセス許可の設定されている全フォルダ・ファイルをリストアップすることです。
Webを探したのですが、探し方が悪いのか、見あたりませんでした。

776 :デフォルトの名無しさん:03/08/15 00:33
>>774
ためしてみたんですがよく分からないんです。ってか
ためして、わからないから聞いたんですけど。まぁ
少なくとも最初にインスタンス化したEXEは固まって
ないみたいですね。


777 :776:03/08/15 00:44
>>776
いや、違う、参照を保持しているすべてのEXEが固まりおった。
なんてこったい。


778 :デフォルトの名無しさん:03/08/15 02:33
age

779 :デフォルトの名無しさん:03/08/15 02:40
>>766
rtfのほうが、マークアップなテキストファイルで扱いやすいし、汎用的だよ。
あらゆるバージョンのMS-Wordで読み書きできるばかりか、
多くのワープロでも読めるし、最悪、Wordpadでも読み書きできる。
仕様書はMSDNライブラリにある。探しにくいけど、確かOffice関係のところ。

780 :デフォルトの名無しさん:03/08/15 09:34
>>779
変なタグと思いっきりエンコードされた日本語。
日本人にはおいしくない仕様ですな。

781 :デフォルトの名無しさん:03/08/15 10:25
>>780
それでもDOCよりはましだろう。

>>766
HTML形式で書いて、拡張子を.DOCにするだけでもMS Wordでよめるよ。

782 :766じゃないけど:03/08/15 10:33
>>781
本当だ。。。

783 :デフォルトの名無しさん:03/08/15 10:51
>>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

テストしてない。間違ってたらスマソ。

784 :781:03/08/15 10:53
>>782
こまかい制御はできないけど、十分便利でしょ。

785 :デフォルトの名無しさん:03/08/15 11:12
age

786 :デフォルトの名無しさん:03/08/15 11:30
FMV-BIBLO NB14B/Rで、BEEP音がなるプログラム実行しても音が出ません。
perlでは音が鳴るのですが、なんかほかの命令いるのですか?
ヘルプのプログラムコピペして実行しても音出ませんでした。



787 :デフォルトの名無しさん:03/08/15 11:32
>>786
そうですか。残念でしたね。

788 :デフォルトの名無しさん:03/08/15 11:32
>>786
富士通に言え。

789 :デフォルトの名無しさん:03/08/15 11:33
>>786
どんなコードで鳴らそうとしてるのだね・・・

790 :デフォルトの名無しさん:03/08/15 11:40
別スレに書き込んだのですが、削除依頼がでていたので
ここに書き込みさせていただきます。

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

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

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

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

環境
Windows2000+VB6(sp5)


791 :デフォルトの名無しさん:03/08/15 11:47
おまいら未だにVBから抜け出せないでいるのかよ(w
言語ピラミッドの最下層に位置してるしな(w

792 :デフォルトの名無しさん:03/08/15 11:50
おまいら、今日は釣られないぞ!
声出していこうー!おー!

793 :デフォルトの名無しさん:03/08/15 11:50
上層を支える重要な部分だよ。

794 :デフォルトの名無しさん:03/08/15 11:50
次の質問どぞー

795 :デフォルトの名無しさん:03/08/15 11:51
ビープ音を鳴らす方法を教えてください。

796 :デフォルトの名無しさん:03/08/15 11:52
print "\a"

797 :デフォルトの名無しさん:03/08/15 11:54
>>790
HTTPSとHTTPの違いを勉強して下さい。VBの知識だけでは解決できません。

798 :デフォルトの名無しさん:03/08/15 11:56
>>796
フォームに\aと書き込まれるだけでした。

799 :デフォルトの名無しさん:03/08/15 11:57
>>798
ネタをネタと、、、と釣られてやろう。
Beepという命令あるじゃん。

800 :デフォルトの名無しさん:03/08/15 11:59
>>799
できました。
ありがとうございました。

801 :デフォルトの名無しさん:03/08/15 12:04
>>796
Cでもないし・・・なんだろうな。これは。

802 :デフォルトの名無しさん:03/08/15 12:05
>>797
SSLによる認証と暗号化が行われる。

803 :デフォルトの名無しさん:03/08/15 12:06
>>801
Perl

804 :803:03/08/15 12:06
セミコロンがねーか

805 :790:03/08/15 12:23
>>797

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

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



806 :デフォルトの名無しさん:03/08/15 14:41
>>766
プロシージャ経由で渡すのは問題あるのか?


807 :山崎 渉:03/08/15 15:13
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

808 :デフォルトの名無しさん:03/08/15 16:39
sage

809 :デフォルトの名無しさん:03/08/15 18:52


810 :デフォルトの名無しさん:03/08/15 19:07
ショートカットの幼い娘!といった感じのいずみちゃんです。
部屋の中のベンチでローターをクリにあてしきりにオナニーに励み、
男性二人に責められて喘ぎまくる姿が妙に色っぽいです。
感じやすそうなピンクの乳首もいいですよ。
セーラー服いっぱいで無修正!
無料ムービーいい感じだよ。
http://www.pinkschool.com/


811 :デフォルトの名無しさん:03/08/15 19:39
VBAからCGIにPOSTするプログラムを作っています。

日本語を含むString型からPOSTするデータを作るときにapplication/x-www-form-urlencodedに
エンコードするのはどうすればいいのでしょう?
今は泥臭くmidで1文字ごと切り出し、ascで正負を判定し、必要なエスケープ処理を行っています。

812 :デフォルトの名無しさん:03/08/15 19:40
>>811
それでいいじゃないか。

813 :サクーシャ ◆q0gCeq2ch6 :03/08/15 19:42
>>811
私も実装しました。適当ですけど。

814 :デフォルトの名無しさん:03/08/15 20:42
>>801
Print は立派なVBの関数だが?

815 :デフォルトの名無しさん:03/08/15 20:47
>>814
\aでアラームを鳴らせることについてだろ。

816 :デフォルトの名無しさん:03/08/15 20:48
結局beep関数のお世話になるんでしょ?

817 :デフォルトの名無しさん:03/08/15 21:11
ひっぱるほどのネタでもないが・・・
WAV鳴らしてもいいし。

818 :811:03/08/15 22:09
昨日検索したときは、なんかのDLL(職場行かないとわからない)使うバージョンが見つかって、
試してみたけど2バイトコードはエスケープされなかったので質問してみました。
改めて検索してみるとFAQだったようですね、世界中あちこちで実装されていました。
# 何を検索していたんだ。 > オレ
ありがとうございました。

819 :デフォルトの名無しさん:03/08/15 23:43
あるクラスのインスタンスを参照している複数の変数があったとして、
それらが同じインスタンスを指しているのかを調べる事はできるでしょうか?

Dim a As Class1
Dim b As Class1

Set a = New Class1
Set b = a

If a = b Then

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

820 :デフォルトの名無しさん:03/08/15 23:53
>>819

If a is b Then

821 :デフォルトの名無しさん:03/08/15 23:58
>820
おぉぉ、出来ました。
なるほどIsか・・・

ありがとうございまっ

822 :デフォルトの名無しさん:03/08/16 02:31
age

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

824 :デフォルトの名無しさん:03/08/16 22:13

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

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

腹立ちました。
みんなでやっつけにいこう。

825 :デフォルトの名無しさん:03/08/16 22:57
>>824
一人でやってろ

826 :デフォルトの名無しさん:03/08/16 23:19
ってか、PGに馬鹿が多いのは事実だ。824のリンク先も馬鹿っぽいが。

827 :デフォルトの名無しさん:03/08/16 23:23
相手すんなよ。

828 :デフォルトの名無しさん :03/08/17 00:00
Const AAA = 0

でなく  

Const AAA = &H0&  

と指定するのはどういう意味あんですか?


829 :デフォルトの名無しさん:03/08/17 00:04
初心者だがVBで以下のようなことをしてるのを見た
Set DBEngine = Nothing
何が起こる?

普通に考えれば、以降DBEngineにアクセスできなくなりそうなのにvb6で試してみたら何も起きない。言語が用意した変数は特別扱いされる?


830 :デフォルトの名無しさん:03/08/17 00:07
>>828
AAAが16進のLong型だってことが一目で分かる。
Const AAA as Long = &H0
の方がお勧め。

831 :デフォルトの名無しさん:03/08/17 00:09
>>829
インスタンスの参照中は無視される。仕様でつ。

832 :デフォルトの名無しさん:03/08/17 00:14
>>831
そうすると、
Set var = object
Set var = Nothing
Debug.Print var ' <- こんなことはできんか

だと var は object ?(でもたしかNothing)
ますますわからんくなった。


833 :デフォルトの名無しさん:03/08/17 00:17
>>829
変数DBEngineにNothingを代入する。
ttp://www.gj.il24.net/〜nakasima/vb/tech/Nothing/index.htm

834 :デフォルトの名無しさん :03/08/17 00:21
>>830
ありがと
VB6でENUMで型指定ってできないんですか?

ENUM AAA
AAA1 = 0
END ENUM

835 :デフォルトの名無しさん:03/08/17 00:26
>>834
Enumについてのヘルプ嫁

836 :デフォルトの名無しさん:03/08/17 00:27
>>834
列挙型(Enum)とユーザー定義型(Type)を混同してる?
混同ついてに、VBのユーザー定義型はCの構造体に似てるけど微妙に違う。

837 :デフォルトの名無しさん :03/08/17 00:28
>>835
読んだが良くわからん
Longになっちゃうの?


838 :デフォルトの名無しさん:03/08/17 00:32
>>837
多分そう。

839 :>>2ちゃんねらーの皆さん:03/08/17 00:40
( ´Д`)/< 先生!!こんなのを見つけました。
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

840 :デフォルトの名無しさん:03/08/17 00:42
>>833
参照カウンタはわかる。しかし、DBEngineの場合
Private Sub Command1_Click()
Set DBEngine = Nothing
Debug.Print DBEngine.Workspaces(0).Name
End Sub

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

ここで、言語が用意したDBEngineという変数(実は変数じゃなかったり?)は特
別扱いされてるのかと思った。


841 :デフォルトの名無しさん:03/08/17 00:45
>>840
もまえ、宣言時にNewしてない?その場合はの動作はこうなる。
Set DBEngine = Nothing ←インスタンス破棄
Debug.Print DBEngine.Workspaces(0).Name ←ここでインスタンスが新たに生成される

842 :デフォルトの名無しさん:03/08/17 00:53
関数呼び出しんとき hoge(a, b) て言うのとhoge a, b てできるけど
これってなんか違いあるんですか?
Cからやってるんで後者がどうにも気持ち悪く、前者でやってるんですが、
MSのサンプルソース見たら後者で呼び出してるので。



843 :デフォルトの名無しさん:03/08/17 00:55
>>841
そうか、試したプログラムは840だけなんだが、VBが

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

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

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

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

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

などとやってて。これバグってるよかーん。試してみるよ。ほんとに
ありがとう。


844 :デフォルトの名無しさん:03/08/17 00:56
同じですよ。自分は断然前者がいいと思いますが。VB初心者とかは後者がおおいっすね

845 :デフォルトの名無しさん:03/08/17 00:57
>>844
>>842ですすいません

846 :デフォルトの名無しさん:03/08/17 01:01
>>844
そうなんですか。じゃあ今までどおり前者でいきまつ。ありがとん。

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

どうにも理解しかねる言語仕様…

847 :840:03/08/17 01:02
>>842
VB初心者の840だが、他の質問教えてもらったのでお礼

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

違ったらすまんな


848 :デフォルトの名無しさん:03/08/17 01:42
その後

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みたいだな。破
棄されてもトランザクションが保持されてるのはそういうものだと思っておく
ことにするよ。でも解説できる人はオナガイシマス


849 :デフォルトの名無しさん:03/08/17 01:58
>>848
「参照設定」はアーリーバインディングだからな。

850 :デフォルトの名無しさん:03/08/17 02:09
>>848
DAOよく分かんないけど、途中の
Set DBEngine = Nothing
は意味無いし気持ち悪いね


851 :デフォルトの名無しさん:03/08/17 02:19
ははあ、だんだんわかってきたぞ。VBのDim ... as newというのはEarly Binding
の宣言なんだな、コンパイル時にメソッド呼び出しとかが決定されるから
DBEngine.BeginTrans
Set DBEngine = Nothing
DBEngine.CommitTrans
としても最後のCommitTransで呼び出すべきメソッドがわかってるんだ。

で、BeginTrans, CommitTransはインスタンスの状態に関係ないからエラーが
起きない。違う?つかCOMも知らんから妄想の世界だ


852 :デフォルトの名無しさん:03/08/17 02:27
>>851
>BeginTrans, CommitTransはインスタンスの状態に関係ない
関係あるよ。

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

インスタンスの破棄はどこからも参照されなくなったとき自動的に行われる。
つまり「参照設定」でアーリーバインディングされたインスタンスの破棄は
アプリケーションの終了時に行われる。

853 :デフォルトの名無しさん:03/08/17 02:32
>>852
>>851じゃないけど、
DBEngineって「参照設定」しただけでアプリケーション実行中は
オブジェクト変数も無しにインスタンス生成されんの?


854 :デフォルトの名無しさん:03/08/17 02:36
>>853
その辺の実装がどうなってんのかはわかんないね。挙動からの推測にすぎない。

855 :デフォルトの名無しさん:03/08/17 02:39
>>852
わかりました。完璧!これで安心して眠れます。
VBの不快仕様がわかりました。
Early Bindingな変数を
Set xxx = Nothing
した場合にエラーになるべきなんじゃー>VB


856 :デフォルトの名無しさん:03/08/17 02:46
>>855
それがねぇ、Set xxx = Nothingは破棄ではなくて参照を外すだけだから…。

857 :855:03/08/17 02:50
まともに考えたらコンパイルして参照されている部分を見つけたらスタートアッ
プルーチンにオブジェクト生成するコードが含まれるんじゃない?
たくさんオブジェクトを参照設定して実行してメモリサイズが変わるか
見ればいいんだな。今度やってみよ


858 :デフォルトの名無しさん:03/08/17 02:55
>>857
コンパイルオプションに「使用しないActiveXコントロールについての情報を削除する(E)」
ってのがあるじゃん。

859 :855:03/08/17 03:03
>>856
ちょっと思った。

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

B.BAS
Dim DBEingine as New DAO.DBEngine

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

いや、ほんとVB知らんのよ(さっきのCommand1_Clickが俺がはじめて作った実
行できるプログラム)


860 :855:03/08/17 03:07
>>858
DAOってActiveXコントロールなん?
いや、ごめん。聞く前に調べるべきね。
もう寝るわ
みなさん、ありがとうございました。


861 :通りすがり:03/08/17 04:42
DBEngineクラスのメンバが全部static?
となると>>855の言うとおり
Set DBEngine = Nothing
出来るのはおかしいよなぁ・・
変数じゃ無いもんにNothingをSetするなんて考えられない

862 :デフォルトの名無しさん:03/08/17 08:21
855氏ね

863 :デフォルトの名無しさん:03/08/17 10:52
>>850
意味はないかもしれんが、気持ち悪くはないだろ

864 :7:03/08/17 11:05
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
 ☆★ 無修正DVD★☆なら 新宿歌舞伎町直送 ☆★

人気爆発新作ベスト9入荷
  堤さやか引退特集 憂木瞳 プロジェクトX No8 ベイビーフェイスをやっちまえ
 白石ひより・愛葉るび SNAPSHOT 地下映像陵辱援交 すぎはら美里痴女教師
 店頭販売の売れ筋のみ厳選してみました 安心の後払い
     http://book-i.net/moromoro/
   白石ひとみ 小森詩 山田まり 長瀬愛
@@ 及川奈央 レジェンド @@ 堤さやか 東京バーチャル 依然大好評
    
  サンプル画像充実  見る価値あり  最高画質
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ 

865 :デフォルトの名無しさん:03/08/17 12:19
>>863
Nothing入れてからコミットしてるのが気持ち悪い

866 :デフォルトの名無しさん:03/08/17 12:48
すげぇくだらない質問ですまないんだけど、もし、ちょっと本腰を入れてアプリ
をつくったとしたら、プログラムのソース全部で何行ぐらいになる?
俺の作ってるのはどの程度手がかかってるとか比べてみたいから、
教えてちょ

867 :デフォルトの名無しさん:03/08/17 13:01
>>866
どんなものを作るかによるだろ。
「本腰を入れて、お母さんに手紙を書くと、何文字くらいになりますか」
分かるか、おい。

868 :デフォルトの名無しさん:03/08/17 13:15











             ま た ア ホ か           













869 :デフォルトの名無しさん:03/08/17 14:25
>>865
そこまで見てなかった。納得。

870 :デフォルトの名無しさん:03/08/17 14:39
VB6、ADOでAccessのMDBからデータを取ってくる処理を勉強しています。

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

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

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

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

一般的な案で良いので、良い案があればご教授おながいします。

871 :デフォルトの名無しさん:03/08/17 14:45
>>867
まぁ、そう来るとは思ってたんだけどね。じゃあ、通信プログラムを組んだ
としたら、そう、まぁ、チャットとかでいいや


872 :デフォルトの名無しさん:03/08/17 14:48
負けを認めないウンコだなぁ。

873 :デフォルトの名無しさん:03/08/17 15:09
>>870
月日でソートしといて、今出力中の年月と違う年月が出てきたらファイルを新規に作成すればいいと思う。

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


>>872
あふぉは、放置汁。

874 :デフォルトの名無しさん:03/08/17 15:10
>>870

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

面倒だったら、月ごとに SQL を発行するという手もあり。時間はかかるけど、ループ
処理が適当で済むし。

875 :デフォルトの名無しさん:03/08/17 15:11
>>869

うぉ。かぶった。

>>871

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

876 :875:03/08/17 15:12
>>875

>>869 じゃなくて、>>873 だった・・・ なんでこんなミスを・・・

877 :デフォルトの名無しさん:03/08/17 15:22
VBの質問とちょっと違うかもしれませんが。。。
最近、Visioを入れたら、VBに「Visioツールバー」が出るようになりました。
これは消しても、VBを起動する度に復活します。
これを"VB側で"出なくする方法ってありますか?

878 :870:03/08/17 15:43
>>873>>874
月ごとにSQLで取得することしか思いつかず、苦労していました。
全件取得してから処理することにします。
どうもありがとうございました。


879 :デフォルトの名無しさん:03/08/17 16:20
>>877

アドインとして登録されてるんだろうから、その辺の設定を見直せば?

880 :デフォルトの名無しさん:03/08/17 20:52
年賀状ソフトなんかでよくある、TextBoxに名前を入れると、
別のTextBoxに振り仮名を自動で表示させたいと思っています。

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

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



881 :デフォルトの名無しさん:03/08/17 20:59
>>880
WindowsAPIにあったはず。

882 :877:03/08/17 21:20
>>879サン
直りました。ありがとうございました!

883 :647:03/08/17 22:10
>>648-650
どうもありがとうございます。レスが遅れてすみません。

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

StretchBltなどを検索で調べてはみたのですが、ピンと来るものが
見つかりませんでした。

884 :デフォルトの名無しさん:03/08/18 01:58
>> 647
言い訳を考えてみたw

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

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

言い訳3(屁理屈&嘘w)
 VisualBasic及びWindowsでは「どんな画像でも表示する」という
 保障はされていませんし、Microsoftにはその原因を提示する義務が
 ないという条件で使用が認められています。
 詳しい原因を提示するにはMicrosoftに
 かなり高額なライセンス料を払う必要があります。


885 :デフォルトの名無しさん:03/08/18 02:09
age

886 :デフォルトの名無しさん:03/08/18 11:10
漏れの自宅のパソコンで、参照設定で Web Browser Component が見つからないのですが…
学校のパソコンだと見つかるのになぁ…

どんなソフトをインストールすると、このコンポーネントが入るのでしょうか?

887 :デフォルトの名無しさん:03/08/18 11:19
ん?なんか
Microsoft Internet Components を選択したら参照が解決しました。
英語版 Windows と何か違うのかな??

888 :デフォルトの名無しさん:03/08/18 11:20
Internet Controls でっした。

889 :デフォルトの名無しさん:03/08/18 11:36
>>647
これ?
http://support.microsoft.com/default.aspx?scid=kb;en-us;269585

890 :デフォルトの名無しさん:03/08/18 12:02
自分が作ったプログラムを実行すると、実行前とはクリップボードの内容が変わってしまうため、
プログラムの最後にクリップボードの内容を元に戻そうと思っています。
いい方法はないでしょうか?

891 :デフォルトの名無しさん:03/08/18 12:10
>>890
Clipboard オブジェクトってのがあるぞ。

892 :初めて書き込みます:03/08/18 12:38
失礼します。
最近C言語でのプログラミングを勉強しようとしたのですが、一番
始めにLSI C−86をインストールしてプロンプトを開くと
C:¥>
と書いてあると記載されていました。でも自分のには参考書
C:¥Documents and Settings\>C
と記載されていてそのまま参考書にある操作をしても「指定された
パスが見つからない」とでてしまいます。
調べるとカレントディレクトリを変更できる状態、プロンプトを
開くとC:¥>のみ表示した状態にするにはどうしたらいいんで
しょうか?一応ヘルプなどで調べたんですがその説明はされてませんでした。
ちなみにOSはXPです。

893 :デフォルトの名無しさん:03/08/18 12:45
まぁここは VB スレッドなんでどこか別のところに言ってくれ。

あと、一応書いておく。
cd \ でカレントディスクのルートに移動できる。

894 :890:03/08/18 12:49
Clipboard オブジェクトだと元に戻せない内容があるのですが・・・。
オブジェクトの実体のコピーって作れないのでしょうか?

895 :デフォルトの名無しさん:03/08/18 14:58
 他人が作ったプログラムが「応答なし」の状態かどうか取得する方法を
教えてください。
 IsHungAppWindow を使用すれば取得できるようなのですが、ウィンドウ
ハンドルが必要なため困っています。
 1)プロセスIDからウィンドウハンドルを取得するにはどうすればいいので
しょうか?
 2)他の関数を使えばできるのでしょうか?

OS:WIN2000
開発言語:VB6

896 :デフォルトの名無しさん:03/08/18 15:29
>>895

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

2)
どのみちウィンドウハンドルが必要になるのは一緒です。

897 :デフォルトの名無しさん:03/08/18 15:40
ところで、 MonthView コントロールを使うには、
なんという名前のライブラリ(?)を参照設定でチェックすればいいのでしょうか?

また、参照設定に現れている各コンポーネントが何をエクスポートしているかを
一覧することはできますでしょうか?

898 :デフォルトの名無しさん:03/08/18 15:52
>>894
視点を変えて、自分のプログラムではクリップボードを操作しない。

899 :デフォルトの名無しさん:03/08/18 15:54
>>897

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

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

>>898

賛成。

900 :デフォルトの名無しさん:03/08/18 16:12
>>899
レスありがとうございます。
すみません、じつは Access の VBA なので、どうもツールボックスとかは無いようです。
Access のスレッドを見つけたので、そちらで質問してみます。

901 :890:03/08/18 16:45
それを考えてみたんですけどいい考えが浮かばなくて困ってます。

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

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

902 :デフォルトの名無しさん:03/08/18 17:21
>>901

VB の Clipboardオブジェクトが対応しているのは、テキストと画像ぐらいしか
なかったはず。それ以外のものに対応したいのなら、API を使ってごにょごにょ
やる必要がある。かなり面倒だと思うよ。

903 :890:03/08/18 17:29
>>902
やっぱりそうですか。
自分もAPIかなって考えてみてちょっと下調べしてたんですけど、
すんごい面倒そうで他にいい方法ないかなと思ったんですけど。

どなたかこんなのいいんじゃないって案がありましたらよろしくお願いします。
明日の朝また覗かせてもらいます。


904 :デフォルトの名無しさん:03/08/18 18:11
もしかしたら凄く初歩的な質問かもしれませんが・・・・・。と言うより、馬鹿な質問かもしれませんが・・・・・。

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


905 :デフォルトの名無しさん:03/08/18 18:46
>>904

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

多重起動については、App.PrevInstance や Mutex を、教え方については、プロセス間
通信について調べてみてください。

906 :デフォルトの名無しさん:03/08/18 19:18
IEEE1394でDVなどからキャプチャをするようなOCXとかは
ないもんでしょうか。

907 :デフォルトの名無しさん:03/08/18 20:22
>>906

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

こんなんあったよ。


908 :デフォルトの名無しさん:03/08/18 21:43
フォームの×ボタンをなくすには、どうすればいいですか?
タイトルバーは消したくないので、borderStyleプロパティ
1−固定(実線)の×ボタンだけ消したいのです。

909 :デフォルトの名無しさん:03/08/18 23:21
Formをプリント形式でファイルへ出力したい。
Form.PrintFormでForm表示をプリンターへ出力できるので、
DC(デバイスコンテキスト)をファイル出力へ変えてやることで
できるらしいのですがどうやればよいのでしょうか?

API関数で取得するとかしないとか?よくわかりません。

910 :デフォルトの名無しさん:03/08/19 00:16
>>908

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

>>909

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

もしくは、ぜんぜん違う手法だけどサポート技術情報にある方法を使うことになるね。
文書番号: 161299 を参照してね。

911 :デフォルトの名無しさん:03/08/19 00:26
>>908
ControlBoxプロパティ。
但し最小化最大化も消える。

912 :デフォルトの名無しさん:03/08/19 01:06
>>907さんあるがとうございます
それにしても高い…

913 :デフォルトの名無しさん:03/08/19 01:08
>>893さん
ありがとうございました。問題解決しました。それとスレッド間違って
しまってゴメンナサイ。

914 :647:03/08/19 02:16
>>884
言い訳まで考えてもらってすみませんm(__)m。

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




915 :909:03/08/19 06:49
>PrintForm では無理でしょ。普通に API で DC をコピーした後、PictureBox に
 転送して SavePicture ってのが楽かな?

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



916 :デフォルトの名無しさん:03/08/19 07:20
>>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
を参考にしてください。

917 :デフォルトの名無しさん:03/08/19 09:57
普通にコンパイルして実行ファイルを作ると、プロジェクトと同じフォルダ内にExeが作成
されますが、これを場所指定で別のフォルダに作成する事はできるのでしょうか?

918 :デフォルトの名無しさん:03/08/19 10:14
age忘れました

919 :デフォルトの名無しさん:03/08/19 11:23
Object型変数に格納されているオブジェクトの型を取得するにはどうすればいいのでしょうか?

920 :デフォルトの名無しさん:03/08/19 11:45
If TypeOf something Is Class1 Then

If TypeName(something) = "Class1" Then

921 :919:03/08/19 11:56
>>920 HayaiKaitouArigato-!

922 :/?:03/08/19 14:11
>>917
できる。

923 :904:03/08/19 14:29
>>905
回答ありがとうございます。

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


App.PrevInstanceについては分かるので、とりあえずプロセス間通信について調べてみます。

924 :デフォルトの名無しさん:03/08/19 19:41
もまえのシリアルナンバー教えて
ついでに次スレ

925 :デフォルトの名無しさん:03/08/19 21:31
>>924
次スレ立てました
http://pc2.2ch.net/test/read.cgi/tech/1061296197/l50

926 :デフォルトの名無しさん:03/08/19 22:21
顔文字が…っ

927 :デフォルトの名無しさん:03/08/19 22:36
CoolBarにメニューを設置したいんですが、どうすればいいですか?

928 :デフォルトの名無しさん:03/08/19 22:55
ツールバーにメニューをセット

929 :デフォルトの名無しさん:03/08/19 23:21
age

930 :デフォルトの名無しさん:03/08/19 23:31
>>928
どういうことですか?

931 :デフォルトの名無しさん:03/08/19 23:33
>>930
ネタだから気にするな。

932 :デフォルトの名無しさん:03/08/20 00:57
Delphi使えよ

933 :デフォルトの名無しさん:03/08/20 01:32
初めて、エクセルのVBAをやってみたんですが、
テキストボックスの配列が出来ないようなんですが
どうなってんでしょうか????

教えてください。

934 :デフォルトの名無しさん:03/08/20 06:21
>>933
dim textboxes(5) as object

set textboxes(1) = textbox1
...

935 :デフォルトの名無しさん:03/08/20 09:06
VBAってコントロール配列使えないんじゃなかったっけか

936 :デフォルトの名無しさん:03/08/20 10:56
934で配列にコントロールを入れてる訳か

937 :デフォルトの名無しさん:03/08/20 11:16
VBAって配列使えないのか・・・
イベントとかどうすんだ?

938 :デフォルトの名無しさん:03/08/20 12:47
>>937
もちろんコントロールごとにイベントプロシジャを記述するよ。

939 :デフォルトの名無しさん:03/08/20 13:18
テキストボックスを複数個用意して、TextBox1,TextBox2・・・と名前を付ける。
コードでMe.Controls("TextBox" & Cstr(i)))と指定する事で、iの値に対応した
テキストボックスへの参照を取得できるが・・・なんかマズー
Accessではこんな感じでできたけどExcelは?でし

940 :デフォルトの名無しさん:03/08/20 15:50
こんにちわ。私は現在 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でキャンセルを押した場合の値の取得は何を用いれば良いのでしょうか?
参考書やネットでも調べてみたのですが、見つけられませんでした…

ものすごく初歩的なことかとは思うのですが…ご教授あるいは参照となる場所があれば
誘導していただけるとありがたいです。

941 :デフォルトの名無しさん:03/08/20 16:36
>>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

942 :940:03/08/20 17:10
>>941
ナルホド、CancelErrorが怪しい予感はしていたのですが…
On Error文で書けばよかったのか…恥ずかしながら盲点でした…

貼ってくださったリンクの方も参照して勉強いたします!
本当に初歩的な質問にもかかわらず有難う御座いました!!

943 :942:03/08/20 17:11
↑に書き忘れですが、教えていただいたコードで無事動作確認できました!
本当にありがとうございました。

944 :デフォルトの名無しさん:03/08/21 00:55
非アクティブ時にキーの状態を得るにはどうすればいいのでしょうか?
シフトキーの状態を得ようとして
If GetKeyState(VK_SHIFT) < 0 Then
Label1.Caption = "シフトキーが押されている"
Else
Label1.Caption = "シフトキー押されていない"
End If
このようにしているんですが、アクティブ時しか動きません。

945 :944:03/08/21 01:20
すいません、自己解決しました。

228 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)