AB型の変わり者 三流プログラマー 業務の愚痴

[バックナンバー目次] [掲示板] [メルマガ登録・解除] [愚痴系TOPメニュー]

バックナンバー No.15 〜 No.19


[No.15 番外編 クリック連合との戦い? と 細かい指摘メール]
[No.16 Access97編 質問内容 詳細と回答、、]
[No.17 アルゴリズムを知らない子供達?(プログラマー)]
[No.18 新たな挑戦状 と 自分の守備範囲?]
[No.19 Access キャラクタコード?って何?]


No.15 1999/11/12
番外編 クリック連合との戦い? と 細かい指摘メール
[ページTOPへ戻る]
<番外編 クリック連合との戦い? と 細かい指摘メール>
目次 
1.はじめの挨拶 
2.クリック連合との戦い?
3.014に対しての細かい指摘メール
4.今後、やってほしい、要望きました
5.おわりの挨拶
----------------------------------------------------------------------------
/*
 * 1.こんにちは
*/
今回は、番外編で、
クリック連合との戦い?
と
014に対しての細かい指摘、
をお届けします。

また、プログラム講座から、離れるの?
読者も、離れちゃうよ、、、

/*
 * 2.クリック連合との戦い?
*/
前回、
友人が1クリックしたらポイントが貯まって、
お金がもらえるシステム(換金される)を始めました。
http://click.gaiax.com/home/kanaaki/main
↑今はリンク切れです
暇な人は、ホームページの上の広告をクリックしてあげてください。 で始まった、クリックすると、広告料が入るシステムを Ken3流の勝手な言いまわしで発行したところ、 クリック連合?から、メールで反論をいろいろ、いただきました。 ・面白いから押してるんだ。 ・面白いページの作者に少しでもお金を入れてあげたい。  ----> そんなもんかなぁ?     でも、お金は、広告主から出ていて、あなたが払ってあげてる?     チョット違うんじゃないかなぁ     作者は、感想メールの方がうれしいと思うよ。     わかってないなぁ、オマエ、1つのメールより1クリックに決まってんだろ。 ・否定しているが、自動クリックを進めているのでは? ・ほんとに自動クリック可能なのか?大変興味がある  ----> あっ、できないですよ。たぶん。     三流君が作れちゃう処理ぐらい、一流の人がガードかけてますよ ・挨拶なんですよ、クリックするのが。  ----> これは、なんとなく、許せるような。     たしかに、いろいろなページにログ?(足跡)が残って、     そこから、交流が生まれるのって、いいシステムかもしれませんね。 /* * 3.014に対しての細かい指摘メール */ ヤクザが公衆電話から、変造テレカを使用して、 自分自身のQ2の番組に電話をかけて、 NTTからお金をむしりとる と書きましたが、これは、私のたとえばなしですよ。 指摘メールで、 --- >ヤクザが公衆電話で2・3時間も立っているなんて、信じられない。 >6秒10円のサービスでも、1分100円、10分1000円、100分で1万 >そんなことするかな、だったら、取り立て行くんじゃない。 >5000円テレカが無くなったのは、変造テレカでしょ、 >公衆電話からのQ2禁止は、少年少女を犯罪から守るためでしょ。 --- と、言われました。。。 でも、同じ内容のメールを10通も送るのやめてね。。。 もう、わかったから。。。 --- >自動登録システムは簡単と書いてますが、できるのですか、 >もし、自動登録が簡単(機械任せ)できるとしても >無料のアドレスを5000個取るのは、ムリです。 >私、無料の転送アドですが、氏名とか入力情報多数あり、 >1つ作るのに、時間かかりますよ。 >KEN3は、作ったことは、ありますか? --- そうですか、、、無料のアドレス作るのにも、時間がかかるのですね。 了解です。 あっ、専用線の常時接続にして、自分でメールアドレス作ったら? 月々3万もかけて、そんなことしないか、、、 --- >抜け道は、いろいろありますよ --- どんな?なんて、聞いちゃいけませんね。。。 次号から、心を入れて、読者数をまじめに増やそう。。。 /* * 4.今後、やってほしい、要望 */ VBAの質問来ました。(3つ) (1)ファイル名の拡張子を一括で変換したい (2)配列内の値を高速サーチしたい (3)Accessでバーコードの印刷は? 次回以降、また、変な表現で、解説していきたいと思います。 その他の質問・要望も待ってます。 お気軽にどうぞ。 /* * 5.おわりの挨拶 */ みなさんの反応は、変な事書いたほうが、ずごくきます。 たとえば、ミスった時とか、不思議な現象について(Sp_Cnv) 質問とかは、3通だったので、その7倍は反響ありました。 まぁ、反応無しよりうれしいので、 毒舌メールもどんどん、送ってください。 次回は、VBAかC言語、、、そろそろ、まじめに再開します。(再開予定) 三流PGのKen3でした。

