掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
静的変数 (ID:8404)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
プログラムソースの移植(VisualBasic5→Delphi7)の中で、 StringGridに表示された数値表の、Shift+マウスクリックで反転選択した複数Cellの数値の和を求めようとしています。 Clipboardの使い方は共通だと思うのですが、静的変数の使用がネックになっています。 アドバイスを! Private Sub Shukei()'集計 Dim Temp As Long, Ptext$, Total As Long, Indv$ Ptext$ = MSFlexGrid1.Clip Clipboard.Clear Clipboard.SetText Ptext$ If Ptext$ = vbNullString Then Temp = MsgBox("計算範囲を指定して下さい。) End If Ptext$ = Clipboard.GetText Total = 0 Indv$ = TOKEN$(Ptext$, vbCr) Do While Indv$ <> vbNullString DoEvents Total = Total + Val(Indv$) Indv$ = TOKEN$(vbNullString, vbCr) Loop Temp = MsgBox(Ptext$ & vbCrLf & "──────" & vbCrLf & Total, , "Total") End Sub Private Function TOKEN$(TEXT$, DELIMITA$) Static I As Integer, A$, N As Integer Dim B$, C$, Flag As Integer B$ = vbNullString If TEXT$ <> vbNullString Then I = 0 A$ = TEXT$ N = Len(A$) End If Flag = 0 Do I = I + 1 C$ = Mid$(A$, I, 1) If C$ <> DELIMITA$ Then B$ = B$ + C$: Flag = 1 ElseIf Flag = 1 Then TOKEN$ = B$: Exit Function End If Loop While I <= N TOKEN$ = B$ End Function
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.