Indexへ
(4276)//【4267】→(4269)
------------------------
【タイトル】誰か解説して!!
【記事番号】 4267 (*)
【 日時 】04/06/22 20:56
【 発言者 】C++がわからない barbecu_chicken@yahoo.co.jp

データ形式が載っているってんでJW_CADforWindows徹底解説リファレンス編買ってみりゃなんか難しく解説してあげくのはて省略ときたもんだ。リファレンスだからってプロばかりが購入してるわけぢゃなくってC上がりのサンデープログラマーもいるってことを忘れないでほしいね。誰か解説して!!って書くとかならず「どこがだ」とか「詳しく書け」とか「よく勉強してから」とか返信してくれる人がいますがお断りします。JW_CADforDOSの徹底解説リファレンスのデータ形式は読んだだけで自分のプログラムに即利用できました。少なくともそれくらいの書き方を期待して買いましたので同じくらいのを求めております。


Indexへ
(4267)←【4269】→(4270)
------------------------
【タイトル】どの部分がわからないのでしょうか?
【記事番号】 4269 (4267)
【 日時 】04/06/22 22:03
【 発言者 】古川 furukawa@mail.ne.jp
【 リンク 】http://jwx.hp.infoseek.co.jp/



▼C++がわからないさん:
> 難しく解説してあげくのはて省略ときたもんだ。

解説といって、14ページもあるし、全部を説明するのは、さすがに掲示板では無理があると思います。

「詳しく書いてほしい」というのは、その方が的確なレスがすぐに返ってくるからです。具体的に、どの部分がわからないのでしょうか?

あと、開発言語は何でしょうか? 私は C++ がわからない Delphi ユーザーですが、対応する変数形式だけ適当なHPで調べるだけでなんとか理解できましたし、Delphi・VB なら、読み込みルーチンも別の方が公開されています。


Indexへ
(4269)←【4270】→(4271)
------------------------
【タイトル】Re(1):誰か解説して!!
【記事番号】 4270 (4267)
【 日時 】04/06/22 22:11
【 発言者 】sakata ww2@sannetno-supam.ne.jp

とりあえず、ここのHPにあるhttp://www.jwcad.net/jwdatafmt.txtは読みましたか?
まあおいらにはプログラムはわかりませんので、これがわかりやすい解説なのかはわかりませんけど。


Indexへ
(4270)←【4271】→(4275)
------------------------
【タイトル】Re:CとC++
【記事番号】 4271 (4267)
【 日時 】04/06/22 22:34
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼C++がわからないさん:
>データ形式が載っているってんでJW_CADforWindows徹底解説リファレンス編買ってみりゃなんか難しく解説してあげくのはて省略ときたもんだ。リファレンスだからってプロばかりが購入してるわけぢゃなくってC上がりのサンデープログラマーもいるってことを忘れないでほしいね。

私も最初、訳分かりませんでしたが、順番に読み込ませるように
作っていったら、読めるようになりました。
私も、Cの知識は少しだけありますが、C++はさっぱり分かりません。
それでもまぁ、Delphiというツールで、読み込みさせることには
何とか成功したようです。

> 誰か解説して!!って書くとかならず「どこがだ」とか「詳しく書け」とか「よく勉強してから」とか返信してくれる人がいますがお断りします。

すみませんが、教えて欲しいのか、教えて欲しくないのか
どちらなのかよく分かりません。

≫ ar.Write("JwwData.", 8);

ファイルの最初に、「JwwData.」(8バイト)書き込まれます。

≫ ar << (DWORD)JW_DATA_VERSION; //Ver.4.0 の内部バージョンは 351

次に、JWWのバージョンが、DWORD、つまり、4バイト整数で書き込まれます。
Ver3.51の時には、数値「351」が4バイト表現で書き込まれます。

≫ ar << (CString)m_strMemo;

次に、ファイルメモが、CString、まぁ、文字列(nullで終わるのではなく
最初に文字数がきて、次に文字列が来る)で書き込まれます。
Cには、CStringというのはありませんので、バイナリエディタとにらめっこ
して理解して下さい。

