Windows2000 Pro と、Windows2000 Server とで、
FindFirstFile関数の戻り値となる構造体の、
WIN32_FIND_DATA の dwFileAttributes As Long
の戻り値が、どうも違うようです。
(端末によっても違うような…?)

Win2000 の Pro と Server との違いなどが明記されて
居る場所をご存知の方いらっしゃったら教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Server/Proの違いによるものではなく、属性が違うだけだと思います。




dwFileAttributesは属性です
以下の定数が入ります。
FILE_ATTRIBUTE_ARCHIVE
FILE_ATTRIBUTE_HIDDEN
FILE_ATTRIBUTE_NORMAL
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
FILE_ATTRIBUTE_OFFLINE
FILE_ATTRIBUTE_READONLY
FILE_ATTRIBUTE_SYSTEM
FILE_ATTRIBUTE_TEMPORARY

これらの定数の意味は、他のAPI関数でSetFileAttributesに詳細が出ています。
参考URLを見てください。

参考URL:http://www.microsoft.com/JAPAN/developer/library …
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q自動ログイン(windows2000pro)

起動後ある特定のユーザー/パスワード/ドメインにて自動起動するにはどのようにすれば良いのでしょうか?
 VBで作成可能であれば、プログラムをご教示ください

そのプログラム上に、ユーザー/パスワード/ドメインを定数等で持ち自動ログインはできないでしょうか?
 その定数(ユーザ/パスワード/ドメイン)を変更することにより、容易に変更したく思っています

やはり、ログイン前なので不可能でしょうか?

以上、初歩的な質問では御座いますが宜しくお願いいたします

Aベストアンサー

窓の手を使えば簡単に自動ログインできるように設定できます。
 http://www.asahi-net.or.jp/~vr4m-ikw/ <窓の手の公式サイトです。
DLして使ってみてください。

参考URL:http://www.asahi-net.or.jp/~vr4m-ikw/

Q戻り値について

学校の課題で分からないところがあります。
教えていただけないでしょうか?
VB.Net2002です。

Private Function CheckNumber(ByVal NumTextBox As TextBox) As Boolean