No.16 1999/11/13
Access97編 質問内容 詳細と回答、、
[ページTOPへ戻る]
<Access97編 質問内容 詳細と回答、、>
目次 
1.はじめの挨拶 
2.質問内容 と 簡単な回答
3.気になったこと、、Null関係
4.MS-DOS時代?って、、、バックアップって、、、
5.おわりの挨拶
----------------------------------------------------------------------------
/*
 * 1.こんにちは
*/
クリック連合との戦い?メールバトル?続いてます。続報、お楽しみに。
おいおい、またかよ。
ダレも、楽しんでないぞ、、プログラム関係の本業は?いつやるの?
はいはい、今日やるから安心してよ、、

って言っても、
今回は、今まで来た要望3件と、
チョット気になったこと(Null関係)
あと、私が聞きたいことを書くので、
あまりタメにならないと思いますが、
お付き合いください。

C言語を楽しみにしている読者は、、?
まだ届かないよメール。いつくるの?
すみません、もう出ましたので、もうすこし、お待ち下さい。
*実際は、そばやの出前同様に、今から作成する?ので、お待ち下さい。

前置きは、これくらいで、そろそろ、いきます。 

/*
 * 2.質問内容 と 簡単な回答
*/
(1)ファイル名の拡張子を一括で変換したい
------
>@フリーソフト等では既にありますが、VBによる拡張子一括変換ソフ
>トウェア。
> フリーソフトの場合、扱えるファイル数の制限が少ないため、非常に
>使いづらい(1,000件位い)のです。
> 例えば、ファイル総数10,000件の拡張子jepg→jpgに変換すると
>か。
>Aファイル名一括変換
>  データベース(例えばCSVファイル)をもとにファイル名を一括
>変換するソフトウェア
>  例:1234567890.TXT→1234 5678 90.
>TXT
>    TOKUMEI.JPG→KIBOU.JPG
> 多分、貴兄なら簡単に作成できると思いますので、VBの題材として
>取り上げて下さい。
>取り上げて頂けるようお祈りしています。
------
      簡単にと言われてもなぁ、、、
   DOSコマンドのCopyで、
      copy *.jepg *.jpg , 終了後怖いけど del *.jepg でかわすとか?
   でも、サブディレクトリに対応していないかな
   rename *.jepg *.jpg /s って、できたら、、
   あっ、/Sオプションがない、、、
   -----
      D:\work>rename /?
   ファイルまたはディレクトリ名(複数可)の変更をします.
   RENAME [爪弉勿:]鋪楯[筑・個 | 箕荷名1] [筑・個 | 箕荷名2]
   REN [爪弉勿:]鋪楯[筑・個 | 箕荷名1] [筑・個 | 箕荷名2]
   受け側用には新しいドライブもパスも指定できないので注意してください.
   -----
      だってさ。
   *DOSコマンドで、/?を付けると、だいたい、HELPが
    表示されるの、知ってました?
   
   なんて、簡単に逃げないで、VBAでファイルのコピーや削除、名前の変更
   サンプルを次回以降作って、公開しますよ。
      あと、DBを元にした、一括リネームのサンプルですね。
   チョット待っててね。
   プログラマーのあとチョットで、できます、、、はあてなんないからな、、
   ドキ、、、、

