テキストボックスの文字列末尾に文字列を追加する方法
- VB.NETのWindowsMobile5.0で開発している場合、ソフトウェアキーボードをボタンコントロールで配置してテキストボックスに文字を連結して表示したい場合、文字列の末尾に文字を追加する方法について教えてください。
- テキストボックスに各ボタンクリックイベント(A~Z、0~9)を設定している場合、クリックがある度に末尾に文字を追加するための簡単な方法を知りたいです。
- ソフトウェアキーボードがある画面でファンクションを使って文字列を連結させたい場合、文字列の末尾に文字を追加する方法について、もっと簡単な方法があれば教えてください。
- ベストアンサー
ソフトウェアキーボード使ってテキストボックスの文字列末尾に文字列追加
VB.NET WindowsMobile5.0にて開発してます。 A~Z、0~9までのソフトウェアキーボードをボタンコントロールで配置して作成してます。(WindowsMobileのPADではない) テキストボックスに各ボタンクリックイベント(A~Z、0~9)毎に文字列を連結させながら表示させたいのですが 文字列の末尾に文字を追加したい場合どうすれば良いでしょうか? 各画面にソフトウェアキーボードがあるので ファンクションを使ってクリックがある度に末尾に文字を追加していきたいので下記の様に書きクリックイベントで呼ぼうとしましたが駄目でした。 Public Function TextInsert(ByVal TI As Char) Dim str1 As String Dim str2 As String str2 = str1 '前回文字列保存 str1 = TI '今回文字列格納 str1 = str1 & str2 '文字列連結 Return str1 '結果を戻す End Function なにかもっと簡単で良い方法ありませんか? ものすごく初歩的なことで申し訳ありませんがご教授お願いします。
- glee_sss
- お礼率69% (63/91)
- Visual Basic
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
末尾への追加なら ボタンのクリックイベントで TextBox1.SelectionStart = TextBox1.TextLength TextBox1.Text &= CType( sender, Button).Text といった具合でいいのでは … 複数のボタンの同一ハンドラの指定には handles句に複数のイベントを並べれば可能です Private sub btn_Click(sender as Object, e as EventArgs) _ Handles Button3.Click, Button2.Click, Button1.Click といった具合です お示しのコードでは 前回のデータを記憶したいのであれば str1の宣言を static str1 as String = "" などとするかstr1自体を関数外部で宣言してグローバルスコープを持たせるなどが必要でしょう
関連するQ&A
- VBA(Excel2003)で文字列の切り出し
下のプロシージャーで全角半角混じりの文字列を切り出し、別の文字列で結合しようと思いますがうまくいく場合といかない場合があります。 イミディエイト・ウィンドウ上とCell上で動作が違います。 Cell上でうまく表示させるにはどうしたらいいでしょうか? Sub Test() Dim myString(2) As String Dim i As Integer myString(0) = "airueo" myString(1) = "かきくけこ" myString(2) = "さシすせそ" For i = 0 To 2 Debug.Print MidMbcs(myString(i), 1, 5) & "...テスト" Cells(i + 1, 1).Value = MidMbcs(myString(i), 1, 5) & "...テスト" Next i End Sub Function LenMbcs(ByVal str As String) LenMbcs = LenB(StrConv(str, vbFromUnicode)) End Function Function MidMbcs(ByVal str As String, start, length) MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode) End Function
- ベストアンサー
- オフィス系ソフト
- 文字列で渡された式
質問です。 タイトルのままですが文字列で渡された式で 処理を決定させることはできるのでしょうか? たとえば ============================ dim str as string = "10 > 5" if strの文字列判定 then msgbox("TRUE") else msgbox("FALSE") end if ============================
- 締切済み
- Visual Basic
- Excel VBA の文字列連結演算子 &
変な質問で申し訳ないのですが・・・ Excel VBA の文字列連結演算子 & は Dim St As String Dim No As Integer St = "来年は" No = 2020 Range("A1").Value = St & No とすれば St & No は確かに "来年は2020" という文字列になります。本来ならば St & Str(No) とすべきだと思いますが、なぜこんな仕様にしたのでしょうか? また、ベースとなった VB.NET も同じ仕様なのでしょうか?
- ベストアンサー
- Visual Basic
- マクロ(VBA)での文字列操作
こういうことできますか? Dim str as String str = Cells(1, 10) Length = Find("会計", str) つまり、エクセル上のセル内の文字列を取ってきて、 会計という文字列を含む場所が何文字目か知りたい。 ところが、Find関数か認識されずエラーが出ます。 Searchにしても同じです。 エクセル関数としては使えるのですが、マクロでは使えないのですか?
- ベストアンサー
- オフィス系ソフト
- 複数のテキストの末尾に文字列を挿入
複数のテキストファイルがあり、その末尾に文字列を挿入したいのです。 つまり、EOFの直前に、全てのテキストファイル(具体的には、PHPなどのファイル)に決められた文字を入れたいのですが、そのようなソフトウェアはありますでしょうか? 色々さがして、正規表現で複数ファイルの置換ができる、というソフトでも試してみたのですが「EOF」を示す「\z」はどうやら認識してくれないらしく…… もし、そのようなソフトや方法などを知っておられましたら、お教えください。 よろしくお願いします。
- ベストアンサー
- フリーウェア・フリーソフト
- vb6のstringについて256文字以上連結
Dim str as String Dim intloop as Integer For intloop=0 TO 19 str=str+"work joint“+intloop Next intloop 20個分の文字列が連結されません。 どのようにすればよろしいでしょうか?
- 締切済み
- その他(ソフトウェア)
- VB6.0 文字列のファイル書き込み
こんにちは。 VB6.0を研修中の新人です。 テキストファイルにランダムアクセスをし半角全角混じりの文字列を書き込むコードを考えています。 連休中は会社に入れないので自宅でコードをどのように書くかある程度決めておきたいです。 ■ あいうえお ■ カキクケコ ■ サシスセソ (サシスセソは半角です) ■ タチツテトはひ (タチツテトは半角です) メモ帳.txtに文字列を書き込むと上記のように書き込まれます。 これは見た目が悪いので下記のように"■ "がないように書き込むことは無理でしょうか。 あいうえお カキクケコ サシスセソ (サシスセソは半角です) タチツテトはひ (タチツテトは半角です) いま書いたコードは下記のとおりです。 Public Sub Main() WriteFile End Sub '書き込む関数 Public Sub WriteFile() Dim i As Integer Dim str As String Open "C:\メモ帳.txt" For Random As #1 Len = 14 Do While < 5 Select Case i Case 1 str="あいうえお" Case 2 str="カキクケコ" Case 3 str="サシスセソ" (サシスセソは半角です) Case 4 str="タチツテトはひふへほ" (タチツテトは半角です) End Select strNagasa(str,10) + vbCrlf Put #1,i,str i = i + 1 Loop Close #1 End Sub '文字列をレコードの長さに合わせる関数(いまの場合は10バイト) 'Nagasaが"10"の場合 'strが "サシスセソ" なら "サシスセソ" に半角スペースを5個詰めて返す。 'strが "タチツテトはひふへほ" なら "タチツテトはひ" の9バイトで文字列を切って半角スペースを1個詰めて返す。 Public Function StrNagasa(str As String,Nagasa As Integer) As String ... 省略(完成済み) ... End Function
- ベストアンサー
- Visual Basic
- 文字列の操作について教えて下さい。
Javaで文字列の操作をしたいと考えています。 String str1 = "あいうえおかきく"; String str2 = "あいうえお"; 上記のようなstr1、str2という文字列があるとします。 str1は、str2と同様の文字列を先頭から含んでいます。 str2と同じ文字を省き、それ以降の文字列を取り出して、 String str3 = "かきく"; という文字列を取り出す処理を行いたい、と考えています。 一般的には、どのようなロジックを組むのかと思い質問させて頂きました。 みなさんなら、どのようなプログラムか教えてください。 よろしくお願い致します。m(_ _)m
- 締切済み
- Java
- 正規表現を使った文字列の検索及び置換について
正規表現の検索及び置換について質問させていただきます。 下記のような文字列があったとします。 「私は、<gaiji gaijisyurui="0001" gaijicode="F040" /><gaiji gaijisyurui="0002" gaijicode="F041" />で、 <gaiji gaijisyurui="0003" gaijicode="F042" />です。」 この文章から <gaiji gaijisyurui="0001" gaijicode="F040" /> <gaiji gaijisyurui="0002" gaijicode="F041" /> <gaiji gaijisyurui="0003" gaijicode="F042" /> の部分を検索して、それぞれ <外字0001F040> <外字0002F041> <外字0003F042> と置き換え、最終的には、 「私は、<外字0001F040><外字0002F041>で、<外字0003F042>です。」 という文字列にする関数を作成したいと思っておりますが、どのようにソースを作ればよろしいのでしょうか? アドバイスや具体的なソースコードをいただけると非常に助かります。 現在、途中までソースを作成しているのですが、文字数制限でソースの半分も入りきらなかったため大雑把に書かせていただきます。 ※※※以降の処理が分かりません。 検索結果に対して文字列置換を行っても元の文字列内の置換にはならない? Private Function GaijiChange(ByVal pNaiyo As String) As String Dim wNaiyo As String = "" ' 置換後文字列 Dim wGaijisyurui As String = "" Dim wGaijicode As String = "" Dim wChangeWord As String = "" Dim wChangeStr As String = "" Dim Work As String = "" ' 正規表現で<gaiji>タグを検索 Dim wSeikiHyogen As String wSeikiHyogen = "<gaiji gaijisyurui=\" & """" & "[0-9a-zA-Z]{4}\" & """" & " gaijicode=\" & """" & "[0-9a-zA-Z]{4}\" & """" & " />" '正規表現 Dim wRegex As New System.Text.RegularExpressions.Regex( _ wSeikiHyogen, System.Text.RegularExpressions.RegexOptions.IgnoreCase) ' 文字列にに含まれる<gaiji>タグを全て検索 Dim wMc As System.Text.RegularExpressions.MatchCollection = wRegex.Matches(pNaiyo) For Each m As System.Text.RegularExpressions.Match In wMc ' 検索結果からgaijisyuruiを取得 wGaijisyurui = ' 検索結果からgaijicodeを取得 wGaijicode = ' 置換文字列作成 wChangeWord = "<外字" & wGaijisyurui & wGaijicode & ">" ' 検索結果を置換 ' ※※※ Next Return wNaiyo End Function 以上、宜しくお願いいたします。
- ベストアンサー
- Visual Basic
- 文字列の後ろから必要分だけ削除したい。
例1 Dim str As String = "あいうえお1234" 文字列の中の1234だけ削除したい場合は、 str = str.Remove(5,4) という風に、5文字目の後から4文字削除にすればよいのですが、 例の"あいうえお"の部分の長さが毎回処理する度に異なる場合は、 文字列の頭から何文字目という指定ができないので、”後ろから4文字を削除したい”となります。その場合は、どのようなプロパティを使えばいいのでしょうか。 .NET環境です。
- ベストアンサー
- Visual Basic
お礼
ありがとうございます! 指示通りで出来ました。 いつもありがとうございます!