- ベストアンサー
isLoading:Boolean = trueの使い道
ちょっとタイトルわかりづらいと思うのですが、 ネット上で、AS3のサンプルを探していていつも気になるのですが、なかなか調べてもどういった使い道があるのかもわからないので質問させてもらいました。 というのも、 private var isLoading:Boolean = true; ~~~~~~~~ if(isLoading){ 条件分岐 } などの記述があったとして、このisLoadingはどういった意味合い、それがあることによってどういった時に役に立つのか? それが知りたいです。 お手数書けますが、ご教授お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関連するQ&A
- boolean型ではなくて
booleanの2つの値を取る変数ではなく、3つの値を取れる変数ってあるのでしょうか?booleanを2つ使用した場合もやってみたのですがうまく動きませんでした。先に次のようにbooleanを記述して。 boolean state=true; boolean state1=true; boolean state2=true; 後半部分で次のようにやってみたのですが、3値とったことにはならないですかね?(^^; if(state) { if(state1){buffer=img2;} else{buffer=img3;} if(state2){buffer=img4;} else{buffer=img5;} } else{} g.drawImage(buffer,0,0,null); state1 = !state1; state2 = !state2;
- ベストアンサー
- Java
- VBAでWorkbook_BeforeSaveイベントで質問
Workbook_BeforeSaveイベントである条件に達していればExcelファイルを終了したくないのですがどうすればよいでしょうか? WindowsXP ProSP2、Excel2000 コード例) Option Explicit Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) dim flg as boolean if flg=true then exit sub end if End Sub
- ベストアンサー
- Visual Basic
- vba boolean変数を開放する方法
エクセルのセルに「○○○○○○○○○○××××××××××」と入っているものをランダムに並べ代えるマクロを探してみました。 Sub macro2() Dim i, m As Integer Dim b, c As String Dim flg(1 To 20) As Boolean b = Cells(1, 1).Value Randomize For i = 1 To 20 Do m = Int(20 * Rnd + 1) If flg(m) = False Then flg(m) = True Exit Do End If Loop c = c & Mid(b, m, 1) Next i Cells(1, 2).Value = c End Sub これはうまく動くのですが、10行分やろうとして、以下のように変更すると暴走(終わらない)します。 Sub macro2() Dim i, m, n As Integer Dim b, c As String Dim flg(1 To 20) As Boolean For n = 1 To 10 b = Cells(n, 1).Value Randomize For i = 1 To 20 Do m = Int(20 * Rnd + 1) If flg(m) = False Then flg(m) = True Exit Do End If Loop c = c & Mid(b, m, 1) Next i Cells(n, 2).Value = c next n End Sub 一行目が終わってもboolean変数の値がそのまま残っているのが原因らしいのですが開放する方法がわかりません。 取りあえずもう一つマクロを追加してやりたいことはできたのですが、 Sub macro1() Dim n As Integer For n = 1 To 10 Call macro2(n) Next n End Sub Sub macro2(n As Variant) 以下略 なんかスッキリしません。 boolean変数を開放し、マクロひとつですます方法を教えて頂きたくお願いします。 flg(m) = Falseを挿入してもダメでした。
- ベストアンサー
- Excel(エクセル)
- DataGridView上のチェックボックスが、TrueかFalseか
DataGridView上のチェックボックスが、TrueかFalseか判定する際にエラーが出て困っています。 DataGridViewにチェックボックスのカラムを設定し、そのチェックボックスがTrueがFalseかを判断したいと思っています。 以下のコードではエラーになるのですが、何が原因でしょうか。 前提条件 ・環境:VS.NET(VB) ・DataGridView名:dgv ・チェックボックスのカラム名:cCheck For Each dgr As DataGridViewRow In dgv.Rows If CType(dgr.Cells("cCheck").Value, Boolean) Then '処理 End If Next デバッグをしていると、 上記の「 If CType(dgr.Cells("cCheck").Value, Boolean) Then」 でエラーが発生します。 エラー内容は「string型からBoolean型への変換は無効です。」です。 お分かりの方がおりましたら、ご回答頂ければ幸いでございます。 よろしくお願い致します。
- ベストアンサー
- Visual Basic
- エクセルVBAにて保存するとき
Private Sub Workbook_BeforeClose(Cancel As Boolean) If MsgBox("エクセルを終了してもよろしいですか?", vbYesNo) = vbNo Then Cancel = True Exit Sub End If Application.DisplayAlerts = False Application.Quit End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox "そのボタンでは保存できません。" & vbCrLf & _ "雛形は残しておきましょう" & vbCrLf & _ "" & vbCrLf & _ "ツールバーの「マクロなし出力」から保存できます。" Cancel = True End Sub という二つのマクロをThisworkbookにいれてあるんですが、 この二つを有効(今は2つ目を'でコメント状態にしてあるので保存可)にすると保存できなくて困っています。 二つを有効にした時はどのようにほぞんすればいいですか?
- 締切済み
- Visual Basic
- エクセルVBAで Cancel=Trueの使い方
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address <> "$A$1" Then Exit Sub Cancel = True MsgBox "キャンセルしました" End Sub Private Sub Worksheet_Deactivate() Cancel = True MsgBox "キャンセルしました" End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cancel = True MsgBox "キャンセルしました" End Sub 以上のように使ってみましたが、どれも「キャンセルしました」とメッセージは出るものの、直前の操作(入力、シート切替、セル移動)はキャンセルされませんでした。 どこが間違っているのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 納得できないactionscript2.0のサンプルコード
納得できないactionscript2.0のサンプルコード http://oshige.com/flash/f8/chap01/で紹介されている、「01-3フレーム移動を行うクラス」 のサンプルコードなのですが(リンク先でダウンロードしていただけるとありがたいです)、 理解できない部分があります。 サンプルコードによると、 doll.asで変数loopを宣言しており、 またNaviFrame.as内ではloopの値を用いた処理を記述しているのですが、 変数loopに関係する部分を全て削除しても挙動に変化は見られませんでした。 (手元にあるテキストの説明によると、「loopの値がtrueならフレーム1に戻り、 falseならフレーム移動を行わない」とありますが、 フレーム1に戻る/戻らないの処理は、 if(mc._currentframe == mc._totalframes) {……} の条件分岐だけで事足りるし、変数loopを宣言して条件分岐に用いたところで、 何の意味もなしていないと思うのです) 私には変数loopに関する一連の記述の必然性が全く分からないのですが、 どなたか教えていただけないでしょうか? 意味が無いように見えて、実は意味があるのでしょうか。 それとも、単なる誤植の類いなのでしょうか。 初心者ですので、できるだけ平易な解説でお願いします。
- ベストアンサー
- Flash
- VBAを使ったストップウォッチを時/分/秒で・・・
エクセルでVBAを使って、ストップウォッチの様な形で時間を表示しながら計測したおのですが、以下のマクロだと少数点が表示されており、且つ、60秒に達したときに分に切り替わらない為、分に換算しなければなりません。 Private blnStop As Boolean Private blnStart As Boolean Sub StopWatch() Dim dblTimer As Double If blnStart = True Then blnStop = True Exit Sub End If blnStart = True blnStop = False dblTimer = Timer Do Until blnStop = True Cells(1, 1) = Int((Timer - dblTimer) * 100) / 100 DoEvents Loop blnStart = False blnStop = False End Sub この様に、常に時間を特定のセルに表示させながら計測する様な形にしたいのですが、どうすれば「1時間20分50秒」の様な表示にできるでしょうか。 どなたかよろしくお願いいたします。
- 締切済み
- Visual Basic
- API,PathIsDirectoryについて
よろしくお願いします。 VB6.0sp6,Windows2000professionalsp4です。 VBでのディレクトリの有無の判別方法を検索していて、サンプルをひとつ見つけたのですが・・・↓がコードです。 ------------------------------------------------ Private Declare Function PathIsDirectory Lib "SHLWAPI.DLL" Alias "PathIsDirectoryA" _ (ByVal pszPath As String) As Long ' ' ディレクトリであるかどうか ' Private Function IsDirectory(ByVal strFileName As String) As Boolean ' strFilename : チェックしたいディレクトリ名 ' 戻り値 : ディレクトリであればTrueを返す。 Dim lngResult As Long lngResult = PathIsDirectory(strFileName) IsDirectory = Not (lngResult = 0) 'ここが理解できません End Function Private Sub Command1_Click() Dim strFileName As String strFileName = "C:\WINNT\Profiles\Administrator\My Documents\HEROPA\TestCls\SHLWAPI" Msgbox IsDirectory(strFileName) End Sub -------------------------------------------- IsDirectory関数は、PathIsDirectoryの戻り値がLong型のため、それをBooleanに直すためのものだと思うのですが、 IsDirectory = Not (lngResult = 0)はどういう原理なのでしょうか? これだとlngResultにどんな値が入ろうがIsDirectoryに返されるのはTrueになってしまうと思うのですが(lngResultに0が代入され、それがNotされるから)、しかし実際に実行してみるとちゃんとTrueとFalseを判定しています。いったいどうしてなのでしょうか? それと、PathIsDirectoryの宣言で、関数の戻り値がLongになっていますが、他に見つけたサンプルではBooleanとなっていました。どちらが正しいのでしょうか?
- ベストアンサー
- Visual Basic
- excelファイルが意図せず起動
下記を参考にして、起動時にタイマーを設定してexcelファイルを5分後に自動的に 保存・終了するようにしています。 http://okwave.jp/qa/q2911086.html しかし実際5分を待たず、手動でそのexcelファイルを終了した場合、 後でそのexcelファイルが自動で起動して、そのまま終了しているようです。 この症状をなくしたい場合どのように、記述を加えればよいか教えていただけないでしょうか? 記述は下記です。 '標準プロシージャ Public Operated As Boolean Sub SetTimer() Application.OnTime Now + TimeValue("00:05:00"), "CloseMe" End Sub Sub CloseMe() If Operated Then Operated = False SetTimer Exit Sub End If 'ブックの上書き保存 ActiveWorkbook.Save ' 保存確認を避けるため、保存済みにする ThisWorkbook.Saved = True ' 他にブックが開いていなければ、Excelを終了する If Workbooks.Count <= 1 Then Application.Quit ' 本ブックをClose ThisWorkbook.Close False End Sub 'ワークブックプロシージャ Private Sub Workbook_Open() Operated = False SetTimer End Sub Private Sub Workbook_BeforePrint(Cancel As Boolean) Operated = True End Sub Private Sub Workbook_Deactivate() Operated = True End Sub Private Sub Workbook_Activate() Operated = True End Sub Private Sub Workbook_SheetActivate(ByVal Sh As Object) Operated = True End Sub
- ベストアンサー
- Excel(エクセル)
お礼
おおお!早速のお返事ありがとうございます! とてもわかりやすいご説明ありがとうございました!