(2)配列内の値を高速サーチしたい
------
><質問>
>アクセス97のVBAで、例えば下記の様な配列をセットしたとします。
>
>    Dim AryID(1 To 5) As String
>    AryID(1) = "10"
>    AryID(2) = "20"
>    AryID(3) = "30"
>    AryID(4) = "40"
>    AryID(5) = "50"
>
>で、例えば "30" という値が上記配列の何番目に格納されているかを
>一発でわかる方法をご存知ですか?
>今はとりあえず "Do - Loop" で回して聞いています。
>ですが、実際にはもっと大きな配列を使っているので、
>いちいち "Do" で回すより、一発でサーチ出来た方が楽だし早いのではと
>思っています。
>何か良い方法がありましたら、教えて下さい。
------
   "Do - Loop" で回して、、でいいと思うけど、
   1000件も配列があったら、確かに時間がかかりそう。
   ムダかもしれないけど、Accessにテーブルを1つ作って、
   そこにデータを入れて(項目にはインデックスつけて)
   マスターデータを参照するようなイメージのほうが、
   自分で回すより、速いのかなぁ?
   研究課題?でなにか、考えてみますよ。
   読者のみなさんへ、、何か良い関数、方法あったら、
   得意げにKEN3までメールで送ってください。

(3)Accessでバーコードの印刷は?
------
>ACCESSについて、わかれば教えて頂きたいものがあるのです。
>
>ACCESSに住所支援機能というのがあります。
>その機能を使い住所バーコードデータを作成し、
>宛名ラベルウイザードで宛名ラベルプログラムを作成すると、
>バーコードを印刷することができるのですが、
>その応用でJANコードとかをバーコード印刷することが
>簡単にできないものでしょうか。
-----
   バーコード、Accessで印刷、やったことなかったので、
   サンプル作ってみました。
   hosoku/016/index.html
   のサンプルから、ダウンロードできるようにしてます(できるとおもう)
   興味のある人は、試してみてください。

   今風の環境だと、Accessでバーコードとか、簡単なんですね。
   昔は、バーコードプリンタに制御コードを送って、、なんてやってたのに。。
   私の昔話は、これぐらいにして、、、

/*
 * 3.気になったこと、、Null関係
*/
Null関係でメールをいただきました。
----
>「[三流PG No.014] 第二回 反省会? と クリック広告について」の
>修正された xSP_Cnv について
>
>moji が Variant で定義されているので
>Null が入っていた場合エラーが発生します
>この場合は、Null の時は何もしないで
>Null を返す方がいいと思います
>(細かい内容ですみません)
>
>処理を継続するためには
>別の変数に ""(長さ0の文字列)を入れて処理するか
>文字列関数で 「moji」 で処理しないで
>「moji & ""」か「Nz(moji)」で処理をするといいと思います
----
Accessとか、VBAで関数の引数にNullを渡すと、
エラーになるので、
「moji & ""」とかNZでかわしますよね。
(私、&””が好きです、NZはかっこよくて私には、チョットあわない)
VBAのNullについて、機会を作って、書きたいと思います。
Nullについて熱く語りたい方は、Ken3まで、メールください。
楽しい毒舌まってます。(←また、日本語変だぞ、、、気にしないでよ)

/*
 * 4.MS-DOS時代?って、、、バックアップって、、、
*/
みなさんは、バックアップ定期的に取ってますか?
痛い目みないと、バックアップの重要性がわからないのですが、
ヒマがあったら、取っておきましょう。

って、話じゃなくて、
私事になってしまうのですが、
ある工場で、パソコンが100弱あるみたいで、
制御用のソフトやいろいろ動作しています。

最新バージョンのソフトが稼動中のマシーン上にしかなかったりするので、
全てのマシーンのバックアップを取りたいと依頼が来ました。
1台1万で予算100万?
FDに取るとしても、ソース,EXEだけでいいの?

私は、作業しないのですが、なんとなく不安ですね。
*チャント、戻せるの?戻せなかったとき、責任とらされるよ、、、
 時間かかっても、まるごとのほうがいいと思うんだけど。。

HDをまるごとFDに落とすソフトとか、
ご存知の人は、教えていただけると
ありがたいです。バックアップのコツ?も?
*当時のHDって、IDEの20Mとか、でかくてSCSIの80Mなんですね、、
 20M、、、パソコンのメモリが64Mの時代なのにね。。。
 今は、20ギガも別に驚く容量じゃなくなってきたし、、、

