VB.NET質問スレ (Part7)

このエントリーをはてなブックマークに追加
945デフォの名無しさん:04/12/07 00:11:48
文字列変換処理を作っています。

ab→xyのときabc→xyc

はReplace関数を使えばイイんですが

a?b→xyのときacb→xy(?は任意の1字)
a*b→xyのときacpqb→xy(*は任意の文字列)

のような変換をしたいのですが、
このような機能を実現する関数は用意されているでしょうか?
946デフォルトの名無しさん:04/12/07 00:44:12
Regexクラスで実装されている正規表現を使う。
947デフォルトの名無しさん:04/12/07 00:44:39
項目 'Form1.resx' はプロジェクト ディレクトリに存在しません。移動したか、名前が変更されたか、または削除された可能性があります。
というエラーが出たんですが修復可能でしょうか??
948デフォルトの名無しさん:04/12/07 01:58:22
Form1.vbを保存するか何かしたら再度作ってくれたような気がする
漏れも一度出したことがあるんだけど簡単に解決できたので余りよく覚えてない
949デフォルトの名無しさん:04/12/07 02:05:15
>>948
訂正
メモ帳でForm1.resxって空ファイル作って
Form1.vbと同じフォルダに突っ込む
950デフォルトの名無しさん:04/12/07 02:16:59
だいぶ作り直してしまいました・・・
でもありがとうございます!!!(TT)
951デフォルトの名無しさん:04/12/07 08:10:20
VB.NETで作ったPGのICONはどのツールで作るんですか?
952デフォルトの名無しさん:04/12/07 08:21:02
>>951
VB.NET
953デフォルトの名無しさん:04/12/07 08:35:36
VB.NET のどこにICON作るツールがある? 
えっプログラムでつくるのか?
 BMPともフォーマット違うみたいだし。
BMP+@だろけどね。だれかフォーマットの規格どこにあるか
おしえてくれ。
954デフォルトの名無しさん:04/12/07 08:58:43
VB.NETににはICON作成はできない。そういうツールはない。
ICOとBMPのファイルをStreamで開いて解析する。どうせ2,3バイトの
ヘッダーが付いてるぐらいだから、BMPにそのヘッダーをつければいい。
955デフォルトの名無しさん:04/12/07 09:18:22
>954
やってみました、なんだ簡単なんだね。
956デフォルトの名無しさん:04/12/07 09:27:18
VS.NETならファイル→新規作成→ファイルにアイコンファイルがあるんだがな。
VB.NET単体にはなかったのかorz
957最凶VB厨房:04/12/07 20:40:24
App.icoだぼぉくぃっくしたら編集できるぞ。
2002。
VB.NET2003単体にはなかったのかorz
958デフォルトの名無しさん:04/12/07 21:10:45
[Text1]に入力した文字(アルファベット)を
[Text2](数値)文字分マイナス転置(アスキーコードで)する
プログラムを作っています。
例:cde⇒abc 2文字動かす

下のプログラムだと最初の1文字しか表示されません。
入力した数だけ表示させるにはどうすればいいでしょうか?
お願いします。

Private Sub Command1_Click()
i = Len(Text1.Text)
Text3.Text = Chr(Asc(Mid(Text1.Text, i, 1)) - Val(Text2.Text))
End Sub
959デフォルトの名無しさん:04/12/07 21:11:28
Dim num As Integer
If num = 0 Then
num = 1
Else
num = 0

