ふらっと C#,C♯,C#(初心者用) Part143

■ このスレッドは過去ログ倉庫に格納されています
2019/05/16(木) 19:28:06.27ID:s+6oZKe00
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■関連スレ
C#, C♯, C#相談室 Part93
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part142
https://mevius.5ch.net/test/read.cgi/tech/1551908141/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2019/05/20(月) 19:47:30.75ID:NntmuTz60
>>62
そんなのは設計や仕様、ポリシー次第。
なんでもかんでも型にはめるな
2019/05/20(月) 19:53:39.19ID:Ea6E7La1r
初心者スレだから自己判断しろというのは難しいかもしれんが、
有用なノウハウや定石ってのはあるんだよ
2019/05/20(月) 19:57:11.89ID:yAZ6lWg7a
>>63
イベントハンドラー以外に戻り値voidが必須な場面があるなら
具体例を挙げていってもらったほうがためになるんだが
2019/05/20(月) 20:06:27.69ID:hMek9ucfM
上級者様は自殺するか死ね
2019/05/20(月) 20:14:59.41ID:NntmuTz60
>>65
非同期タスクを管理する処理が別にあるとか、
サーバ間でデータ同期するけどリアルタイム性は求めず、整合性チェックも後でやるとか
俺はいろんなとこで経験したぞ。

時間のかかる処理はとにかく後回しでfire&forgetして、
目の前の処理を最優先にしたいことだってある。

「必須」とは言ってない。
状況「次第」と言っている。

実績のあるサイトがそう言ってるからと思考停止するのはやめてくれ
2019/05/20(月) 20:27:56.33ID:bliI8bxJ0
jpgを読み込んだbyte配列をUTF8で文字列化し、それをbyte配列に戻すと正しく復元できません

System.Text.Encoding.GetBytes(System.Text.Encoding.UTF8.GetString(bytes));

何故でしょうか
2019/05/20(月) 20:33:41.61ID:nUCZI9rN0
>>68
C#以前の問題
UTF-8を使ってすべてのバイナリを文字列に対応させて変換することはできない
2019/05/20(月) 20:43:52.08ID:yAZ6lWg7a
>>67
状況次第でasync voidを使う場合があるんだな、知らなかったありがとう

