パソコン・インターネット

ひとまず!

「ひとまず業務プログラム」がひとまず完成しましたhappy02




今年度までに完成させるということで頑張っていましたが、なんとか年度内に完成して今動かしています。




環境はWinXP、Turbo Delphi、データベースはFireBirdを装備ですsmile




 データを日付で検索、名前で検索、TSVファイルの読み込みと印刷機能があります。それとGridに表示したデータを必要な分だけプリントアウトできるように「コントロールキー+D」で行の削除機能もつけました。行の追加もコードは書いたのですが、どうせGridのGoEditはFalseになっているのでこの部分は削除bearing

 とてもシンプルなプログラムですが、作るのに時間がかかりすぎてしまいましたwobbly

 特に大変だったのはTSVファイルの読み込みです。あるプログラムから取り出したTSVファイルを読み込むのですが、delimiter(デルミタ)で区切られたデータの中にさらに分割すべきデータが入っていたり、必要の無いデータがあったりで、「Pos」&「Copy」の連発で解決しました。「If文」にもかなりお世話にhappy01




できてみるとシンプルなプログラムなのに、中で色々と細かく書き込まないと、思ったとおりの動きをしてくれない。人間だったら瞬間で勝手に計算したり、処理したりするのになんてコンピュータは厳しいんだろう……この頑固者poutsign01




一応奥様にも見せました、初めての「とりあえず業務プログラム」happy01「すご~い」と喜んでくれたのでひとまず満足ですwink




データベースを使ったプログラムって、それを知らない人が見たら結構反応いいんですね。何人かに見せましたがいい反応でしたcatfaceもっと勉強して頑張ろうsign01




このプログラム最後に少し問題sadデータベースに接続するConnectionとQueryのコンポーネントの方でデータベース接続の設定をしても、サーバーに繋がらないんです。自分のパソコンをリモートサーバーに見立ててやっているうちはそこの設定だけで充分なのですが、いったんネットワークに入るともう一度コードで書いてやらないと繋がらないみたいなのですwobblyして、FormCreate時にサーバー名、ユーザー名(データベースに繋げられる人の制限はかけないためワンユーザーで)、パスワードを設定し無事に接続、バビったぁcoldsweats02




それにしてもお昼後にパソコンと戦闘中にパソコンが唱える

「ラリホー」は最強です。眠りを防ぐ防具が欲しい…gawksleepy




「ひとまず業務プログラム」にはまだ付けたい機能があるので、少しずつ勉強しながら増やして行こうと考え中catface




次に作るプログラムは「仕事したっけ?!予定表」です。項目ごとにやる仕事を確認できたり、やった仕事やってない仕事が人目で分かったりする機能を付けたいと思います。それにはAdvStringGridをもっと使いこなせるようにしないと勝てませんbearingもっとレベルを上げなければsign03

| | コメント (0) | トラックバック (0)

進みましたっ!

Turbo Delphi & FireBird で製作中のデータベースアプリケーションが少し進みましたhappy02




GridはDB系のGridではなく、StringGridを使用しています。前回はGridに表示したデータをデータベースに落とすところで、奇数行しか読み込まないという問題が発生していました。なので、気分転換も兼ねて先に印刷ルーチンを書こうと思い、進めていました。さくさくプログラムが出来上がるってやっぱり気持ちがいいです。印刷の部分は今のところ自分の思い通りの動きをしてくれています。




そんな気分転換もひと段落着いたところでもう一度問題のデータベースに落とす部分のコードを眺めていると、何か違和感に気づきました。なんと、Repeat文の中で「変数k」をIncしているのにさらに「k=k+1」と変数を一つずつ足していくコードもかいていたのですshock この部分を削除したら、サクサクとデータベースにデータが落ちていくではあ~りませんか!ず~っと悩んでいたのがこんな一つの文だったなんて・・・・。最初に気づかないアホさ加減にもうんざりです。でも、気分転換ってほんとに大事だなぁって思いました。




何事も行き詰った時にはホッと一息つくのが大切ですね。一生懸命にやるのもいいですが、一生懸命にやりすぎると周りが見えなくなるということもあるんだなぁと感じます。時々一所懸命すぎて、そういうことを実感することが・・・。奥さんに怒られます。なので最近は気づいたら一呼吸おくように心がけていますcatface




今日はプログラムの大事な部分が進んだので気持ちがいいです。あとは「印刷ルーチン」のところと、「Gridの行を削除、追加するコード」を書いて、後は「データの抽出」をまるまる書きますsign01がんばれ俺sign01




| | コメント (0) | トラックバック (0)

だー!

業務プログラムがうまくいかな~いpoutpout