こんなのあるよ、コレでしょ、、って人は、
よろしくお願いします。
^^^^^^^^^^^^^^^^^^^^^

/*
 * 5.おわりの挨拶
*/
今回は(今回も?)、解説、無かったです。
いつも、先送りが多いですね

まぁ、マイペースで書くので、
長い目でみてください。

では、また。

三流PGのKen3でした。

No.17 1999/11/15
アルゴリズムを知らない子供達?(プログラマー)
[ページTOPへ戻る]
<アルゴリズムを知らない子供達?(プログラマー)>
目次
1.はじめの挨拶 
2.あるメールで気がついたこと
3.アルゴリズムを知らない子供達?(プログラマー)
4.最速ルーチン作り、確かにやってない
5.おわりの挨拶
----------------------------------------------------------------------------
/*
 * 1.こんにちは
*/
こんにちは、今週も一週間、始まりますね。
がんばってこ、、、。

今回、キツイ一言、いただいたので、載せます。
おいおい、たいして、キツクなかっただろ、、、、
あれくらい、さらっとかわさなきゃ、、

さて、どんな一言だったのでしょうか?続きをどうぞ。
*プログラム系の解説、今回も無いので、お暇な時間にどうぞ。 

/*
 * 2.あるメールで気がついたこと
*/
それは、一通のメールから始まった(考えさせられた)
------
>> (2)配列内の値を高速サーチしたい
>> ------
>> ><質問>
>> >アクセス97のVBAで、例えば下記の様な配列をセットしたとします。
>> >
>> >    Dim AryID(1 To 5) As String
>> >    AryID(1) = "10"
>> >    AryID(2) = "20"
>> >    AryID(3) = "30"
>> >    AryID(4) = "40"
>> >    AryID(5) = "50"
>> >
>> >で、例えば "30" という値が上記配列の何番目に格納されているかを
>> >一発でわかる方法をご存知ですか?
>> >今はとりあえず "Do - Loop" で回して聞いています。
>> >ですが、実際にはもっと大きな配列を使っているので、
>> >いちいち "Do" で回すより、一発でサーチ出来た方が楽だし早いのではと
>> >思っています。
>> >何か良い方法がありましたら、教えて下さい。
>> ------
>>    "Do - Loop" で回して、、でいいと思うけど、
>>    1000件も配列があったら、確かに時間がかかりそう。
>>    ムダかもしれないけど、Accessにテーブルを1つ作って、
>>    そこにデータを入れて(項目にはインデックスつけて)
>>    マスターデータを参照するようなイメージのほうが、
>>    自分で回すより、速いのかなぁ?
>>    研究課題?でなにか、考えてみますよ。
>>    読者のみなさんへ、、何か良い関数、方法あったら、
>>    得意げにKEN3までメールで送ってください。
>
>この手の探索問題って大抵のアルゴリズム入門書に載っていると思うのですが...
>たとえば、探索するデータがきちんと昇順または降順にならんでいるなら、
>二分探索が早いし、ハッシュを作るという方法もあります。
>
># やっぱり三流だな。
-----

来ましたね、キツイ一言。
そうですよね。これくらいさらっと答えられないと、、
まぁ、三流と呼ばれても、、、アタッテルのでなんとも言えないなぁ。

Accessにテーブル作って処理しようなんて、
アルゴリズム知らないって、
丸出しでしたね。

おいおい、三流なりのプライドは無いのあなた。。

ありますよ、少しは、
二分探索,ハッシュ、調べて(勉強して)、載せますよ。

なんて、少し、考えさせられました。

/*
 * 3.アルゴリズムを知らない子供達?(プログラマー)
*/
私を含め、アルゴリズムを知らない子供達?(プログラマー)、増えてます。
*勝手に言いきって、いいの?テメエだけだよって、またクレーム来るよ。

じゃ、私の個人的意見・思い込みですが、
昔、C言語をやってた時は、アセンブラを知らないCプログラマーと言われ、
VBAをやっる現在は、アルゴリズム・APIを知らない三流さんと言われ、、、
まぁ、インデックスのしくみを知らなくても、
Accessとかで、簡単に、DBのプログラムっぽく作れる時代ですから。