という具合です。

> JW_CADforDOSの徹底解説リファレンスのデータ形式は読んだだけで自分のプログラムに即利用できました。少なくともそれくらいの書き方を期待して買いましたので同じくらいのを求めております。

以前の JW_CAD(MS-DOS版)は、C++ではなく、普通のC で記述されていたから
そうかもしれませんが、JWWは、C++で記述されていますので、きっと、
C++を理解されている方は、そのまま自分のプログラムに即利用できるのかも
しれません。
ちなみに、私は、JWC形式のデータ形式も、本を読んだだけでは
分かりませんでした。


Indexへ
(4271)←【4275】→(4283)
------------------------
【タイトル】Re(1):CとC++
【記事番号】 4275 (4271)
【 日時 】04/06/23 00:25
【 発言者 】C++がわからない

jokerさんありがとうございます。

できましたら、

◆ 図形データのリストの実体
m_DataList.Serialize(ar);

から先をお願いします。この前まではなんとなく理解できて読み込むことができたのですが...。


Indexへ
(4275)←【4283】→(4272)
------------------------
【タイトル】Re(2):CとC++
【記事番号】 4283 (4275)
【 日時 】04/06/23 14:07
【 発言者 】joker
【 リンク 】http://www.atsmile.com/jw/



▼C++がわからないさん:

≫m_DataList.Serialize(ar);

気にしなくていいです。

≫m_DataListList.Serialize(ar);

気にしなくていいです。

≫CTypedPtrList   m_DataList;   //図形データのリスト
≫CTypedPtrList m_DataListList; //ブロックデータ定義部のリスト

気にしなくていいです。
図形データの次に、ブロックデータ定義部が来る、というだけです。

≫ブロックデータ定義部リストのクラスの宣言は以下のとおり。
≫class CDataList : public CData{

ブロックデータ定義部はこういうデータ列で入ってます、というだけです。
ブロックは少しややこしいので、後回しで良いと思います。

≫● 線データ
≫void CDataSen::Serialize(CArchive& ar)
≫{
≫  CData::Serialize(ar);
≫  if (ar.IsStoring()) {
≫    ar << (double)m_start.x << (double)m_start.x
≫      << (double)m_end.x << (double)m_end.y;
≫  }
≫}

線データがあれば、まず、CData、つまり、
≫void CData::Serialize(CArchive& ar) {
≫  if (ar.IsStoring()) {
≫    ar << (DWORD)m_lGroup;   //曲線属性番号

で記述されている通り、
曲線属性番号、線種番号、線色番号、
レイヤ番号、レイヤグループ番号、属性フラグ、
が書き込まれて、
次に、
≫    ar << (double)m_start.x << (double)m_start.x
≫      << (double)m_end.x << (double)m_end.y;
とあるように、
始点X座標、Y座標、終点X座標、Y座標、
が書き込まれます。

その他、そういうノリで書き込まれますので、
合わせて読み込みプログラムを作っていけばいいと思います。

但し、データとデータの区分けの仕方とか、まぁそういうのは
サンプルでデータを作って、バイナリエディタで確認していけば
多分、どういう感じになるか分かると思います。


Indexへ
(4283)←【4272】//(4268)
------------------------
【タイトル】僕も判りません(笑)
【記事番号】 4272 (4267)
【 日時 】04/06/22 22:40
【 発言者 】Hirocom777 Hirocom777@yahoo.co.jp
【 リンク 】http://www.h7.dion.ne.jp/~hirocom/VBdeJW/



僕も判りません!!(笑)
しかしながら、出力部分のソースリストを公開されているだけでも
すばらしいことだと思います。作者様にはとても感謝しています。

と、言うわけで小生のホームページではVBでJwwのファイルにアクセスする
ソースリストを公開しています。
残念ながらブロックデータには未対応ですがm(_ _)m

判りづらい解説も付いています(^_^;)

まぁ、ダメもとで参考にしてみてください!!
よろしければ、ご意見などもお聞かせください!!

http://www.h7.dion.ne.jp/~hirocom/VBdeJW/