StringGridにデータを表示させるのはひとまずできた。

さぁ、お次はその表示させたデータをデータベースに落とす。




Gridの一行、一行を順番に読み込んでいく。

最後の行まで。

そんなイメージでコードを書いたのに、奇数行しか読み込まない・・・・。

なんで?????????????




行を指定するところのコードが間違っていると思っているんだけど、間違いはどこだろう?見つからない。

もう少し試行錯誤してみよう。




印刷ルーチンも始めることにした。MrXRAYさんのコンポーネントを使用。

業務プログラムといってもほとんど練習みたいなものだから時間に追われることはないけども、なるべくなら今年度中にひとまず形にしなければ。




昨日から唇が乾いてうまく笑えない(変笑)。


| | コメント (0) | トラックバック (0)

まだまだまだまだ勉強不足・・・・。

以前からDelphi 2006 で作成していた業務プログラムを考え直しです。


・TSVファイルを読み込んでGridに表示させる。

・データベースに落とす。

・色々な条件で検索できるようにする。


データベースにはデータを唯一のものと決めるキーを設定するのですが、これをいくつかの項目を切り貼りして作成します。この時、キーの長さも同じ長さにします。最初に考えていたものでは、いくつかの項目をそのままキーにするというものでした。これではユニークキーがいくつもできてしまいます。そこで、さっきの方法でやることにしました。


この方法なら後々の検索もうまくいきそうです。


今回のプログラムでは関数を自分で作成し、その関数を呼び出して使うということもしました。しかし、データの受け渡し、関数の呼び出しがよく分からずでたらめなコードを書いていました。幸いすぐ近くにプログラムの師匠がいるのでヒントをもらい、やってみました。が、結局最後は師匠にやってもらいました・・・・・・・・・。情けない。


でも、自作の関数の呼び出し、データの受け渡し理解できればまったくの初心者から少し芽が出た初心者になれると思います。頑張るぞー!


最近、とってもいいプログラムの教科書をゲットしました!何年か前に閉じてしまったサイトをMr.XRAYさんが保存し、公開しているものです。

少し見ると結構な量でしたが、少しずつでも必ず読破することをここに誓います。

Halbow資料館


最近、プログラムの師匠からも大切なプログラムをソースごと頂いたのでこちらの読み解きも楽しみです。

「プログラムをするということは分析をすることである。」

師匠がよくいう言葉です。頭の片隅の外に記憶中。


最近自分はとても幸せな環境にいるんだと感じます。色々な人に出会い、いろいろなことを教えてもらい提供してもらい、仕事をしながら勉強できる。学ぶことの大切さとおもしろさは幾つになっても感じて生きて生きたいです。

自分の人生のテーマは謙虚さ遊び心です。


なにに関しても、人はいくらか時間が経つと謙虚さを忘れてしまうように感じます。自分ももちろんですが。何かしら学ぶ時には謙虚さは最重要項目だと自分は感じています。何歳になっても、誰からでも学ぶことはできます。


絶対忘れません。イエス!


| | コメント (0) | トラックバック (0)

Data Base構築

今書いているデータベースプログラムのデータベースをどう構築していくか思案中です。


とりあえずFire Birdを使用して、ネットワークから同僚みんなそれぞれのクライアントから見れるようにしようというのは決定。


SQL ServerやAbsolute DBは今後使用するとして、とりあえずはFire Birdを使います。



データベースの構築はやはりかなり気を回す必要があるのではないか。


今回使用しているデータは他の仕事と今のところかぶる様子はないので、今書いているプログラムのみで使用することになると思います。


しかし、他の業務でも使用する可能性も否定できないので柔軟性のあるデータベースが構築できればいいなぁ。


Gridに実際に表示するDataとは別に、データを引き出しやすいようにキーフィールドを作りデータを格納。


こうすることでメモリも有効に使え、別のプログラムでも使えるような柔軟性も兼ね備える。と、うまくいけばいいけど、今はDataとにらめっこ!


いいData Baseができますように!



今日、パソコンのメモリを512MBから2GBに変えました!


さくさく動くのですこぶる快調!


がんばんべー!

| | コメント (0) | トラックバック (0)

やっとプログラムが進みました!

最近、通常業務の忙しさとなんとなく煩わしくてプログラムから離れていました。


少し落ち着いてきたところで


「これではいかん!どげんかせんといかん!」と思い再始動です。



Turbo Delphi 2006 で書き始めたプログラム。


今はFire Bird(Data Base)を扱うプログラムと、業務計画印刷用のプログラムを同時進行で製作中です。


データベースを扱うプログラムをなんとか年内、早ければ来週あたりに完成させたいと目標を決めました!



