トップページ > プログラム > 2016年09月20日 > ScvT560c

書き込み順位&時間帯一覧

19 位/170 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000030003



使用した名前一覧書き込んだスレッド一覧
渡辺真
【QBASIC互換!?】FreeBasic【GPL】

書き込みレス一覧

【QBASIC互換!?】FreeBasic【GPL】
685 :渡辺真[]:2016/09/20(火) 20:10:04.79 ID:ScvT560c
>>684
example を up いただき有難うございました。
GetPrivateProfileSectionNames の使い方を教えていただき、感謝いたします。
早速、事例としてコピペさせていただきました。
http://makoto-watanabe.main.jp/freebasic/tipsEasyWindowsAPI.html

ことろで、ini ファイルからセクション名を取り出すことが目的ならば、単純にテキスト・ファイルとして読む方が簡単のような気がするのですが。

例えば、次の掲示のように。
注:FreeBASIC で正規表現を使うには FB-win32-pcre-8.32.zip を下記でダウンロードする必要があります。
http://sourceforge.net/projects/fbc/files/Older%20versions/0.90.1/Binaries%20-%20Windows/Libraries/FB-win32-pcre-8.32.zip/download
【QBASIC互換!?】FreeBasic【GPL】
686 :渡辺真[]:2016/09/20(火) 20:21:40.29 ID:ScvT560c
#Include Once "pcre.bi"

Dim FileNo As Integer
Dim pattern As String
Dim i As Integer = 0
Declare Function ExecRegExpr(RegExpr As String, InputStr As String) As Boolean

pattern = "\[.+\]"
FileNo = FreeFile
Open "VB.ini" For Input As #FileNo

If Err > 0 Then Print "ファイル入力でエラー": End

Do Until EOF( FileNo )
Dim As String text
Line Input #FileNo, text
If ExecRegExpr(pattern, text) = TRUE Then
i=i + 1
Print "セクション名" ; text
EndIf
Loop
Print "セクション数" ; i

Close #FileNo
Sleep
【QBASIC互換!?】FreeBasic【GPL】
687 :渡辺真[]:2016/09/20(火) 20:24:25.91 ID:ScvT560c
Function ExecRegExpr(RegExpr As String, InputStr As String) As Boolean
Dim re As pcre Ptr
Dim error_ As ZString Ptr
Dim erroffset As Integer
Dim rc As Integer
Dim OVECCOUNT As Const UInteger = 30 '' should be a multiple of 3
Dim ovector(OVECCOUNT-1) As Integer

re = pcre_compile( RegExpr, 0, @error_, @erroffset, NULL )
If re = NULL Then
Print "pcre compilation failed at offset "; Str(erroffset); ": "; *error_
Sleep
End
End If

rc = pcre_exec( re, NULL, InputStr, Len( InputStr ),0, 0, @ovector(0), OVECCOUNT )
If rc < 0 Then
Select Case rc
Case pcre_error_nomatch
'Print "no match"
Case Else
'Print "matching error"; rc
End Select
ExecRegExpr=FALSE
Else
ExecRegExpr=TRUE
End If
End Function


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。