ツ ツ催・凝淞、Delphiツつェツ鳴ウツ渉楪可サツつウツづェツづ慊つオツつスツつェツ、ツ堕環陛渉づュツづァツつクツ篠ゥツ閉ェツづ個づ慊づュツづィツづ・づ債、
Delphiツづーツ使ツつ、ツ人ツつェツ堕敖つヲツづ・つィツづィツづ慊つケツづアツ。ツ凝淞年ツづ昂isual C#ツづ按づ・、ツ優ツづェツつスツ甘つ仰ォ
ツつェツ鳴ウツ渉楪づ・津アツ仰淞つウツづェツづゥツづヲツつ、ツづ可づ按づ・づ・つ「ツづゥツつアツづ・つェツ、ツつサツづ個妥・ツつォツづ按要ツ暗カツつセツづ・環エツつカツづ・ツつ「ツづ慊つキツ。
ツ ツ個淞催オツつキツづゥツづ・、ツ古つ人ツつェツ催ャツ青ャツつオツづ・つ「ツづゥツコツδ督ポツーツネツδ督トツづ「ツドツキツδ・δ・δ督トツづ按づ・ツづ債、Unicodeツ氾・elphiツづ・づ債使ツつヲツづ按つ「ツづツづ個づツ堕スツつュツづ按づ・づ・つィツづィツ、ツδ・δ督テツナツδ督ス
ツつェツづ按つウツづェツづ按つ「ツづ慊づ慊陛コツ置ツつウツづェツづ・つ「ツづゥツケツーツスツつェツ姪堋猟ァツづつづヲツつ、ツづ可環エツつカツづ慊つキツ。
ツつサツづ個つスツづ淞、ツ債。ツ、Delphiツづーツ鳴ウツ猟敖づ可使ツつ「ツ堕アツつッツづゥツつアツづ・づ可仰ュツつ「ツ不ツ暗ツづーツ覚ツつヲツづ・つ「ツづ慊つキツ。
ツ ツづツづ・づツづ・elphiツづ債、DBツづ個クツδ可イツアツδ督トツづーツ催ャツ青ャツつキツづゥツつスツづ淞づ個ツツーツδ仰つセツづ・つスツつゥ
ツづ・思ツつ「ツづ慊つキツつェツ、Webツシツスツテツδツつェツ偲・ツ猟ャツづ・づ按づ・つスツ債。ツ、ツつサツづ個暗督義ツづツつキツづ・づ可篠クツづュツづェ
ツづつづつつツづゥツづ個づ・づ債づ按つ「ツつゥツづ・思ツつ「ツづ慊つキツ。ツ皆ツつウツづアツづ債づ・づ個づヲツつ、ツづ按づ・つォツ、ツづ・づ個づヲツつ、ツづ・ツ姪堋的ツづ・elphiツづーツ使ツづ・づ・つ「ツづ慊つキツつゥツ?ツつサツづ個づ・つォツ、C#ツづ按づ・づ・づ按つュツ、Delphiツづ・づ按つュ
ツづ・づ債づ按づァツづ按つ「ツ猟敖由ツづ債づ按づアツづ・つキツつゥツ?
ツ Delphiツづ債氾アツ湘ュツづ可づヲツつ「ツ個セツ古ェツつセツづ・思ツづ・づ・つィツづィツ、ツ偲ィツ陛コツつキツづ個づ債静可つオツつ「ツづ・思ツつ「ツづ慊つキツ。
ツづ・つキツつェツ、ツ氾アツ湘ュツづ可マツイツナツーツづ按個セツ古ェツづ・つツづゥツつアツづ・づ可陛渉づュツづィツづ債つツづィツづ慊つケツづアツ。ツδ・δ督テ
ツづーツ円ツ環環づ可行ツつ、ツつスツづ淞づ可づ債、ツδ・ジツδδーツづ按個セツ古ェツ、ツ湘ョツ陛アツつェツ豊ツ富ツづ按個セツ古ェツ、ツ堕スツつュツづ個δ・ー
ツザツーツづ・湘ョツ陛アツづーツ古ーツ環キツづ・つォツづゥツ個セツ古ェツづ個陛サツつェツづヲツつ「ツづ・環エツつカツづ・つィツづィツづ慊つキツ。
ツつサツつ、ツつ「ツつ、ツ点ツづーツ考ツ猟カツつオツつスツつ、ツつヲツづ・づ按つィツ、Delphiツづーツ使ツつ、ツつアツづ・つェツ催・適ツづ按湘ェツ姪環づ按づ・つェ
ツつツづェツづ篠、ツ皆ツつウツづアツづ個つイツ暗督個ゥツづーツつィツ閉キツつゥツつケツつュツつセツつウツづェツづ篠づ・思ツつ「ツづ慊つキツ。
ツつキツづ敖づ慊つケツづアツ。ツ渉ュツつオツ荒ツづェツつサツつ、ツづ按話ツ妥ィツづ可づ按づィツつサツつ、ツづ按づ個づ・、ツつアツづェツづ・づ「ツづ淞づ慊つキツ。
ツ個サツ湘ウツ、ツ篠ゥツ閉ェツづ・づ垢#ツづ可湘ヲツづィツ環キツつヲツ催渉づ・つキツ。ツ篠ゥツ閉ェツづ・づ債つツづ慊づィDelphiツづーツ使ツつ、ツつアツづ・つェ
ツづ按つュツづ按づィツづ慊つオツつスツつェツ、ツつ「ツつ「ツツツーツδ仰づ・つツづゥツつアツづ・づ可づ債陛渉づュツづィツつツづィツづ慊つケツづアツづ個づ・、ツ鳴「
ツ療サツつェツづ慊つオツつュツ渉堕つ「ツづ・づ敖つスツつセツつッツづ・つキツ。
ツ債。ツ更ツづ堋づ「ツつ「ツづ・づツ可スツづツ陛渉づュツづァツづ按つ「ツづ・思ツつ「ツづ慊つキツつオツ、ツ青カツ産ツ的ツづ・づ債つツづィツづ慊つケツづアツづ個づ・、
ツつアツづェツづ・終ツづュツづィツづ可つオツづ慊つキツ。ツつツづィツつェツづ・つ、ツつイツつエツつ「ツづ慊つオツつスツ。
ツ・ヲC#ツづ債前ツ評ツ板サツ津環づィツ、ツづヲツつ「ツツツーツδ仰づ・つキツ。
とりあえず翻訳しておきますね (^^;
※文字化けの原因は分かりませんが、ブラウザ種別のみで問題が発生するわけではないと思います。
=================================================================
最近、Delphiが無償化されましたが、相変わらず自分のまわりでは、
Delphiを使う人が増えておりません。近年はVisual C#など、優れた環境
が無償で提供されるようになっていることが、その大きな要因だと感じて
います。
検索すると、個人が作成しているコンポーネントやドキュメントなど
は、Unicode版Delphiでは使えないものも多くなっており、メンテナンス
がなされないまま放置されているケースが目立つように感じます。
そのため、今、Delphiを無理に使い続けることに強い不安を覚えています。
もともとDelphiは、DBのクライアントを作成するためのツールだったか
と思いますが、Webシステムが主流となった今、その意義もすでに失われ
つつあるのではないかと思います。皆さんはどのようなとき、どのような
目的でDelphiを使っていますか?そのとき、C#などでなく、Delphiでなく
てはならない理由はなんですか?
Delphiは非常によい言語だと思っており、手放すのは惜しいと思います。
ですが、非常にマイナーな言語であることに変わりはありません。メンテ
を円滑に行うためには、メジャーな言語、情報が豊富な言語、多くのユー
ザーと情報を交換できる言語の方がよいと感じております。
そういう点を考慮したうえでなお、Delphiを使うことが最適な場面などが
あれば、皆さんのご意見をお聞かせくださればと思います。
=================================================================
Delphiの価格
https://www.petitmonte.com/bbs/answers?question_id=8614
での書き込みでは、
> Pascal言語(Delphi)に見切りをつけ、フリーの環境で開発が行えるC#に
> 乗り換えようと思っています。実際のところ、すでにC#で用が足りる部分が
> 増えてきましたので。
と書かれていましたが、
> 今、Delphiを無理に使い続けることに強い不安を覚えています。
とありますが、まだ、Delphiに見切りをつけていなかったのですか?
何を作るのかによるんじゃないですか?あとはどれだけ自分で作ってどれだけネット上のものをパクるか、ですかね。
何も考えずにパクるんならC#のほうが情報源が多くていいんじゃないでしょうか。あんまりRADじゃないしXAMLとか
苦行でしかないですけど。逆にWindowsでも組み込み的なプアーな環境であれば.NET FrameworkのJITが負担に
なるのでネイティブ(Delphi/C++Builder)のほうがいい、とか。
また翻訳しておきますね (^^;
=================================================================
mk 2017/08/16(水) 21:11:44 書込メID:[ #$!'##"JEGC;462ヰ^真ソヰ^真セヰ^真ソ ]
[[解決]]
すみません。少し荒れそうな話題になりそうなので、これでやめます。
現状、ゥ分ではC#に乗り換え済です。ゥ分ではあまりDelphiを使うことが
なくなりましたが、いいツールであることには変わりありませんので、未
練がましく書いてみただけです。
今更ぼやいても何も変わらないと思いますし、生産的ではありませんので、
これで終わりにします。ありがとうございました。
※C#は前評判通り、よいツールです。
=================================================================
遅ればせながら私も意見を。
Delphiを取り巻く環境が年々厳しくなっているのは承知しています。
世界的に著名なユーザーやサイトがDelphiに別れを告げているのをたくさん見ました。
離れて行く理由は.Netだったり、メーカーの姿勢に反発していたり。
とても残念ですが、いち趣味ユーザーとしては傍観するしかありません。
>皆さんはどのようなとき、どのような目的でDelphiを使っていますか?
この文字化けのように、困った時、必要な時にツールを作ってます。
>C#などでなく、Delphiでなくてはならない理由はなんですか?
私にとって、Delphi(のソース構成)が圧倒的に分かりやすいからです。
おやおやっ!?
mkさんの書き込みの翻訳文、一部が別パターンの文字化けをしてしまいましたね…これは不思議です。
× 書込メID
○ 書込者ID
× ゥ分
○ 自分
となります。失礼しました。
これに乗じて…文字化け対応ブラウザ(ミニマム版)を投稿しておきますね (^^;
※Button2Clickで、本掲示板特有の文字化けを修復します。
implementation
{$R *.dfm}
uses
UrlMon, // URLOpenBlockingStream
ActiveX; // IStream、他
// 生のHTMLソースをダウンロードする
// 理由: ブラウザから取得すると、化けているデータのうちShift_JISに存在しない
// 文字コードに化けた部分(た行、だ行など)は「・」に置換されているためデータが
// 失われた状態となり、文字化けを復元する際に正しく元の文字に戻すことが出来ない。
// 参考: http://stackoverflow.com/questions/11074772/urlopenblockingstream-gives-same-page
function DownloadFromURL(URL : String): AnsiString;
var
ppStream: IStream;
statstg: TStatStg;
dwRead: Integer;
begin
Result:='';
if Failed(URLOpenBlockingStream(nil, PChar(URL), ppStream, 0, nil)) then Exit;
try
if Succeeded(ppStream.Stat(statstg, STATFLAG_NONAME)) and
(statstg.cbSize>0) then begin
SetLength(Result, statstg.cbSize);
ppStream.Read(Pointer(Result), statstg.cbSize, @dwRead);
end;
finally
ppStream:=nil;
end;
end;
// データが誤って1byte毎にUTF-8エンコードされてしまった文字化けを修復する
// 副作用: 化けてない正しいデータだと$C2や$C3を含む文字(つ・板など)は化ける。
function UTF8MojibakeFix(const Str: AnsiString): AnsiString;
var
Flag: Boolean;
I: Integer;
begin
Result:='';
Flag:=False;
for I:=1 to Length(Str) do begin
if Flag then begin
Result:=Result+AnsiChar(Byte(Str[I])+$40);
Flag:=False;
end else begin
case Str[I] of
AnsiChar($C2): Flag:=False;
AnsiChar($C3): Flag:=True;
else
Result:=Result+Str[I];
end;
end;
end;
end;
// #$00 を #$20 に置換する
// 理由: AnsiString内にNull文字が混入していると、そこまでしか出力されないため。
function DeleteNull(const Str: AnsiString): AnsiString;
var
I: Integer;
begin
Result:=Str;
for I:=1 to Length(Result) do begin
if Result[I]=AnsiChar($00) then Result[I]:=AnsiChar($20);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text:='http://madia.world.coocan.jp/cgi-bin/DelphiBBS/wwwlng.cgi';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text);
end;
procedure TForm1.Button2Click(Sender: TObject);
const
ScriptStr =
'function ReplaceBody(Html){'+
' document.body.innerHTML=Html.replace('+
' /^[\s\S]*<\s*body(\s+[^>]*)?>|<\s*\/\s*body\s*>[\s\S]*$/ig, ""'+
' );'+
'}';
var
ExactHTML: AnsiString;
begin
if VarIsClear(WebBrowser1.Document) then Exit;
ExactHTML:=DownloadFromURL(WebBrowser1.LocationURL);
ExactHTML:=UTF8MojibakeFix(ExactHTML);
ExactHTML:=DeleteNull(ExactHTML);
WebBrowser1.OleObject.document.parentWindow.execScript(ScriptStr);
WebBrowser1.OleObject.document.parentWindow.ReplaceBody(ExactHTML);
end;
initialization
OleInitialize(nil);
finalization
OleUninitialize;
end.
おおっ !!
Harry さんありがとうございます.
遠慮なくいただきます.
ツつ「ツづォツつ「ツづォツづ・つキツづ敖づ慊つケツづアツ。ツカツバツーツつツづィツつェツづ・つ、ツつイツつエツつ「ツづ慊つキツ。
ツ篠ゥツ閉ェツづツづ「ツづ債づィDelphiツつェツ暗ェツ氾板偲ィツづ可づ按つカツづ敖づ慊つキツ。C#ツづ可湘ヲツづィツ環キツつヲツつスツづ・ツ個セツづ・づ・づツ、ツづ「ツづ債づィツ偲個づ・つェツつスツつ「ツづツづ個づ債つツづィツづ慊つキツ。
ツつアツつアツづ個陛サツ々ツづ個板スツ可楪づーツ個ゥツづ・、ツ渉ュツつオツ心ツ仰ュツつュツ環エツつカツづゥツづツづ個つェツつツづィツづ慊つオツつスツ。
ツつツづィツつェツづ・つ、ツつイツつエツつ「ツづ慊つオツつスツ。
またまた翻訳しておきますね (^^;
※書込者IDは適当に編集しました。
=================================================================
mk 2017/08/18(金) 19:42:35 書込者ID:[ #$!'## ]
いろいろとすみません。カバーありがとうございます。
自分もやはりDelphiが一番手になじみます。C#に乗り換えたと
言っても、やはり捨てがたいものはあります。
ここの方々の反応を見て、少し心強く感じるものがありました。
ありがとうございました。
=================================================================
ツイート | ![]() |