Delphiの将来

解決


mk  2017-08-16 09:00:00  No: 48731

ツ  ツ催・凝淞、Delphiツつェツ鳴ウツ渉楪可サツつウツづェツづ慊つオツつスツつェツ、ツ堕環陛渉づュツづァツつクツ篠ゥツ閉ェツづ個づ慊づュツづィツづ・づ債、
Delphiツづーツ使ツつ、ツ人ツつェツ堕敖つヲツづ・つィツづィツづ慊つケツづアツ。ツ凝淞年ツづ昂isual C#ツづ按づ・、ツ優ツづェツつスツ甘つ仰ォ
ツつェツ鳴ウツ渉楪づ・津アツ仰淞つウツづェツづゥツづヲツつ、ツづ可づ按づ・づ・つ「ツづゥツつアツづ・つェツ、ツつサツづ個妥・ツつォツづ按要ツ暗カツつセツづ・環エツつカツづ・ツつ「ツづ慊つキツ。

ツ  ツ個淞催オツつキツづゥツづ・、ツ古つ人ツつェツ催ャツ青ャツつオツづ・つ「ツづゥツコツδ督ポツーツネツδ督トツづ「ツドツキツδ・δ・δ督トツづ按づ・ツづ債、Unicodeツ氾・elphiツづ・づ債使ツつヲツづ按つ「ツづツづ個づツ堕スツつュツづ按づ・づ・つィツづィツ、ツδ・δ督テツナツδ督ス
ツつェツづ按つウツづェツづ按つ「ツづ慊づ慊陛コツ置ツつウツづェツづ・つ「ツづゥツケツーツスツつェツ姪堋猟ァツづつづヲツつ、ツづ可環エツつカツづ慊つキツ。
ツつサツづ個つスツづ淞、ツ債。ツ、Delphiツづーツ鳴ウツ猟敖づ可使ツつ「ツ堕アツつッツづゥツつアツづ・づ可仰ュツつ「ツ不ツ暗€ツづーツ覚ツつヲツづ・つ「ツづ慊つキツ。

ツ  ツづツづ・づツづ・elphiツづ債、DBツづ個クツδ可イツアツδ督トツづーツ催ャツ青ャツつキツづゥツつスツづ淞づ個ツツーツδ仰つセツづ・つスツつゥ
ツづ・思ツつ「ツづ慊つキツつェツ、Webツシツスツテツδ€ツつェツ偲・ツ猟ャツづ・づ按づ・つスツ債。ツ、ツつサツづ個暗督義ツづツつキツづ・づ可篠クツづュツづェ
ツづつづつつツづゥツづ個づ・づ債づ按つ「ツつゥツづ・思ツつ「ツづ慊つキツ。ツ皆ツつウツづアツづ債づ・づ個づヲツつ、ツづ按づ・つォツ、ツづ・づ個づヲツつ、ツづ・ツ姪堋的ツづ・elphiツづーツ使ツづ・づ・つ「ツづ慊つキツつゥツ?ツつサツづ個づ・つォツ、C#ツづ按づ・づ・づ按つュツ、Delphiツづ・づ按つュ
ツづ・づ債づ按づァツづ按つ「ツ猟敖由ツづ債づ按づアツづ・つキツつゥツ?

ツ  Delphiツづ債氾アツ湘ュツづ可づヲツつ「ツ個セツ古ェツつセツづ・思ツづ・づ・つィツづィツ、ツ偲ィツ陛コツつキツづ個づ債静可つオツつ「ツづ・思ツつ「ツづ慊つキツ。
ツづ・つキツつェツ、ツ氾アツ湘ュツづ可マツイツナツーツづ按個セツ古ェツづ・つツづゥツつアツづ・づ可陛渉づュツづィツづ債つツづィツづ慊つケツづアツ。ツδ・δ督テ
ツづーツ円ツ環環づ可行ツつ、ツつスツづ淞づ可づ債、ツδ・ジツδδーツづ按個セツ古ェツ、ツ湘ョツ陛アツつェツ豊ツ富ツづ按個セツ古ェツ、ツ堕スツつュツづ個δ・ー
ツザツーツづ・湘ョツ陛アツづーツ古ーツ環キツづ・つォツづゥツ個セツ古ェツづ個陛サツつェツづヲツつ「ツづ・環エツつカツづ・つィツづィツづ慊つキツ。
ツつサツつ、ツつ「ツつ、ツ点ツづーツ考ツ猟カツつオツつスツつ、ツつヲツづ・づ按つィツ、Delphiツづーツ使ツつ、ツつアツづ・つェツ催・適ツづ按湘ェツ姪環づ按づ・つェ
ツつツづェツづ篠、ツ皆ツつウツづアツづ個つイツ暗督個ゥツづーツつィツ閉キツつゥツつケツつュツつセツつウツづェツづ篠づ・思ツつ「ツづ慊つキツ。