おいおい、そんな考えでいいの?
一つ前の処理/1コマンドで処理している内部処理の内容を想像して、
実際の動作は、どうなっているか、
とわかりながら、考えながら、作っている人との差は、大きいんじゃない?
全体的な処理速度とか、いろいろな面で。

でも動くからいいじゃん。

えっと、30件しか無いマスターにインデックスを付けても効果が無いこと。
(逆にインデックス無しの方が速いとか)
知ってたほうがいいことあるよ。

でも、わからなくても、組めるんでしょ、システム。
それに、速度が遅いのは、マシーンやAccessの処理が遅いんでしょ。
メモリ増設して、CPU速くすれば、いいんでしょ。

そんなこと、言ってないって。わからないヤツだなぁ。。。

/*
 * 4.最速ルーチン作り、確かにやってない
*/
ベンチマークを取る、、まではいかなくても、
最近、最速ルーチン作り、確かにやってない。

チョットやっただけで、これは、Accessだから遅い、
これで動くからイイヤと処理の見直ししていない。

なので、質問で"Do - Loop" で回して、、、と来たとき、
それで良いんじゃない?なんて、簡単に答えてしまいました。

また、サーバーにDB置いて、OracelやSQLServerなら
速くなるキットなんて、自分の処理方法棚に上げて、言いそうだけど。
*基本的に遅いやりかたしていると、どのDBでも遅いんだよね。

それって、三流PG君に、
設計力(発想力・想像力)が無いってことじゃないの?
アルゴリズム知ってれば、いろいろ設計できるけど?なの?

まぁ、そんな感じかなぁ。
原因がわかったら、対策・処置でしょ。
アルゴリズム勉強するには、どうするの?って読者から質問きたら、どうする?

う〜ん、、、昔の人が苦労した、プログラムを読んで、勉強しましょう、、かな?

なんか、頼りないな。。今回も。
プログラミングの面白さって、このへんにあるんじゃないかなぁ?
人が10秒で検索したのを5秒で返すとか、
標準でできないことを、工夫してやるとか。
標準のコントロールを貼ってるだけじゃ、本当の面白さ、わからない?かな?
昔の感動を思い出しつつ、、、

/*
 * 5.おわりの挨拶
*/
今回も、話が、まとまっていないのですが、
言いたかったのは、
・自分も含め、内部の仕組みを知らないでプログラムを作っている人が多い
・プログラミングの面白さってなんだろう?
と、チョット思ったので、、、

次回から、テクニックを教えるだけじゃなく、
なぜこの考え方なのか、、、まで深く説明して、
一人でもプログラムの面白さをわかってくれるメルマガにしたいですね。

またまた、高い理想を、、、
今後も指摘メールでサポートしてください。
なんだ、一流読者任せかよ。
*よろしくお願いします。

自分も実力をあげないと、、と思いつつ、三流PGのKen3でした。


No.18 1999/11/17
新たな挑戦状 と 自分の守備範囲?
[ページTOPへ戻る]
<新たな挑戦状 と 自分の守備範囲?>
目次
1.はじめの挨拶 
2.新たな挑戦状?(笑)来ました
3.自分の守備範囲
4.おわりの挨拶
----------------------------------------------------------------------------
/*
 * 1.こんにちは
*/
こんにちは。寒くなってきましたね。。。

今回は、キツイ一言の反論ハッシュはこうだ、二分検索は
なんて、行きたかったのですが、
ハッシュのハの字・二分木の二の字も見てません。
# ヤッパ三流だわ

宿題をやる前に、新たな質問2件来ました。。。
あれ、、どんどん、貯まっていく?
バグ処理中に新たなバクが発生するような感じかなぁ?

いつもの長い前置きは、これくらいにして、
質問内容、独り言の「守備範囲」について、、はじめます。

*プログラム系の解説、今回も無いので、お暇な時間にどうぞ。 

/*
 * 2.新たな挑戦状?(笑)来ました
*/

