2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

【Delphi互換!?】FreePascal/Lazarus その2【GPL】

1 :デフォルトの名無しさん:2009/12/25(金) 02:46:18 .net
(クロス)オープンソースコンパイラ FreePascal [i386/68K/PPC/ARM/SPARC]
http://www.freepascal.org/

オープンソース開発ライブラリ等 [IDE/GUI環境 Lazarus]
http://www.lazarus.freepascal.org/

FreePascal/Lazarusのメーリングリスト(Pascalにホエロ!)
ttp://www.freeml.com/lazarus

Q:これで作ったソフトは自動的にGPLになるの?

A:制限付き LGPL だから、自分が作ったソースは GPL にする必要は無い
例え FreePascal 付属のライブラリにリンクしていても GPL にはしなくて良い
http://www.freepascal.org/faq.html#general-license

912 :デフォルトの名無しさん:2022/05/15(日) 19:08:49.28 ID:/ysfaPE8.net
program MyProgram(input, output);
のようにプログラム名にパラメーターが付いたコードを見かけました。
Pascalの方言なのでしょうか?
それともFree Pascalでも見られるものでしょうか?

913 :デフォルトの名無しさん:2022/05/22(日) 12:24:51.68 ID:Z7pvlCmg.net
>>912
質問に質問で返してすみませんが、あなたは

void int main( int argc, char *argc[])
はcの方言だと思いますか?
それともGNUCでも見られるものでしょうか

914 :デフォルトの名無しさん:2022/05/22(日) 13:54:17.54 ID:AZNH+fge.net
void int mainってコンパイルエラーでは?