mk  2017-08-16 09:00:00  No: 48735

ツつキツづ敖づ慊つケツづアツ。ツ渉ュツつオツ荒ツづェツつサツつ、ツづ按話ツ妥ィツづ可づ按づィツつサツつ、ツづ按づ個づ・、ツつアツづェツづ・づ「ツづ淞づ慊つキツ。
ツ個サツ湘ウツ、ツ篠ゥツ閉ェツづ・づ垢#ツづ可湘ヲツづィツ環キツつヲツ催渉づ・つキツ。ツ篠ゥツ閉ェツづ・づ債つツづ慊づィDelphiツづーツ使ツつ、ツつアツづ・つェ
ツづ按つュツづ按づィツづ慊つオツつスツつェツ、ツつ「ツつ「ツツツーツδ仰づ・つツづゥツつアツづ・づ可づ債陛渉づュツづィツつツづィツづ慊つケツづアツづ個づ・、ツ鳴「
ツ療サツつェツづ慊つオツつュツ渉堕つ「ツづ・づ敖つスツつセツつッツづ・つキツ。
ツ債。ツ更ツづ堋づ「ツつ「ツづ・づツ可スツづツ陛渉づュツづァツづ按つ「ツづ・思ツつ「ツづ慊つキツつオツ、ツ青カツ産ツ的ツづ・づ債つツづィツづ慊つケツづアツづ個づ・、
ツつアツづェツづ・終ツづュツづィツづ可つオツづ慊つキツ。ツつツづィツつェツづ・つ、ツつイツつエツつ「ツづ慊つオツつスツ。

ツ・ヲC#ツづ債前ツ評ツ板サツ津環づィツ、ツづヲツつ「ツツツーツδ仰づ・つキツ。


Harry  2017-08-16 19:33:36  No: 48732

