喫茶XRAYトップページ

[スレッド全体
]

[9883] Webが果たす役割返信 削除
2016/5/7 (土) 13:33:51 Mr.XRAY
Web セミナーを観ていました.

[RAD Skill Sprint Webセミナー] の
「RADとOOPを混在させる場合のヒント」等
http://forms.embarcadero.com/rad-skill-sprint-jp

Delphi が登場した頃は,多くの方が記事を書いて,サイトを開設して,
それが大いに参考になりました.
今,それらのサイトもなくなっているのもあります.

インターネットの速度も速くなり,ウェブブラウザでビデオが見られるように
なっています.多くの貴重なビデオがあります.
これも,情報源の遷移という時代の流れでしょう.
日本の方のは少ないようですが,外国の方が個人で作成したビデオもあります.

以下は,エンバカデロ関係だけの参考リンクです.

[デベロッパーキャンプ資料 ・ デベロッパー TV ・ Web セミナー]
http://mrxray.on.coocan.jp/Delphi/Others/A_Delphi_OnlieHelp.htm#09


[9884] Re:Webが果たす役割返信 削除
2016/5/8 (日) 09:47:36 K
お久しぶりです。Kです。
GWはいかがお過ごしでしたか?^^

>[RAD Skill Sprint Webセミナー] の
>「RADとOOPを混在させる場合のヒント」等
http://forms.embarcadero.com/rad-skill-sprint-jp


そんなページがあったんですね〜知りませんでした。
またお時間のある時にでも視聴してみます。

動画を観るのは時間がかかりすぎるので、私はもっぱらPDFを見たりして
見識を広げるように努力しています。

エンバカデロ・デベロッパーキャンプ・アーカイブ
http://forms.embarcadero.com/developer-camp-archive

↓スレの趣旨に外れてたらごめんなさい
思えば、BASICやアセンブラ、Cの時代にMainでグルグル回して、
外部割り込みやタイマ割り込みでトリガーを得て処理を行ったりしていた頃に
※ 今でも組み込み系ではそうですよ。
VCL(Windows)というイベントドリブンな記述方法に衝撃を受けて
Delphiを始めたのですが、FMXは第2の衝撃です^^;

新しい技術が次々と出てくる中で、それについていくのはなかなか大変ですね。
Delphiの技術書が極端に少なくなっている為、FMX関係の技術書が
もっと出てくれば良いのですが。

Mr.XRAY様のサイトには感謝しています。
引退などと言わずに^^;


[9891] GWの思い出返信 削除
2016/5/9 (月) 16:54:24 Mr.XRAY
> GWはいかがお過ごしでしたか?^^

まっ,ちょぼちょぼですね.日帰りとか.
GW のこの時期は,山は新緑の時期ですからね.いつも夢想していますです.

GW と言えば,またまた昔話で,前にも書いたかも知れませんが,
強烈な思い出があります.
その年の 2 月ごろだったと思います.課長から,事務処理のプログラムを...
という話がありました.これが,Delphi を使う切っ掛けになったんですね.

だいぶ抵抗したのですが,4 月にきた事務の方からも...
で,決心したのです.で,GW 明けごろには使えるようになりますか ? って.
おいおい.
で,その時の GW は頑張りました.必死でした.
記憶では,おそらく,山を始めてから GW に山に行かなかったのは初めてだと
思います.

GW 明けというか,GW 中も職場に行ってテスト等していました.
GW 明けにふらつき気味で出勤しました.
当時,また パソコン = ゲーム という感覚を持っている方が多かったのですが,
私が,課長と一部の事務の方の依頼でやっていることを知っている方もいました.

「課長 !! Mr.XRAY ちゃんをいじめないでよね !」

と言ってくれる人もいました.


[9892] Re:GWの思い出返信 削除
2016/5/9 (月) 17:37:32 Mr.XRAY
> 強烈な思い出があります.