>>68
https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-encoding#choosing-a-fallback-strategy
https://docs.microsoft.com/en-us/dotnet/api/system.text.utf8encoding#remarks
Encodingインスタンスには、文字列化出来ない場合にどうするのかを扱うDecoderFallbackプロパティがあって
Encoding.UTF8の場合はReplacement fallbackを使ってREPLACEMENT CHARACTER (U+FFFD)に変換する
だからGetString()時点でjpg中のutf-8でない部分はU+FFFDに変わるのでGetBytes()しても復元できない
2019/05/20(月) 20:48:37.77ID:xhf1KGbK0
>>70
最近Blazorのソース内でもasync voidを使うべきかって話をSteven先生らがしてたね
PRとそのディスカッション追っかけてみるとおもしろいよ
72デフォルトの名無しさん (ワッチョイ 9602-HOgd)
垢版 |
2019/05/20(月) 21:09:30.64ID:bliI8bxJ0
>>69 >>70
Replacement Character に変換された時点で不可逆になるってことか
助かった。ありがとう
73デフォルトの名無しさん (スップ Sd02-rzGG)
垢版 |
2019/05/20(月) 21:15:12.88ID:UR9kN7had
どうしても文字列にしたいならbase64
74sdfasdfasdfsd (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 21:22:49.73ID:VWEIYE4F0
Visual Studio(C#)のプログラミングに関する質問です。

インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、
コンパイルが通らなくて困っています。(当たり前なのですが…)

【Aファイル】
クラスAの定義{
クラスBの使用(インスタンス作成、メソッド利用)
}

【Bファイル】
クラスBの定義{
クラスAの使用(インスタンス作成、メソッド利用)
}

【全体インクルードファイル】
#include Aファイル
#include Bファイル

【コンパイル結果】
Bクラスが存在しません(Aファイルにて)

【質問】
お互いにクラス定義を必要とする場合、
★具体的に★どのような実装をすれば良いのでしょうか?
2019/05/20(月) 21:29:41.06ID:Bu5yaqN9a
C#でインクルード?
VisualStudio/C#のバージョンはなに?
2019/05/20(月) 21:34:07.81ID:CFJtADgh0
>>74
とりあえず言っておくと#includeはc#じゃない
一般論で言えばAとBの機能が両方必要な部分でCを作って処理するべきだな
2019/05/20(月) 21:38:58.17ID:zvO9BMGmp
C++ならImplパターン的なのになりそう
78デフォルトの名無しさん (アウアウカー Sa0a-qY1O)
垢版 |
2019/05/20(月) 22:15:36.37ID:4rJ56KmUa
>>74
どういう場合にそんな設計しないといけないのかが気になる
79デフォルトの名無しさん (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 22:38:26.25ID:VWEIYE4F0
>>75
本当はC++ cliですけど、C#の方がみなさんに馴染みがあると思うので
言語差異は私が吸収するのでC#として教えてください
80デフォルトの名無しさん (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 22:39:43.45ID:VWEIYE4F0
>>76

一般論で言えばAとBの機能が両方必要な部分でCを作って処理するべきだな

ご教授ありがとうございます。これだと実装がきたなくなります。
未解決です
81デフォルトの名無しさん (ワッチョイ 3570-EbOW)
垢版 |
2019/05/20(月) 22:41:01.38ID:VWEIYE4F0
>>77
知識不足で教習ですがImplパターンとはなんでしょうか。
ぐぐっても出てきませんでした、
2019/05/20(月) 22:49:57.98ID:Bu5yaqN9a
条件の後出し、質問文に虚偽か

>>80の回答でもダメなんでしょ
「C#にはincludeがないから言語仕様として>>74のようなクラスの書き方をしてもコンパイルエラーにならない」
という回答にしかならないから、貴方の知識と頑張りでC++CLIに読み替えてくれ
2019/05/20(月) 22:53:46.69ID:RwQcJLUy0
実装が汚いって>>74の時点で汚物まみれやんけwww
2019/05/20(月) 22:56:25.44ID:5mAsU23+0
私は貴方のお母さんではありません
2019/05/20(月) 23:04:19.27ID:XzV4NN/g0
頭の中もさぞかしゲロまみれであろう
2019/05/20(月) 23:05:45.37ID:Cm4lSS/q0
マルチポストで上から目線ってすげーな
全体インクルードファイルとかいうもん作るのになんで実装が汚いなんて拘るのかも意味不明
君の思う綺麗な実装なんてなんで他の誰かが気にしなきゃいけないのw
2019/05/20(月) 23:11:16.82ID:0XbNrzL70
どっちの画面からも
お互いの画面を呼び出す仕様を素直に作っちゃうとそうなるな
今は無意識にそういうの避けてるだけで
あるはあると思う
辻褄が合うように頑張るしかない
2019/05/21(火) 00:21:42.93ID:7ZZvuA7z0
インターフェース使えばできると思うが、オススメはしないな
2019/05/21(火) 01:09:08.10ID:M9GsAJ+k0
C++の方にはすぐ回答出てたけど前方参照するだけの話
トリッキーでも何でもなくちょっとした規模の開発なら余裕で出てくる基礎的な内容
C++ 相互 参照 あたりでググればいくらでも記事は出てくる
そんな基礎的な内容を知らないのになぜか上から目線
2019/05/21(火) 01:39:01.98ID:CAN2Js5F0
>>89
それで回避していいならc#も同じじゃねっけ?
2019/05/21(火) 01:40:43.20ID:CAN2Js5F0
ただ、一部の人間からはウンコ認定されるってだけ
2019/05/21(火) 06:42:05.09ID:tdstqwiHM
そういう経験ない人からの認定なんてどうでもよくね?
2019/05/21(火) 07:08:14.10ID:meTEBfC3M
組み方によって回避できるよ多分
2019/05/22(水) 00:05:54.67ID:uN3Dm6wF0
普通にC#のプロジェクトならそのAクラスもBクラスもコンパイルエラーにはならんのじゃねえの?
言語差異を吸収するってなら、全体インクルードファイルってのをC#に置き換えてから質問しろよ
2019/05/22(水) 01:20:47.85ID:rbGbzH6ha
率直に思ったこと。

少なくとも俺には件の質問者が上から目線で物を言っているようには聞こえない
むしろ質問に正面から答えずに言い掛かりをつけてる連中の方がよほど上から目線で頭がオカシイ
2019/05/22(水) 02:15:27.63ID:HqRLK9QX0
そうか、そういうのはママにお話してあげてな生ゴミくん
2019/05/22(水) 03:42:23.27ID:sEhyUb960
>>95
俺もそう思う
2019/05/22(水) 06:16:41.31ID:t1pLQv560
>>95
>>79辺りは人によっては上から目線と取る人がいるかもな
あと>>86が書いてるようにマルチポストだしそもそも言語(C++/CLI)を後出しするとか質問のしかたも色々おかしいとは思う
2019/05/22(水) 08:35:59.17ID:PRmXlAdaa
上から目線で、というのは>>96みたいなのを指すんだろ
2019/05/22(水) 09:45:56.54ID:4WKngIFH0
レスが真矢みきの声で再生されるから、
痛いとも思わん。

むしろご褒美
2019/05/25(土) 01:29:08.07ID:6oktqQ9W0
お前らいっつも喧嘩してんな
2019/05/25(土) 01:49:47.06ID:b/i4jST30
私のために喧嘩するのはやめて!
103デフォルトの名無しさん (ワッチョイ 6768-W1Ja)
垢版 |
2019/05/26(日) 18:26:18.96ID:NZfOTj1K0
xmlファイルをdll化することってメリットありますか?
何故かxmlのdllが出来てたのですが、理由はなんでしょうか?
2019/05/26(日) 19:00:10.18ID:68ZlmbT30
>>103
フォーマット違うんだけどな。dllに埋め込まれたxmlリソースが見えただけじゃないの?
もしくはxmlファイルを間違ってdllにリネームしてしまったか
「何故か」の過程が分からないと難しいしC#に関係あるかすらわからない
2019/05/26(日) 19:03:01.37ID:kiCcEgc2M
ユーザー定義リソースなら何でも書けるよ
2019/05/26(日) 19:14:38.59ID:gL51xVlRd
日本語でよろしく
2019/05/26(日) 20:51:40.86ID:KIe0CODm0
visual studioではcsファイル単体でのテストは可能ですか?
デバッグしたいです
wpfです
2019/05/26(日) 20:58:26.81ID:68ZlmbT30
>>107
プロジェクトが無いとデバッグできないしWPFはcsファイル単体では成り立たないんじゃないの
https://docs.microsoft.com/ja-jp/dotnet/framework/wpf/getting-started/walkthrough-my-first-wpf-desktop-application
これ以上はWPFスレで聞いてください
WPF(.NET4.x, .NET Core) GUIプログラミング Part23
https://mevius.5ch.net/test/read.cgi/tech/1557960752/
2019/05/26(日) 21:02:25.57ID:KIe0CODm0
すみません じゃあvs code使いますです
2019/05/27(月) 15:50:03.21ID:akjP+mMa0
githubで他人のコードを見て勉強しているのですが、

Action OnInit { get;set;}
というプロパティに対して

OnInit?.Invoke();
というコードは何をしているのでしょうか?
2019/05/27(月) 16:02:02.29ID:gRTKnRKQ0
if ( OnInit != null )
{
 OnInit();
}
2019/05/27(月) 16:48:18.03ID:akjP+mMa0
>>111
ありがとうございます、C#6からの機能なんですね、新しい書き方についていかなければ。
113デフォルトの名無しさん (ブーイモ MMcb-WFXE)
垢版 |
2019/05/27(月) 19:42:02.15ID:at7F4ASBM
>>112
単純に短く書けるってだけじゃ無いからな。
>>111だとマルチスレッド時に1つ目の{でスレッドが切り替わって
OnInitにnullがセットされてしまう可能性があるが
Invokeにはそれが無い
114デフォルトの名無しさん (オッペケ Sr5b-ySD8)
垢版 |
2019/05/27(月) 19:54:29.22ID:jyj66Likr
>>113
Invokeにじゃなくて?. の仕様な
2019/05/27(月) 19:54:39.07ID:lwWgLhFv0
Ruby にも、&. という、null(nil)許容演算子が出来た

Swift から来た、流行か
2019/05/27(月) 20:35:27.77ID:5pJw+KKe0
今、一からデータベースプログラミングの勉強するなら、
@型付きDataSet A型なしDataSet BEF
のどれがよいでしょうか?
2019/05/27(月) 20:40:41.26ID:uloK3O7ha
DataSetなんて15年以上前の技術なんか今更触っちゃダメ
Web上の情報でもDataSetを扱ってるようなページは問答無用で無視してよい

EFと言いたいところなんだけど・・・・個人的にはSQLの勉強も兼ねてDapperを推したい
データベースの基礎共用として手書きSQLがひととおり書けるようになっておいたほうがいい
2019/05/27(月) 20:48:22.48ID:LNS8v7+tM
>>116
上の人も言ってるが、CSQL
DBを自在に操れるようになるまでC#はしばらく封印しなさい
2019/05/27(月) 22:32:39.99ID:5pJw+KKe0
>>117-118
ありがとうございます。
DataSetとDapperをちょっとだけ試してみました。

DataSetはGUIで簡単にクエリを生成して実行もしてくれますが、DapperはSQLをソースコード内に直に書いて、Connectionも作る必要がありました。
こういうものでしょうか?それともDapperのGUIのSQLビルダー機能を見落としているのでしょうか?
2019/05/27(月) 22:55:14.89ID:N+biQgtua
SQL書けない奴はプログラマを名乗るな
2019/05/27(月) 23:02:35.44ID:dknccbkiM
>>120
ニヤニヤ
2019/05/27(月) 23:26:39.44ID:bCVUGNm+a
>>119
そういうものだよ
GUIでコーディングをラップしたようなツールは決まって生産性が低い
2019/05/27(月) 23:42:07.71ID:uloK3O7ha
>>119
DapperでSQLを書かずに済ませたい場合は、Dapper用クエリビルダを別途導入
nugetパッケージが多数公開されてるから合いそうなのを選ぶ・・・んだけど、デファクトスタンダードなものがないんだよね
単純なCRUDができれば十分でSQLを手書きせずに済ませたいならDapperよりもEFを使うほうが良いと思う
>>116さんならカンもよさそうだしとりあえずEFでCodeFirst⇒CRUDひととおりできればさほど困らないかも

ただそれでもSQLは別途学習したほうがいい
集計とかパフォーマンスを考慮したデータ検索とかをやろうとするとどうしても自前でSQLを書く必要が出てくる
2019/05/28(火) 00:13:06.87ID:n5bJXWyL0
とりあえずdapperでPostgresqlからデータを取得して、Entityクラスのインスタンスを作って、DataGridViewのDataSourceに指定したのですが、
asでカラムの別名を指定しても、プロパティ名もその別名にしないと、指定した別名になってくれないですね。

//Entityクラスのプロパティ名を、"名前","有効","備考"にしないと機能しない。
var sql = "select pkey, name as 名前, enabled as 有効, memo as 備考 from m_tbl_department;";
var result = con.Query<Entity.Department>(sql).ToList<Entity.Department>();
view.DataSource = result;

回避策がすぐに思いつかないので、EFも触ってみたいと思います。
2019/05/28(火) 08:55:21.94ID:WAihcsXB0
列ヘッダの表示なら、クエリでasでやるんじゃなくて
class Department {
[DisplayName("名前")]
public string name { get; set; }
2019/05/28(火) 09:38:11.91ID:tpS8MDSU0
C# のフレームワークには、Ruby on Rails みたいな、O/R マッパーが無いのか?
今時、文字列で、SQL を書く人なんて、いるのか?

SQL インジェクションもされるから、今は、O/R マッパーのメソッドを使う。
placement に値を入れるだけで、SQLインジェクションをエラーにできる
2019/05/28(火) 10:09:05.63ID:OLBGotQQ0
>>126
EFを知らないのか
それと上で出ているDapperもその一種だ
2019/05/28(火) 10:29:03.95ID:nGxfAzB2a
>>126
お前はRubyスレから出てくるな
2019/05/28(火) 10:35:26.92ID:FiHQa1DK0
A言語のスレで「A言語にはB言語でいうCみたいな機能は無いのか?」って聞いても、B言語を知らない、詳しくない人には「Cみたいな機能」がどんな機能かわからん。
B言語のスレなら少なくとも「Cみたいな機能」がどういう機能かはわかるんだから、聞くならB言語のスレで聞けばいいんじゃね?

今回ならRubuのスレでね。
2019/05/28(火) 10:35:51.99ID:FiHQa1DK0
あ・・ Typo・・・
2019/05/28(火) 10:43:26.90ID:4asTXY3/d
>>129
そのレベルの問題じゃない
2019/05/28(火) 11:33:20.74ID:MzojxIZTM
>>126
それRubyスレで言ってみ?
意識高い系Rubyist(笑)達からも嵐のようにマサカリ飛んでくるよw
2019/05/28(火) 11:57:04.06ID:4xq1FFDVM
>>126
ストアド叩けばええんちゃう?
2019/05/29(水) 11:04:17.50ID:8l8j4cjm0
昔は、C#での帳票にはクリスタルレポートを使っていました。
最近は、C#(Windowsアプリ)で一番多く使われているのは何でしょうか?

一番多く使われているものを教えてください。
2019/05/29(水) 12:37:48.69ID:GnXFyo5ZM
>>134
多分、データを帳票の枠の入ったExcelファイルに書き込んで表示or印刷的なのが多いかと
っていうかクリレポってそんなに多かったですかね?
昔から私の周りではこっちのが主流でしたw
2019/05/29(水) 12:49:27.29ID:2L2FZYjAM
>>134
JasperReports
2019/05/29(水) 16:20:00.76ID:SMQO8msKF
>>134
グレープシティのなんか。
2019/05/29(水) 18:07:30.21ID:xcggW8D+a
よく知らんけど帳票って専用のライブラリ使わなきゃいけないほど複雑な分野なのかな。

よっぽど凝ったデザインとかじゃなきゃ自分でゴリゴリ書いても
たいした手間じゃないと思うんだけど

WPFのDocumentは触ったことないけどGDI+なんか全然簡単よ
2019/05/29(水) 18:09:50.31ID:mJlxjjN/0
情シスで未経験ながら一人開発してるんですけどSQLをクラスに書きながら世間様ではどうしているのか気になりました
クエリ専用クラスとか作ってるのでしょうか?
神クラスにまとめているのでしょうか?
ドメイン駆動設計独学してる限りではSQLは対象の知識に閉じ込めておくべきかなと考えておりますが、ベテラン様のご意見を伺いたいです
140デフォルトの名無しさん (ブーイモ MMcb-WFXE)
垢版 |
2019/05/29(水) 18:27:22.97ID:xRp200EqM
WPFなら帳票もxamlで作る
外部ライブラリは要らない
MVVMでちゃんと分離出来てれば、チャチャっとデザイン屋に頼めば良い。
FixedDocument作ってプリンタに送る部分だけちょっとめんどいかな
2019/05/29(水) 20:30:50.69ID:RpTtWZkWd
Open Xml SDK使ってxlsxファイルに流し込んでる
2019/05/29(水) 20:47:27.03ID:8l8j4cjm0
>>135 >.136 >>137 >>138
昔はクリスタルレポートを使ってWindowsアプリでは、帳票出力していました。
確かにExcelで印刷時のテンプレートのデザインをざっくり作っておいて
C#から特定のセルに値を転記して、印刷した方が早いと思います。

ただ、このやり方ってどうなんだろうな〜と思いまして。動けばいいんですけど。

はまった時に解決するのが大変なので
できるだけ世間一般で多く採用されている手法を取りたいと考えています。
2019/05/29(水) 22:40:18.15ID:ZESC3voLd
iTextSharp使ってPDFのテンプレートに流し込むのというのも作ったことある
2019/05/29(水) 23:07:18.43ID:3nSVS9eo0
今はライセンス料必要だけどね
2019/05/30(木) 12:47:28.06ID:NTWA4E5yM
>>113-114
えっ?
そんな余計な機能がついてるんだ…
性能劣化するのはちょっと嫌かも
2019/05/30(木) 12:51:13.14ID:NTWA4E5yM
>>138
プリンタによって細い罫線がでないとかに真面目に対処しようとすると結構大変だからその手のライブラリに丸投げする
プリンタが固定なら自前で作ってもいいけど
2019/05/30(木) 14:46:36.95ID:6LmM0VYIM
>>145
フィールドの場合は一度ローカル変数に読み出してから分岐とメンバアクセスをするだけだろ
フィールドへのアクセスはローカル変数に比べて遅いから、繰り返しフィールドを読むのに比べてむしろ速くなる可能性がある
さすがにフィールドにvolatileが付いてない限りは繰り返しのフィールドアクセスは一度ローカル変数に読むのと同じ動作になるように最適化されるだろうけど
2019/05/30(木) 15:39:26.40ID:v6SxCCrXa
>>146
そんなトラブル聞いたことないよw

っていうかそれが起こるとしたらプリンタドライバまたはプリンタそのものの問題なので、
ユーザーコードレベルで回避なんかできるはずがない

だいたいインクリボンの時代じゃあるまいし、目視できる範囲の細い線が消えるって
どんなプリンターよwww
2019/05/30(木) 15:55:37.74ID:2VoqWsrK0
9600dpiの帳票で1dot幅の線を引いたりしてるんじゃないの。
プリンタドライバの縮小アルゴリズムが単純間引きに近い動きをすると
線が消えるので、プリンタの解像度を取得して自分で最適なアルゴリズムで
戦を残すように細工する必要がある場合がある。
2019/05/30(木) 16:33:56.92ID:cDWpvGTkM
ピクチャーボックスに描画したやつは消えたな
文字はジャギってた
2019/05/30(木) 16:57:21.42ID:v6SxCCrXa
>>149
白抜き以外の普通の描画ならピクセル幅より狭い線の描画は
ピクセル幅になる(つまり指定した幅より太くなる)だけで消えることはないはず。
だからプリンタの設定でdpiがやたら大きな値になってるから細い線が消える、
というのは考えづらい

ピクセル幅より狭い間隔の平行線は引けないはずなので、
ピクセル幅より狭い白抜きの線が消えるというのなら話としては一応筋は通るけど、
現実的にはプリンタのピクセル幅の線なんかどっちにしろ少なくとも裸眼で目視できないでしょうw
2019/05/30(木) 19:30:06.92ID:faqOodUI0
>>148
運が良いね
仕事で色々なメーカー触る機会があると遭遇するぞ
2019/05/30(木) 19:56:58.26ID:NTWA4E5yM
>>148
そりゃ普通の人はめったにそんな目に合わないからね
さすがに単純な罫線でおかしくなるなんてことは大手メーカーだとあまりないけど罫線に微妙な色がついてるとか他の図形の下にある(もちろんその図形は透明)とかいろいろな条件が重なると出ないことがあるんだよ
帳票って見栄えにこだわる人が多いからちゃんと出すのは結構大変なんだよ

>>151
だからそういう論理的には出るはず
なんて言うのを言ってもしょうがない
2019/05/30(木) 20:55:03.88ID:L2fORM+za
>>153
だからこの話のキモは、そんなことがあるとしたらプリンタ側(デバドラ and/ or ハードウェア)の不具合なので、
ユーザーコードで回避できるはずがないと。普通に考えたらそうでしょう。

クリレポの類の開発者だけが使える「特別の魔法」なんかあるはずがない。
2019/05/30(木) 21:18:45.95ID:Y+sVy9qF0
帳票開発はこんなのもあるみたい
試したことないけど

https://docurain.jp/
2019/05/31(金) 05:23:38.20ID:6gUA7KH4M
>>154
君、プリンタ関係のことよく知らないでしょ?
アプリケーションからの出力方法って1つじゃないんだよ
罫線だってGDI命令として出力することもあるし図形として出力することもある
同じ内容でも出力する順序によって挙動が変わるなんてことすらある(まあどう見てもドライバとかのバグだと思うが…)
そういうのをちまちま回避するってことなの
2019/05/31(金) 10:02:32.84ID:yuizSVlIa
>>156
だから何を言ってるのかね。
論点はそんな話じゃなく、ユーザーコード側でワークアラウンドを打てるかどうかだから。

クリレポのベンダーさんは、世界中の全メーカーの全プリンタの全部のHWリビジョンと全部のドライバーバージョンを
チェックして、個別に問題回避コードを書いて、かつそれをメンテナンスしてるとか思ってるわけ?

できるわけないだろそんなことw
アホちゃうかマジで
2019/05/31(金) 10:07:46.89ID:yuizSVlIa
何度も書いてるけど、そもそもユーザーコード側で問題を回避できるケースなんて
幸運なケースだけのはずで、バグに起因する問題なんかそもそもどうやっても回避できない
ケースの方が多いはずだ。

クリレポのプログラマはスーパーギークだから不可能を可能にしちゃうの?w
ありえません。
2019/05/31(金) 10:28:17.88ID:M/SlBIow0
>>154
消えるよ。
それで、いっそ…でRPDLで打つ羽目になったりするんだよ。令和の時代に。
ビットマップで描いてるんだろうなぁ…には先回りして手作業で回避したりしとくもんだよ。
変倍で出力されたら3ラインに1ラインは描画されないことがある、とかザラにあるんだから。
業務系をもう少し知ったほうが良いと思う。
2019/05/31(金) 10:32:10.36ID:M/SlBIow0
>>158
クリレポの良いところは、すっごい帳票も出せないけど、最小限はきっちり出すところで、
変倍のサーマルラベルプリンタにバーコード出したりきちんとしよるよ。
スーパーギークだからではなく、バグレポートがクソほど溜まってるからじゃないかな。
俺も送ったことあるもん。

自分が踏まなくても誰かが踏んで、その回避コードが埋まってると考えると、
売り物のライブラリも悪くはないんよ。

チェックをクリレポさんがしてるわけじゃなくて、チェックは自分たちがやらされてるけど、ワークアラウンドはクリレポ側に溜まってるし、ちゃんと契約してたら教えてくれるしパッチもくれるぞ。

あんまり業務で使った事無いんでしょ。
2019/05/31(金) 12:26:53.84ID:LXc8d8ErM
>>157-158
> クリレポのベンダーさんは、世界中の全メーカーの全プリンタの全部のHWリビジョンと全部のドライバーバージョンを
すぐに「世界中」とか「全プリンタ」とか言い出すとか子供かよw
メジャーなプリンタのメジャーなバージョンにまずは対応して後は>>160が言うように利用者からの申告に個別対応するんだよ
そのために保守契約を結んだりするわけ

> アホちゃうかマジで
お前がなw
世の中こういう泥臭い仕事があることも知っておいた方が恥をかかなくて済むと思うぞ
2019/05/31(金) 12:48:00.17ID:4cN9QpXUd
確かにプリンターは鬼門
だからxlsxやPDFに吐いて印刷は他のアプリに投げるのが楽なんだよ
2019/05/31(金) 14:20:53.01ID:eC5Mq3IeM
一旦Excelに吐くとどうしても出ないときの最後の手段で手で修正できるから
結構こっちのが好きなお客さん多いよね
帳票ライブラリだとプログラマが根性出すしかない
テンプレートファイルが別になってればワンチャンあるけど
それもこのファイルだけ折り返して欲しいとかはまあ無理だよね
■ このスレッドは過去ログ倉庫に格納されています