- 【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
|
|