基本的に開発するのは,データベースへの入力と,データを使用した帳票類です.
新年度になって出向から戻ったら,パソコンが増えていました.
台数が不足していたので,予算都合して購入したとか.
その年に入ってきた学卒の女の子が,LAN 組んだ方がいいよと,課長に提案.
余計なことを... (^^;

ん? 誰がやるの,私 ?
サーバーとなるパソコンを追加購入しました.
問題は LAN の配線です.誰かが Bluetooth 云々と言っていましたが,
調べてみた結果,将来的にはあまり... というので,私の判断で却下.
たまたま,電話配線の工事があったので,その業者に LAN ケーブルの
敷設を頼みました
(階をまたがる配線はちょっとね....自宅の空調機の配線は自分でやったけど)

データベースの導入はちょっと難航しました.
Microsoft Access を提案する方がいたのです.
資料を作成して説得し,Oracle を導入しました.

ともかく,始まると,いろいろな要望が出て来るものです.
当時 PC-9801 が職場に数台ありました.

その PC-9801 のデータを利用できるようにならないか ?
ホストコンピュータのデータを取り出して利用できないか ?
封筒のあて名書きを作成すれば,あて名等の文字列を,マウスで移動して,
位置やサイズを調整できないか ?
等々...

メインの業務アプリ以外にも,小さいユーティリティ的なアプリも作りました.
それらが,職場の端末で,複数の方が利用している光景は,開発した本人としては
悪い気がしませんでしたけどね.ホホホッ.

プリンタは,ポスター等の作成を考えて,
長尺用紙が使える大型のものを導入しました.
職場の特性から,必要と思ったからです.
最初は反対していた方々も,導入したら長尺使いまくりです (笑)
プリンタは,そのプリンタとドットインパクトですね.
後で,小型のが 1 台増えています.
レーザープリンタ等の導入は数年後です.


[9893] Re2:GWの思い出返信 削除
2016/5/9 (月) 20:08:20 Mr.XRAY
> > 強烈な思い出があります.

思い出しついでに,また後で続きを書くかも知れません.
旧いお客さ様には,また,この話か... と思われるでしょうけど ... (^^;


[9918] プリンタ設定コンポーネントの開発返信 削除
2016/5/13 (金) 21:02:38 Mr.XRAY
> 思い出しついでに,また後で続きを書くかも知れません.

てなわけで,業務アプリの開発が始まったのですが,
まず,帳票の出力はクイックレポートでした.
で,早速要望が.罫線です.

いろいろなレポートツールを試しました.
結局,位置やサイズは設定しなければなりません.
そこに,悪魔のささやきが... (^^;
Nifty のフォーラムの書き込みです.

『ないものは作る.それが Delphi のいいところだ』
『印刷はゴリゴリコードで書くのが一番いい』

で,まず,plPrint というユニットを作成しました.
次に取り掛かったのがプリンタの設定です.これが plSetPrinter コンポです.
Delphi の TPrinter には TCanvas がありますが,
当初から Canvas の使用は考えていませんでした.Canvas は印刷プレビューの方で
実装しようと思ったからです.それは,長さの単位を 0.1 mm にするためです.

開発を始めてまもなく,中村拓男さんの NkPrinter の存在を知りました.
ダウンロードして中身をみて愕然としました.
実力というか,スキルというか,知識というか,その差は歴然としていました.
かなり悩みました.NkPrinter をそのまま使うようにするかどうかです.

プリンタドライバ特有の (DEVMODE のプロパティ以外の) も再現したいこともあり,
そのまま開発を続けました.
公開したのは,Delphi を使い始めて約 1 年後です.

NkPrinter    1998年3月30日 初版
plSetPrinter 1999年4月25日 Ver 1.0

公開後,いろいろな方からアドバイスを頂きました.
昔のことですが,改めて感謝します.


# 公開当時は,NkPrinter にあるプロパティやメソッド類は実装していませんでした.
# 当初の目的としては必要がなかったからです.
# かなり後になって,要望があり,同様の機能を追加しています.


[9919] Re:プリンタ設定コンポーネントの開発返信 削除
2016/5/13 (金) 23:19:11 KON
>実力というか,スキルというか,知識というか,その差は歴然としていました.

私もXRAY様のコードを見ると愕然とする事が今でも多々あるのですが^^;
実力のある方のコードは、もはや理解できないレベルのコードもあり、
お笑い芸人サンドイッチマンさんの「ちょっと何言ってんのかわからない」のセリフがピッタリ合う
物もあったりします^^;
※ 私のスキルが未熟な為ですよ(汗

帳票印刷は私も過去に中村様のサイトを参考に(Delphi掲示板でリンクを貼って頂いた方が居ました)
行った事があります。

(1)
印刷といっても大きなTBitmapをローカルで用意し、それに必要な画像や文字を描画、
スクロールボックスに動的に作成したTImageを配置し、そのTImageの大きさに合わせたStretchコピーを
行ってプレビューさせるという方法でした。
スクロールボックス内のTImageが動的生成なのは、ページ数がいくつあるか判らない、
また、動的に作成されたTImageはマウスホイールで拡大・縮小できる様にする為、
1ページのプレビューがウインドウサイズを超える場合がある為でした。
内部TBitmapとTimageでかなりメモリを消費しますので、何百枚のプレビューは不可能でしたが(と思われる)
最大でも10ページ位だろうという事でそういう風になりました。
肝心の印刷処理は、中村様のサイトを参考にさせてもらいました。

(2)
また、別な印刷処理では、
内部にTRichEditを生成、そのTRichEditに画像と文字を描画、
DelphiのTRichEditは、標準では画像を貼り付けられない為、ネットから貼り付けられる
魔法の様なコードを拝借して組み込みました(汗
内部で持たせたTRichEditの全ての画像や文字を全選択し、
クリップボードの内容をTStreamに退避してから、クリップボードに転送、
Windowsのワードパッドを起動し、ワードパッドにクリップボードから貼り付け、
その後に退避していたデータをクリップボードを復帰させるというw
システマチックかつ七面倒な事を行った事があります。
※ 当時、私のスキルが未熟な為、この様な事しか思いつかなかったのです(白目
   ワードパッドの起動方法や、ワードパッド内のTRichEditハンドルの取得方法はHalbow様の
   テクニックを参照しました。
ワードパッドに転送された画像と文字はそのまま印刷できますし、
保存してMicrosoft Wordで読み込めば、罫線を引くなど好きな様に編集可能になります。


(1)のやり方は、後日編集不可能な為、決まりきっている印刷物に向いてますが、
描画処理をゴリゴリ書けば綺麗なレイアウトで印刷できます。
(2)のやり方は、後日編集が可能な為、とりあえずデータが欲しい、
文章フォーマットは各自用意してあるので、オペレータが自由に触りたいという場合向けでした。

印刷に関しては、QuickReportやPDF出力などによる方法も考慮しましたが、
PDF出力はプリンタ出力先をPDFに指定できるソフトがあり、興味はあったのですが断念。
ドロー的な印刷に興味はあるのですが、まだ手も付けていない状態です。

話が長くなってすみません。浅知恵的な事を書いていたら笑ってやって下さい^^;


[9921] Re2:プリンタ設定コンポーネントの開発返信 削除
2016/5/14 (土) 00:41:07 Mr.XRAY
▼ KONさん

> 私もXRAY様のコードを見ると愕然とする事が今でも多々あるのですが^^;

ワハハハッ.それはですね.おそらく気のせいです.ハイ.
私のサイトの記事は「難解」ですので...


[9923] Re3:プリンタ設定コンポーネントの開発返信 削除
2016/5/14 (土) 01:07:37 KON
▼ Mr.XRAYさん

> ワハハハッ.それはですね.おそらく気のせいです.ハイ.
> 私のサイトの記事は「難解」ですので...


いえ、そういう意味の愕然という訳ではありません^^;
よく調べていらっしゃいますし、Tips等はよくわかりやすく書かれています。
私が未熟なもので^^;
タイプミスも多いし、紛らわしい書き方をするおっさんなのでごめんなさい。


[9924] Re4:プリンタ設定コンポーネントの開発返信 削除
2016/5/14 (土) 08:10:04 Mr.XRAY
▼ KONさん

> よく調べていらっしゃいますし、Tips等はよくわかりやすく書かれています。

いや〜,そう言われると嬉しいですね.
タイプミスは,私も同じです.誤字脱字の名人です.ハイ.

ところで,あの頃,印刷プレビューのような機能のコンポを公開している方が
何人かいました.私ものその中のどなたかとメールのやりとりしたことがあります.
KON さんの印刷プレビュー処理の方法興味ありますね.
今は公開されていないのですか ?


[9926] Re5:プリンタ設定コンポーネントの開発返信 削除
2016/5/15 (日) 17:21:31 KON
▼ Mr.XRAYさん

(1)のプレビューをコンポーネント化しなかったのは、
普通、マウスホイールで上下にスクロールしてページをスライドしていきます。
が、スマホ等では実際の本の様に指で左右でスライドさせる場合があります。
マウスとジェスチャで処理を切り分けたらいいのですが、それではコンポーネントの
構成で困ってしまう。
それならば、PCモードとスマホモードというプロパティを付ければいいじゃないですか
という考えに至るわけですけども、そんなに時間を費やす事が出来ない事情が^^;
いま現状では、上下スライドのみとなっております。


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82