952 :
951:2011/03/31(木) 00:09:39.18
別に関係ないけどTではなくStringの間違い
設定保存手法として
My.Settings(内部ファイル)
ini
レジストリ
xml(外部ファイル)
とかあるけどどれが一番いいの?
俺は分かりやすいiniが好きなんだが知り合いにバカにされた
バカにする奴は放っておけばいい。
俺はXMLファイルに保存してる。単に好みってだけだけど。
My.SettingsはXMLと同列な扱いとして.NETの恩恵が受けられるのは
XML>レジストリ>INIの順かな
規模によっちゃDBにするだろうけど、まぁ好きにすりゃいい
957 :
デフォルトの名無しさん:2011/03/31(木) 11:33:54.05
すみません。
keyDownイベントで
F1キーを押したらボタンを押された処理をできるよにしたいのですが、
vbkeyF1はVB2010Exp.edでは使えないのでしょうか?
Keysで比べたら良いんじゃないの
If e.KeyCode = Keys.F1 Then
959 :
デフォルトの名無しさん:2011/03/31(木) 13:59:32.15
>>950です。
区切り文字が2文字の場合はどうすればいいでしょうか
[]毎に区切りたいです
>>959 Dim hoge As String = "abc[]xyz[]あいう"
Dim fuga = Strings.Split(hoge, "[]")
Array.ForEach(fuga, Sub(s) Console.WriteLine(s))
それとも[]ってのは"[abc][xyz][あいう]"こういうの言ってる?
>>954 俺は.NETではXML(ユーザー別に設定を保存したい時はMy.Settings)、WIN32APIではINIを使ってる
レジストリはなるべく使わない
iniはMSが使うなって言ってるから使わないほうがいい。
レジストリのほうが楽だし。
MSの話は信じないほうがいい。
裏切られた事しかないだろう?
そろそろソフトバンク携帯などのアプリをVB.NETでつくれるようにしてもらわないと
WP7はVBサポートしてるけど
XNAやMFのように、新しいプラットフォームのVB対応にMSは消極的で切り捨てられつつあるので
そういうのに興味があるならC#に移行するべき
>>966 VBもC#も同じ.NET Frameworkっていうプラットフォームで動作していると思ってんだが
WindowsPhone7上では違うんか?
同じだけど開発環境(Visual Studio)が対応してないと作るの難しいでしょ
基本的にC#優先でVBは遅れて対応するかそのまま放置
>>964 レジストリかiniかって行ったらiniが危ないだろ。ダントツで。
理由は?
>>970 16bitの互換性のために残してあるから使うなって書いてある。
vistaのときに動かなくなったソフトが続出したときも、
msが悪いみたいな感じで、作り方が悪いって言ってるやつは少なかったから
ini使ってて動かなくなっても「まーたmsに裏切られたw」とか言ってれば
まあ体面はたもてるな。
普通に考えればファイルの形式なんか問題じゃない。
MSもそんなことに口ばしを挟んでいた記憶はないけどね。
MSが問題にしてたのは設定値の保存先だけじゃなかったのかな。
バイナリと同じディレクトリとか、下手するとシステムフォルダとか、
もっと最悪なのはCドライブの決め打ちのパスとかに、しかもマルチユーザーを
意識せずに保存する悪い習慣は止めてねって言ってただけでしょ。
>>968 C#が優先されているわけじゃなくて、もともとMSの.NET戦略として新規に作られた言語がC#な訳で
新しい機能を試験的にも組み込みやすいからVBよりも先に対応されてんだよ
だから後続のVSバージョンでVBにも機能が追加されてる(ジェネリック、ラムダ式、LINQ、自動プロパティとか)
VB6から無理して.NET対応したくらいだし、急にMSがVBを見捨てるとは思えんけどな
>>973 くちばしを挟むっていうか、iniじゃなくてレジストリ使えって書いてある。
iniファイルの読み書きルーチン自作して、マルチユーザー対応も
しっかりしてればiniでも独自形式もなんでも問題ないわな。
まあ、おれは使わないけど。
XMLやレジストリよりINIファイルを好むってのはエンドユーザとかSEが簡単に設定の追加・変更・確認が
しやすいからだと思ってるんだが、まぁ設定管理画面くらい別に実装しろって言うとそれまでだけど
>>975 むしろ.NET立ち上がり時にレジストリはもう使うな、という話はあった。
ファイルの形式については問題にする意味がわからない。
常識的に言って大きなお世話だろう。
せっかくあるシリアル化等の機能を使った方が生産性が高いですよ、というのなら話はわかる。
>>974 XNAのVB切捨てとか明らかにサポートコスト削りだよ
>>978 問題にする意味って、APIは使うなってアナウンスがあるし、
iniの読み書きルーチンでも独自に作ればいいけどそんなことを
するほうが意味が分からない。
物好きで、もうiniファイル関連のライブラリを作ってしまってるなら
それでも使ってればいいだろうけど、初心者がiniとレジストリのどっちが
いいですかって聞いてたらレジストリを勧めとけばいい。
明らかにC#の方が検索してても情報量多い。
しかし社内便利屋の俺としてはVBの方が角が立たなくて良い。
C#じゃ爺さんはメンテしてくれなさそうだし。
そりゃC系怖くてVBしか使えないような人がwebで有用な情報を発信できるとは思えない
C#もVBもそんな変わんないんだから脳内変換すりゃいい
文字列の最大値について質問します
stringの最大値は何になるのでしょうか?
Char.MaxValueが解となるように思えますが
文字数も定義せずにChar.MaxValueが最大になるということが
今ひとつ納得できません。
文字列の最大値 の意味がわからない
Char型の値はUnicodeの文字コードの数値で、Char.MaxValueはその最大値
文字数は全く関係ない
先進機能をC#で実験的に実装、安定化・普及後にVBにも実装
やっぱVBでいいや
>>985 文字列の最大長のことかね。
2Gとか4Gとかそのあたりだろうけど、そんな限界まで使わないから分からないな。
何の話をしてるんだよ...
990 :
985:2011/04/03(日) 15:46:39.66
色々検索してみたけど
"aaa"と"a"を比較するときは
[0x0061 0x0061 0x0061] と [0x0061 0x0020 0x0020]を
左から順番に評価していくから
string型もchar型も文字数は関係なく最大値はChar.MaxValue[0xFFFF]
であるという認識で宜しいのでしょうか。
それなら納得いく
だから最大値って何のこと言ってるんだよ。
頭おかしいのか?
意味わかんね
"a" は { 0x0061 } であって後ろに半角空白なんか付かない
比較するなら2文字目で 0x61 と「存在しない」を比べることになる
で最大値って何よ
>>990 …いろいろ検索してその内容ってどこを検索してきたんだよ
文字列を比較演算子とかCompareTo()とかで比較したとき、どの文字列よりも
大きいって判定される文字列ってことだろうか > 最大値
コミュ力に難のある人みたいだから、こういう質問しても答えかえってこないと思うけど。
995 :
985:2011/04/03(日) 16:29:03.88
だいたい
>>992さんの説明でわかりました。
>>994 まさに私が質問したかったことです。
私の表現と知識が足りずにうまく伝わらなかったようですが。
>>995 文字列の最大値は、Char.MaxValueのCharが、文字列の最大長まで
入ってる文字列だよ。
Dim s as new string(Char.MaxValue, Int32.MaxValue)
みたいなやつ。
(実際にInt32.MaxValueの長さの文字列を作れるかどうかは知らんけど)
Char同士の比較は文字コードの数値比較だけど
文字列の比較は通常カルチャ依存だから絶対的な最大値はないよ
まあ、Char.MaxValueを使ってる文字列なんてなさそうだから、
実用上は new string(Char.MaxValue)でよさそうな感じだけど > どの文字列より大きい文字列
何の実用だよ
>>999 番兵とかHIGH_VALUE的な使い方とか。
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。