ア.挑戦状その1 Accessで画像の管理
----
>現在、accessで顔写真入りの名簿システムのようなものを
>作っていますが、画像(写真)をデータベースのテーブルに保持しておくには
>ちょっと、システムが重くなりそうなので、CD−RWやMOから読み書き
>できるようにしたいとおもっています。
>
>例えば、マイクロソフトのフォトエディタを指定して、
>画像の読込みをできるようなサンプルを教えて
>いただけませんでしょうか。
----
Accessの中に埋め込みで作成すると、
サイズが大きくなるから、
画像だけ、外部(MOやCD−R)に持ちたいのかなぁ?
商品カタログやその他、応用がききそうですね。

考え方?
XXX.MDBに画像以外の氏名や年齢などの情報、
画像だけ別にCD−RWやMOに保存して置く。
登録処理の画面では、
フォトエディタを指定して、処理を行いたい。
こんな感じでしょうか?

チョットやってみた、、けど、なんかしっくりこない。
*今のやり方じゃ、使えないので、
 解説と完成版は、、、後日。
 おいおい、また、積み残し、、、いつになったら、終わるの?

イ.挑戦状その2 カナ-->ローマ字変換?
----
>教えて欲しいのですが、Excel、またはAccessで半角カタカナからヘボン
>式ローマ字に変換したいのですが、良い方法はないでしょうか?
>変換のテーブルを作るのはいとわないのですが、
>高速に処理する方法はないでしょうか?
----
トクメイ --> TOKUMEI
にする処理ですね。。。。
力技で(CPUパワーで)簡単にできそうだけど、
高速に、、ですか、、、
う〜ん、また、実力がバレちゃうな。。

おいおい、弱気になってないで、チャンスと思い、
最速ルーチンに挑戦してみたら?

は〜い、、自信なしだけど、やってみますか。

近々、私が考える最速変換処理?アップします。お待ち下さい。

枠外開設・グチ --- 違う意味の早く

客先へ、時間をかけて、最速ルーチンを作るか、
催促されて簡単に、ルーチンを作り早く出荷するか、、、
迷いますね。
^^^^^^^^^^^
↑おまえ、ホントは、そんなこと考えてないだろ?

あれ、なんでわかったの?

漢字変換で「さいそく」を変換したら、
「催促」「最速」の順に出てきたから、何か面白おかしく書こうとしただろ?
外したね。。

外しましたね。。。ハイ。 では、また。
*オヤジギャグのセンス、まだないですね。。。

PS.漢字変換、面白いですよね?

/*
 * 3.自分の守備範囲
*/
いろいろな質問が来て、即答できなかったので、
自分の守備範囲(できることって)意外とせまいなぁと感じました。

また、基本ができてなくて、我流で作成しているところや、、、
いろいろわかってきたような。

う〜ん、、、
空いてる時間は、日々、守備練習、勉強ですね。

いろいろな方向のノック(質問)、待ってます。

気軽に、球(質問)を打ち込んで(送って)ください。

あまり、取れそうも無い打球・速い打球は打たないで下さいね(笑)
*それじゃ、練習にならないだろ、、、ですね。。。

/*
 * 4.おわりの挨拶
*/
質問来て、いろいろ考えさせられたりして、
メルマガ発行、自分のためにもなってます。

あっ、あと、MS−DOSのバックアップの件
参考意見、ありがとうございました。
検討してみます。
客先に提出した実行案、近々に載せます。

一人でも、おもしろおかしく読んでくれれば、
と思って、マイペースで発行してます。

技術以外の質問も待ってます。
基本がなってない、あんたにしてもなぁ、、、そう言わないでぜひ。

守備範囲を広げよう、、と思いつつ、三流PGのKen3でした。
*打撃優先でしょ、、、なんのこと?
 or
 野球はエースピッチャーでしょ。。。メルマガに書くため構想中(うそです。)

No.19 1999/11/18
Access キャラクタコード?って何?
[ページTOPへ戻る]
<Access キャラクタコード?って何?>
目次
1.はじめの挨拶 
2.キャラクタコード?って何?
3.VBAだと?
4.おわりの挨拶
----------------------------------------------------------------------------
/*
 * 1.こんにちは
*/
こんにちは。

今回は、一息ついて、
キャラクタコード?って何?
を書いてみたいと思います。

ハッシュと二分検索は?画像の件は?ローマ字変換は?
・・・・・・・・
もしもし?聞こえてる?
・・・.....