If IsNumeric(NumTextBox.Text) Then
Return True
Else
MessageBox.Show("数値を正しく入力してください", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
NumTextBox.SelectAll()
NumTextBox.Focus()
End If

End Function

Private Sub ExecButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ExecButton.Click

If Not CheckNumber(Num1TextBox) Then
Exit Sub
End If

--------------質問-----------------------------
ExecButton_Clickプロシージャの

If Not CheckNumber(Num1TextBox, Num1) Then

の処理内容が分かりません。

CheckNumberでReturn Trueが返ってくるか
エラーのメッセージボックスが
表示されるのは分かりますが、
Notで否定してもFalseが返ってくる事はないのでは?
ならこの処理は何なのですか?
-----------------------------------------------
長くなってしまいすみません(>_<)

学校の課題で分からないところがあります。
教えていただけないでしょうか?
VB.Net2002です。

Private Function CheckNumber(ByVal NumTextBox As TextBox) As Boolean

If IsNumeric(NumTextBox.Text) Then
Return True
Else
MessageBox.Show("数値を正しく入力してください", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Error)
NumTextBox.SelectAll()
NumTextBox.Focus()
End If

End Function

...続きを読む

Aベストアンサー

変数でも関数でもBooleanは宣言した段階では「False」ですので
If IsNumeric(NumTextBox.Text) Then
のところで結果が真であれば「True」偽であれば「False」を返却します。

試しに下記のコードをフォームに貼り付けて実行してみてください。

------------------------------------------------------------------
Private Sub Form_Load()

Dim a As Boolean

MsgBox a
MsgBox fa(0)
MsgBox fa(1)
MsgBox fa(0)

End Sub

Function fa(b) As Boolean

If b = 1 Then
fa = True
End If

End Function

Q引数で戻り値を取得するプログラム

以下のように、引数で戻り値を取得するプログラムを書きたいのですが
どのように書けば正しいでしょうか?
VB6とVB2005の両方の書き方を教えてください。

sub kekka(byval src as string, byref dst() as string)
dim ret() as string

ret(0) = "abc"
ret(1) = "efg"

kekka = ret

end sub

kekka("xxx", dat() )
msgbox(dat(0))
msgbox(dat(1))

Aベストアンサー

参考になれば、幸いです。

'******************************
' Visual Basic 6.0のコード
'******************************

Private Sub Form_Load()
  Dim dat(1) As String
  
  Call kekka("1", dat)
  Call MsgBox(dat(0))
  Call MsgBox(dat(1))

  Call kekka("2", dat)
  Call MsgBox(dat(0))
  Call MsgBox(dat(1))
End Sub

'srcはByValで、変更不可です。
'dstは省略した記述で、ByRefで変更可能です。
'また、配列変数はByVal指定は出来ません。

Private Sub kekka(ByVal src As String, dst() As String)
  Select Case src
  Case "1"
    dst(0) = "abc"
    dst(1) = "efg"
  Case "2"
    dst(0) = "ABC"
    dst(1) = "EFG"
  End Select
End Sub


'******************************
' Visual Basic 2005のコード
'******************************

Public Class Form1
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim dat(1) As String

    Call kekka("1", dat)
    Call MsgBox(dat(0))
    Call MsgBox(dat(1))

    Call kekka("2", dat)
    Call MsgBox(dat(0))
    Call MsgBox(dat(1))
  End Sub

'srcはByValで、変更不可です。
'dstはByRefで、変更可能です。
'しかし、配列変数を引数に指定する場合、配列変数は参照型なので、
'ByValを指定しても、値の変更は可能です。

  Private Sub kekka(ByVal src As String, ByRef dst As String())
    Select Case src
      Case "1"
        dst(0) = "abc"
        dst(1) = "efg"
      Case "2"
        dst(0) = "ABC"
        dst(1) = "EFG"
    End Select
  End Sub
End Class


・蛇足ですが、kekka関数の中で配列変数retを定義した場合の注意点です。
  Private Function kekka(ByVal src As String, ByVal dst As String()) As String()
    Dim ret(1) As String

    ret(0) = "abc"
    ret(1) = "efg"
    dst = ret
    '↑引数dstはkekka関数を抜けると、値を失います。
    Return ret
    '↑戻り値はkekka関数を抜けても、値を失いません。
  End Function
 

参考になれば、幸いです。

'******************************
' Visual Basic 6.0のコード
'******************************

Private Sub Form_Load()
  Dim dat(1) As String
  
  Call kekka("1", dat)
  Call MsgBox(dat(0))
  Call MsgBox(dat(1))

  Call kekka("2", dat)
  Call MsgBox(dat(0))
  Call MsgBox(dat(1))
End Sub

'srcはByValで、変更不可です。
'dstは省略した記述で、ByRefで変更可能です。
'また、配列変数はByVal指定は出来ません。

Private Sub...続きを読む

QAPI FtpPutFileの戻り値

お世話になっております。

API FtpPutFileを使用しているのですが
確実にFalseになります。一日悩みましたが原因が
わかりません。

If FtpPutFile(lngConnect, _
"***.txt", _
"***.txt", _
FTP_TRANSFER_TYPE_ASCII, _
0&) <> False Then

です。必要なものを付け加えておきます。

Private Declare Function FtpPutFile Lib "wininet.dll" _
Alias "FtpPutFileA" _
(ByVal hFtpSession As Long, _
ByRef lpszLocalFile As String, _
ByRef lpszNewRemoteFile As String, _
ByVal dwFlags As Long, _
ByVal dwContext As Long) As Long

Private Const FTP_TRANSFER_TYPE_ASCII = &H1&

です。環境はWinXP,VB6+SP5
よろしくお願い致します。

お世話になっております。

API FtpPutFileを使用しているのですが
確実にFalseになります。一日悩みましたが原因が
わかりません。

If FtpPutFile(lngConnect, _
"***.txt", _
"***.txt", _
FTP_TRANSFER_TYPE_ASCII, _
0&) <> False Then

です。必要なものを付け加えておきます。

Private Declare Function FtpPutFile Lib "wininet.dll" _
Alias "FtpPutFileA" _
(ByVal hFtpSession As Long, _
...続きを読む

Aベストアンサー

Declare文の間違い
もしかしてVB.NET用のサンプルを使ったとか

参考URL:http://www.google.com/search?q=VB6+Declare+FtpPutFile

QFunction プロシージャの戻り値にバグ?

いつも拝見させていただいてます。
今回Excel VBAでタイムスケジュールを作成したところ、まったくわけのわからないエラーが発生してしまい途方に暮れており、皆様のお力をお借りしたく投稿させていただきます。

エラーの内容は簡単に言うと Function プロシージャの戻り値がなくなってしまう(0になっている)ことです。

ESC = ESColumn(EventStart)

----------------------------------

Function ESColumn(TimecoluConv As Date) As Integer

Select Case TimecoluConv

Case "8:00:00"
ESColumn = 2

Case "8:10:00"
ESColumn = 3

Case "8:20:00"
ESColumn = 4

・・・
End Select
End Function

と、このようなコードで入力された時間を数値に変換しているのですが、
繰り返し処理をしているといきなり戻り値が0になってしまいます。

今回は8:00を6回取得した後、8:10を変換しようとしたら戻り値が0になっていました。
戻り値を使用して、セルを選択するため、そのタイミングでエラーになります。

なぜ繰り返し処理の途中で発生するのでしょうか。
解説と対策をご教示していただけると大変助かります。

よろしくお願いします。

いつも拝見させていただいてます。
今回Excel VBAでタイムスケジュールを作成したところ、まったくわけのわからないエラーが発生してしまい途方に暮れており、皆様のお力をお借りしたく投稿させていただきます。

エラーの内容は簡単に言うと Function プロシージャの戻り値がなくなってしまう(0になっている)ことです。

ESC = ESColumn(EventStart)

----------------------------------

Function ESColumn(TimecoluConv As Date) As Integer

Select Case TimecoluConv

Case "8:00:00"
ESColumn = 2

Case "...続きを読む

Aベストアンサー

Format関数のヘルプを見てもらえばわかることですが
この書式指定では、時間部分は24時間制の2ケタです。

Select Case Format(TimecoluConv, "HH:mm:ss")

Case "08:00:00"
ESColumn = 2

Case "08:10:00"
ESColumn = 3

Case "08:20:00"
ESColumn = 4

・・・
End Select
End Function


このカテゴリの人気Q&Aランキング

おすすめ情報