• ベストアンサー

delphi でグラフ表示

delphiでExcelのデータをグラフ表示したいのですが、どうすればよいかわかりません。 Chartを使って、Botton1.Clickのところに、Add・・・と適当に書いてグラフ表示はできたのですが、私がやりたいのは、Bottonを押したら、OpendialogよりExcelのデータをMemoなどに開き(ここまではできました)、そのデータをグラフ表示したい。扱っているExcelのデータは2列あり、x軸:1列 y軸:2列 で表示したいです。 まだDelphiをはじめて1週間しか経っていないので、かなり知識不足です。丁寧に教えてくれる助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

chartを使うなら http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200310/03100059.txt ここや http://www.geocities.co.jp/SiliconValley-SanJose/2560/delphi4/vcl/ChartFx.htm ここなどが参考になるかもしれません。 chartなど使わずに行うなら http://blog.livedoor.jp/junki560/archives/20857380.html ここの「TCanvas のスケーリング」のところとか。 imageに描画するなら http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200503/05030080.txt ここのコードなどで何かが掴めるかも。

その他の回答 (2)

回答No.3

確かに、文字列から数値配列への格納で詰まっていっるのかも。 split関数はないけど、VCLにはcommatextがある。 Memoに入っている場合には 行単位でcommatextメソッドを用いて分解するのが吉でしょう。

murakkusu
質問者

お礼

皆さんありがとうございます。どうやら、何を言っているのかさっぱりわかりません。まだまだ勉強不足のようですので、もう少し勉強してから試みてみます。

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

>私がやりたいのは、Bottonを押したら、OpendialogよりExcelのデータをMemoなどに開き(ここまではできました)、そのデータをグラフ表示したい。 文字列を数値にするところが問題なのかな? Tmemoに入っているデータはたぶんcsv形式あたりですよね、 文字列を切り分けて(Pos 関数でカンマ位置を取得して、MidStr 関数で切り出す) 数値型に変換( StrToInt,StrToFloat 関数など)、といった手順だったと記憶しています。 delphiヘルプ「文字列操作ルーチン」にいろいろ説明があります) perlみたいにsplit関数で一発で配列になったり、文字列も数値に読み替えてくれたりはしないのが、pascalの堅いところですね。 データが取り出せたら、addすればok しばらくdelphiに触ってないので、関数名とか微妙に違うかもしれませんので、ヘルプで確認してみて下さい。