見逃してください(先に進ませてください。)

じゃ、今回は、いいや、速く進めな。

/*
 * 2.キャラクタコード?って何?
*/
会話の中で、20(ニイマル)だったら?
とか、聞いたことありませんか?

Nullだったらは、よく聞くけど、20(ニイマル)は、聞かないなぁ

そうですか。

キャラクタコード or アスキーコードって聞いた事ありますか?

JISコードとかじゃなくて?あっ、ユニコード?EUCコード?

難しい話に、持っていかないで下さい。
えっとですね。
キャラクタコード or アスキーコード
まぁ、反論はかくごして、
半角文字の文字コードって言っていいのかな。

スペースが16進で20
1 が 16進で31
A が 16進で41
ア が 16進でB1
と、1文字1文字、コードが決まってます。

だから、なに?

通常の計算は、
100-50とか、数値ですよね

まぁ、そうですね。

じゃ、文字B−文字Aは(’B’−’A’)

そんなのできないよ。

言い方、悪かったです。
Bの文字コード − Aの文字コードは?

1? あまり、なっとくいかないけど。

はい、正解です。
では、Aの文字コード16進で41+3は?

なめんなよ、16進で44でしょ。

キャラクタコード表で16進数の44は?

キャラクタコード表って、どこにあるんだよ。
オレ持ってないよ。

う〜ん、どこにあるかなぁ?
まぁ、いいや、16進44に対応する文字は、"D"です。

こんな会話やってても、意味ないので、
Access VBAでサンプル作ります。

/*
 * 3.VBAだと?
*/
例題として、
InputBoxから文字列を受け取ります
その中のA〜Zをa〜zに変換して、
msgboxで表示します。
----
Private Sub B0_AZtoaz_Click()

    Dim strMOTO As String
    Dim strSAKI As String
    Dim strCHK As String
    Dim nCNT As Integer
    Dim nSA As Integer
    
    'ここで、文字を入れる、、
    strMOTO = InputBox("好きな文字列を入れてください")
    
    '入力文字数のチェック
    If Len(strMOTO) = 0 Then
        MsgBox "0文字だとテストになりませんよ、、、"
        Exit Sub
    End If
    
    '初期化です
    strSAKI = ""
    
    '入力された文字数分、1文字毎に処理する
    For nCNT = 1 To Len(strMOTO)
        
        strCHK = Mid(strMOTO, nCNT, 1) '一文字取り出す
        
        'A-Z判断
        If Asc("A") <= Asc(strCHK) And Asc(strCHK) <= Asc("Z") Then
            nSA = Asc(strCHK) - Asc("A")  'Aからどれだけ離れているか?
            strCHK = Chr(Asc("a") + nSA)  'aに求めた差を+する。aから移動
        End If
        
        '結果の文字を&でプラスする
        strSAKI = strSAKI & strCHK
        
    Next nCNT
    
    '結果の表示
    MsgBox strMOTO & vbCrLf & "から" & vbCrLf & strSAKI

End Sub
----
なんか、サンプルにキレがないなぁ、、、
何か質問は?

いいですか、
    'ここで、文字を入れる、、
    strMOTO = InputBox("好きな文字列を入れてください")
ってなんですか?

あまり、使わないのですが、
InputBoxを使用すると、入力用のウインドウが出て、
入力された結果を返してくれます。
ここでは、任意の文字を入れさせたかったので、
使用しています。
Accessだとフォームのme!DATA とかでもOKです。

素朴な質問なんですが、
Len(strMOTO) , Mid(strMOTO, nCNT, 1) , Asc("A")
ってなんですか?Chrって?

えっとですね、
len() --> 文字数を返してくれます
mid() --> mid("ABCDEFG", 2 , 3) --> 2文字目から三文字分文字を抜き出します
asc() --> アスキーコードを返します
chr() --> chr(&h41) --> 指定したコードの文字を返します
詳しくは、ヘルプを見るか、サンプルをいろいろ見て、なれてください。

単体は、いいから、詳しく、意味を教えてくださいよ。

    '入力文字数のチェック
    If Len(strMOTO) = 0 Then
        MsgBox "0文字だとテストになりませんよ、、、"
        Exit Sub
    End If