915 :デフォルトの名無しさん:2022/05/22(日) 22:03:25.27 ID:Z7pvlCmg.net
>>914
しまった(苦笑

916 :デフォルトの名無しさん:2022/05/24(火) 12:07:51.00 ID:/3mhcllS.net
Lazarus Release 2.2.2 - May 19, 2022, 09:26:08 am

917 :デフォルトの名無しさん:2022/05/26(木) 19:00:16.04 ID:9mlaCQEY.net
本家のForum にレジストしても確認メールが届きません。
どうしたものでしょうか。
迷惑メールとかも見ましたし再送信とかも試しましたががまったく来ません。

918 :デフォルトの名無しさん:2022/05/26(木) 19:36:53.93 ID:MuCsRUFl.net
抵抗されてるのかもね

919 :デフォルトの名無しさん:2022/09/30(金) 02:46:22.20 ID:NV97RnvW.net
Lazarus Release 2.2.4 - September 28, 2022, 10:08:10 am

920 :デフォルトの名無しさん:2022/10/04(火) 15:58:36.29 ID:i5Up1tp0.net
Windowsアプリの速度は改善したの?

921 :デフォルトの名無しさん:2022/10/18(火) 09:21:39.14 ID:muJtZzp1.net
Lazarus製のアプリケーションのexeのショートカットをつくって実行時の
大きさを最小化としても最小化で起動しないのだがどうすればいいのかな

922 :デフォルトの名無しさん:2022/10/19(水) 00:06:57.42 ID:imuHRl6B.net
>>921
Delphi ではプロジェクトファイルをごにょごにょしてたので
Lazarus では多分 .lpr ファイルにごにょごにょ

Application.CreateForm(TForm1, Form1);
//ここに↓これを入れて判断
if CmdShow = SW_MINIMIZE then Application.Minimize;
Application.Run;

923 :デフォルトの名無しさん:2022/10/19(水) 09:56:54.13 ID:ozKA7OU5.net
>>922
あいにく動作しませんでした

メインフォームのOnCreateイベントハンドラーに
case CmdShow of
SW_SHOWMINNOACTIVE: WindowState := wsMinimized;
SW_SHOWMAXIMIZED: WindowState := wsMaximized;
end;
と書いたらうまくいきました

924 :デフォルトの名無しさん:2022/10/20(木) 08:50:49.47 ID:rL6ktv6z.net
AmazonにKindle本として佐々木優という人が書いたLazurus・Free Pascalのセルフ出版の
本が何冊かのっている(読み放題のKindle Unlimited対象)
役に立つかどうかは別にして日本語の本というのはめずらしいかも

925 :デフォルトの名無しさん:2022/10/20(木) 10:06:08.31 ID:7LO4Bhg7.net
>>924
応援の意味で何冊か買いました。Unlimited もいつ対象外になるかわからんし。

926 :デフォルトの名無しさん:2022/10/22(土) 14:34:30.76 ID:4hbuG1Ym.net
UbuntuでC++Builderを導入できなかったのでDelphiの本読んで勉強してます。

思い通りに動くと楽しいです。

927 :デフォルトの名無しさん:2022/11/15(火) 14:25:03.73 ID:ktesV7KK.net
サンプルの xmlstreaming を参考にして設定を書き出す処理を作ってます。
TComponent を継承して設定データのクラスを作ろうとしているんだけど、
その中にさらに TComponent 派生クラスを入れ子にすると、その項目が書き出されない。
入れ子のクラスを TPersistent 派生にすると書き出されるんだけど、項目名が
ドットで区切られた形でかなり違和感。
xmlstreaming の中でコメントアウトされている Form (Self) を書き出す処理を有効にしてみると、
入れ子のデータは「children」タグに囲われていい感じで出力されているんだけど、
どうやればできるんでしょうか?

928 :デフォルトの名無しさん:2022/11/15(火) 19:22:03.37 ID:hFwj798Q.net
>>927
下記を付け加えると入れ子のデータも書き出された
読み込みが正常に行われるかは検証してない

procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
if Self = Root then begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
end;
end;
end;

929 :デフォルトの名無しさん:2022/11/15(火) 21:41:42.06 ID:hFwj798Q.net
Rootってなんだろう?と思って書いてたコードが入ってた

procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
end;
end;

930 :デフォルトの名無しさん:2022/11/15(火) 22:24:52.25 ID:1BrVYPVp.net
>>929
ありがとうございます。書き出せました。
wiki のストリーミングのところ読んでもそんなこと書いてなかったけどな。
TWinControl に実装されてるから Form ならちゃんと書き出されたんですな。
人をハメようとしてるとしか思えないな。検索しても、英語の情報でも全然ないし。
とにかく、ありがとうございました。

931 :デフォルトの名無しさん:2022/12/14(水) 20:13:02.80 ID:WtdZKbBc.net
これは壮観。過去50年以上にわたる「プログラミング言語の人気の変遷」をアニメで紹介するムービー【やじうまWatch】 - INTERNET Watch
s://internet.watch.impress.co.jp/docs/yajiuma/1463502.html

pascalって人気あったんだね

932 :デフォルトの名無しさん:2022/12/31(土) 11:06:52.98 ID:J7CUMtxq.net
インクリメンタルサーチの候補表示に TListBox を使っていて、
候補数が一定以下の場合は、数に合わせて ListBox の高さを調節したいと思っています。

Windows の場合は ItemHeight を使えばうまくいくようなのですが、Linux だと 0 が返ってきて
使えません。ほかにも ItemRect(0).Height の値も 0 ではないけど全然足りないし、
フォントの高さから計算できるかと思ったけど、同じ高さでもフォントが違うと
ListBox の項目の高さが微妙に違ったりしてこれもダメっぽい。

描画しているんだからどこかに情報があるんだと思うんですが、どこにあるんでしょう?
そもそもアプローチが間違っている?

933 :デフォルトの名無しさん:2023/01/07(土) 18:23:08.22 ID:rN0cn1Ph.net
TOpenDialogのTitleプロパティがデフォルトの「ファイルを開く」のままOpenDialog1.Executeを実行すると、表示されたダイアログのキャプションが"Open existing file"と英語で表示されてしまいます。

これはLCLStrConstsユニットで rsfdOpenFile = 'Open existing file'; と定義されているのが原因のようですが、これをlclstrconsts.ja.poの「ファイルを開く」に置き換える方法を教えてください。

934 :デフォルトの名無しさん:2023/01/09(月) 20:44:35.21 ID:uyXkOmJj.net
>>933
プロパティの設定が効かないってことかな?

935 :デフォルトの名無しさん:2023/01/10(火) 09:05:22.16 ID:GH/EYK1c.net
>>934
オブジェクトインスペクタでTitleを「画像ファイルを開く」など「ファイルを開く」以外にすればTitleがダイアログのキャプションに反映されます。
また、コードでOpenDialog1.Title := 'ファイルを開く'; を実行すればキャプションもそうなります。
ただ、コードを書かずにオブジェクトインスペクタで「ファイルを開く」を設定するだけだと「Open existing file」が表示されるというのが今回の問題です。

この症状はTDBNavigatorでも確認できていて、Hintsプロパティにはデフォルトで日本語のヒントが設定されているのにもかかわらず、実行すると英語のヒントが表示されてしまします。
その他MessageDlgのボタンが「はい」「いいえ」ではなく「Yes」「No」なのも同じ原因だと思います。

936 :デフォルトの名無しさん:2023/01/10(火) 18:40:29.37 ID:ddgJg6qa.net
>>935
IDEの言語を日本語にしていると、TOpenDialogのTitleプロパティを「ファイルを開く」に設定してもデフォルトとみなされ設定ファイルに記録されず
アプリを国際化対応させてないと元のデフォルトである 'Open existing file' が表示されるみたい
したがって
解決法1
IDEの言語を日本語以外にして Titleプロパティを「ファイルを開く」に設定する
他のダイアログなどでも設定しないとならなかったり、根本解決ではない

解決法2
国際化対応(のふり):
1.どこかの uses節に DefaultTranslator を追加し、
2.実行ファイルがあるフォルダに languagesフォルダを作り、その中に lclstrconsts.ja.po をコピーする
でいいはずなんだけど、Windowsだと FCLの gettextユニットに日本語の言語コードを jp とする不具合があるので、次のように修正する
3.gettextユニットにある procedure GetLanguageIDs(var Lang, FallbackLang: string) の中の
 LOCALE_SABBREVLANGNAME を LOCALE_SISO639LANGNAME に
 LOCALE_SABBREVCTRYNAME を LOCALE_SISO3166CTRYNAME に書き換える
あとは gettextユニットをプロジェクトに追加してコンパイルするだけでいいはず
(gettextユニットを修正せずにファイル名を lclstrconsts.ja.po から lclstrconsts.jp.po にするだけでもいいけど)

gettextユニットの不具合のせいで国際化対応をどうやってもできなくて無駄に悩んだぞ
IDEの言語設定で Automaticで日本語にならないのも gettextユニットの不具合のせいじゃないのかなあ

937 :デフォルトの名無しさん:2023/01/10(火) 19:51:57.80 ID:GH/EYK1c.net
>>936
ありがとうございます。
lclstrconsts.jp.poにリネームする方法で試して無事日本語で表示されました。
TDBNavigatorのヒントとMessageDlgのボタンも同様です。

938 :デフォルトの名無しさん:2023/03/13(月) 17:17:11.04 ID:0W6r0BpQ.net
Lazarus Release 2.2.6 - March 09, 2023, 10:38:09 am

939 :デフォルトの名無しさん:2023/03/17(金) 15:14:21.65 ID:O04jxkPS.net
軽くていいな。ゲームエンジンなんかもあるようで欧州では使い手多いのか?

940 :デフォルトの名無しさん:2023/04/29(土) 13:16:43.69 ID:SIZVO/Fn.net
https://www.tiobe.com/tiobe-index/

TIOBE Indexで常に10位前後を維持してるDelphi系のPascal言語もスゴいよな
信じがたい快挙

941 :デフォルトの名無しさん:2023/05/05(金) 03:07:31.72 ID:PeDEzH1k.net
Windowsアプリを作ったら、とても遅いような気がするんだけど、まだ改善してないのかな?

942 :デフォルトの名無しさん:2023/05/07(日) 13:41:00.25 ID:eh+8xa5M.net
>>941
どんなプログラムを書いてどの言語と比較して遅いのかを書かないと答えは無理
C++/C言語と同等の速度にはならない
スクリプト言語よりは高速

943 :デフォルトの名無しさん:2023/05/07(日) 15:52:40.36 ID:FtrFphzu.net
>>941
他のプログラムはサクサク動くのにお前の作ったプログラムだけが遅いという場合は、
多分お前のプログラムの何かがおかしい。

944 :デフォルトの名無しさん:2023/07/12(水) 06:19:48.60 ID:I6ZMSQN0.net
Lazarus Release Candidate 1 of 3.0 - July 03, 2023, 02:10:30 pm

945 :デフォルトの名無しさん:2023/07/15(土) 21:28:05.69 ID:2FiMr/gw.net
なんか知らんけど山下って人に金払わんでも専ブラ作っていいみたくなったらしいから
Lazarusでなんか作るチャンスなんじゃねw

946 :デフォルトの名無しさん:2023/10/21(土) 16:11:17.35 ID:G+lHRKF1.net
Lazarus Release Candidate 2 of 3.0 - October 16, 2023, 11:19:47 am

The Lazarus team is glad to announce the second release candidate of Lazarus 3.0.
This release was built with FPC 3.2.2.

947 :デフォルトの名無しさん:2023/10/21(土) 16:11:26.42 ID:G+lHRKF1.net
Lazarus Release Candidate 2 of 3.0 - October 16, 2023, 11:19:47 am

The Lazarus team is glad to announce the second release candidate of Lazarus 3.0.
This release was built with FPC 3.2.2.

948 :デフォルトの名無しさん:2023/12/24(日) 07:32:34.78 ID:1m+l9U5n.net
Lazarus Release 3.0 - December 21, 2023, 05:13:29 pm
The Lazarus team is glad to announce the release of Lazarus 3.0.
This release was built with FPC 3.2.2.

949 :デフォルトの名無しさん:2023/12/24(日) 12:29:21.36 ID:CLUuqAoM.net
>>945
Siki 以上のものをサクッと作れる気がしねー……

950 :デフォルトの名無しさん:2024/02/09(金) 17:03:32.99 ID:LEmbefGZ.net
元となったPascalの開発者が失踪したそうです

951 :デフォルトの名無しさん:2024/02/11(日) 15:58:19.39 ID:8Y1XXxgX.net
マジっすか

952 :デフォルトの名無しさん:2024/02/13(火) 17:18:01.13 ID:kntdml6t.net
↑誤訳

953 :デフォルトの名無しさん:2024/02/14(水) 17:08:51.66 ID:S7FsWUpF.net
Pascal言語の作者が亡くなった話?

954 :デフォルトの名無しさん:2024/02/14(水) 18:24:17.69 ID:vFlu/nl/.net
N. Wirth 死去 2024/1/1 89歳.R.I.P.

失踪じゃないよ.逝去だよ.

955 :デフォルトの名無しさん:2024/02/15(木) 13:20:05.14 ID:YdqWfEse.net
Pascalの始祖が伝説になっただけで開発者はご存命

956 :デフォルトの名無しさん:2024/02/15(木) 20:39:21.53 ID:mXBES2ti.net
なんじゃいヴィルト死去の話やったんかいヽ(`Д´)ノ

957 :デフォルトの名無しさん:2024/02/15(木) 21:10:08.91 ID:+1FkxmBK.net
passed away(消え去った)と書いてあったのでどこへ行ったのかと思った

958 :デフォルトの名無しさん:2024/02/15(木) 21:11:56.18 ID:zblp804r.net
>>957
どの記事?URL教えて!

959 :デフォルトの名無しさん:2024/02/16(金) 19:18:09.96 ID:Axc1uWNK.net
フリーパスカルに書いてあった
http://www.freepascal.org/

The creator of the Pascal Language, Niklaus Wirth, has passed away on January 1st.

960 :デフォルトの名無しさん:2024/02/16(金) 21:56:16.38 ID:nKsaIfEz.net
passed awayは日本語でいう亡くなったみたいに、丁寧な言い方なんだな
勉強になった

961 :デフォルトの名無しさん:2024/02/29(木) 22:49:58.22 ID:GWZVNy5Y.net
Lazarus Release 3.2 - February 28, 2024, 04:35:50 pm
The Lazarus team is glad to announce the release of Lazarus 3.2.
This is a bugfix release and was built with FPC 3.2.2.

213 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★