.tsvファイルで取り出したデータをグリッドに表示させ、データベースに落とし、必要な分だけのデータを印刷するというプログラムなのですが、なかなか難しいのです。


前回はとりあえずデータをGridに表示させ、データベースに落とすところまでは行きましたが、余分な情報もGridに表示、データベースにも余計なデータが落ちていました。



今回は、必要なデータを明確にし、後に取り扱いやすいように細分化、そして必要に応じて統合するということをします。


まず、日付と時刻のデータが一まとめに表示されていたのでこの文字列を半角スペースでPosし、二つのグリッドに分けて表示。


前回はここでうまく分割できずつまづいて、そのままになっていましたが、久しぶりに考え直してやってみたところうまくできました!


最近やっとHelpの使い方をしったのも大きいかもしれません。


知りたい文字のところにカーソルをF1を押すとヘルプが立ち上がってきて、検索までしてくれます。


Posの考え方が少し間違っていたようです。


さらにあるデータの項目はデータが余分に表示されていたので必要な分だけ表示するようにしました。


次の項目は少し問題があって、最初「”」でPosしていたのですがうまく表示できず、半角スペースでPosしてもうまくいきませんでした。


そこで、その文字列の中に「”」がある場合と無い場合の処理を分けて行ってみたところ、うまくいきました。


これでひとまず必要な情報をきれいにGridに表示することができました。


あとはこれをデータベースに落として、さらに項目を繋げてデータとは別にキー項目を作ります。


さぁ、もう一息がんばるぞー!!


| | コメント (0) | トラックバック (0)

同時作業です。

Turbo Delphi 2006 でデータベースを扱ったプログラムを製作中。


以前から進めていた業務プログラム(プロジェクト1)と同時進行で、もうひとつプログラム(プロジェクト2)を書くことになりました。


プロジェクト1は少し改良する事にしました。
・Gridに表示するデータ分割の項目を増やす。
・データベースで扱いやすいように、分割したデータを統合し、データベースに新しい項目を増やす。


Gridに表示するデータの分割がうまく出来ません。


今のデータは単純に“TabKey”を区切りにしてGridに表示しています。


今度は見やすく扱いやすいように余分なデータは切り捨てるつもりです。


なのでもちろんデータベースに新しい項目を追加することも出来ていません。


データベースに新しい項目を追加し、データを読み込むのはまだすんなり出来そうな気がしていますが、今までと違う方法でのデータの分割・統合が難しい。


がむばらねば!





プロジェクト2は印刷のルーチンが主ですが、Gridに日付と曜日を表示させるのがまだできていません。


最初カレンダーから引っ張ってきて表示させたかったのですが、直接コードを書いて表示させる事にしました。


簡単にできるようなのですが初心者らしくまだほとんど分かっていません。組み込み関数を使えばできるようなので調べます。


印刷のルーチンが主なのでとりあえずデータベースは使いませんが、使う人の要望があればデータベースを使用するつもります。


今、片方が行き詰まってもう一方も小さな壁に当たっている状態。


意外と単純なことで解決するかもしれないので、地道にトゥルバって(ボーッとして)考えていきます。

| | コメント (0) | トラックバック (0)

Delphiでプログラム!

業務プログラムが後退しました。



一行分のデータを読み込み、Gridに表示。

そのデータをデータベースに読み込む。

そこまではできました。


がしかし、何行かを一度に読み込むにはまだコードが足りず、書き直し。

DynamicSQLでデータベースのUnique KEYに設定した項目を「Where 検索」。

すでにデータがあるものはEditモードで書き込み。

データが無いものはAppendで書き込み。

これをGridに表示させてある行の分繰り返す。

というコードを書きましたが、止まってしまいました。


「Where 検索」の部分が間違っているのかもしれません。


データの検討も足りなかったみたいです。

もしかしたら「FireBird」のデータベースも書き換えなければいけなくなりそうです。

読み込んだデータをそのままデータベースに読み込むのではなく、使用するデータ以外にプログラムで使用しやすいようにデータを切ったり貼ったりして作るということもやらなきゃいけないみたいです。

データベースを将来違うプログラムでも使用できるように考えないと。



引き続き頑張ります。



<今日の用語>

ヒステリシスカーブ

直流的消去法

交流的消去法

ショウジコイル

ヴァンアレン帯

静特性

2ASUN

| | コメント (0) | トラックバック (0)

プログラムが進みました!


業務プログラムが一歩進みました!

前回試してみたかったことをまずやってみました。

IBConnectionに命令を一つ追加して、もう一度DynamicSQLの部分で、テーブルを選択し直し。

するとなんと!データをテーブルに書き込むことができました。

小さな一歩かもしれませんが、これからのことを考えたら大きな一歩です。



