Changeset 537


Ignore:
Timestamp:
Jul 12, 2008, 2:14:23 PM (16 years ago)
Author:
イグトランス (egtra)
Message:

Dictionary.Removeとテストを追加。#promptでコンパイルできない問題を修正。

Location:
trunk/ab5.0/ablib
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/ab5.0/ablib/TestCase/SimpleTestCase/SimpleTestCase.idx

    r518 r537  
    4040#include "SerializeTest.ab"
    4141_ClearNamespaceImported
     42#include ".\CollectionTest.ab"
     43_ClearNamespaceImported
    4244
    4345'リソースファイル
  • trunk/ab5.0/ablib/TestCase/SimpleTestCase/SimpleTestCase.pj

    r518 r537  
    4343XmlTest.ab
    4444SerializeTest.ab
     45.\CollectionTest.ab
  • trunk/ab5.0/ablib/src/Classes/System/Collections/Generic/Dictionary.ab

    r410 r537  
    4040
    4141    Virtual Function Item(key As Key) As T
    42         If Object.ReferenceEquals(key, Nothing) Then
     42        If ActiveBasic.IsNothing(key) Then
    4343            Throw New ArgumentNullException("key")
    4444        End If
     
    6161
    6262    Virtual Sub Item(key As Key, value As T)
    63         If Object.ReferenceEquals(key, Nothing) Then
    64             'Throw ArgumentNullError
    65             Exit Sub
     63        If ActiveBasic.IsNothing(key) Then
     64            Throw New ArgumentNullException("key")
    6665        End If
    6766
     
    10099    'Methods
    101100    Sub Add(key As Key, value As T)
    102         If Object.ReferenceEquals(key, Nothing) Then
    103             'Throw ArgumentNullError
    104             Exit Sub
     101        If ActiveBasic.IsNothing(key) Then
     102            Throw New ArgumentNullException("key")
    105103        End If
    106104
     
    108106        Dim a = al[hash] As ArrayList
    109107
    110         If Object.ReferenceEquals(a, Nothing) Then
     108        If ActiveBasic.IsNothing(a) Then
    111109            a = New ArrayList
    112110            al[hash] = a
     
    142140'   End Function
    143141'   Function GetEnumerator() As Enumerator
    144 '   Function Remove(key As Key) As Boolean
    145 '   End Function
     142
     143    /*!
     144    @biref  指定されたキーの要素を削除する。
     145    @date   2008/07/11
     146    @param[in] key  削除対象のキー
     147    @retval True    対象要素が見つかって削除されたとき
     148    @retval False   見つからず削除されなかったとき
     149    @author Egtra
     150    */
     151    Function Remove(key As Key) As Boolean
     152        Remove = False
     153        If Not ActiveBasic.IsNothing(key) Then
     154            Dim hash = getHash(key)
     155            Dim a = al[hash] As ArrayList
     156            If Not ActiveBasic.IsNothing(a) Then
     157                Dim i As Long
     158                For i = 0 To ELM(a.Count)
     159                    Dim pair = a[i] As Detail.Pair
     160                    If pair.Key.Equals(key) Then
     161                        a.RemoveAt(i)
     162                        Remove = True
     163                        count--
     164                        Exit Function
     165                    End If
     166                Next
     167            End If
     168        End If
     169    End Function
     170
    146171'   Function TryGetValue(key As Key, ByRef value As T) As Boolean
    147172'   End Function
  • trunk/ab5.0/ablib/src/basic/prompt.sbp

    r497 r537  
    124124                    SetBkMode(hDC, TRANSPARENT)
    125125                Else
    126                     Debug
     126'                   Debug
    127127                    ret = SetBkMode(hDC, OPAQUE)
    128128                    ret = SetBkColor(hDC, currentLineCharInfo[i2].BackColor)
     
    454454End Function
    455455
    456 Function PromptMain(dwData As Long) As Long
     456Function PromptMain(data As VoidPtr) As DWord
    457457    Dim i As Long
    458458    'Allocate
Note: See TracChangeset for help on using the changeset viewer.