現状、Access2003で業務用のアプリケーションを
作成しています。
しかし、上司から、C言語で作りかえるよう指示が
ありました。
理由は、パソコン環境に依存しないから
で、私もそれほどC言語に詳しくのないので
調べて見ましたが、
テキストベースのプログラムの書き方や変数の宣言
などの情報はあるのですが、
じゃあ、Accessで作った入力用のフォームとか
入力した内容を印刷するための帳票(レポート)などは
どのようにしてC言語で実現するのかが、わかりません。
C言語でGUI環境を作り出し、なおかつデータベース機能を
持たせることはできるのでしょうか
No.9ベストアンサー
- 回答日時:
「パソコン環境に依存しないから」と言う理由でAccess2003を作りかえるという理由は納得できます。
実際にランタイムの問題がありますからね。以前、本で読んだのですが、そういう視点でパソコンを10~20台用意して、「どのマシンでも動作して、動作の速い言語を開発言語として選択する」という受け入れ条件で評価プログラムを比べたら、いきなりDelphiに決まってしまったとありました。スピード比較以前に、ライバルのVBはインストールさえできなかったから・・・。
Accessも同様な問題が発生する可能性があると思えます。
でも、だからといって「C言語で開発」はいきなりすぎますね。たとえば、仕事で、自家用車を使って荷物をちょこちょこ運んでいたが、「ちょっと荷物が増えてきたから、明日からは、大型トラックの運転をお願いします」っていうような感じがします。
Accessは現場のエンドユーザさんが、手軽にデータ加工するためのツール。C言語はプロが時間をかけて製品レベルのソフトを作るツールって感じです。
No.8さんの回答にあるように、「真の狙い」をはっきりさせたほうがいいと思います。
「(経費節減のためインストール工数がかかるのいやなので)パソコン環境に依存しないソフトにしたい」と思ったが、C言語にすることで、「開発工数が5倍、追加のミドルウエアや帳票ツールなどで500万必要です。」となったとしたらどうでしょう?変更は、取りやめになるかもしれませんね。
>>C言語でGUI環境を作り出し、なおかつデータベース機能を
持たせることはできるのでしょうか
市販の多くのソフトは、当然ながら、それを実現していますよ。当然、膨大な開発工数を使っていると思います。
おまけ
C++Builderで作ったソフトの改修作業が入った。介護関係って法改正が頻繁でいやですね。ちなみに、このソフトがVBとかACCESSなら、修正工数は1/3~1/4くらいになると思われています。でも開発言語がC++Builderなのは、質問者さんの上司と同様に、「どのPCにも環境依存せずインストールしたい」という理由からです。あと、コンポーネントライブラリが豊富で、あたかもAccessのように手軽にアプリが作れてしまいます。
え?じゃあなんで今回の工数見積もりが多いのかって?それは、ウイザードでおきまりのアプリは10分で作れても、それを少しでもカスタマイズしようとすると、C++とC++Builderの膨大な知識がないと不可能だからです。社内には、私以外にまともにC++がわかる人がいないんですね。C++はCよりも10倍以上(当社比)も巨大な言語体系ですからね。
lv4uさん、ありがとうございます。
やはり「真の狙い」をはっきりさせることですよね。
ただ膨大な工数がかかってしまうことが目に見えているので
外注に出した方がいいのではないか、と思っています。
lv4uさんのように会社でAccessを使えるのが
私だけですので、同じ悩みを抱えています(^^;)
No.8
- 回答日時:
結局のところ何に主眼を置くかで選択肢は変わってきます。
単に、Windows以外でも動くようにしたいのであれば、大きな工数を掛けて一から作り直すより、OpenOffice.orgのBaseに移植した方が手っ取り早いと思います。
「C言語」で作り替えること自体が目的であれば、Windows決め打ちならWin32 APIを直接呼び出してもよいでしょうし、そうでないならGTK+かTcl/Tkだと思います(ちなみに、WxWidgetはC++用であり、Cでは直接使えません。WideStudioもQtもそうです)。
使い勝手や性能の向上が目的なら、Webアプリにしても解決するとはとても思えません。それに、Windows決め打ちの場合は、デスクトップアプリなら環境依存のことで考えることはまだ少ないですが、Webアプリにすれば、複数種のブラウザ(そして将来のものも含めた各バージョン)間の互換性に配慮しなければならなくなります。
真の狙いがどこにあるのかを再確認した方がよいと思います。
jactaさん、ありがとうございます。
目的は安定性ではないかと考えています。
現状のAccessのシステムがエラー等が多いため、
違う言語開発を視野に入れているのだと思います。
エラー等が多いのは、開発者(私)の責任でも
あるのですが…
会社自体は、建設会社なので
ソフト開発チームみたいなものはありません。
ただAccessで業務支援のアプリケーションを
私はちょこちょこと作っている状況です。
それを他言語で作りなおし、パッケージソフトとして
世に送り出す考えもあるようです。
いつのことになるか…
No.7
- 回答日時:
SAYKAさん、ありがとうございます。
英語のページだったので、
あまり理解はできませんでしたが、こういう
ライブラリも存在するということが分かりました。
No.5
- 回答日時:
CでGUIは環境に依存する部分が大きいので大変だと思います。
他の方々がおっしゃっているようにWebかJavaがおススメです。
yu0821さん、ありがとうございます。
GUIは環境に依存する部分が大きいとは
どういう意味でしょうか?
Windows環境への依存が大きいということでしょうか
No.4
- 回答日時:
C でも GUI アプリケーションの作成は可能です。
http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82 …
などで勉強されるとよいかも。
C でやろうとすると Windows の仕組みが勉強できて、それはそれで楽しい(?)かもしれませんが、C++ でクラスライブラリを使用する方が楽だと思います。(クラスライブラリの勉強が大変だったりしますが。)
帳票に関しては市販の帳票ツールがいろいろあると思いますので、いろいろ調べてみられるとよいと思います。
が、私的には、Visual Basic の方がお手軽でいいような気がします。
Access は遅いとか、小回りが利かないと言った点があるとは思いますが、C/C++ や VB で作れば必ず使い勝手が良いものができる、というわけでもありませんので・・・。
tsukasa-12rさん、ありがとうございます。
参考書を紹介していただきありがとうございます。
お手軽感はVisual Basicかな、と私も思いますが上司はどうなんでしょうか…
言語を上位に上げれば、必ずいいものができるとは
限らないということを報告の中に追加しておこうと思います♪
No.3
- 回答日時:
他でも書かれているけどwebベースが良いと思われる。
細かい操作を行う予定ならばjavaが最適では?
javaならば殆どの環境で存在する。
サーバ側にはSQLサーバ稼働でも構わないがMySQLなどのフリーで手に入る物をDBの核として利用している企業も多数ある。
SAYKAさん、ありがとうございます。
javaですか。
だいぶ前からプラットフォームに依存しないという開発言語で
話題ですね
サーバ側は、SQLサーバを検討していましたが、
なかなか稟議がおりそうにないので、MSDEを検討中です
No.2
- 回答日時:
パソコン環境に依存しないアプリケーションとなると、Webアプリケーションが最有力です。
コンパイラ・インタープリタを使用する限り実行環境はPCに依存します。
WebアプリといってもActiveXなど特定のアーキテクチャに依存した場合PC環境に左右されます。
純粋にマルチプラットフォームを実現したいならHTMLベースのWebアプリでサーバーをたてることです。
サーバーは特定環境で動かすとしてもクライアントはMacでもWindowsでもブラウザが動くコンピュータであれば問題なく目的を達成することが可能です。
前提部分をもう少しに詰める必要があると思いますが?
bardfishさん、ありがとうございます。
そうですね、もう少し内容を詰める必要がありそうです。
でも、Webアプリケーションというのは思いつきませんでした。
HTMLは多少理解できますが、それ以上となるとキツイです
No.1
- 回答日時:
ポイントはここだと思います。
> 理由は、パソコン環境に依存しないから
ここでいう「パソコン環境」というのが、アクセスがインストールされているかどうかという程度なのか(その程度ならC言語に書き直さなくても比較的簡単に解決しますが)、LinuxやMacなどでも動作させたいのかどちらの意味なのでしょうか?
後者の場合、C言語で作ったとしても環境ごとに再コンパイルが必要になります。あるいはCINTのようなインタープリタ環境にするかです。
再コンパイルしてもよいのであれば、クロスプラットフォームのツールキットがいろいろ出回っていますので、どれか好きなものを使えばよいでしょう。C++ではなくCということなので、選択肢としてはGTK+かTcl/Tkあたりがよいのではないかと思います(個人的にはTcl/Tkが簡単なのでお勧めです)。
この回答への補足
jactaさん、ありがとうございます。
Accessのランタイムを各パソコンにはインストールして
いるのでその点は問題ないです。
ただ現状のAccessの業務アプリが使い勝手が悪いとか、
他のソフトと相性が悪い?などの理由で他言語で再開発してみたい
らしいのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(プログラミング・Web制作) Pythonの作業環境・作業フォルダの迅速な設定・指定方法 3 2022/04/01 07:55
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- 英語 会社で英語を使うことになっての英語の勉強方法 5 2022/07/03 11:49
- C言語・C++・C# c言語で自然数nを入力、2以上n以下の偶数の累積sumを求めるプログラムをfor文を使って作りたいで 4 2022/11/09 14:10
- 画像編集・動画編集・音楽編集 【急】【Zbrush】3DCG初心者です。ノートPCでのZbrush動作環境につきまして 1 2023/08/19 17:38
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HOLONついて教えてください。
-
ACCESSって??
-
楽しくて最高のプログラミング...
-
小学1年生の子です。塾に行かせ...
-
C言語、C+、C++、C#の違い
-
IT業界より楽に稼げる業界って...
-
C++ ってなんて読む?
-
ニンテンドーDSのソフト作成に...
-
Visual Studio Codeについて
-
建設業界のシステムがけっこう...
-
procってなんですか?
-
プログラムからアイコンファイ...
-
COBOLで文字タイプを数字...
-
UWSCはどのプログラミング言語?
-
Int('1234') で、strをかんたん...
-
プログラムに書かれる"%"記号の...
-
質問失礼します。 プログラム言...
-
私はプログラミングは一切分か...
-
C++における継続行
-
Excel VBAで文字化けする (英語...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HOLONついて教えてください。
-
C言語でメモ帳のようなソフト...
-
VB.netは何系?
-
Excel,Accessの多言語対応について
-
JavaとC++の生産性の違い
-
CとvisualCの違い
-
音声認識アプリ
-
言語の違い
-
ポップアップメニューのチェッ...
-
(2017年7月現在)Windows7で実行...
-
Windows系GUIプログラム開発の...
-
データベースソフトを作りたい
-
C言語による実務での開発
-
視覚化しやすいプログラミング...
-
VBとVC++について
-
Windowsクライアントソフト開発...
-
携帯電話のOS(?)は何言語...
-
C言語、C+、C++、C#の違い
-
質問失礼します。 プログラム言...
-
最新のプログラム言語を学ぶに...
おすすめ情報