それから、コンポーネントを少し変えました。

Gridを、より柔軟に使用できるTMSのStringGridに。

このStringGridは、データを行ごとに色を変える事ができるので見やすさも抜群にアップ!

データベースを使用する場合、DBGridを使用する事も考えたのですが、「DBGridはデータベースにアクセスする際に、使用しているユーザーに固定してしまうので業務で使用する際には使い勝手が悪い。」という話を聞いたので、やめました。

また、データを日付ごとにも出力したいので、カレンダーを使うことにしました。

業務でプリントアウトも必要なので、Mr.XRAYさんのプリンタ設定と印刷プレビュー制御のコンポーネントも使用させて頂きました。少し修正が必要でしたが。



着実に前に進んでいるのでこのまま直進するのみ!

頑張ります。


| | コメント (0) | トラックバック (0)

業務プログラムが進みません


只今コンピュータープログラムの勉強中。

業務プログラムの基礎が出来上がりません。


ソフトはTurbo Delphi 2006 を使用。

データベースの処理を行います。



データベースエンジンにはFBを使用。

データベースへの接続はIBConnectionとIBQueryを使っています。

データ表示するGridには今まで標準StringGridを使用してました。が、最近TMSのコンポーネントセット購入!

中には使い切れないほどのコンポーネントがぎっしり。



自分との相談の結果、その中のColumnGridの使用を決定。



.tsvファイルをGridに表示するまでは成功しました。

不必要なデータを表示しないようにしたり、データを分割したり、データを結合したり。

必要な項目を表示するようにしました。


今はその表示したデータをデータベースに反映するコードを書いています。

ダイナミックSQLでDelphiから操作していますが、なかなかうまくいきません。

ひとつパズルを解くカギを思い浮かんでいますが、まだ時間がなくて試していません。

そのピースが合っているのか試すのが楽しみです。



性に合っているんだはずなぁ、と最近思います。




今日も夕焼けがきれいでした。

Img_9719

| | コメント (0) | トラックバック (0)

プログラムでデータベースにアクセス!


Delphi でデータベースにアクセスするプログラムを作りました!


データベースエンジンには SQL Server を使用しています。


まだまだ業務に使えるようなレベルのプログラムではありませんが、やっとデータベースにアクセスすることができました。


ようやく目標に一歩近づいた感じです。


目標は『今年中に業務に携わるデータベースプログラムを書く事!!!!!!!!!!』


今、業務ではいくつかのデータベースエンジンを使用しているのでデータベースも要勉強♪


う〜ん、まだまだ勉強が足りないようですなぁ・・・・。


よし! 楽しみながら目標に近づきたいと思います。



| | コメント (0) | トラックバック (0)

もつかれさまです!

最近、仕事が忙しくて久々のアップです。

仕事で無線機の周波数変更をしました。

まだ勉強中の身なので、全部が初めての体験でした!



まず、送信側のフィルター、クリスタルを交換した。

波形がキレイに出るようにクリスタルのFREQを調整し、ローカルのFREQを調整し、送信周波数を合わせる。

OUTPUTのパワーを測定し、充分なパワーが出ていたらひとまずはOK!


次に、受信側の無線機のフィルター、クリスタルを交換する。

受信側は送信側からの信号を基に設定するので、必ず送信側から交換する。

送信側と同じようにクリスタルとローカルのFREQをきれいな波形が出るように調整する。

また、同じようにOUTPUTのパワーを測定し、充分なパワーだったらOK。

送信側、受信側それぞれA,Bあるので、それぞれ設定する。

また、A,Bの信号の差が1ns以下が理想的とのこと。

一日目はひとまずすべての調整を行った。

二日目は周波数、波形を見てクリスタルのFREQを調整する。

すべてが終わったら24時間の試験を行い、問題がなければ終了。

測定した実測値、測定した波形の図をデータとして提出し完了!


めったにやる事ではないので、しっかりチェックや!

| | コメント (0)

最近プログラムの勉強を始めました。

最近、プログラムの勉強 を始めました!

Delphi Turbo 2006 を使っています。

例題を見てプログラムを作成していますが、パズルみたいで面白い!

行き詰まるとWebで情報を検索しますが、初心者すぎてなかなか意味が理解できない・・・・。

地道にこつこつやって行きます↑↑





今日も海沿いをかわいい甥っ子とぶらぶら。

日が落ちたあとは風と波の音が心地よくて、僕の肩に頭をのせて甥っ子もうとうと
しています z z Z

あまりの心地よさに歩きながら眠ってしまいそうです。

明日は仕事が休みです。何をしようかなぁ。

| | コメント (0) | トラックバック (0)