とりあえず翻訳しておきますね (^^;
※文字化けの原因は分かりませんが、ブラウザ種別のみで問題が発生するわけではないと思います。

=================================================================
  最近、Delphiが無償化されましたが、相変わらず自分のまわりでは、 
Delphiを使う人が増えておりません。近年はVisual C#など、優れた環境 
が無償で提供されるようになっていることが、その大きな要因だと感じて 
います。 

  検索すると、個人が作成しているコンポーネントやドキュメントなど 
は、Unicode版Delphiでは使えないものも多くなっており、メンテナンス 
がなされないまま放置されているケースが目立つように感じます。 
そのため、今、Delphiを無理に使い続けることに強い不安を覚えています。 

  もともとDelphiは、DBのクライアントを作成するためのツールだったか 
と思いますが、Webシステムが主流となった今、その意義もすでに失われ 
つつあるのではないかと思います。皆さんはどのようなとき、どのような 
目的でDelphiを使っていますか?そのとき、C#などでなく、Delphiでなく 
てはならない理由はなんですか? 

  Delphiは非常によい言語だと思っており、手放すのは惜しいと思います。 
ですが、非常にマイナーな言語であることに変わりはありません。メンテ 
を円滑に行うためには、メジャーな言語、情報が豊富な言語、多くのユー 
ザーと情報を交換できる言語の方がよいと感じております。 
そういう点を考慮したうえでなお、Delphiを使うことが最適な場面などが 
あれば、皆さんのご意見をお聞かせくださればと思います。 
=================================================================


igy  2017-08-16 22:26:07  No: 48733

Delphiの価格
https://www.petitmonte.com/bbs/answers?question_id=8614

での書き込みでは、

> Pascal言語(Delphi)に見切りをつけ、フリーの環境で開発が行えるC#に 
> 乗り換えようと思っています。実際のところ、すでにC#で用が足りる部分が 
> 増えてきましたので。 

と書かれていましたが、

> 今、Delphiを無理に使い続けることに強い不安を覚えています。

とありますが、まだ、Delphiに見切りをつけていなかったのですか?


通りすがり  2017-08-17 04:01:27  No: 48734

何を作るのかによるんじゃないですか?あとはどれだけ自分で作ってどれだけネット上のものをパクるか、ですかね。
何も考えずにパクるんならC#のほうが情報源が多くていいんじゃないでしょうか。あんまりRADじゃないしXAMLとか
苦行でしかないですけど。逆にWindowsでも組み込み的なプアーな環境であれば.NET FrameworkのJITが負担に
なるのでネイティブ(Delphi/C++Builder)のほうがいい、とか。


Harry  2017-08-17 20:55:48  No: 48736

また翻訳しておきますね (^^; 

================================================================= 
mk 2017/08/16(水) 21:11:44 書込メID:[ #$!'##"JEGC;462ヰ^真ソヰ^真セヰ^真ソ ] 
[[解決]]
すみません。少し荒れそうな話題になりそうなので、これでやめます。 
現状、ゥ分ではC#に乗り換え済です。ゥ分ではあまりDelphiを使うことが 
なくなりましたが、いいツールであることには変わりありませんので、未 
練がましく書いてみただけです。 
今更ぼやいても何も変わらないと思いますし、生産的ではありませんので、 
これで終わりにします。ありがとうございました。 

※C#は前評判通り、よいツールです。 
================================================================= 

遅ればせながら私も意見を。

Delphiを取り巻く環境が年々厳しくなっているのは承知しています。
世界的に著名なユーザーやサイトがDelphiに別れを告げているのをたくさん見ました。
離れて行く理由は.Netだったり、メーカーの姿勢に反発していたり。
とても残念ですが、いち趣味ユーザーとしては傍観するしかありません。

>皆さんはどのようなとき、どのような目的でDelphiを使っていますか?
この文字化けのように、困った時、必要な時にツールを作ってます。

>C#などでなく、Delphiでなくてはならない理由はなんですか? 
私にとって、Delphi(のソース構成)が圧倒的に分かりやすいからです。


Harry  2017-08-17 21:08:46  No: 48737

おやおやっ!?
mkさんの書き込みの翻訳文、一部が別パターンの文字化けをしてしまいましたね…これは不思議です。

× 書込メID
○ 書込者ID

× ゥ分
○ 自分

となります。失礼しました。


Harry  2017-08-17 21:16:20  No: 48738

これに乗じて…文字化け対応ブラウザ(ミニマム版)を投稿しておきますね (^^;
※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.


Mr.XRAY  2017-08-18 01:21:05  No: 48739

おおっ !!
Harry さんありがとうございます.
遠慮なくいただきます.


mk  2017-08-18 09:00:00  No: 48740

ツつ「ツづォツつ「ツづォツづ・つキツづ敖づ慊つケツづアツ。ツカツバツーツつツづィツつェツづ・つ、ツつイツつエツつ「ツづ慊つキツ。
ツ篠ゥツ閉ェツづツづ「ツづ債づィDelphiツつェツ暗ェツ氾板偲ィツづ可づ按つカツづ敖づ慊つキツ。C#ツづ可湘ヲツづィツ環キツつヲツつスツづ・ツ個セツづ・づ・づツ、ツづ「ツづ債づィツ偲個づ・つェツつスツつ「ツづツづ個づ債つツづィツづ慊つキツ。
ツつアツつアツづ個陛サツ々ツづ個板スツ可楪づーツ個ゥツづ・、ツ渉ュツつオツ心ツ仰ュツつュツ環エツつカツづゥツづツづ個つェツつツづィツづ慊つオツつスツ。
ツつツづィツつェツづ・つ、ツつイツつエツつ「ツづ慊つオツつスツ。


Harry  2017-08-19 20:28:16  No: 48741

またまた翻訳しておきますね (^^;

※書込者IDは適当に編集しました。

=================================================================
mk 2017/08/18(金) 19:42:35 書込者ID:[ #$!'## ]
いろいろとすみません。カバーありがとうございます。
自分もやはりDelphiが一番手になじみます。C#に乗り換えたと
言っても、やはり捨てがたいものはあります。
ここの方々の反応を見て、少し心強く感じるものがありました。
ありがとうございました。
=================================================================


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加