これは、inputboxで何も入力しない場合を考えて、
受け取った、文字数を調べています。
0文字の場合、メッセージを出して、終了してます。

        'A-Z判断
        If Asc("A") <= Asc(strCHK) And Asc(strCHK) <= Asc("Z") Then
            nSA = Asc(strCHK) - Asc("A")  'Aからどれだけ離れているか?
            strCHK = Chr(Asc("a") + nSA)  'aに求めた差を+する。aから移動
        End If

なんか、ごちゃごちゃ、してますね。
えっと、Ifで、コードAより大きくコードZより小さいか聞いて、
その後、−”A”をして差を求めて、”a”を+してる?
*Dの時、"D"-"A" が3、、で、"a"+3、3文字分で"d"になる?

なんか、よくわからないや、、
あと、
    '結果の表示
    MsgBox strMOTO & vbCrLf & "から" & vbCrLf & strSAKI
の中の、vbCrLfってなに?

結果を改行させたいので、使ってます。
試しに MsgBox "A" & vbCrLf & "B" とやってみてください。

1つ言っていい

どうぞ。

strconv("ABCDEFG", vbLowerCase)
でできるんじゃない。。。

そうだけど、説明したかったの、、、
strMOTO = InputBox("好きな文字列を入れてください")
MsgBox strMOTO & vbCrLf & "から" & vbCrLf & strconv(strMOTO, vbLowerCase)
じゃ、コードの説明にならないでしょ、、、

/*
 * 4.おわりの挨拶
*/

strconv("ABCDEFG", vbLowerCase)
の内部の動きとは、違うと思いますが、
1つの関数でできてることが、
実際は、いろいろな組み合わせで
動いているんだなぁ、、、ていどに思っていただければ、、、
今回の講座は、成功かなぁ?

なかなか、説明、難しい、、と思いつつ、今回も軽めにサヨナラです。

違うパターンのサンプル、
HPにUP
hosoku/019/index.html
して置くので、お時間のある人は、見てください。

三流PGのKen3でした。


ページフッター

ここまで、読んでいただきどうもです。ここから下は、三流君宛のメッセージ送信や 三流君のホームページの紹介・案内です
目的の情報が見つかったか?少々心配しつつ、、、※質問や感想は、気軽に送ってくださいね。

質問や要望など メッセージを送る(三流君に連絡する)

質問や要望など連絡方法でお互い確認が取りやすく、便利なのが掲示板なのですが、私の対応のまずさから不定期で荒れてしまい、掲示板は現在封鎖中です。(反省しなきゃ)
感想や質問・要望・苦情など 三流君へメッセージを送る。
時間的余裕のある要望・質問・苦情の場合は、下記のフォームからメッセージを送ることができます。
あなたのお名前(ニックネーム):さん
返信は?: 不用(HP更新を待つ) , E-mail→ アドレス:に返事をもらいたい



(感想や質問・要望 メッセージはHPで記事に載せることがあります。)


急ぎで連絡がほしい、そんな時は:[三流君連絡先アドレス]を見て連絡してください。

リンクや広告など

項目別に↓に本音?それとも建て前?的な記事をまとめました。お探しのジャンルを選択してください。
[ルーキー rookies]・・・ 新人さん達 初心者さんへ
[学ぶ study]・・・学習、技術の取得
[仕様書 doc]・・・仕様書・設計書関係の話
[共同作業 team]・・・チーム、グループ作業
[プログラムは心? spirit]・・・プログラマー 心・気質・魂

[掲示板デビューしようぜ bbs]・・・掲示板関係の話、質問者・回答者の気持ちほか
[昔はできた seo]・・・三流式の効果無しSEOとアフィリエイト
[仕事や作業、転職 job]・・・仕事や転職、評価、作業など
[その他 etc]・・・その他 分類外の記事

※↑文章の味付けが変わっていて、お口に合うかわかりませんが。。。
※※読んで、気分を悪くされたらスミマセン。

Blogとリンク:[三流君の作業日記]/ [愚痴(Bookmark)]/ [広告Blog(Bookmark)]



[三流君(TOP ken3.org へ戻る)] / [プログラマー業務の愚痴] / [バックナンバー 一覧]