End If
MsgBox(num)
これでボタン押すたびに1になったり0になったりするはずなのに!!!
ならないのは何故ですか('A`)
960デフォルトの名無しさん:04/12/07 21:24:18
num の定義を public とかにする。
961デフォルトの名無しさん:04/12/07 21:26:19
定義というのは型という事ですか?
962デフォルトの名無しさん:04/12/07 21:35:53
Public Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim num As Integer

If num = 0 Then
num = 1
Else
num = 0

End If
MsgBox(num)

無理でした、MsgBoxに1しか出ません!
963デフォルトの名無しさん:04/12/07 21:42:45
最近vb.net始めました。2つの質問です。お願いします。

(1)テキストファイルの指定行の値を変更するのに、

  ファイルの全部を読み出して配列に格納。
  変更したい行に相当する配列を変更
  配列を for で、vbcrlfを & して結合
  ファイルを元のファイルに書き出し

という手順でやっています。
でも何かもっといいやり方がありそうな気がして成りません。
もっといい方法はないのでしょうか。


(2)コンマで区切られた文字列を配列に格納するやりかたで、

str_ary(3)="1,2,3"
みたいにしたら
str_ary(0)←1 str_ary(1)←2 str_ary(2)←3
とコンマで区切られた文字列が自動的に配列に格納されるやり方を
どこかで見たような気がするのですが、見あたらなくなりました。
(もちろん上のやり方ではうまくいきません)
そのような方法がありましたらどうぞご教示願います。


   
964デフォルトの名無しさん:04/12/07 21:42:52
Dim numをクラスのPublicだと思う
965デフォルトの名無しさん:04/12/07 21:43:45
バカすぎ。
966デフォルトの名無しさん:04/12/07 21:44:47
Public num As Integer

private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


If num = 0 Then
num = 1
Else
num = 0

End If
MsgBox(num)
967デフォルトの名無しさん:04/12/07 22:06:19
Ifの中にIfを書くことは不可能ですか?
968デフォルトの名無しさん:04/12/07 22:07:48
可能
969デフォルトの名無しさん:04/12/07 22:08:07
絶妙に意味不明です。
ていうか取りあえず試そうよ。
970デフォルトの名無しさん:04/12/07 22:23:15
>>958
一文字しか処理してないから。

.NET的にエレガントに書くとこんな感じかね。
Dim i As Integer, re As String = "", c As Char
For Each c In Text1.Text
   re += Chr(Convert.ToInt32(c) - Integer.Parse(Text2.Text)).ToString()
Next
Text3.Text = re
971デフォルトの名無しさん:04/12/07 22:27:58
StringBuilder使えよ
972967:04/12/07 22:36:24
>>968-969
Endifが無かっただけでした・・・。
973デフォルトの名無しさん:04/12/07 22:40:35
>967
iiff
974デフォルトの名無しさん:04/12/07 22:51:09
>>973
エレガントだ。(w
975デフォルトの名無しさん:04/12/07 22:57:28
そろそろ1000取り
976963:04/12/07 23:53:43
>>971さん
それは私(>>963)に対するレスですね?
ちょいと調べてみます。
ありがとうございます。
977デフォルトの名無しさん:04/12/08 11:46:52
すみません、VB自体の質問ではないのですが

PC98で動かしてたベーシックのプログラムは
VBで動かすことは可能なのでしょうか?
978デフォルトの名無しさん:04/12/08 11:48:21
>>977
N88Basicね。
部分的に流用するぐらいならなんとか可能だけど
そのまんまは無理だよ。
979デフォルトの名無しさん:04/12/08 11:56:19
>>978
レスありがとうございます

そうなのですか
父がN88Basicで作ったプログラムをPC98を使用していて、古くていよいよ壊れそうなので
移植できるならVBでも買ってあげようかなと思いまして
980デフォルトの名無しさん:04/12/08 12:01:41
>>979
PC98エミュレータとかなかったっけ?
981デフォルトの名無しさん:04/12/08 12:02:26
つかN88BasicのWindows用インタプリタがなかったっけ?
982デフォルトの名無しさん:04/12/08 12:06:16
DataGridに関する質問です。
VB.netでDataGridにデータを表示するのに、DataSetを作成して、
そいつをSetDataBindingでDataGridに表示しています。

そのGridについて、列幅や列ヘッダ名称をDataGridTextBoxColumn、
GridColumnStylesを利用して設定し、TableStyles.Addとしているの
ですが、表示が変わらずにDataSetの項目名が列ヘッダーに表示
されたままです。

変更するにはどうすればよいのでしょうか
983デフォルトの名無しさん:04/12/08 12:43:22
>981
ある。普通にググれば見つかるはず。
984デフォルトの名無しさん:04/12/08 12:44:40
>982
HeaderTextは設定しているの?
985デフォルトの名無しさん:04/12/08 12:45:09
vb.netで同じLAN内でファイル転送をしたいのですが全く分かりません。教えてください。
986デフォルトの名無しさん:04/12/08 12:50:44
>985
ファイルコピーすれば?
987デフォルトの名無しさん:04/12/08 12:51:35
>985
System.IOクラスでファイル操作は色々できる。
988デフォルトの名無しさん:04/12/08 13:06:10
>984
989デフォルトの名無しさん:04/12/08 13:06:41
>984
下記のように設定しています。
Dim TSAuthors As New DataGridTableStyle
TSAuthors.MappingName = "Authors"

Dim TCFirstName As New DataGridTextBoxColumn
TCFirstName.MappingName = "PROJECT_CODE"
TCFirstName.HeaderText = "First Name"
TCFirstName.Width = 120
TSAuthors.GridColumnStyles.Add(TCFirstName)

grdProject.TableStyles.Add(TSAuthors)
990デフォルトの名無しさん:04/12/08 13:10:06
>989
これでヘッダに「First Name」って出ないの?
991デフォルトの名無しさん:04/12/08 13:11:40
>989
よさそうだけどな。DataGridの概要のページのサンプルがあるから
比較してみたら?
992デフォルトの名無しさん:04/12/08 13:36:26
次スレは?
993デフォルトの名無しさん:04/12/08 13:56:27
994デフォルトの名無しさん
Part8まーだー? C#に行こうかな