文字列を大文字・小文字に変換          <TOP>


入力されている文字を大文字または小文字に変換します。

CharUpperは半角英数文字列を大文字に、CharLowerは小文字に変換します。F-Basicでのucase$、およびlcase$と同じです。
CharUpper
文字列を大文字に変換

CharLower 文字列を小文字に変換

 

F-BASICでのucase$、lcase$使用例
空白の次の文字を大文字に                                空白の次の文字を小文字に

 

ApiでのCharUpper、CharLower使用例
全文字列を大文字に                                                        全文字列を小文字に

 

 

'================================================================
'= 大文字・小文字に変換
'=    (Ucase.bas)
'================================================================
#include "Windows.bi"

' 文字列を小文字に変換
Declare Function Api_CharLower& Lib "user32" Alias "CharLowerA" (ByVal lpsz$)

' 文字列を大文字に変換
Declare Function Api_CharUpper& Lib "user32" Alias "CharUpperA" (ByVal lpsz$)

Var Shared Str As String
Var Shared Upper As String
Var Shared Lower As String

Var Shared Edit1 As Object
Var Shared Button(3) As Object

Edit1.attach GetDlgItem("Edit1") : Edit1.SetFontSize 14
For i = 0 To 3
    Button(i).Attach GetDlgItem("Button" & Trim$(Str$(i + 1))) : Button(i).SetFontSize 14
Next i

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Str = GetDlgItemText("Edit1")
End Sub

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var i As Integer

    If Str <> "" Then
        Mid$(Str, 1, 1) = Ucase$(Mid$(Str, 1, 1))
        For i = 1 To Len(Str) - 2
            If Mid$(Str, i, 2) = Chr$(13) & Chr$(10) Then
                Mid$(Str, i + 2, 1) = Ucase$(Mid$(Str, i + 2, 1))
            End If
            If Mid$(Str, i, 1) = " " Then
                Mid$(Str, i + 1, 1) = Ucase$(Mid$(Str, i + 1, 1))
            End If
        Next
        Edit1.SetWindowText Str
    End If
End Sub

'================================================================
'=
'================================================================
Declare Sub Button2_on edecl ()
Sub Button2_on()
    Var i As Integer

    If Str <> "" Then
        Mid$(Str, 1, 1) = Ucase$(Mid$(Str, 1, 1))
        For i = 1 To Len(Str) - 2
            If Mid$(Str, i, 2) = Chr$(13) & Chr$(10) Then
                Mid$(Str, i + 2, 1) = Lcase$(Mid$(Str, i + 2, 1))
            End If
            If Mid$(Str, i, 1) = " " Then
                Mid$(Str, i + 1, 1) = Lcase$(Mid$(Str, i + 1, 1))
            End If
        Next
        Edit1.SetWindowText Str
    End If
End Sub

'================================================================
'=
'================================================================
Declare Sub Button3_on edecl ()
Sub Button3_on()
    Var Ret As Long

    Ret = Api_CharUpper(Str)
    Edit1.SetWindowText Str
End Sub

'================================================================
'=
'================================================================
Declare Sub Button4_on edecl ()
Sub Button4_on()
    Var Ret As Long

    Ret = Api_CharLower(Str)
    Edit1.SetWindowText Str
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End