X



【Delphi互換!?】FreePascal/Lazarus その2【GPL】
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん2009/12/25(金) 02:46:18
(クロス)オープンソースコンパイラ 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
0002デフォルトの名無しさん2009/12/25(金) 02:48:49
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
0004デフォルトの名無しさん2009/12/25(金) 07:39:07
Lazarusのクリーンインストールの仕方。

(1) 旧版をアンインストール。
(2) 旧版のインストール先フォルダ(C:\Lazarus)を削除。
(3) 設定ファイル保存フォルダを削除。
 Windows XPの場合: C:\Documents and Settings\ユーザー名\Local Settings\Application Data\lazarus
(4) 新版をインストール。
0005デフォルトの名無しさん2009/12/25(金) 16:01:28
1乙。

前スレはdat落ちか。
0007デフォルトの名無しさん2009/12/25(金) 21:39:08
>>6
ふつうの板で975越え辺りで落ちるから、前スレの995で次スレでは遅いと思う
過疎スレゆえに放置落ちがあるから980辺りで立てたほうが安全
0008デフォルトの名無しさん2009/12/26(土) 09:02:13
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ Laz!!
 彡、   |∪|  /
/ __  ヽノ /
(___)   
0009デフォルトの名無しさん2009/12/27(日) 23:37:10
981レス以上のスレは24時間書き込みが無いとdat落ちするから過疎スレでも大抵は980レスで次スレ立てるのが慣例ですな
0010デフォルトの名無しさん2010/01/01(金) 22:01:35
ほしゅ
0013デフォルトの名無しさん2010/01/05(火) 14:32:30
January 1st, 2010 Happy New Year!,
a new major version 2.4.0 has been released.

ttp://www.freepascal.org/download.var
0016デフォルトの名無しさん2010/01/16(土) 23:13:28
FreeBSD8.0でscim-anthyを全く受けつけてくれない。
メニュー等は日本語対応になってるのに、どうしたものか。
0017デフォルトの名無しさん2010/01/16(土) 23:49:06
日本語WikipediaのLazarusの項は微妙なとこあるね、

ぱっと見で気付いたのは
「LCLはプログラムに静的リンクされるが、LGPLという特殊なライセンスにより、
必要に応じてリンクされたバイナリを配布してもよいことになっている。」
素のLGPLだったら静的リンク時はソース配布要るよね。

the LCL is licensed under the LGPL with an exception, which allows you to link to it statically without releasing the source of your application

だから、「例外条項付きのLGPLとなっていて、静的リンクしてもソースを
公開しなくてもいい」じゃないかな、と。

あとところどころ「プラットホーム」と表記されているけれど、
「プラットフォーム」と表記することが多いんじゃないかな。
0018デフォルトの名無しさん2010/01/17(日) 08:50:29
lazarus.exe --primary-config-path=c:\lazconf0929
とかやれば、異なるバージョンのLazarusを複数インストールできるよ。
0021デフォルトの名無しさん2010/01/27(水) 20:55:24
AlphaBlendValue 搭載記念上げ
0023デフォルトの名無しさん2010/02/13(土) 15:19:45
ttp://lazarus-dev.blogspot.com/2010/02/work-on-0930-changes-in-resource.html
> Work on 0.9.30: changes in resource handling

え、今まで initialization がフォームの数だけ実行されてたの?
0025デフォルトの名無しさん2010/02/15(月) 00:11:13
>>23の内容がよく分かんないんだけど、

・いままでは、すべてのフォームファイル(.lfm)が.lrsにも重複して含まれている必要があった。
・起動時に.lrsからフォームリソース(画像とか?)を読み込むために、ユニットをusesしている/いないに関わらず、すべてまとめて、initializationセクションが実行されてしまっていた。
・でもこれから(2.4.0以降)は、フォームファイルを介してフォームリソースを読み込むようにしたので、.lrsにもつ必要がなくなり、一度に読み込まれることはなくなったよ。

ってこと?
0026デフォルトの名無しさん2010/02/15(月) 13:57:42
ファイルを保存するときにファイル名を小文字に変換するか聞かれますが、
それにはどうゆう意味があるんでしょうか?
0028デフォルトの名無しさん2010/02/16(火) 00:03:17
Windowsではファイル名の大文字/小文字は区別されないが、Linuxでは区別される
この違いにより、例えばHoge.pasを使おうとしてuses hoge;とするとコンパイルできないなんてことを起こさないため
0029262010/02/16(火) 12:22:16
自己レス
下記が理由と思うので、新規開発の
ファイル名は大文字でいいんじゃないかなと考えています。

http://wiki.lazarus.freepascal.org/Code_Conversion_Guide/ja

最初に目を向ける事柄

* 1.0.x系のコンパイラでは、ファイル名は大文字小文字を判別します。
もし、このバージョンで作業していたら、全ファイル名を小文字にしてください。
そうしなかったら、 "File not found" エラーになります。
0031デフォルトの名無しさん2010/02/19(金) 20:41:00
lrsファイルをテキストエディタで見てみると大体次のような感じですな。

フォームの数だけlrsの内容が実行されるていた。
それによりTListに保存されるので、2重にメモリを食っていることになる。
0032デフォルトの名無しさん2010/02/19(金) 20:42:39
2重にというのは exeの内容として確保されるのと、TListに動的に確保されるという意味ね。
0033デフォルトの名無しさん2010/02/23(火) 18:40:21
ubuntu9.10でインスコしrてみたけどフォームダブクリでメソッド追加されずなんかエラーでるけどなにこれ
0036デフォルトの名無しさん2010/03/03(水) 16:14:20
復活
0037デフォルトの名無しさん2010/04/09(金) 01:19:42
Lazarusなかなかいいね。
Delphi2.0とC++Builder3持ってるんだけど、違和感無く使える。
最近のバージョンに買い換えようかと思ってたんだが、趣味でプログラミングする程度だしその必要ないな。
0038デフォルトの名無しさん2010/05/04(火) 22:52:29
lazarusでprojectのVersion情報に日本語を入れると
文字化け起こす人いますか?
0039デフォルトの名無しさん2010/05/06(木) 02:09:12
dfm->lfmのコンバージョンで、'#XXXX'形式のUNICODEが?になってしまう。その時、lfmはAnsiになっているが、lfmに元の
'#XXXX'形式の文字列をペーストし直した状態で、ソースでなくフォーム側を修正して保存し直すと、UTF-8のlfmに変わる。
0040デフォルトの名無しさん2010/05/14(金) 06:21:49
Options->Environment->Window->Show single button in TaskBar
でGTK2でもタスクバーのボタンがひとつになるよ!
0041デフォルトの名無しさん2010/05/15(土) 09:21:57
Ubuntu 10.04 へのSVN版のインストール方法
アプリケーション->アクセサリ->「端末」で次のコマンドを実行する。
なお、1から3は必要な場合のみ実行してください。

1 sudo apt-get install subversion
2 sudo apt-get install fpc
3 sudo apt-get install fpc-source
4 cd デスクトップ
5 svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus
6 cd lazarus/tools/install
7 ./create_lazarus_deb.sh append-revision
8 sudo apt-get remove lazarus
9 sudo dpkg -i lazarus*.deb
0044デフォルトの名無しさん2010/05/15(土) 21:26:54
作成したアプリケーションでlinuxでは日本語はどれだけサポートできますか。
GUI日本語表示
GUI上インプットメソッド
コンソールアプリケーション
TurboVisionみたいなやつでの日本語の表示と入力
0046デフォルトの名無しさん2010/06/30(水) 02:31:49
LazarusでVSみたいにビルド設定をリリースとデバッグで簡単に切り替えられませんか?
0047デフォルトの名無しさん2010/07/01(木) 10:50:20
リリースは、シェルスクリプトかバッチファイルでしろ。
安全確実だ。
以上。
0048デフォルトの名無しさん2010/07/01(木) 11:07:03
>>45
あのできで、1.0にするのか。
 がちょーーーん
反対に1票。バグだらけだし。

俺なんか、あまりのバグに閉口してしまったよ
・あきれた → 関わらない → 見て見ぬふり
 → 助けない
・まだ数個パッチももっているが、もー知らん
・貢献者ロールにいれてあげるといわれたが無視した。

前も閉口して2〜3年去っていたので、
また、2〜3年したらくるかもしれないのでヨロピコ。

ソフト作るのに中断しないといけなくなって
ソフトを作る作業中にバグ発見
    ↓ 
  Lazarus開発   ↑
    → → → 修正
 
→≠→ めでたくソフト完成!!
 にたどり着けないんだ。
作業中のコード中断したよ・・・
むかつく限りだ!!

Delphi2010の次のバージョンを買ってコード修正しようかと思っている
0050デフォルトの名無しさん2010/07/03(土) 08:52:52
バグ多い→ユーザー減る→バグ減らないまま→ユーザー減る→消滅
0053デフォルトの名無しさん2010/07/04(日) 17:43:11
Lazarusより
Delphiの初期バージョンの方が遙かに性能がいい。
Lazarusは、Delphiの新バージョンと比較する価値もない。
0055デフォルトの名無しさん2010/07/04(日) 19:02:20
>53
円馬鹿の中の人乙。
0057デフォルトの名無しさん2010/07/04(日) 19:12:11
いずれにせよ Lazarus を使いこなせない初心者のためにも
まだまだデルファイにはがんばって欲しいな。
0058デフォルトの名無しさん2010/07/04(日) 20:09:13
Fulcrum/Delphi 2011 の OSX/Linux サポートコードを丸ごといただく予定だそうだから
まってりゃ品質が上がるさ
0060デフォルトの名無しさん2010/07/08(木) 13:02:25
RAD2011update買うより、
16千円上乗せして
新規VS2010pro(VS2010pro優待版+vs2008std)を5万7千円で
買った方がいいような気がしてきた。
乗り換えるなら個数限定販売のセール中のいまがチャンス。

さようなら pascal
さようなら delphi
さようなら Linux
0062デフォルトの名無しさん2010/07/12(月) 14:37:48
自分の欲しいものを勝手に買えばいいんじゃないの?
誰も留めないし邪魔もしないよ

でもWindows/Linux/Mac OSX全部いけるんなら面白そう
0063デフォルトの名無しさん2010/07/21(水) 19:15:02
linuxは、スタティックリンクにしないと使い物にならない。
カーネルや、ライブラリの番号に依存するから
静的リンクにしないと
delphiでlinuxをやっても、 〜番号.so エラーとなるのが落ち。
結果、巨大ファイルとなる。
それでもカーネルをアップすると〜番号.so エラーとなるのが落ち。

超バイナリ互換性の高いWindowsの様にはいかないと予測している
そういう課題をどう対処しているのか見物だ!
0066デフォルトの名無しさん2010/07/23(金) 16:34:07
>>64
最初期のMacOSはpascalで記述されていたからね。
APIリファレンス(Inside Mac)のサンプルも、pascaだしね。
0067デフォルトの名無しさん2010/07/27(火) 17:08:26
>>65
keyword: linux  互換性 ライブラリをロードできません
http://www.google.co.jp/search?hl=ja&
q=linux+%E3%80%80%E4%BA%92%E6%8F%9B%E6%80%A7%E3%80%80%E3%83%A9%E3
%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%92%E3%83%AD%E3%83%BC%E3
%83%89%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93&btnG=%E6%A4
%9C%E7%B4%A2
0069デフォルトの名無しさん2010/08/08(日) 02:44:41
なんかアホが湧いてるね
脳みそが腐った理由が暑さならいいが
遺伝子に組み込まれてると救いようがない
0070デフォルトの名無しさん2010/08/08(日) 11:24:46
円馬鹿スレの「Linuxは柔軟性が高すぎるから流行らない君」だと思う。
彼は知識がないかわいそうな子。
0075デフォルトの名無しさん2010/10/17(日) 22:32:30
FPC 2.4.2 RC1 キタ
で、北半球の夏に出すっていってた Lazarus の新版はどうなったんだっけ
0079デフォルトの名無しさん2010/12/29(水) 17:08:41
後学のため、教えてください。
「円馬鹿」とは何ですか? ググりましたがヒットしませんでした。
このスレ、新参者ですが、よろしくお願いします。

0086デフォルトの名無しさん2011/01/20(木) 14:04:13
うれしいうれしい。
0090デフォルトの名無しさん2011/01/20(木) 17:23:33
C知らないときにPascalの本をたまたま見つけて
TurboPASCAL使ったのが初めてだったな
その後でC勉強始めたらなんてユルい言語だと感動した
0091デフォルトの名無しさん2011/01/20(木) 20:22:23
>>89
っFORTH
4 通りの状態と 2 つのスタックを常に念頭に置いてアセンブラレベルのメモリアクセス
一歩間違えれば即暴走
ベテランでもいわゆる手続き (ワード) が 5 行を越えると不安になるという
0092デフォルトの名無しさん2011/01/21(金) 01:18:50
>ベテランでもいわゆる手続き (ワード) が 5 行を越えると不安に
それはベテランとはいわないな。
PostScript や EFI の内部記述言語が FORTH の影響を受けているので
見えないところでは使われているのだよ
0094デフォルトの名無しさん2011/01/21(金) 18:42:33
というかC使えない奴なんていないよ今時。
ほんでもっていろいろメリットがあるからPascal使ってるだけで。
0097デフォルトの名無しさん2011/01/24(月) 09:39:25
俺の場合はDelphiにはコンパイルの速さという強大なメリットはあると感じる。
FreePascalはそれほど速くないのでそのメリットはないけど、Delphiアプリを
Linuxに移植できるというメリットがある。

そんな感じかな。
0100デフォルトの名無しさん2011/01/25(火) 20:17:52
まあ別にLazarusはWinオンリーで使ってもいいんだけどね。
0101デフォルトの名無しさん2011/02/01(火) 10:46:59
Windows上で最新ソースをコンパイルしたい場合は、
リリース版の0.9.28をインストールしてから
svnでtrunk落してコンパイル

でいいのかな?
0104デフォルトの名無しさん2011/03/06(日) 12:46:59.69
艷馬鹿出ろからこないだDelphi買えってダイレクトメール来たけど、どーすっかなー。
2006で懲りたからなー。
0105デフォルトの名無しさん2011/03/06(日) 18:00:27.60
>>104
あの頃は酷かったよねw 7までと2009以降はなかなか良い。
0108デフォルトの名無しさん2011/04/09(土) 11:28:11.81
3月に Lazarus 0.9.30 がリリースされていたのだな。
Win32版で今度のエディタはシフトJISを認識するようになっていた。
LCLにはUTF8で渡す必要はあるけど。
0113デフォルトの名無しさん2011/06/26(日) 09:21:24.52
時代遅れの Delphi はもういいよ。

Pulsar の x64 / OSX / iOS 用コンパイラが FPC だそうだ
0115デフォルトの名無しさん2011/08/06(土) 21:08:20.38
FreePascal で Linux の GUI プログラミングするには Lazarus 以外にない?
C で GTK 使うみたいな方法はないのかな。公開する時に Lazarus が必要ってのはちょっとひどいよね。
OCaml なんていう聞いたこともなかった言語でも GUI ついてるから何か方法あるんだろうけど、
Linux 歴浅くてよくわからない。
0116デフォルトの名無しさん2011/08/06(土) 22:46:20.13
>>115
公開するときにLazarus が必要ってどういう意味だ?
プログラムの前に日本語から勉強しろよ
0119デフォルトの名無しさん2011/08/07(日) 00:34:18.81
いやー、大抵ソースも一緒に公開するじゃんか。
バイナリがうまく動かない時はコンパイルしてね、みたいな。
にしても、Linux でもバイナリ配るのが普通になってきてるのね。
0122デフォルトの名無しさん2011/08/07(日) 11:03:06.75
LazarusなくてもFCLとかのライブラリが入ってればコンパイルは出来るんじゃないか?
それがなくてもって言うのなら、公式にこんなのがあったよ。
ttp://www.freepascal.org/packages/gtk.html
0123デフォルトの名無しさん2011/08/07(日) 12:31:02.11
>>122
おー、ありがとう。こういうのが聞きたかったんだよ。
Pascal 関連はやっぱクズが多い中、あんたはいい人だな。
0124デフォルトの名無しさん2011/08/07(日) 12:47:22.34
もう残りカスだから仕方ない。ISOの標準化の所も人が居なくて止まったまま。
分かり易い言語だと思ってたけど、自分はPythonに流れてしまったよ。
0125デフォルトの名無しさん2011/08/07(日) 12:51:17.39
ググってもろくな情報がヒットしないもんなあ。もうやめるか(あっさり)。
やっぱり C/C++ が無難なところなのかねえ。
0129デフォルトの名無しさん2011/08/07(日) 15:45:12.48
本サイトに山のように情報があるのにヒットしないのは
自分のぐぐりかたがおかしいとは死んでも考えないのが
ゆとり世代なのか?
0131デフォルトの名無しさん2011/08/07(日) 22:38:25.31
ほら、やっぱり自尊心の高いカスばっかりが食いついてきた。
宿題スレなんかでも Pascal は質問(依頼)者ボコボコだもんな。
0134デフォルトの名無しさん2011/08/09(火) 04:42:34.35
>>132
Pascal 信者のクズどもは、そういって質問者をボコりたいだけよ。
C/C++ 関連のスレなんか、「エスパーしてみようか」なんて親切な人がいっぱいだ。

こんなこと言ってるとゆとりがどうのと言い出すんだろうな。
ホント見てておもしれえ。
0135デフォルトの名無しさん2011/08/09(火) 07:53:20.56
>>134
エスパーが必要な質問ばっかしてこと白状しちまったな。
まあ馬鹿だと人生大変だろうががんばって生きろ。
0141デフォルトの名無しさん2011/09/12(月) 22:16:35.89
sage
0142デフォルトの名無しさん2011/09/26(月) 03:15:01.51
地方零細IT企業でdelphi扱っているところに就職したものの、
エンバガデロの開発ツールを個人で購入するのを躊躇って
自宅で自習するためにdelphiの代替ぐらいしか思いつかない
0147デフォルトの名無しさん2011/09/28(水) 18:54:48.24
1.0になるなる詐欺なのに、そんなんで財団立ち上げんのか。
いや1.0にする為の前準備として団体を清算したいってことなのかな。
正直この停滞ムードを何とかしてくれるなら歓迎なんだがの。
0148デフォルトの名無しさん2011/09/29(木) 12:46:45.75
バージョン番号なんてどうでもいいな。
スナップショット版使ってるが特に不満ない。
0149デフォルトの名無しさん2011/09/30(金) 08:02:40.66
数値だけの繰り上げならいらんが
メジャーバージョン設定は、普通は「仕様のFIX」「バグの修正」という意味が伴ってくるので意味がないわけじゃない。
まあ1.0にしても某D言語のような例もあるけどw
0151デフォルトの名無しさん2011/09/30(金) 10:50:53.43
なんだかんだで一番安定して動きそうなのが windows な辺りとか
たしかにDっぽいのは理解出来なくもないが…うむややもすると
黒魔術オンパレードの道とかがオープンマイハートしちゃうんだ…みたいな印象はあるw
0153デフォルトの名無しさん2011/10/01(土) 16:51:08.23
lazarus を眺めて思うのは、マンパワーが足りてなさか…
osx とか linux で動かすの面倒なんだな…
0155デフォルトの名無しさん2011/10/02(日) 22:26:11.53
言語を、というよりかはライブラリをコンポでどう組上げていこうか
というのが主な関心みたいなかんじなので…日本人でいじろうとする
ひとが少ないのは何となく理解は出来る

http://62.166.198.202/roadmap_page.php
http://62.166.198.202/my_view_page.php

ラインとしては0.99, 1.00, 1.20の三本立てで走ってそうだけど
積んで放置されてるのも多いかな…という印象を受けたのだった…
0157デフォルトの名無しさん2011/10/03(月) 07:44:52.17
>>155
こういうのをただ働きなのにまめに記録してくれる奴がいるというだけですごいと思うな
0160デフォルトの名無しさん2011/10/04(火) 12:35:57.37
とあるコンポが必要になって readme 読んだら

svn checkout http://svn.freepascal.org/svn/fpcprojects/lnet/trunk
then open lazaruspackage/lnetbase.lpk and compile it.
open the lazaruspackage/lnetvisual.lpk, compile it and install it and rebuild lazarus

とか書いてあって、コンパイルは分かるが

lazarusで install って何だとか
開発環境ごと再ビルドしないと追加できないのか
とか訳がわからなすぎて詰んだ…
0163デフォルトの名無しさん2011/10/09(日) 15:44:55.93
Lazarus ってすげえ適当というか、簡単な構造で動くんだな。ほとんどコピーするだけじゃん。
基本的にユーザー個別にインストールするようになってるのかな?fpc 以外は /home に入れちゃったよ。

にしても、俺が使う分には十分だな。去年思わず買っちまった Delphi XE どうしよ。
0165デフォルトの名無しさん2011/10/10(月) 08:22:00.69
OSX版 lazarus (0.9.30.2RC1) を試しています
ビルドしてできる アプリケーションバンドルが
test/project1.app/Contents/MacOS/project1 (Symbolic Link → ../../../project1)
test/project1
... . .
といった感じで分離した構造になってしまいます。手動でコピーするのも面倒です。
シンボリックリンクなしでビルドしてくれるように設定するにはどうしたらいいのでしょうか?
0166デフォルトの名無しさん2011/10/10(月) 10:36:38.51
少数派だから機械翻訳してフォーラムで聞くことを薦める。
ほとんどがネィティブじゃないから大丈夫。
0167デフォルトの名無しさん2011/10/10(月) 11:05:37.10
>>165
どういうときに困る?tarの--dereferenceオプションを使って一つのアーカイブにしたものを展開するとか
0168デフォルトの名無しさん2011/10/10(月) 21:17:54.18
プロジェクトを新規作成して空っぽのウィンドウを表示するだけでも
Linux だと実行ファイルが 6MB ぐらいある。Windows だと 1MB ぐらい。
双方ともデバッグ情報を外部に作る設定。
Linux の実行ファイルががでかいのは仕方ないのかな。

>>164
いや、一応持っとく。
0171デフォルトの名無しさん2011/10/10(月) 23:33:30.63
>>169
file で確認してもすでに stripped、当然 strip しても効果なし。

>>170
clean up は見当たらないんだけど、どこだろ。
一応消して構築したりしてみたけど、変わらず。
オプション変更(実行ファイルにデバッグ情報埋め込み)すると
10MB ぐらいになるから、関係ない気もする。

リンクするライブラリが違うからしょうがないのかな。
01721702011/10/11(火) 06:23:21.56
>>171
clean up build 、0.9.31の機能でした。めんご
0173デフォルトの名無しさん2011/10/12(水) 21:04:47.89
FAQ 読みあさってみたけど、どうも Linux だと 6MB ぐらいにはなるらしいね。
予想はしてたけど、使ってなくても基本機能は入ってるとかで。

まあ実行ファイルのサイズはともかく、どこかに LCL のドキュメントないのかな。
とりあえず Delphi 6 のヘルプ見て、補完機能やソース探りながらやってるけど、
プラットホーム依存の実装がいくつかあるから vim(ctags) のタグジャンプが
あてにならなくてにんともかんともだ。
0175デフォルトの名無しさん2011/10/12(水) 23:13:58.25
>>173
どこかに LCL のドキュメントないのかな。
>とりあえず Delphi 6 のヘルプ見て、補完機能やソース探りながらやってるけど、
>プラットホーム依存の実装がいくつかあるから vim(ctags) のタグジャンプが
>あてにならなくてにんともかんともだ。

もう見てるだろうけど、
ttp://wiki.lazarus.freepascal.org/Lazarus_Documentation/ja#LCL
0176デフォルトの名無しさん2011/10/13(木) 00:15:16.58
一部見た。設定ファイルに使えそうな TXMLConfig のリンクがなくて悲しい。
ぐぐって何となく使い方わかったけど、イマイチな感じ。
まだ Linux プログラムの作法もよくわからんのだけどね。
0177デフォルトの名無しさん2011/10/31(月) 21:37:06.60
プロジェクトのオプションでバージョン情報を埋め込めるけど、Linux でこれを取り出す方法ってあるの?
そもそも Linux のバイナリにそういう情報があるのかわからんけど、わざわざあんなオプションがあるってことは
使えるんじゃないかと思うんだけど。知ってる方教えてくだせい。
0184デフォルトの名無しさん2011/11/10(木) 21:05:22.85
なんか変わった?
とりあえず Windows 版は大きな変更は見られない (小さな変更も見られないが)。
相変わらず IDE での日本語入力には難ありだな。
0185超初心者2011/11/13(日) 19:18:08.17
delphiで簡単な情報の管理システムを作っています。
初めてのpascal,delphiで苦戦しています。。。
簡単なコードでのプログラミングでないと自作したことを説明もできないくらいのレベルです。。
今回、レコード型の配列で個人データ(名前、生年月日、登録番号、住所、電話番号)を5人分、入れておきたいのですがエラーばかりでてしまい、全くできてません。
簡単なものでもサンプルでもなんでもありがたいのでご教授ください。
後のFormで検索したりして引き出せるようにする予定です。。
Lazarusをあつかってるスレだったので、場違いかもしれませんが質問させていただきました。
0188超初心者2011/11/13(日) 20:27:49.02
>>187
すいません。。苦戦してるのはLazarusです
ミスです。
0189超初心者2011/11/13(日) 21:59:17.47
Unit1で配列を作って、そこにデータを入れたんですけど、ほかのUnitにどうやったらデータを持ち越して表示できますか?
0190デフォルトの名無しさん2011/11/13(日) 22:13:55.83
>>189

 配列を両方のユニットに共通なグローバル変数にするか、
他のUnitの関数のパラメータとして渡す
0191超初心者2011/11/13(日) 22:42:04.78
>>189
ほんとに初心者でいまグローバル変数について、調べて少しわかったのですが、ソースをのせるのでみてもらってもいいですか?
0192デフォルトの名無しさん2011/11/14(月) 00:29:42.14
ていうか、お前 Pascal 以前にプログラミング自体どの程度わかってんの?
本質をきちんと理解してればたかだか言語が変わったぐらいで
そんなにうろたえることはないと思うがな。

Delphi スレ行った方が親切な奴が多いかもな。
0193デフォルトの名無しさん2011/11/14(月) 00:34:31.05
unit Unit1;

interface

var
xx: array of aa; <---------グローバル変数

implementation

function fun1(..);
begin
xx := ??;
end;

end.
--------------
unit Unit2;

interface

implementation

uses
unit1;

function fun2(..);
begin
yy := xx[3];
end;

end.
0194デフォルトの名無しさん2011/11/14(月) 04:00:55.48
>>189
ほかのUnitに持ち越すっていうか、オブジェクト指向でやるだろ普通。
他の言語だとどういうのがわかるの?
0195超初心者2011/11/14(月) 13:04:24.52
>>192
>>194
javaを大学一年時に授業でやってはいたのですが、本質をきちんとは理解できなくて
delphiじゃないだりとここを紹介されました
>>193
ありがとうございます。。
さんこうにさせていただきます
0197デフォルトの名無しさん2011/11/14(月) 14:38:59.80
>>195
うーむ。多分言語云々じゃなくてプログラミングの基本から
勉強した方が良いような。

「宣言したレコード型を別Unitで使いたいけど宣言が見つからない」のか
「そのレコード型を使った変数に別Unitからアクセスできない」のか。

何もわかってないと質問の内容がわからないので答えようもない。

とはいえサンプルソースが欲しいんだよね?

ttp://www1.axfc.net/uploader/File/so/71587

サクっと書いたので識者が見たらいろいろ問題あるかもしれんが
参考にはなるだろう。ちなみにレコード型と配列じゃなくて
クラス型とTListにした。その方がDelphiスレの情報とか参考に
しやすいし。
0198超初心者2011/11/14(月) 15:22:03.50
>>197
期間も1ヶ月で、ソフトが指定されています
基本が理解できてないのは十分承知です、、
サンプルをいただけただけでもまた進展がありそうで、ありがたいです
0199デフォルトの名無しさん2011/11/14(月) 19:01:01.65
lazarus指定とか
もしかして会社の研修かなんかか
もしそうなら人に聴かずに
一ヶ月寝ないで勉強するがよろし
0200超初心者2011/11/14(月) 22:27:29.93
>>199
学校の課題です
しっかり理解しないとという気持ちはあるのですが、ほかの授業などとの両立や起源の問題で
時間はかけているのですがこの程度で。。
0202デフォルトの名無しさん2011/11/15(火) 00:31:25.98
>>201
またお前か。

Pascal はユーザー少ない上にこういう腐ったのが結構いるんだよ。
運が悪かったね。頑張ってくれ。
0203デフォルトの名無しさん2011/11/15(火) 07:02:15.38
まあでも運動が才能で必要であるようにプログラマにも才能が必要なのは事実
0213デフォルトの名無しさん2011/11/19(土) 16:32:38.71
え?
0214デフォルトの名無しさん2011/11/19(土) 18:38:24.79
>>213
http://hibari.2ch.net/test/read.cgi/tech/1261676778/213
http://hibari.2ch.net/test/read.cgi/tech/1272358443/83
http://hibari.2ch.net/test/read.cgi/tech/1321350331/22
http://hibari.2ch.net/test/read.cgi/tech/1318935200/82
http://hibari.2ch.net/test/read.cgi/tech/1290415962/444
http://hibari.2ch.net/test/read.cgi/tech/1314133332/444
http://hibari.2ch.net/test/read.cgi/tech/1315141054/25
http://hibari.2ch.net/test/read.cgi/tech/1321282584/4
http://hibari.2ch.net/test/read.cgi/tech/1156332916/186
http://hibari.2ch.net/test/read.cgi/tech/1177431417/279
http://hibari.2ch.net/test/read.cgi/tech/1295493964/744
http://hibari.2ch.net/test/read.cgi/tech/1300000513/237
http://hibari.2ch.net/test/read.cgi/tech/1163319215/911
0215デフォルトの名無しさん2011/11/26(土) 01:00:04.37
pstype=(man,woman)と自ら作成したのですが、これを文字列型でラベルに表示する変換方法ありますか?
0217デフォルトの名無しさん2011/11/28(月) 06:11:46.06
program HelloWorld;
uses typeinfo;
type
MyEnum = (HELLO, WORLD);

var
str1,str2:string;
pinfo:PTypeInfo;

begin
WRITELN('StringにEnumの名前を代入する方法');
WRITELN('要:"uses typeinfo;"');
pinfo:=TypeInfo(MyEnum);
str1:= GetEnumName(pinfo, Integer(HELLO));
str2:= GetEnumName(pinfo, Integer(WORLD));
writeln( str1,' ', str2 );
end.
0218デフォルトの名無しさん2011/11/30(水) 22:26:49.96
>>217
参考にさせていただきます
unit Unit9;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs,
StdCtrls,bookdate;
type
{ TForm8 }
TForm8 = class(TForm)
hj: TLabel;
procedure FormActivate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form8: TForm8;
implementation
uses Unit1;
{$R *.lfm}
{ TForm8 }
procedure TForm8.FormActivate(Sender: TObject);
begin
hj.Caption:='dgfhg';
end;
end.
こんなふつうにラベルに文字列を代入させてるつもりなのに表示されません。
どういった不具合が考えられますか?
0220デフォルトの名無しさん2011/12/01(木) 16:42:35.85
interface uses部にtypinfoを追加(GetEnumName関数を利用するため)。

type下に pstype=(man,woman);//列挙型を宣言する。

TForm1にButton1、Button2、Label1を配置、及びButton1、Button2のクリックイベントを作成。

TForm1のprivate部に手続き宣言。
procedure Label1CaptionView(value: pstype);

implementation { TForm1 }下、手続き作成。

procedure TForm1.Button1Click(Sender: TObject);
var
seibetu : pstype;
begin
seibetu:= man;
Label1CaptionView(seibetu);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
seibetu : pstype;
begin
seibetu:= woman;
Label1CaptionView(seibetu);
end;

procedure TForm1.Label1CaptionView(value: pstype);
begin
Label1.Caption := GetEnumName(TypeInfo(pstype),Ord(Value));
end;
0221デフォルトの名無しさん2011/12/01(木) 20:39:18.50
>>218
オブジェクトインスペクタにおける設定で、「Form8」のイベントOnActivateが設定されていないとか。
設定されていなければ、OnActivateの項目には何も表示されていないはずで、イベントが起こりません。
項目欄をクリックすれば、FromActivateを選択できるはず。
0222デフォルトの名無しさん2012/02/14(火) 19:52:00.91
一昨年のうちにver1.0になるとか言ってたけど、全然進展ないね。
もうオワコンなのか?
0224デフォルトの名無しさん2012/02/14(火) 22:00:38.00
>>223
バカじゃねーの?
1.0どころか未だに0.9.30とか31じゃねーか
1.0なんて何十年かかることやら・・・
0226デフォルトの名無しさん2012/02/14(火) 22:42:23.09
>>225
あん?0.9.31より新しいモンがどこにあんだよ、情強さんよ?
0228デフォルトの名無しさん2012/02/14(火) 23:05:11.42
ホントにバカだなw
1年前が0.8で今が0.9.30ならわかるが、
1年前から進化してないのが問題なんだろーが
0229デフォルトの名無しさん2012/02/15(水) 06:44:49.36
ばかはおまえだろ。開発者の癖にSVNとかも知らんとは。
プログラマ向いてないよ。100%
0236デフォルトの名無しさん2012/02/17(金) 18:30:55.65
カタカナ反乱で訳わからん
ドイツ人がネオジュームと発音してんのに日本人はネオジムと言ってる
いっそ滅びろ日本
0237デフォルトの名無しさん2012/02/20(月) 14:54:36.95
FPC NEW FEATURES 2.6.0 に載ってる
Advanced Record とか Class Helper って
使えるようになってるんだよね…?
0238デフォルトの名無しさん2012/02/20(月) 14:58:04.35
ごめん自己解決して本当にごめん
{$modeswitch advancedrecords}
書く必要あったのね
0239デフォルトの名無しさん2012/02/28(火) 19:25:33.07
>>185のような人のために「Lazarusで作るデータベースアプリケーション」
みたいなのをブログでやろうかと思うんですが、そういうのって需要あるかな?
0242デフォルトの名無しさん2012/02/29(水) 19:18:46.61
では「LazarusとFirebirdで作るC/Sアプリケーション」をブログで書きますね。





10年以内に。
0245デフォルトの名無しさん2012/03/18(日) 03:12:01.37
何が変わった?いい加減日本語を入力できるようになってほしいんだが。
0246デフォルトの名無しさん2012/03/19(月) 08:15:23.26
IDEで日本語入力できるようにしたってさ
ttp://bugs.freepascal.org/view.php?id=13140
0247デフォルトの名無しさん2012/03/19(月) 11:58:05.51
というか英語できないやつは翻訳料だと思って
黙ってエンバカにお布施しとけ。
0248デフォルトの名無しさん2012/03/19(月) 18:01:58.20
いつまで経ってもバカの翻訳進んでないじゃん。
ヘルプ殆ど英語だし、重いし…
0250デフォルトの名無しさん2012/03/19(月) 19:42:40.22
いや別に英語読めるし、C#みたいなゴミも憶える気無い。
それから、日本語入力できるようになったことと英語のスキルは全く関係無い。
0259営利利用に関するLR審議中@詳細は自治スレへ2012/04/08(日) 07:32:57.51
自分のところでも無事入った。(ちょっとてこずったが)
いれたのは、Lazarus-1.1-36647-fpc-2.6.1-20120407-win32.exe
エディタもちゃんと動く。
0260営利利用に関するLR審議中@詳細は自治スレへ2012/04/10(火) 19:21:42.36
みんなLazarus何に使ってる?
0264デフォルトの名無しさん2012/06/11(月) 19:30:36.61
DelphiのIntraweb(VCL for Web)に該当するものってLazarusにあるのかなあ?
確かあったような気がするけど・・・あんまりバギーなやつだとダメだしね
0265デフォルトの名無しさん2012/07/28(土) 11:03:39.54
十分使い物になるレベルに達しているね。日本語での情報は皆古過ぎて誤解されるかな。
0268デフォルトの名無しさん2012/08/21(火) 02:08:53.42
マクロとかの情報が少なくて、
コンパイル後、出力された実行ファイルを指定したパスにコピー
とかいう動作をするにはどう設定すればいいのか、とかくだらん事の解決に数ヶ月かかった。
0274デフォルトの名無しさん2012/09/02(日) 17:27:06.69
Lazarus 1.0 を Win XP 32 bit に以前の設定を消してインストールしてみた。

「ツール」→「オプション」の「テストプロジェクトを構築するディレクトリ」は「%Temp%\」となって
いるがエラーになるのでドロップダウンリストからしかるべきものを選択し直す必要あり。

同じくデバッガのパスの「%LazDir%\mingw\bin\gdb.exe」も変更必要。


IDEにヘルプが内蔵された。また日本語IMEもインラインで変換できるようになっていた。
0276デフォルトの名無しさん2012/10/22(月) 14:18:46.30
Linux 版 1.0.2 入れてみたが、こっちは相変わらず IDE で日本語入力できないな。
野良ビルドだからか?まあ VIM 併用だから大して困りはしないが。
0277デフォルトの名無しさん2012/10/22(月) 21:17:16.64
質問です。

Lazarus1.0.2をWin32で使ってるんですが、以下のような現象になります。

・フォーム上にTActionListとTSynEditとTMainMenuを置く。
・TActionListに適当にActionを作り、ショートカットをDelキーにする。
・TMainMenuのMenuItemに上記Actionを割りあてる。

とやると、SynEdit上ではSynEditのデフォルトショートカットの
方が強くて、ActionListのDelが効きません。TMemoなどでは
ActionListの方が強いのでSynEditだけショートカットを上書きできない
ようです。

ところが、MenuItemのOnClickにイベントを書くと、そちらは
SynEditのショートカットを上書きできます。

これって回避方法(ActionListの方を強くする)ってないでしょうか?

ちなみに、Delphiで同じことをやるとActionListの方が強いです。
0279デフォルトの名無しさん2012/10/24(水) 19:19:32.01
gccとGTK+を弄りはじめた。GUI環境がクソだとつくづく思った。

Lazarusでgccが使えたら面白いな。これなら、世界的普及まちがいなし。
0281デフォルトの名無しさん2012/10/24(水) 23:51:45.28
それ、Lazarusでgcc使ってるの?w
0284デフォルトの名無しさん2012/10/25(木) 14:35:49.20
gcc は GNU Compiler Collection であって GNU C Compiler ではない。
そして gcc は Pascal をコンパイルすることができる。
揚げ足取りね。
0285デフォルトの名無しさん2012/10/25(木) 14:42:09.49
(*´・∀・)(・∀・`*)ヘー
0287デフォルトの名無しさん2012/10/28(日) 13:25:22.37
Lazarus 1.0.2 をベースにGtk2とQt4版のソースコードエディタで
インラインでの日本語入力ができるように改造したものを公開しました。
詳しくは下記サイトを参照してください。
ttp://lazarus.matrix.jp
0289デフォルトの名無しさん2013/02/14(木) 04:29:48.44
Delphi XE をインストール済みなんですが
Lazarus を同じパソコンにインストールしても問題は起きませんか?
0292デフォルトの名無しさん2013/02/18(月) 13:17:07.30
>>289
今のところウチでは問題は起きてない。どっちもたいして使ってないけど。
そもそも干渉する要素が見当たらない気もするがね。
0293デフォルトの名無しさん2013/04/21(日) 22:43:31.20
本家のRAD Studio とかが XAMLみたいに書いてあったから
これも対応してるのかと思って入れてみたけど違ってた。
けどフリーでいきなりRAD の画面が出てきて楽そうだなと思った。
0296デフォルトの名無しさん2013/04/28(日) 18:08:47.57
飛び入りでスマソ

DELPHIで常駐プログラムや文字の回転はwindowsAPIでしていたんだけど、
uses部分は書き換えるにしても、LazarusではwindowsAPIのコードがそのまま走るの?
0297デフォルトの名無しさん2013/04/29(月) 05:02:28.44
>>296
「走る」ってどういう意味?
Lazarusは実行環境なわけじゃないから質問の意味が分からん
0298デフォルトの名無しさん2013/04/29(月) 06:40:46.78
LazarusでFree PascaLのコードを書いて実行させると言う意味。

(Lazarusインストールしたら、Free Pascalも自動的にインストールされる)
0299デフォルトの名無しさん2013/04/29(月) 07:00:18.57
よくわからんがFPCでコンパイルできるソースならコンパイルできるし
それがWindowsで動くコードなら当然動くよ
0300デフォルトの名無しさん2013/04/29(月) 07:04:30.62
>>299
スマン。macで使っても動くのだろうか?
0301デフォルトの名無しさん2013/04/29(月) 07:13:59.32
>>299
例えば、文字の回転やプログラムタスクトレイに常駐させようとした場合。

DELPHI → Windows APIコードを書く。

MacでLazarusとFreePascal → Windws API コードの部分はそのまま使える?

との質問です。もちろん、usesなどの少しの手直しは必要かと思います。
0302デフォルトの名無しさん2013/04/29(月) 08:35:59.12
>>301
ますますよくわからんがそのWindowsAPIがMacで使えるなら使えるよ。
でもこれってLazarusとは何の関係もないよね。
0303デフォルトの名無しさん2013/04/29(月) 12:54:13.80
>>302
Lazarus/Free Pascalの売りは、いつでもどこでもコンパイルじゃなかったっけ?

Windows API は マイクロソフトのWinsdows OSのコードで、基本的にはWindowsでしか使えない。
MacでLazarus/Free pascalで使おうとすればそれに対応する類似品が準備されているか?エミュレートような機能が無いと使えない。

文字の回転やプログラムタスクトレイに常駐はGUIプログラムになるのでLazarus無しでは、
基本的にできない。(自分でFree PascaLなどでGUIライブラリまで作れば別だが困難を極める)
0304デフォルトの名無しさん2013/04/29(月) 13:05:49.88
Lazarus=GUIとかのライブラリ等含めた環境がWOCAなのであって、FPCはあくまでただのコンパイラだし
WinAPIをエミュレートするのはWineにでも任せれ
0305デフォルトの名無しさん2013/04/29(月) 13:09:39.28
>>304
避けれたいいが、DELPHIでプログラム書く場合でも頻繁にWindows APIで各必要が出てくる。
気持ち的に言えば、DELPHIやFree PascalにWindows APIに相当するコマンドがあれば一番いい。

WIndows APIなんて書きたくない
0306デフォルトの名無しさん2013/04/29(月) 16:40:55.77
それ言うならDelphi使いたくないってのが正解じゃね?

Delphiは実質Windows専用みたいなもんだし、
マルチプラットフォームで作りたいなら
マルチで動く他の言語を使ったほうがいい。
0307デフォルトの名無しさん2013/04/29(月) 18:34:06.86
>>303
ごめん、何いってるか分からんわ。
正直そのプログラミングレベルでマルチプラットフォームアプリは無理かと。
0308デフォルトの名無しさん2013/04/29(月) 18:37:17.05
というかなぜ「Windows」APIが「Mac」で動くと思うのか?
なぜ「いつでもどこでもコンパイル」がAPIレベルでの互換性の話になるのか?
まったく分からんのよ
0309デフォルトの名無しさん2013/04/29(月) 18:47:43.47
>>307
その程度の理解力・想像力で、プログラミングはムリかと。
0310デフォルトの名無しさん2013/04/29(月) 18:59:07.59
>>309
え?理解に勤めたつもりなのにそれはないでしょ。
しかも無料ソフトなんだから試せばいいだけの話にもかかわらず付き合ったのに。
0311デフォルトの名無しさん2013/04/29(月) 20:14:27.98
>>308
はぁー プログラム組んだこともロクにないのね。
話の論点もLazarusに行ったり、APIに行ったり定まらないし。

で、Form上で文字を回転させるにはどうしたら良いの?
タスクトレイに常駐させようとしたらどうしたら良いの?

この質問?納得させる?
0312デフォルトの名無しさん2013/04/29(月) 20:15:29.17
>>311
◯ この質問に答えて?納得させきれる?
0313デフォルトの名無しさん2013/04/29(月) 20:15:42.65
> で、Form上で文字を回転させるにはどうしたら良いの?
Delphiには無理

> タスクトレイに常駐させようとしたらどうしたら良いの?
Delphiには無理
0314デフォルトの名無しさん2013/04/29(月) 20:18:17.93
>>313
はぁーーー わかったわかったあんたはプログラムしたことない。
文字を回転やタスクトレイに常駐なんてあたりまえのようにみんなしている。

おれもDELPHIで常駐プログラムを作っている。
0315デフォルトの名無しさん2013/04/29(月) 20:18:22.28
いい加減、DelphiとかPascalから足を洗ったほうがいいのに。

デスクトップ用言語としても使われてないし、
ウェブ用言語としても使われてない。
オープンソースでも使われてないし、
クローズドでも使われてない

まだ移行できてない奴が残っているだろうけど
今はもうCOBOLよりも将来性無いと思うぞ。
0318デフォルトの名無しさん2013/04/29(月) 20:21:41.97
>>316
はぁー DELPHIははwindows版だけど
0319デフォルトの名無しさん2013/04/29(月) 20:23:30.30
>>317
MacはDockがある
0320デフォルトの名無しさん2013/04/30(火) 05:52:12.18
>>318
だったら最初からそういえよw

答えてあげよう。

「スレ違いなので以下へどうぞ。
くだすれDelphi(超初心者用)その55
ttp://toro.2ch.net/test/read.cgi/tech/1353119767/」
0321デフォルトの名無しさん2013/04/30(火) 07:26:52.40
>>315
メジャーならいいってわけじゃないからなw
日本人全員が国民車トヨタプリウスじゃつまらんだろ?
0322デフォルトの名無しさん2013/04/30(火) 08:17:47.47
Delphi の需要なんていまどこに残ってるんだろう
大昔に Delphi で頑張ってた連中はとっくに別のに乗り換えてるだろ
0326デフォルトの名無しさん2013/05/06(月) 18:20:39.16
実家から帰ってきて覗いてみるとなんだかよくわからんことになっているが、
タスクトレイに関しては Additional に TTrayIcon というコンポーネントがあるよ。使ったことないけど。
それと、ここの住人は揚げ足とって喜ぶだけのアホばっかりだから結局は自分で調べた方が早いよ。
0328デフォルトの名無しさん2013/05/06(月) 20:35:33.08
>>326
そんなこと聞いてます。さんくす。
Windows APIのコードをTTrayIconに置き換えるのですね。

ついでに、教えてください。
DELPHIでwindowsAPIで仕方なく行なっていたコードは、Lazarusではコンポーネントが殆ど?準備されていると思ってもいいのですか?
0329デフォルトの名無しさん2013/05/06(月) 23:07:16.06
>>328
> Windows APIのコードをTTrayIconに置き換えるのですね。
いや、前述のとおり使ったことないんでコンポーネントについては調べてちょうだい。
Delphi XE とかにも付いてるけどな。

> DELPHIでwindowsAPIで仕方なく行なっていたコードは、Lazarusではコンポーネントが殆ど?準備されていると思ってもいいのですか?
それはわからん。
Windows 専用アプリで API を直接使えるかいうことなら、Lazarus も LCL の内部では結局 API 呼んでるはずなんで使えるんじゃないかな。
試してみたら MsgWaitForMultipleObjects とか候補に出てきたから大抵の API は定義されてるんじゃない?
Delphi とは違うコンポーネントもいろいろあるから、自分で調べるしかないね。

自分はせっかくの Lazarus なんで、Windows でも Linux でもビルドできるソースしか書かないんで
Windows の API 直接使ったことはない。ていうかどっちかというと Linux 寄りかな。
0330デフォルトの名無しさん2013/05/06(月) 23:10:47.29
>>329
さんくす。
0335デフォルトの名無しさん2013/05/08(水) 01:07:35.49
なんかそのものずばりの回答ないから俺が答えとく。

>MacでLazarusとFreePascal → Windws API コードの部分はそのまま使える?

使えません。WindowsAPIはWindows上でしかコンパイルできない。
それはWindowsユニットがWindows用Lazarusにしか用意されてないから。

FPCがWindowsでもMacでもLinuxでもコンパイルできるということと
その中で使われてるソースが互換しているかどうかは別問題。
どれでもコンパイルできるソースにしたかったらそういうソースを書くこと。
どういう所に注意すればよいかは本家サイトのドキュメントに書いてある。

> DELPHIでwindowsAPIで仕方なく行なっていたコードは、Lazarusではコンポーネントが殆ど?準備されていると思ってもいいのですか?

基本的にはDelphiでWindowsAPIを使っていたコードはLazarusでもWindowsAPIを使う
と考えた方が良い。ただしQtとかGtkでやる場合はそれぞれの機能にアクセスできる
からWindowsAPIを使わなくてもできる場合もあるかもね。

俺は、WindowsAPIをソース上に直書きしないようにしている。
使う時はコンポーネントか別クラスにしておいて、そこだけOS別に書き分ける。
コンパイラ指令でも良いかもしれないけど、見辛いしね。
0339デフォルトの名無しさん2013/05/09(木) 02:15:31.42
>335
さんくす
0342デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
過疎
0343デフォルトの名無しさん2013/07/03(水) NY:AN:NY.AN
linuxのutf-8環境で書いたプログラムをshift-jisのWinに移植しようとしたけど書き方ミスったな
GUIでstringのCaptionとかをwidestringで管理しようとして出し入れで問題があったのかそこだけ文字化けする
型をstringにすれば解決したけどlinuxでは普通に動くから気づかなかった
全部書き換えるの面倒だなあ
0344デフォルトの名無しさん2013/07/07(日) NY:AN:NY.AN
>>343
どういう場面か分からないから確かかどうか分からないけど、Winは過去
互換性から、かってに文字列のコーディングを変更して読み込むのが
あるから、そこで引っかかっているのかも。

こういうのって結構やっかいだよね。
0345デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
ボチボチ勉強中なんだけど、

ttp://wiki.lazarus.freepascal.org/Multithreaded_Application_Tutorial/ja

ここみると極力マルチスレッドはやめれみたいなことが書いてある。
重い処理の応答改善にこそマルチスレッディングは有効だと思うんだけど。
重い処理してても最低限キャンセルは受け付けるべきで、実際にちゃんと作られた
アプリケーションはそうなってるんだけど、これはマルチスレッドの実装じゃないんだろうか。
0346デフォルトの名無しさん2013/07/08(月) NY:AN:NY.AN
>重い処理してても最低限キャンセルは受け付けるべきで、実際にちゃんと作られた
>アプリケーションはそうなってるんだけど

マルチスレッドじゃなくても実装は可能

それよりマルチスレッドを避けろという議論の本質は
スレッド切り替えのオーバーヘッドが無駄ということ
0348デフォルトの名無しさん2013/07/10(水) NY:AN:NY.AN
俺はむしろイベント処理の順番が狂う ProcessMessages は使うべきじゃないと思ってるんだけどな。
0351デフォルトの名無しさん2013/09/18(水) 01:41:42.87
Lazarus は開発環境そのものなので。
FPC/*CL で書かれたものはあるの?っていみなら Lazarus そのもの
0353デフォルトの名無しさん2013/09/18(水) 18:32:28.47
せっかく新しい仲間が増えようってのに
アフォとか書くのは良くないと思うな
0356デフォルトの名無しさん2013/09/24(火) 16:31:53.62
企業向けのWindows向けシステムをLazarusで組んでる人っている?

DelphiスレでLazarusの名前が出てたのでインストールして
まだ一寸しか使ってないのですが
個人的には取りあえずDBGridで(MEMO)って出るのが取りあえず面倒だと感じてますが
他に問題になりそうな部分ありますか?
0358デフォルトの名無しさん2013/09/24(火) 18:25:21.98
確かにキビキビ感は無いですね
マシンパワー上がってるからあまり感じないけど
古いマシンだと更にモッサリするのかな
0359デフォルトの名無しさん2013/09/24(火) 19:36:08.15
Lazarusで作ったアプリってそれ単体で動くの?外部ライブラリとかインストールされてないとだめなの?
0360デフォルトの名無しさん2013/09/24(火) 21:36:10.96
>>359
SQLiteとか簡単なDBでも使ってれば外部ライブラリを同梱しないとダメですね
ttp://wiki.freepascal.org/Lazarus_Database_Tutorial/ja

例えばフォームにボタンを張り付けただけのような単純なものはexe1本で配布可能です
サイズが巨大なのでstripで小さくしてから配布した方がいい
0363デフォルトの名無しさん2013/09/25(水) 13:35:47.86
>>362
ご忠告ありがとう御座います、問題が出れば当然自分で解決しますよ、
質問した趣旨は問題を既に経験した人に
「こんな事があったよ」と言う意見を出して頂ければと言う事です
0365デフォルトの名無しさん2013/09/25(水) 15:25:30.62
初心者はマルチプラットフォームを意識すると混乱しがちだから
Windows専用にするのがよいと思う
0366デフォルトの名無しさん2013/09/25(水) 16:44:10.39
Win8とMSIMEの組み合わせ固有の問題かも知れないが
日本語を入力しようとすると高確率でフリーズする
0367デフォルトの名無しさん2013/09/25(水) 17:04:35.95
IMEのON/OFFはこれでどうだろうか。Delphi3の頃のものだけど。
Unit MyLib;
Interface
uses
WinTypes, WinProcs, Dialogs, sysUtils, Imm, Forms, StrUtils, Classes;

procedure KanjiOn(Handle : THandle);
procedure KanjiOff(Handle : THandle);

implementation

procedure KanjiOn(Handle : THandle);
var
imc : HIMC;
begin
imc := ImmGetContext(Handle);
ImmSetOpenStatus(imc,true);
ImmReleaseContext(Handle, imc);
end;

procedure KanjiOff(Handle : THandle);
var
imc : HIMC;
begin
imc := ImmGetContext(Handle);
ImmSetOpenStatus(imc,false);
ImmReleaseContext(Handle, imc);
end;

end.
0368デフォルトの名無しさん2013/09/25(水) 19:52:36.55
本家に実装してもらったら良いように思うが
マルチプラットフォーム前提だから実装できないのかね
0369デフォルトの名無しさん2013/09/26(木) 04:37:10.55
>業務用だったら一番の問題はIMEのON/OFFの制御かな

まだそうなの? FireMonkey、IME 管理出来ないけど業務で使えるって言う人はいるぞ
0373デフォルトの名無しさん2013/09/27(金) 16:37:58.45
我が家の環境だとデバッグで実行するとフリーズして動かなくなる事がある
ブルー画面に落ちるわけでもないがタスクマネージャーも出せない
[CTRL][ALT][DEL]も効かない

因みにWin8(64bit)にてLazarus 1.1.99pre
0376デフォルトの名無しさん2013/09/30(月) 00:48:31.15
ちょいちょいLazarusで業務システム作ってるよ、
業務システムに多いレポートはPowerPDFを使ってます(Lazarus版の方ね)
フリーのIDEだとLazarusはダントツで高性能
0377デフォルトの名無しさん2013/09/30(月) 11:45:59.62
高性能でも若いプログラマはpascalわからないし
webアプリがメーンだから確実に沈む船だ
0380デフォルトの名無しさん2013/10/01(火) 15:48:50.34
日本語がどマイナーな言語なんだから
日本人のプログラム言語もどマイナー言語でいいのだよ
0383デフォルトの名無しさん2013/10/02(水) 11:07:33.08
>>381
lclでサポートされてないのがあるから64bit版はまだ辞めた方がいいよ
03843812013/10/02(水) 12:51:52.15
>>383
なるほど
ありがとう御座います
0385デフォルトの名無しさん2013/10/02(水) 14:50:29.79
>>373
GDB Debuggerかな?うちでもフリーズするからnoneにしてある
ブレークポイントとか使えなくて不便だけど仕方ない
03873852013/10/02(水) 18:48:29.89
>>386
俺は安定版だけど
GDB onでデバッグしてるとsavedialogとか開くと同時にフリーズする事がある
原因調べたけど再現性もないし環境の違いによる問題かも知れない
0388デフォルトの名無しさん2013/10/02(水) 19:12:18.92
俺は1.1SVNや1.3SVNだけどデバッグしてて落ちたことはないな。
自分のプログラミングミス以外でだが。
0389デフォルトの名無しさん2013/10/02(水) 22:36:22.03
ファイルダイアログでフリーズするのってアンチウイルスソフトではあるまいか。
avast使っててなった事があるわ
プロジェクトファイルのパスをウイルスチェックから除外してみ
0391デフォルトの名無しさん2013/10/03(木) 10:43:20.60
Lazarusって、Vistaの新しいダイアログ(TaskDialogとかIFileDialog)に
対応してるの?
0392デフォルトの名無しさん2013/10/03(木) 11:23:46.08
適当なバージョンの VCL ソースをパクれば使えるよ。
基本、FPC/Lazarus はそいうもんだ
0394デフォルトの名無しさん2013/10/03(木) 15:55:16.89
「できない」か、じゃなくて「してる」か、を聞いてるようにしか見えないけど
0395デフォルトの名無しさん2013/10/03(木) 16:43:51.72
つまり「LCLを使うだけで素敵なダイアログで表示できますか?」という質問だということね。
エスパー乙。
0397デフォルトの名無しさん2013/10/03(木) 17:49:57.69
LazarusのLCLは基本VCLのソースをパクってるライセンス違反の塊ってこと?
だとすれば、つかえねーな
0398デフォルトの名無しさん2013/10/04(金) 03:05:08.29
Kylix の時に RTL/CLX のソースコードが GPL 化した。
という判断で丸パクリしたのが大本。
0402デフォルトの名無しさん2013/10/13(日) 22:16:16.16
同じプロジェクト内のフォームAを継承して
フォームB、フォームCを作ろうとしていますが
デザイン時にフォームAを編集しても
フォームBやCに変更内容が一切反映されません
実行してみるとフォームAの内容が継承されているのですが
デザイン時に何かと不便なのでデザイン時にも
継承元のフォームの内容を表示させるには
どのようにすれば良いのでしょうか?
04034022013/10/13(日) 22:40:13.88
継承先のフォームを一度閉じて
エディタから[F12]でフォームを再表示させたら反映されました

毎回一旦閉じないと反映されないのですかね、
任意のキーで反映されるか自動的にやってくれたら良いのですが
そこまで面倒でもないので毎回一旦閉じる事にします
お騒がせしました
0404デフォルトの名無しさん2013/10/26(土) 14:50:23.16
Android用のプログラム書いてみようかと思うんだけど
普通に動くのかな?作ってる人いる?
0407デフォルトの名無しさん2013/11/04(月) 19:55:06.54
>>405
Lazarusでクロスコンパイルする話だろ
スレ違いなわけねーだろ
0408デフォルトの名無しさん2013/11/27(水) 14:45:36.30
レポートコンポーネントが無いのが辛いよな
0409デフォルトの名無しさん2013/12/03(火) 08:58:59.12
可変になる印刷命令部をスクリプトで外に出せば必要十分と
世界が気づいちゃったしな
0412デフォルトの名無しさん2014/01/02(木) 19:19:06.64
>>409
どういう処理?
HTML+CSSを作るってこと?
0414デフォルトの名無しさん2014/01/04(土) 19:22:23.91
1.0.14にアップしたら TPQConnectionがなくなったお(´・ω・`)
0415デフォルトの名無しさん2014/01/04(土) 19:24:35.88
64bit版だったのかな?ダウンロードして再インスコしてみる(´・ω・`)
0417デフォルトの名無しさん2014/01/04(土) 23:30:57.81
なんか
Windows7 64bit版でLazarus 32bit版動かしてたら
デバッガがまともに動かないから憤慨していたら
XP互換モードで結構安定して動く様になったから驚き

ただ、エディタでタブのインデントが3文字だったり2文字だったり8文字だったりするのが嫌。何これ。
0418デフォルトの名無しさん2014/01/05(日) 13:24:34.26
>>417
メニューの「ツール」 -> 「オプション」
「エディタ」ツリーの中の「スマートタブ」チェックをOFFにする
0420デフォルトの名無しさん2014/02/02(日) 22:29:15.38
ActiveXは使えないの?
0423デフォルトの名無しさん2014/02/05(水) 23:27:38.88
Delphi資産が使える。
0434デフォルトの名無しさん2014/02/11(火) 13:58:18.78
432の中ではそうなんだろう
軽く読んだだけでもVCLそのままのところは普通に見つかるけどなw
0439デフォルトの名無しさん2014/02/12(水) 15:56:50.16
>>435
MLでLazarusの中の人が権利関係は完全にクリアとは言えないと自分で言ってるけどね
当たり前だけど膨大なソースの個々の権利関係を確認するのは大変な作業で、
向こうにはそれを全部確認できるような人的リソースが無いわけ

ReactOSみたいに人数の多いプロジェクトですら開発ストップして調査に2年以上かかってるのに
調査らしき調査を今まで一度も公に行ったことがないのにどうしてそんなことが言える?
そんな状態では具体的に指摘するまでもないでしょ
0441デフォルトの名無しさん2014/02/13(木) 07:43:43.42
>>439
具体的に指摘できないと裁判では勝てないよ。
権利侵害と主張する側に立証責任があるわけだしw
0442デフォルトの名無しさん2014/02/13(木) 07:45:08.76
立証もできないのに貶すだけなら
黒子のバスケの作者を脅してた犯人と同じ
0444デフォルトの名無しさん2014/02/13(木) 15:29:01.01
でもそもそもエンバカがLCL同梱してるでしょ?今となっては実質公認なのでは?
0448デフォルトの名無しさん2014/02/20(木) 18:56:07.59
Win7 64bitに1.0.14入れてみたけどデバッガの調子が悪いね
スレ読んで互換性をXPにしたが変化なしだった
デバッガ(None)では使いにくすぎる
何か他に方法はないものか
04494482014/02/20(木) 22:22:45.10
Forum見てきたけどCOMDO Firewallが原因みたいだね
確かにCOMDO Firewallを使ってたわ
もっともDefense+は切ってるからスレの指定のように登録しても意味ないんで解決はしなかったわ
04504482014/02/20(木) 22:59:42.81
Lazarus例外を通知のチェックボックスを外したらまだ使えるレベルになったわ
もう少し遊んでみる!
0452デフォルトの名無しさん2014/03/11(火) 23:59:39.35ID:gqoLPWRY
LazarusにはレポートコンポーネントLazReportが標準で用意されている。
中身はFastReports社のFreeReport。

インストール方法
1) メニューの[パッケージ]を選択
2) [パッケージのインストールもしくはアンインストール]を選択
3) [インストール可能]にある"lazreport 0.9.9"をダブルクリック
4) [保存してIDEを再構築]をクリック
0455デフォルトの名無しさん2014/03/29(土) 14:54:23.66ID:5xBaGNm3
いや、古いレポートだな
0457デフォルトの名無しさん2014/04/26(土) 10:43:08.43ID:lfcN6A1m
早いな
0458デフォルトの名無しさん2014/04/26(土) 12:50:57.74ID:L7zgrAvH
お、おう
0459デフォルトの名無しさん2014/04/26(土) 12:54:37.07ID:L7zgrAvH
お、おう
0465デフォルトの名無しさん2014/05/07(水) 09:01:39.75ID:Qm0scrKc
laez(^e)r^es

発音記号
 aeは合体したアレ
 ^eは上下反転

音声を聞いた限りでは、ラーザラス

#恐らくエスペラント語発案者の氏名から取ったんだね
0466デフォルトの名無しさん2014/05/07(水) 14:57:14.44ID:b9tRRKAQ
Lazarusという単語を英語読みした際の一般的なカタカナ表記はラザラス、もしくはラザルス
だけど名前の由来が聖書だと公式が言ってるんで、そっちの一般的な日本語訳に倣うと
日本語転記する際はラザロとするのが正しいような気もする
一応付記しておくとエスペラント語発案者の名前とは何の関連もない
04674622014/05/13(火) 21:43:04.44ID:TpY9OyHo
>>463>>466
インターネット使えない田舎者なんで(いやぁ、イマドキ^^;)、久しぶりに都会に来たついでに
アクセスしたらご親切に回答ありがとうございます。
英語読みでレイザラスにならないんだね。
どうも英語は苦手じゃ。

どこかで聞いた話では、昔は英語もつづりと読み方は同じモノだったそう。
発音が変わるとつづりも変化していった。
ところが、活字が発明されてから、読み方が変わっても、つづりがそのままということに
なって、今に至っているらしいですね。
0468デフォルトの名無しさん2014/05/16(金) 16:08:29.92ID:kVYOlWNw
Linux でスマートリンクにしたら IDE から実行できない。なぜじゃ?
0469デフォルトの名無しさん2014/05/16(金) 20:55:52.61ID:G6r1AibC
初めて入れてみた。
いままでDelphi3(製品版)とDelphi6(試用版)しか使っていなかったから、
テストとしてしばらく使っていこうかと思う。

文字列の処理あたりに注意しなければいけないんだっけ?
0472デフォルトの名無しさん2014/05/22(木) 15:57:25.86ID:b+5XSlVp
私はeggpadというフロチャート的なソフトでLazarusを知った
ちょっと感動した
0473デフォルトの名無しさん2014/05/22(木) 18:40:45.05ID:NqVvttHr
FPCのガベージコレクション?関係ってどうなってんの?

というのもオープンソースの某Roguelikeゲームで
ときどき停止世界するからたぶんGCだろうと思って
0474デフォルトの名無しさん2014/05/22(木) 18:43:35.22ID:b8lwZlJ1
GCなんて基本的には無いよ。
自力でそれっぽいのを実装してる人はいるみたいだけど。
04754732014/05/22(木) 20:43:20.21ID:NqVvttHr
そうなの?
じゃBoostみたいなデファクトスタンダードもないっぽいね
0476デフォルトの名無しさん2014/05/25(日) 12:40:01.49ID:+S3txPSA
FPCのガベコレって
ちょっと前のDelphi同様
Interfaceで実装するもんじゃないのかね多分

俺は使ったことないけど
0477デフォルトの名無しさん2014/05/25(日) 12:43:14.57ID:+S3txPSA
ああ一応、Interfaceって、ヘッダ部の意味のInterfaceじゃなくて、

ttp://wiki.lazarus.freepascal.org/How_To_Use_Interfaces

こっちの方。
0478デフォルトの名無しさん2014/05/25(日) 20:43:55.92ID:2b16o2Ia
強いて言えば文字列はコンパイラが自動解放してくれるな
厳密なGCじゃないけど
ARCに近い
0484デフォルトの名無しさん2014/07/17(木) 17:25:56.79ID:8FHhgAfd
古いソースのファイルを大規模修正無しでちょっといじりたい時とか?
0485デフォルトの名無しさん2014/07/20(日) 15:22:19.08ID:PZ0IvJOz
Lazarus 初めて使ってみたけど、いいねえ。
Linux上でDelphi とほとんど変わらない感覚で使える。
Thanks!
0486デフォルトの名無しさん2014/08/29(金) 07:44:44.47ID:Qzhy3Wx1
意外に頑張ってるな
ttps://www.openhub.net/p/compare?project_0=Lazarus&project_1=sharpdevelop&submit_1=Go
0487デフォルトの名無しさん2014/08/30(土) 17:40:55.59ID:CkpAc0AN
かなり前にDLしたけどまだ手を付けていない
VBみたいな感じなのかな
0489デフォルトの名無しさん2014/09/28(日) 13:55:53.57ID:jsmxvcO7
wineでいつのまにかdelphi6がインストールできるようになっていた。
DBのサンプルまで動いてしまった。これで、lazarusで作り直す意味が
ほとんどなくなってしまった。
0490デフォルトの名無しさん2014/09/28(日) 16:17:40.87ID:nD5Yu8m1
Wine なんて (いろんな意味で) 不安定なものより、Lazarus で Linux ネイティブに作り直しておいた方が
いいんじゃないかと思う、Windows から Linux に転向した俺の意見。
とりあえず Linux で動くことが必要なだけというなら Wine でも良かろうね。
0491デフォルトの名無しさん2014/09/28(日) 22:26:38.47ID:S3eL/yeK
Wineは「動いたらラッキー」くらいの気持ちで付き合うのがよろし。
あんまり期待するとイヤンなっちゃう
0493デフォルトの名無しさん2014/10/25(土) 17:24:02.78ID:pQQN4Qrh
Windows版のLazarusで、たとえば
バージョン0.X.Xまでは作ったEXEが9x系でも動作する、
バージョン1.X.XからはVista以降じゃないと動かないEXEになる、
みたいな情報がまとめられてる所ってない?
0495デフォルトの名無しさん2014/11/07(金) 18:59:06.17ID:N/pn/Emg
Pascal初心者です。readlnの使い方について質問です。
lazarusのバージョンは1.2.6で、free pascalは同梱の2.6.4です。

program readln;
var
s: String;
begin
repeat
write('終了しますか? [Y]');
Readln(s);
until s='Y';
end.

というプログラムを書いたところ

C:\testfiles>fpc readln.pas
Free Pascal Compiler version 2.6.4 [2014/10/11] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling readln.pas
readln.pas(7,10) Fatal: Syntax error, "." expected but "(" found
Fatal: Compilation aborted
Error: C:\lazarus\fpc\2.6.4\bin\i386-win32\ppc386.exe returned an error exitcode
(normal if you did not specify a source file to be compiled)

というコンパイルエラーが出ました。どうしたら解決するのでしょうか。
0496デフォルトの名無しさん2014/11/07(金) 19:32:07.05ID:TOsxLUmk
答えでなくて申し訳ないんだけど
Lazarusでコマンドラインプログラムから始める必要ってある?
0497デフォルトの名無しさん2014/11/07(金) 19:55:39.57ID:N/pn/Emg
MessageBoxプロシージャの使い方も分かってません…

unit1.pas(35,16) Error: Identifier not found "MessageBox"

とかいうコンパイルエラーが出て良く分からんのです…Pascal(ていうかLazarus?)ムズカシス


http://wiki.lazarus.freepascal.org/Dialog_Examples/ja
http://wiki.freepascal.org/Dialog_Examples

あたりを見ても解決方法良く分からんのです…
Cでいうincludeみたいなのが無いっぽいかなって、推測は出来るんですけどね
0499デフォルトの名無しさん2014/11/07(金) 20:26:25.94ID:N/pn/Emg
>>498
にゃる…やってみたら出来ました。
なんとも単純なことだったのですね。

ご教示ありがとうございました。
0500デフォルトの名無しさん2014/11/07(金) 20:56:09.95ID:N/pn/Emg
>>497
自力解決できました。

TEditのTextプロパティの型がTTranslateStringのところ、PCharにキャスト、というか、
メモリを確保してStrPCopyしてあげないと駄目とか、まあいくつか落とし穴はありましたが、
どうにか解決したっぽいです。

用語法に不正確なところがあったら指摘してください。なにぶん今日初めてLazarusに触れたので。
というかPascal処理系自体、今日初めて触ったのでした。


書いたコードは下のようなかんじ。

procedure TForm1.Button1Click(Sender: TObject);
var p1: PChar;
begin
GetMem(p1, length(Edit1.Text) + 1);
StrPCopy(p1, Edit1.Text);
Application.Messagebox(p1,'',0);
end;
0501デフォルトの名無しさん2014/11/07(金) 21:04:15.36ID:N/pn/Emg
ひょっとして、

Application.Messagebox(p1,'',0);

の次の処理で

Freemem(p1);

と書かないと、メモリはずっと解放されないんでしょうか…?

それとも自動でGCみたいなのが機能するのでしょうか。
あるいは、スコープから外れる段階で、自動的にfreememするようにコンパイルされているのでしょうか。
0502デフォルトの名無しさん2014/11/07(金) 21:16:17.88ID:LTQ89XEu
解放されないままじゃ

というか確保しなくてもキャストしたらいいんじゃない
Application.MessageBox(PChar(Edit1.Text), '', 0);
0503デフォルトの名無しさん2014/11/07(金) 22:39:51.91ID:N/pn/Emg
>>502
およ…そんな方法が…
サンクス

もっと色々勉強して頑張ってみますね
アホみたいに初心者じみた質問をするかもですが…
(家の何処かに古いDelphiの本が積ん読になってたかも)
0504デフォルトの名無しさん2014/11/08(土) 08:03:23.71ID:5Ishg7v7
>>503
伝統的PascalならともかくDelphiで拡張されたPascalは
Cの便利な機能を色々取り入れてるから
慣れるとCより開発効率よいよ。がんがれ。
0505デフォルトの名無しさん2014/11/08(土) 12:23:06.49ID:CHNK9+z4
>>504
ありがとうございます。
率直に嬉しいです。

2chというと、罵り合いとか「スレチ出てけ」とか、殺伐とした所がすごく多い印象なんですけど
色々と独力で調べつつ、分からないことがあったらまた質問に来るかもですが…。

チュートリアルとか型の仕様とかも含め、初歩的なところを公式wikiなどを見て試行錯誤してみますね。
「…書庫のすみっこにDelphi 5の本があったけど、15年前の本だった…型も色々違うっぽい…int64とかCurrencyって何処?」って現状ですけどね。
0506デフォルトの名無しさん2014/11/09(日) 08:33:40.35ID:d82p4gTV
>>505
個人的には他人のコードを解析するのが一番勉強になるな。
PeaZipとかBeer Media Server とかソース公開されてるLazarus製のソフト探すのもいいかも。
0507デフォルトの名無しさん2014/11/09(日) 11:17:05.69ID:NZT+2maB
個人的には他人のC++で書かれたソフトのPascalへの移植が一番勉強になったわ
0509デフォルトの名無しさん2014/11/09(日) 13:50:11.47ID:NJb43gPQ
>>495 です。実践的な御助言の数々、感謝します。
ちまたにある、ソース公開されているソフトをいくつか当たってみますね。

個人的には、画像ファイルに矩形選択して、その部分を白で塗りつぶすだけのシンプルなソフトを組みたいのですが
分からないことだらけだしGIMPは大げさだしと悩んでいた所なので、そういう「自分の必要なものを作る」でも良いのかな…?

何にせよ、もうちょっと試行錯誤してみます。
0510デフォルトの名無しさん2014/11/22(土) 06:32:38.76ID:3uTdSMFw
>>495 です。
あれから時間を見つけては色々チョコチョコとFree Pascalでコード書いてました。

調べたら正規表現のライブラリもあるようで、下手にスクリプト言語をいじるより便利かも…?
windows環境にPerlやruby入れても良いんでしょうけどね(なおrubyは未経験者)。


なおネットブック(Windows7/8は正直ムリ)にはLubuntuを入れてあるのですが
何だかんだで結局公式debパッケージのFree PascalとLazarusを入れました。
公式のUbuntu系リポジトリからのインストールもしてみたのですが、若干バージョンが古かったので。

同じ処理をCとrubyとFree Pascalで書き比べるのも面白いかも…?
Linuxならglibがあるので、Cでも文字列操作も楽ちん…かな(リンクの仕方が分かってないけど)
0515デフォルトの名無しさん2015/03/04(水) 23:25:39.33ID:bG8W9Ean
なんか今開発中のver2.7系って結構最適化良いみたいじゃん
ビルドするのめんどうそうなので正式リリースでインストーラー
できたら呼んでくれ
いつ頃リリース予定かわかる?
0516デフォルトの名無しさん2015/03/05(木) 07:34:30.55ID:UswqZPdV
FPCは人手不足らしいから正式リリースは相当先だと思う。
Lazarus trunc + FPC3.0.1 win32 のインストール用exeでよければ
すぐにアップできるよ
05175152015/03/05(木) 10:19:36.70ID:lS1tte0H
過疎からのまさかの返信ありがとうございます。
ありがたいのですが、お手数掛けますし64bitが目当てなので、
しばらくはDelphiで頑張って気長に待ちます。
0519デフォルトの名無しさん2015/07/03(金) 08:51:09.36ID:cjfEwBCe
lazarus 1.4 x64版なんだが
単にTMemo貼り付けただけのアプリケーションでも
日本語変換ソフトを起動すると例外吐いて落ちる・・・

なんかバグがある様子。
0521デフォルトの名無しさん2015/07/08(水) 18:18:12.09ID:BmqvdcZw
>>519
ATOK2015 (win7 x64)
先程32ビット版で試してみるとこっちは落ちない。

64ビット版で、他の日本語変換ソフトでは落ちないのかな?
0522デフォルトの名無しさん2015/07/08(水) 19:37:52.74ID:lrsKsWZT
imm32には一応対応してるけどTSF対応が不十分とかそんなんじゃないの?とかなにも考えずに思った
0524デフォルトの名無しさん2015/07/09(木) 23:10:19.65ID:wGqmpPGj
>>522, 523
MS IMEだと落ちないね。Googleは試してない。

前のバージョン(1.2.6)のLazarusでビルドしたものは大丈夫なんだよ。
これ誰かバグ報告して・・・
俺英語ある程度は読めても書くのは全く出来ないんで細かいニュアンスが伝えられない
0525デフォルトの名無しさん2015/07/10(金) 07:56:14.83ID:OWcP1Uic
ATOKとか外人がもってる可能性はとてつもなく低いから
パッチを上げるとかするのが現実的だと思うよ
0526デフォルトの名無しさん2015/07/10(金) 08:55:23.97ID:pMt0fGZG
javascriptで変換させてるgoogleは偉大だな
0527デフォルトの名無しさん2015/07/10(金) 09:50:27.09ID:OWcP1Uic
もっといえば、英語が苦手でも
具体的にソースコードを示せば伝わる。
プログラミングも苦手なら正座してじっと待つしかない。
0528デフォルトの名無しさん2015/07/10(金) 12:46:12.41ID:bM2M5Hwn
そんなん正座してても無理やろ
日本語でリクエスト書いて英訳・校正してくれと頼むくらいのものや

まあATOK側にクレーム上げるのが見込み高いんじゃないの
0530デフォルトの名無しさん2015/08/12(水) 23:09:53.16ID:TPClqQHe
arm-wiceじゃなくてarm-win32なfpcって作れるんかな
Windows IoT Coreで遊べるか気になる
0535デフォルトの名無しさん2015/10/17(土) 09:09:22.43ID:F7aipKyp
FPC3.0.0のUtf8Encode関数はバグが有りますね。
バグトラッカーには上がってるのにRC2でも何故か治ってない。
Utf8Encode使ってるParamStrUTF8などのLazUTF8系は全滅です。
0536デフォルトの名無しさん2015/10/23(金) 10:57:07.24ID:mDX2T3UD
win7 64

1.4.4(x64)にして見たんだが
ファイルを開くのダイアログでファイルやフォルダー上で右クリックすると落ちるのって前から?
あるいはこっちの環境ですかね?

別にダイアログ内でついでに名前変更とか変なことしなきゃ良い話ではあるんだが
※ちなみにF2キーで試したら名前変更は出来る模様
0537デフォルトの名無しさん2015/11/12(木) 17:58:47.74ID:HDLCqovq
TButtonの背景に色をつけたいと考えています。

http://wiki.lazarus.freepascal.org/TGradButton
を使えば色をつけることができそうですが、インストールの仕方がわかりません。
お手数ですが教えて下さい。


手元にあるDelphiはバージョンが古く、TButtonに対応してませんでした。
05385372015/11/12(木) 21:19:14.36ID:HDLCqovq
自己レス。
TGardButtonのインストールに成功しました。
すみません。
0542デフォルトの名無しさん2015/11/17(火) 20:20:20.59ID:QcDtMeEq
LazToApkでapkファイルができた方いますか。
ライオンのマークのprojectというタイマーアプリはできたのですが、自分で作ったもので動きません。
0546デフォルトの名無しさん2015/11/18(水) 19:39:31.21ID:F1m+KI1R
解析エラー
パッケージの解析中に問題が発生しました。
とでました
0548デフォルトの名無しさん2015/11/19(木) 10:34:58.30ID:cMXFkMpv
>>547
詳しいことはわからない
project.apkができて、その中にタイマーアプリがあるだけ。
そもそもLazToApkでは自作アプリは作れないのかな?

Lazarusでandroidを作れた方に、方法をお聞きしたいくらいです。
0550デフォルトの名無しさん2015/11/19(木) 16:17:33.39ID:cMXFkMpv
>>549
ありがとう
少し前にそのwikiのいくつか修正して、successになってapkファイルはできた。
でもインストールで引っかかって、本当にコンパイルできているのは疑問だったけど、できるようなのでもう一度環境を変えて挑戦してみます。
0551デフォルトの名無しさん2015/11/19(木) 16:33:05.27ID:u63+greG
so ファイル(WindowsでいうところのDLL)がきちんと作成されるかと
apkファイルがきちんと作成されるかは分けて考えたほうがいいよ。
apkファイルはzipファイル+αにすぎないものだし。
0553デフォルトの名無しさん2015/11/20(金) 14:23:09.55ID:LnAg0HCn
NAISTンゴωωωωωω
0554デフォルトの名無しさん2015/11/21(土) 07:29:27.27ID:odxrKHsY
TPanelかそれに代わるもので、Captionを2行にする方法はありませんか。
難しすぎて正規表現を扱うのは無理でした。
0555デフォルトの名無しさん2015/11/30(月) 09:54:05.89ID:+wOuIfgF
Pascal eXtended Library
ttp://www.afterwarp.net/products/pxl

作者はエンバカデロでFMのリーダーだった人みたい。期待大。

Tulip UI(ttp://tulip-ui.azurewebsites.net/)
をLazarusに移植する予定もあるらしい。
0556デフォルトの名無しさん2015/12/10(木) 02:50:32.38ID:nXgSTbbd
かなり初歩的な質問ですみません

Free Pascalで

Program LazMessage;
Uses Dialogs;
begin
ShowMessage ('これは Lazarus からのメッセージです')
end.

をコンパイルしようとしても
Identifier not found "ShowMessage"
などのエラーが出ます。
どうすればいいのでしょうか?
0557デフォルトの名無しさん2015/12/10(木) 04:05:02.57ID:MksR569H
コピペしたら動かなかった分かる

Lazarusがインストールされているか確かめる
コンソールアプリになってないか確かめる

このあたりじゃないかと思う
0559デフォルトの名無しさん2015/12/10(木) 11:35:07.41ID:Uyd42IiD
Linux の IDE 事情を見てみようと思っていくつかの特集ページ見てみたけど、
ことごとく Lazarus はハブられてて腹が立つ。
まー言語仕様も古臭いけどさー。
変数のスコープを縮めるような取り組みはないのかね。
0560デフォルトの名無しさん2015/12/10(木) 11:46:08.86ID:wwtNApqI
言語?
Pascalは古臭いけどDelphi言語?Object Pascal?は別に古臭くないと思うよ。
デレゲートとかむしろJavaの方が混乱してる感じだし。
無名関数とかクロージャーとかもそのうち実装されるだそうし。

変数スコープを縮めるってのは例えばforループ内でのみ有効なローカル変数が欲しいとかそういうこと?
0564デフォルトの名無しさん2015/12/10(木) 16:05:19.78ID:wwtNApqI
>>562
パスカル言語自体の入門なら、古いDelphi用の書籍を図書館で借りたり
古本屋でゲットすれば十分だと思うよ。
stringがUTF16でなくUTF8だというのさえ気をつければ
なんとかなると思うよ。

IDEの使い方の入門は、DelphiやVS C#などのIDE使ったことある人なら
適当に触ってるうちになんとかなると思うよ。
0565デフォルトの名無しさん2015/12/10(木) 16:13:28.25ID:wwtNApqI
>>563
修正無しでコンパイルはできないと思うよ。
でもC++から移植するよりは絶対楽だから勉強のつもりで移植してみるのはいいかもね。
他人のコードを見るのが何よりも勉強になるし。

ちなみに今からラザロで新規プロジェクト作るなら先日出たばかりの
Lazarus 1.6RC1 で作り始めたほうが絶対によいと思うよ。
FPC 3.0、特にコードページ文字列型にフル対応してるから。
0566デフォルトの名無しさん2015/12/10(木) 18:08:42.14ID:Uyd42IiD
>>560
ああ、古臭いは言い過ぎかもしれない。

> 変数スコープを縮めるってのは例えばforループ内でのみ有効なローカル変数が欲しいとかそういうこと?
そうそう、使う直前での定義とかそんなの。先頭に戻るのがめんどいような長い関数は書くなって思想かもしれないけど。
あと、最近はやり (?) の型推論とか。
0567デフォルトの名無しさん2015/12/10(木) 18:26:06.61ID:wwtNApqI
>>566
>そうそう、使う直前での定義とかそんなの。
確かにC++で取り入れられたときはうらやましかったけど、
今はエディタが発達して自動定義とかしちゃうからな〜
見込み薄かもね。
そういえばbegin 、end、then とか打つの面倒とかいう意見も昔はあったけど
エディタが自動入力しちゃう時代だしね〜

型推論はジェネリクス絡みでそのうちある程度はできるようになるだろうね。
まあスクリプト言語じゃないので、実行速度を犠牲にしてまではできない
という限界はあるだろうけど。RTTIみたいに、便利だけど組み込むと重くなる
みたいなのもあるから。
0568デフォルトの名無しさん2015/12/11(金) 07:39:54.62ID:5f66mx0p
>>567
> そういえばbegin 、end、then とか打つの面倒とかいう意見も昔はあったけど
自分は Shift + ホームポジションから離れたカッコを多用する C 系よりは アルファベットで begin end 書く方がいいな。
仕事ではどうしても C 系の言語が多いので慣れてしまったが。

型推論は、var で型を指定しておいて、.Create だけで生成できるとかが Pascal 的なような気がした。
0570デフォルトの名無しさん2016/01/06(水) 09:53:07.11ID:NFROdDVv
CustomDrawnをインストールし、ボタンなどを配置してみましたが、どれもコンパイルが通りません。
1.4.4、1.6RCもダメでgithubの最新版も通りませんでした。
OSはWindows7です。
カラーボタンを使いたいのでCustomDrawnが良いのですが、使えた方いますか。
0571デフォルトの名無しさん2016/01/06(水) 14:08:20.57ID:CjQqR9Km
確か最近修正があった気がするからtruncでないとだめかも。

>カラーボタンを使いたい
ほんとにそれだけの理由なら標準のウィジェットでもできるよ。
CustomDrawnだと日本語入力とかできないしデメリットのほうが多い気がする。
0572デフォルトの名無しさん2016/01/06(水) 15:40:56.45ID:NFROdDVv
>ほんとにそれだけの理由なら標準のウィジェットでもできるよ。
どのコンポーネントでできるの?

今のところCustomDrawnで日本語を使う予定がないので、英語でも良いんですけどね。。
0573デフォルトの名無しさん2016/01/06(水) 21:17:50.57ID:NFROdDVv
BGRA Controlでできたからこれでいいや。
ありがとう。
あとはCaptionを2行にする方法を考えねば。
TButtonでは2行にできたけどね。
0575デフォルトの名無しさん2016/01/07(木) 12:19:25.71ID:gX24XSHP
IDE は一つのウィンドウにして欲しいな。
複数開いてそれぞれのモニタにとかいうのが気軽にできん。
0578デフォルトの名無しさん2016/01/09(土) 19:57:11.08ID:fothuBCk
ドッキングで検索するとすぐに出てくるよ。
慣れたこともあるけどでもすぐに戻した。

だんだん、delphiよりも使いやすくなってきた。
0579デフォルトの名無しさん2016/01/14(木) 15:35:51.69ID:6X801Scf
laztoapkで教えて下さい。
Windowsでプログラムができあがってandroidでもと思い、laztoapkでAPKを作ったのですがタイマーアプリなってしまいます。
テンプレートから読んできているようなので、そこを変更しようと思いましたがわかりません。
どのファイルを修正したらよいでしょうか。
0581デフォルトの名無しさん2016/01/23(土) 20:47:52.62ID:D4qGQ1Np
androidの簡単なプログラムを作っています。
wikiを見ながらsoまでできたのですが、次にどうしたらいいのでしょうか。
見本のプロジェクトをいただけるとうれしいのですが。
0582デフォルトの名無しさん2016/01/24(日) 18:48:57.02ID:p6kDIgY3
apkを作る
0584デフォルトの名無しさん2016/01/25(月) 11:20:48.12ID:vXkDYhH7
というかsoできたならあとは言語関係ない
(Lazarus特有の問題はない)よね。
0587デフォルトの名無しさん2016/02/05(金) 20:11:14.14ID:KzMEKa8Y
やっとandroidにコンパイルできた。
javaの事はさっぱりわからんから、作れただけでもよしとするか。
TButtonの背景は、やっぱり色が付かないね。
0588デフォルトの名無しさん2016/02/06(土) 12:08:28.51ID:BlYk2woR
TButtonがWindowsのボタンコントロールを使用しているので
ボタンの色はWindowsが決定してしまうからどうにもならない
という問題だったキガス。
というわけで既出のとおりWindowsのボタンコントロールに依存しない
カスタムボタンを使用するしかない。
0590デフォルトの名無しさん2016/02/10(水) 14:34:11.58ID:MWnoFMqP
Lazarusでandroidの簡単なプログラムを作成しています。
動作を遅くするための遅延をかけたいのですが、Windowsにコンパイルすると正常に動くものの、androidではウエイトタイマーが働きません。
サンプルをネットから持ってきて試しましたが、全部動きませんでした。
簡単でいいので教えてください。
0592デフォルトの名無しさん2016/02/11(木) 12:33:39.96ID:YrAhwDVz
ダメだった。delayもダメ。
mmsystemも使えないし。
タイマーコンポーネントなしで書きたいんだけど、うまくいかない。
0594デフォルトの名無しさん2016/02/17(水) 12:13:38.47ID:YWa48D4x
うちではsleepで無問題だが。
unit単位で関数が重複してんじゃね?
0595デフォルトの名無しさん2016/02/20(土) 14:06:46.13ID:SSwzx6vZ
androidアプリで教えてください。
マルチタッチはできますか。あるボタンを押しながら、別のボタンを押す処理をしたいのです。

それからもう一つ、アプリ終了の処理でcloseやterminateでは終了できませんでした。できる方法がありましたら教えてください。
0596デフォルトの名無しさん2016/02/21(日) 21:40:45.15ID:3hIUa4lO
数枚の画像を埋め込んでパラパラ変えるようなプログラムを考えています。
JPG画像の埋め込み方を教えて下さい。
0597デフォルトの名無しさん2016/02/22(月) 09:15:50.74ID:s0/IzlKL
色々なやり方が考えられるが $R でリソースに取り込んで
LoadFro,Resourceとかで読み込むというのが簡単じゃね。
基本は同じだからDelphiの超初心者スレで聞いてみれ。
0598デフォルトの名無しさん2016/02/22(月) 12:55:01.70ID:k3buX2lD
>>597
ありがとう。
lrsエクスプローラで1つにまとめてできた。
delphiと微妙に違っていて苦労した。
0599デフォルトの名無しさん2016/02/25(木) 04:57:55.42ID:7sNDanuc
おいおいおいおい、いつの間にか1.6出てるじゃんよ。
書き込んでくれないから、気付くの遅れたよ。
0601デフォルトの名無しさん2016/02/29(月) 22:38:02.78ID:kP0lL60S
Laz 1.6.0 + FPC 3.3.0 を Windows にインストールしました。
FPC3 ではこれが通るのかと思っていたら動作しませんね。

var
s: UTF8String;
begin
s := '123あいうえお456';
ShowMessage(Copy(s, 5, 3));
end;


従来の
uses LazUTF8

ShowMessage(UTF8Copy(s, 5, 3));
は使えるけど。
0602デフォルトの名無しさん2016/03/01(火) 08:16:01.11ID:DN1WpGc2
Copy、Insert、Delete、Lengthなどの伝統的関数(手続)が
要素単位(ANSIやUTF8ではバイト単位、UTF16ではワード単位)を
基準にするというのは永久不滅かと。
06036012016/03/02(水) 21:07:51.79ID:sexlA1qQ
それはどうですかね。
引数に文字列リテラルか定数を渡せば期待する動作をしますが変数では駄目なのです。
0604デフォルトの名無しさん2016/03/02(水) 21:45:17.29ID:iifCqHnV
「通る」「動作しません」「使える」「期待する動作」「駄目」などの
曖昧な言葉が多くてよくわからんな。
少し整理して機械翻訳でもいいから英語にして本家のフォーラム
で質問すると中の人が返事をくれると思うよ。
0605デフォルトの名無しさん2016/03/03(木) 01:14:14.44ID:j+gb/hiZ
コンパイルのタイミングで、リテラルはAnsiStringとして評価、文字列定数はおそらく最適化によりAnsiStringにでもなったんじゃないの、なんとなくだけど。
0606デフォルトの名無しさん2016/03/03(木) 01:19:05.87ID:j+gb/hiZ
文字列定数、

const AAA = 'foo';

としてれば、最適化うんぬん関係なく、AnsiStringとして評価されそう。

一方、

const BBB: string = 'bar';

だと、変数と同じ結果になりそう。
(今手元に環境ないから試せない)
0608デフォルトの名無しさん2016/03/11(金) 18:06:14.35ID:kd7a12nS
Lamw: Lazarus Android Module Wizard
ttps://github.com/jmpessoa/lazandroidmodulewizard

既に使ってみた人いますか?
0609デフォルトの名無しさん2016/03/14(月) 10:19:13.12ID:h2+VI+P2
>>601
改めて試したけど、そもそもうちでは

var
s: UTF8String;
begin
s := '123あいうえお456';
ShowMessage(s);
end;

で「あいうえお」部分が文字化けする。
s: string;
にすると文字化けしない。
ShowMessageがUTF8Stringに対応してないんじゃあるまいか。
0610デフォルトの名無しさん2016/03/14(月) 10:21:34.75ID:h2+VI+P2
>>607
ShowMessage(IntToStr(StringCodePage('あいうえお')));
で0と表示されるからCP_NONEみたいだ。
0613デフォルトの名無しさん2016/03/31(木) 09:15:03.95ID:DT+Zx2Kz
>>601
UTF8String を使う場合は、ソースの先頭部付近に
{$codepage UTF8}
を加えるのがほぼ必須みたいです。
そして、copyはやはりコードページを意識しない
(要素単位固定、現在は1要素=1バイト)みたいです。
ですので s: string; とした場合と動作は変わらないみたいです。
0617デフォルトの名無しさん2016/04/11(月) 14:01:09.14ID:vm/+Ir/o
自分は Pascal 好きなんだけどね。
でも遊びくらいにしか使えないわなあ。
余計な苦労するだけだし。
0618デフォルトの名無しさん2016/04/11(月) 18:04:07.15ID:byY4yMu5
>>617
どういう苦労なの。
俺はVBなら出来るんだけどという奴に合うたびに閉口するんだけど。
参考に教えてちょうだい。
0619デフォルトの名無しさん2016/04/11(月) 23:08:16.24ID:vm/+Ir/o
>>618
ああ、ここ Linux の板じゃなかったな。
たいていサンプルがあるのって C じゃん?無理やり Pascal に書きなおすか、
なんとかしてドッキングさせたりとかそういうところ。
Windows は、最近はネイティブアプリを作ることがないな。
.NET 使うなら言語の違いは大して意味ないし。
0622デフォルトの名無しさん2016/04/13(水) 08:12:25.93ID:phkpqyMN
俺は逆にCをPascalに移植するの好きだけどな。
変にマニュアルとか読むよりも仕様がよくわかるし
何よりもPascalの便利さがわかる。
0624デフォルトの名無しさん2016/04/14(木) 08:09:53.69ID:PaNxRcDi
それはケースバイケースで、CでDLLを作るという手もあるよ。
いずれにせよCでできることはObjectPascalでもほぼできるわけで
慣れれば困るということはないよ。
僕の経験上で今までObjectPascalでできなかったのは
デバイスドライバ開発時のメモリアドレスの絶対指定ぐらいかな。
0625デフォルトの名無しさん2016/04/14(木) 10:14:23.22ID:J0RiNZuZ
Delphi3でデバイスドライバーを作ってる人見たが
VCと混合だったかな
うろおぼえ
0626デフォルトの名無しさん2016/04/23(土) 22:03:11.97ID:xOcN8gUA
ツールのDelphi Conversionで簡単なDelphiプロジェクトをLazarusに変換したんだけど
コンパイルしようとすると「プロジェクトにメインソースファイルがありません」って出ちゃう
どこをいじったらいいでしょう?
0629デフォルトの名無しさん2016/04/28(木) 18:14:24.74ID:5KpvszkH
>>626
コンバートで失敗はなかったけど、コンパイルする時に4つエラーが出た
lazarusにはない記述だから仕方ないけど
0631デフォルトの名無しさん2016/05/08(日) 13:18:08.88ID:hQ0WJbMm
Shift_JIS漢字を含む文字列をUTF-8文字列に変換したいのですが
AnsiToUtf8関数は見当違いですか?
試してみましたがうまくいきませんでした
0634デフォルトの名無しさん2016/05/08(日) 18:47:19.53ID:hQ0WJbMm
>>632
>>633
OSはWindows7 64Bitです
うまくいかないのは何かコンパイラ指示とか足りないのでしょうか
他にShift_JISからUTF-8に変換できる関数とかないでしょうか
0636デフォルトの名無しさん2016/05/08(日) 22:14:02.22ID:HqJeT4yF
15年ぶりぐらいでプログラミングを
Lazarus で復帰し、半年ほど前からさわってるけどこうやって変換してるよ。Ver1.6

ただしLConvertEncode Unitの半角カナの扱いにバグがありConverterEncode() で半角カナが消える。
全角とANSIなら問題ない。

LConvertEncodeのasiancodepagefunctions.inc のDBCSToUTF8() のソースコードを少し修正すればOk。



uses
LazUTF8Classes,LazUTF8,.....,LConvEncording;

中略

SL:=TStringList.Create;
try
LoadStringsFromFileUTF8(SL, filename);
for i := 0 to SL.Count - 1 do begin
if GuessEncoding(SL[i]) = 'cp932' then
Memo.Lines.Add(ConvertEncoding(SL[i], 'cp932', 'utf8')) // SJIS to UTF8コード変換
else
Memo.Lines.Add(SL[i]);
end;
finally
FreeAndNil(SL);
end;
0637デフォルトの名無しさん2016/05/08(日) 22:55:56.40ID:HqJeT4yF
>>636

C:\lazarus\components\lazutils\lconvencoding.pasのConvertEncoding(SL[i], 'cp932', 'utf8')で半角カナ が消える件
asiancodepagefunctions.inc の下記ルーチンがCP932 SJISの半角カナを正しくハンドリングできていない

function DBCSToUTF8(const s: string; CodeP: integer): string;
:
:
repeat
c := Src^;
Inc(Src);
if Ord(c) < 128 then begin
if (c=#0) and (Src-PChar(s)>=len) then break;
Dest^ := c;
Inc(Dest);
end
else begin
code := Byte(c) shl 8; <---- Ord(c) > $80 の時は無条件に2Byte文字にしているのがNG
c:=Src^;
if (c=#0) and (Src-PChar(s)>=len) then break;
code := code + Byte(c);
Inc(Src);
0638デフォルトの名無しさん2016/05/08(日) 23:00:44.78ID:HqJeT4yF
>>636 以下 修正したコードだけど、参考まで。
function DBCSToUTF8(const s: string; CodeP: integer): string;
:
const // 半角カナ 対応
HankakuKanaUTF8Code:array[$A1..$DF] of array[1..3] of Byte
=(($EF,$BD,$A1),($EF,$BD,$A2),($EF,$BD,$A3),($EF,$BD,$A4),($EF,$BD,$A5),($EF,$BD,$A6),($EF,$BD,$A7),($EF,$BD,$A8),
($EF,$BD,$A9),($EF,$BD,$AA),($EF,$BD,$AB),($EF,$BD,$AC),($EF,$BD,$AD),($EF,$BD,$AE),($EF,$BD,$AF),($EF,$BD,$B0),
($EF,$BD,$B1),($EF,$BD,$B2),($EF,$BD,$B3),($EF,$BD,$B4),($EF,$BD,$B5),($EF,$BD,$B6),($EF,$BD,$B7),($EF,$BD,$B8),
($EF,$BD,$B9),($EF,$BD,$BA),($EF,$BD,$BB),($EF,$BD,$BC),($EF,$BD,$BD),($EF,$BD,$BE),($EF,$BD,$BF),($EF,$BE,$80),
($EF,$BE,$81),($EF,$BE,$82),($EF,$BE,$83),($EF,$BE,$84),($EF,$BE,$85),($EF,$BE,$86),($EF,$BE,$87),($EF,$BE,$88),
($EF,$BE,$89),($EF,$BE,$8A),($EF,$BE,$8B),($EF,$BE,$8C),($EF,$BE,$8D),($EF,$BE,$8E),($EF,$BE,$8F),($EF,$BE,$90),
($EF,$BE,$91),($EF,$BE,$92),($EF,$BE,$93),($EF,$BE,$94),($EF,$BE,$95),($EF,$BE,$96),($EF,$BE,$97),($EF,$BE,$98),
($EF,$BE,$99),($EF,$BE,$9A),($EF,$BE,$9B),($EF,$BE,$9C),($EF,$BE,$9D),($EF,$BE,$9E),($EF,$BE,$9F));
// ここまで
begin
:
repeat
:
begin
if (c=#0) and (Src-PChar(s)>=len) then break;
Dest^ := c;
Inc(Dest);
end
else if (CodeP = 932) and (Ord(c) >= $A1) and (Ord(c) <= $DF) then begin // 半角カナ 対応
Dest^ := Char(HankakuKanaUTF8Code[Ord(c)][1]);
Inc(Dest);
Dest^ := Char(HankakuKanaUTF8Code[Ord(c)][2]);
Inc(Dest);
Dest^ := Char(HankakuKanaUTF8Code[Ord(c)][3]);
Inc(Dest);
end // ここまで
0640デフォルトの名無しさん2016/05/09(月) 21:59:01.22ID:df1MgNYQ
>>636
コードページを使うってことがまったく頭にありませんでした
DelphiならAnsiToUtf8ExとかUtf8ToAnsiExあたりが使えそうですがLazarusにはなさそうで…
>>635
Win32APIを探してみたらMultiByteToWideCharというのが使えそうですね
コードページはCP_OEMCPあたりでしょうか

WideCharからUTF-8はWideStringにしてStringに代入で変換できそうですね
このあたりを使ってコードを書いて見ます
0642デフォルトの名無しさん2016/05/10(火) 08:19:54.24ID:EV5/gRyu
>>640
あと1.6以降でのUTF16、UTF8の自動相互変換は思わぬところで嵌まることがあるので
1.4以前みたくUtf8EncodeやUtf8Decodeを噛ませておいたほうがいいよ
0643デフォルトの名無しさん2016/05/10(火) 17:28:34.34ID:juYdG8tQ
>>640
636だけど良い方法分かったらレポよろしく。
10数年前にDelphi 7を使ったのが最後だったんでLazarusで半角カナ混じりのSJISテキストファイル表示するのに試行錯誤したよ。
知らなかっただけかもしれないが当時はUnix がEUC主流でUTFなんて無かったような。
0644デフォルトの名無しさん2016/05/10(火) 19:02:26.62ID:CkL9FHEL
delphi7は、一応utf-8に変換する関数は用意されてるね。
基本面のみなので、サロゲートペアを適切に扱ってはくれないけど。
06456402016/05/10(火) 22:51:51.91ID:ZbVjwRdt
一応こんな感じで今のところうまくいっています

1.uses節にWindowsを追加

2.varはこんな感じ
var
 SJStr, U8Str: String;
 WStr: WideString;
 Wlen: Integer;

3.ShiftJIStoUTF8内
 WLen:=MultiByteToWideChar(CP_OEMCP,MB_PRECOMPOSED,PChar(SJStr),
      Length(SJStr),PWideChar(WStr),0);
 SetLength(WStr,WLen);
 MultiByteToWideChar(CP_OEMCP,MB_PRECOMPOSED,PChar(SJStr),
      Length(SJStr),PWideChar(WStr),WLen);
U8Str:=String(WStr);
//半角Spaceを全角Space ni置き換えています


SJStrはShift_JIS String
U8StrはUTF-8 String
APIを2回Callしているのは1回目で変換後のサイズを取得して2回目で実際に変換しているからです

API出力のUTF-16をPWideChar(array of WideChar)とかで受けて
String(PWideChar(…とかするとうまく変換してくれませんでした
(コンパイルは通るけど)
String(WideString(PWideChar(…なら変換してくれました
なので最初からAPIの出力はWideStringで受けています

しばらくこんな感じで使ってみて不具合が出たらまた考えて見ます
皆さんいろいろな助言をありがとうございました
0648デフォルトの名無しさん2016/05/11(水) 08:48:13.55ID:dFlNvgk/
難しく考え過ぎじゃない?
LazUTF8 か SetCodePage じゃだめなの?

procedure TForm1.Button1Click(Sender: TObject);
var
s, s1, s2: string;
sl: tstringlist;
begin
s:= 'ABCDEFGあいうえおアイウエオ';

s1:= UTF8ToWinCP(s);
Label1.Caption:= LazUTF8.WinCPToUTF8(s1);

s2:= s;
SetCodePage(RawByteString(s2), 932{SJIS}, true);
Label2.Caption:= LazUTF8.WinCPToUTF8(s2);
end;
0649デフォルトの名無しさん2016/05/11(水) 22:06:49.06ID:44k2tpxg
>>648
LazUTF8というのがまったくの初耳でした
WinCPToUTF8であっさりできてしまうんですね
ありがとうございます
0653デフォルトの名無しさん2016/05/28(土) 11:29:41.05ID:1CNQzrIS
SysUtilsのFileCreate,FileOpen,FileRead,FileWriteは使わないほうがいいですか?
Byteの動的配列をSetlengthしてFileReadに食わせたらFileReadはエラーが出ないけれど
それ以降の動的配列のアクセスすべてで例外が発生します。
0654デフォルトの名無しさん2016/05/28(土) 15:04:50.57ID:bhUf6De/
>>653
こういう質問のときはエラーになるコードも書いてよ
まぁ状況から察するには
×FileRead(FileHandle, a, Count)
○FileRead(FileHandle, a[0], Count)
0656デフォルトの名無しさん2016/05/29(日) 22:53:35.12ID:CgTmLBtG
自分で使う用にリネームツールを作ってたんだけど
もしかしてFileExistsとかRenameFileって2バイトコード対応してないのですかね?
06576562016/05/29(日) 23:05:42.58ID:CgTmLBtG
「Lazarusのだと」ってことね
念の為w
0658デフォルトの名無しさん2016/05/30(月) 10:19:18.03ID:CyoOVxjo
質問するならせめて用語くらいは正しく使おうよ。
2バイトコードがSJISのことだと仮定すると
(なぜならUTF8の日本語は3バイトなので)
Lazの文字コ−ドは標準がUTF8なのでUTF8-SJIS変換をかませる必要がある。
なお、Laz v1.6以降のFileExistsやRenameFileはUTF8にフル対応してる。
Laz v1.4以前は FileExistsUTF8 などを使う必要がある。
0661デフォルトの名無しさん2016/06/10(金) 20:01:04.17ID:sPlWs0BN
コンバートできるものとできないものがある。
さすがに修正することが多いですね。
0667デフォルトの名無しさん2016/07/02(土) 09:01:37.43ID:rae11cGA
WideStringではまってしまった

procedure TForm1.Button8Click(Sender: TObject);
var
str: string;
wstr: widestring;
begin
str:='stringテスト';
wstr:=widestring('stringテスト');
Label22.Caption:=IntToStr(Length(widestring(str))); //9と表示された
Label23.Caption:=IntToStr(Length(widestring(wstr))); //15と表示された
end;

label23は9と表示されてほしかったのに…
0669デフォルトの名無しさん2016/07/02(土) 14:12:28.25ID:RQTJ1Rgb
予想通りの答えだと思うけど
StringをWideStringでキャストしている意図がわからない
0670デフォルトの名無しさん2016/07/02(土) 16:23:02.94ID:rae11cGA
>StringをWideStringでキャストしている意図がわからない
バイト数でなく文字数を出すため

Delphi 6で試してみたところ
Length(widestring(str))
Length(widestring(wstr))
は両方とも9になった
Length('stringテスト')=12
Length(widestring('stringテスト'))=9
だった
0671デフォルトの名無しさん2016/07/02(土) 20:14:25.02ID:I09L8Xiz
WideString型の値をWideStringにキャストしたら文字数が9 -> 15になったって話か。

裏で走る組み込みの型変換の関数で変換元と先が同じ型かどうかのチェックをサボってるとかかな?
0672デフォルトの名無しさん2016/07/03(日) 10:24:08.28ID:0+vEtgzf
str:='stringテスト';
wstr1:='stringテスト'; //15
wstr2:=widestring('stringテスト'); //15
wstr3:=widestring(str); //9
wstr4:=widestring(wstr3); //9
だったから、リテラル→widestring が期待する動作じゃないな

const
str: string = 'stringテスト';
wstr: widestring = widestring(str);
をやってみたら、
ユニコードをAnsiStringにすることはコンパイル時にはできません
なぜなら実行時の文字コードを知らないからです
みたいなエラーが出た
widestringはansistringと同じ扱いなのか?
0673デフォルトの名無しさん2016/07/03(日) 11:25:02.28ID:qCpRmwfF
文字列系は1.6(FPC3.0)で大きく変わったので
まずはバージョンを書こうぜ
0674デフォルトの名無しさん2016/07/03(日) 11:28:25.67ID:qCpRmwfF
多分1.6を使ってるとして返事するけど、
1.6でも、WideString(=UnicodeUtring=UTF16)と
String(=UTF8)を相互に代入するときは1.4以前と同じく
UTF8Decode()やUTF8Encode()を噛ませたほうがいいよ。
理由は詳しくは書かないけど。
0675デフォルトの名無しさん2016/07/03(日) 12:50:48.37ID:CNMZpLOO
バージョンは1.6です

いろいろ試してみたけれどやはりUTF8Decodeが確実でした

あとなぜかWidestring(PChar())のキャストも9になります
Label1.Caption:=InttoStr(Length(Widestring('stringテスト')));//15
Label2.Caption:=InttoStr(Length(Widestring(String('stringテスト'))));//15
Label3.Caption:=InttoStr(Length(Widestring(PChar('stringテスト'))));//9
Label4.Caption:=InttoStr(Length(Widestring(PWideChar('stringテスト'))));//15
Label5.Caption:=inttostr(length(UTF8Decode('stringテスト')));//9
0676デフォルトの名無しさん2016/07/03(日) 13:27:23.79ID:qCpRmwfF
いずれにせよFPC3.0では
文字列のキャストはコードページ付き文字列の導入に伴って
よう分からんことになってるので
1.4以前のようにきちんと文字列型のコードページを把握しつつ
UTF8Decode UTF8Encode その他をきちんと使うのがおすすめ。

なお、UTF16のバイト長の取得は
i:=Length(UTF8Decode('あいうえお')) * 2;
でいいと思う。
0677デフォルトの名無しさん2016/07/05(火) 13:06:24.30ID:C9UYDhUV
気になって、ちょっと古いけどUnicode対応のDelphi XE5で試してみた
おかしな結果にならない模様

ttps://gist.github.com/anonymous/8636175cf9340234cfa452f492b074ee
0678デフォルトの名無しさん2016/07/06(水) 08:06:19.72ID:/9bisM4Q
文字列定数のコードページの初期値が違うので
違う結果になるのは当然。
文字列定数のコードページを同じにすれば同じ結果になるはず。
これ以上深入りしても無駄だと思うけど
0679デフォルトの名無しさん2016/08/25(木) 11:21:40.41ID:udEjBPPq
10年ぶりにDelphi 無償版リリース!

Delphi / C++Builder 10.1 Berlin Starter Edition が無料でダウンロード可能

注意事項
・無料ダウンロードは2016年8月22日から9月9日までの期間限定
・1回の登録/申請で1ライセンス入手可能
・1つのEメールアドレス/アカウントごとに1ライセンスのみ入手可

[Delphi 10.1 Berlin Starter Edition]
https://www.embarcadero.com/jp/products/delphi/starter/promotional-download

[C++Builder 10.1 Berlin Starter Edition]
https://www.embarcadero.com/jp/products/cbuilder/starter/promotional-download
0681デフォルトの名無しさん2016/08/25(木) 11:34:14.78ID:udEjBPPq
>>679
全部入力したのに[今すぐダウンロード]を押してもダウンロードが開始しない場合は、
Japanを他の国(例えばJamaica)を選択して、またJapanに戻せば、
[今すぐダウンロード]を押せるようになるぞ!
0682デフォルトの名無しさん2016/08/25(木) 11:40:07.60ID:2ugLHJjt
>>679 >>681
これはひどいwebフォームだな
テストくらいしてからリリース汁

firefoxだとフォームの項目が一つ少ないな
一番上の性のところでshift+tabを押すと
見えないフォームにフォーカス移動するので
適当にaとか文字打つとダウソ可能になる
0683デフォルトの名無しさん2016/08/25(木) 14:00:20.22ID:udEjBPPq
>>679 >>681
無料Delphiをダウンロードできない場合は、
キャッシュをクリアしてみると良いかもしれない。

ChromeやFireFoxならシークレットウィンドウで開く。
0684デフォルトの名無しさん2016/08/25(木) 14:42:11.47ID:9T4YP2MK
飛び込みでスマソ。Lazarusをダウンロードして使ってみたが、StringGridの最上部の固定行に漢字を入力すると漢字が縦書きで90度左に寝転んでしまう?

可動セルはフォントをメイリオで指定してうまくいった。 固定行のフォントがメイリオなどの横書き可のフォントが設定されていないためだと思うが、解決方法がわかる人教えてください
0690デフォルトの名無しさん2016/08/27(土) 07:33:07.36ID:QNa4gh8r
>>684
プロパティのColumsで増やすと個別のフォントになってしまう
Colcountで増やせばStringgrid全体でひとつのフォントになる
0691デフォルトの名無しさん2016/08/27(土) 07:55:16.20ID:QNa4gh8r
どうしてもColumsで増やしたければオブジェクトインスペクタで該当するTgridcolumnをクリックして
Titleプロパティのフォントを変えていくしかない
0693デフォルトの名無しさん2016/08/27(土) 10:04:00.85ID:scRVQuYc
>>690
さんくす

StringGrid1

Colcount =5
FixedCols =0
FixedRows =1
Font = メイリオのレギュラー

でしているが、最上部の固定行だけは、漢字が縦書きで左90度で寝転んでしまう?
StringGridの2行目以降は漢字の横書きで正常です。
0696デフォルトの名無しさん2016/08/27(土) 11:39:39.72ID:scRVQuYc
>>695
私の環境では、@MS Pゴシックなどの@付きのフォントを設定すると「サンプル」フォントのプレビューでで漢字横書きになってしまいますし、
2行目以降可動セルの漢字も縦書きになってしまします。

いろいろフォントを変えて試したのですが、「メイリオ」「游ゴシック」「游明朝」が2行目以降の可動セルで漢字の横書きが可能かと思われます。

Lazarusは最新バージョンの1.6です。

また、1行目の固定セルと2行目以降の可動セルのフォントを別々に設定するとは、オブジェクトインスペクタでは出来ないように思います。
0697デフォルトの名無しさん2016/08/27(土) 12:58:23.77ID:scRVQuYc
訂正
フォントのプレビューでで漢字横書き → フォントのプレビューでで漢字縦書き
0698デフォルトの名無しさん2016/08/27(土) 21:37:04.16ID:QNa4gh8r
>>696
自分で書いたプログラム?
OnDrawCellイベントとか使ってない?

再現する短いプログラムとかスクリーンショットとかUPしてくれないとどうも状況がつかめないんだけど…
0699デフォルトの名無しさん2016/08/27(土) 22:19:06.01ID:scRVQuYc
>>698
StringGridのイベントは使ってないのですが、新規にStringGridを作ってみたら、最上部の固定行の横書きが成功しました。
Delphiで作っていたプログラムを移植しようしていたのですが、何かが悪さしているようです。

これが、うまくいっていない画像です。
http://s1.gazo.cc/up/207658.jpg

いろいろ有難うございます。解決の糸口が掴めそうです。
0700デフォルトの名無しさん2016/08/27(土) 22:27:23.06ID:scRVQuYc
>>699 訂正

新規にStringGridを作ってみたら

→ 新規にStringGridだけのプログラムを作ってみたら
0705デフォルトの名無しさん2016/08/29(月) 12:56:21.31ID:24WsJT8K
まだインストールしてないけど
インストールキーで機能が決まるんじゃないかな
0708デフォルトの名無しさん2016/08/30(火) 08:40:18.90ID:GLkfzxek
Windows.Beep(p1, p2);
これ使えないのか? どうして?

Buttonが今日は、真っ白の文字無しで表示? 昨日までは何ともなかったのに?

分かる方教えて?
0714sage2016/10/26(水) 16:16:30.40ID:DEpqtoKx
こんちには
lazarusのwindows32bit版1.6を使っているのですが
1.codeeditorでマウスクリックすると
その位置までにスペースとかを補って文字入力カーソルを位置設定してまう機能をoffにしたい
2.タブで半角スペース4文字分インデントしたい(pascalは2文字分が伝統?)
3.行末でenterすると次の行が同じ数だけタブで補われて入力開始が出来る様にしたい

tool-option-editor
辺りにありそうな気がするのですが
適当にクリックして設定しても1.2.3.みたいに上手く設定出来ません
何処を設定すれば出来るのか教えてもらえませんでしょうか?
0715デフォルトの名無しさん2016/10/28(金) 09:14:54.09ID:nEGgz1cN
1.ツール→オプション→エディタ→一般→行末までスクロールをオフ
2.ツール→オプション→エディタ→一般→タブとインデント→タブ幅

3.は自動インデントの場合はタブにしたいの?
0716デフォルトの名無しさん2016/10/28(金) 10:04:32.48ID:ryzUF+6b
今月のTips

case 文字列型 of
文字列定数1: ほにゃらら;
文字列定数2: ほにゃらら;
文字列定数3: ほにゃらら;
end

が最新のLazarus(FPC3.0)でできるようになったって知ってた?
0717デフォルトの名無しさん2016/11/01(火) 17:54:12.82ID:KDUKmdhn
>715さんどうもです
1.2.は言われた方法で上手くいきました

3.は715さんの言われた通りです
tab tab readln();
みたいに入力した後にenterを押した後
次の行が
tab tab 入力カーソル
みたいな状態にしたい
という事です
今はenter後の次の行が
space space space space space space space space 入力カーソル
みたいにスペースで補われてしまいます
新規行が常にタブで段落を構成するか
前の行に倣うようにしたい
という感じです

それとコンパイルエラーが出た時に表示されるmessagebox欄で
4.表示されるコンパイルエラー説明文字が切れて表示されてしまうのですが
これは環境によるみたいな感じなのでしょうか?
IDE自体は日本語設定に切り替えてフォントはMS 明朝にしているのでその辺りで上手くいって無いのでしょうか?
5.コンパイルエラー内容が切れて見えないので
エラー表示箇所にマウスカーソルを当ててツールチップでエラー内容を見るのですが
表示時間が短いので長くしたいのですが
何処かに設定が有りますか?

お願いします。
0719デフォルトの名無しさん2016/11/02(水) 12:39:25.71ID:/RgH4X0s
3.って「タブをスペースへ」のチェック外さないかぎり無理っぽいよな
タブキー入力したやつは全部タブ文字になるんだろうけど
0723デフォルトの名無しさん2016/12/09(金) 23:18:05.09ID:QlDhCXw4
NewPascalがいい感じ
FreePascal/Lazarusの新機能をいち早く使えてDelphi互換を重視しているから移行もしやすい
http://newpascal.org/
0725デフォルトの名無しさん2016/12/10(土) 11:44:00.83ID:qQjpy7Dv
yes you can
0727デフォルトの名無しさん2016/12/11(日) 06:08:20.93ID:RsXQTiEs
「新機能をいち早く使えて」という部分は需要あるの?
truncを自己ビルドすらできない人が不安定な開発中版を使うというのは妙な気がするのだが・・・
0728デフォルトの名無しさん2016/12/11(日) 06:55:00.55ID:MSmxsFhD
lazarusってバージョンアップするとき、コンポーネントを再インストールしなければならないのですか?
0729デフォルトの名無しさん2016/12/11(日) 14:57:03.52ID:l/ygiOJy
>>727
一応検証してから採用しているんだろう
実績ある組織・人が開発に携わっているし
ジェネリクスがDelphi互換のものを独自実装しているところはありがたい
とはいえ人の褌なのはいかがなものかとは思う
0730デフォルトの名無しさん2016/12/12(月) 14:26:50.97ID:UD00O82z
本家にpull requestとかしてるなら理解できないでもないけどな。
どうなんだろ?
0735デフォルトの名無しさん2016/12/20(火) 08:54:23.73ID:kdK8nOSL
Youtubeで他人の作った動画をちょっと加工して再アップし
広告収入を稼ぐ人と同じ構図だもんな
0737デフォルトの名無しさん2016/12/20(火) 21:59:44.09ID:GwwVs9ZK
で、NewPascalのライセンスってFreePascal/Lazarusと同じなの?
どこにも載っていないのだが
初心者としては、正式リリースが遅いFreePascal/Lazarusより
最新機能でzip解凍だけで使えるのは魅力的なのだが
0741デフォルトの名無しさん2017/03/06(月) 15:02:59.44ID:uQ33xGu8
[Delphi無料] Delphi 10.1 Berlin の Starter Edition
https://www.embarcadero.com/jp/products/delphi/starter/promotional-download

姓名・メアド・パスワード等々を入力し[今すぐダウンロード]をクリック。
ダウンロードしたファイルを実行すると、登録したメールアドレスにメールが届きます。
そのメールに記載されているインストール番号を使用してインストールを進めます。
0743デフォルトの名無しさん2017/05/12(金) 09:48:41.13ID:0U23T9En
バングラディッシュ銀行を突如襲った北朝鮮ハッカーチームLazarus
0749デフォルトの名無しさん2017/07/31(月) 15:37:42.57ID:rnkHB2sf
Laztoapkで簡単なアンドロイドアプリを作ろうとしています。
効果音をつけるためにwavファイルを再生したいのですが、
どのコンポーネントを使ってどのように記述したら良いか教えてください。
0751デフォルトの名無しさん2017/08/01(火) 20:09:32.93ID:PRDu0QUr
そもそもアンドロ向けのコンポとかあるのか
freepascalでさえndkラッピングしたライブラリとか無さそう
0752デフォルトの名無しさん2017/08/01(火) 21:18:01.46ID:j46ttB1f
Laztoapkなら一応apkを作れる
写真を表示したり、タイマーを使うくらいはできた
まあでも簡単なものしか作れない
0753デフォルトの名無しさん2017/08/02(水) 08:51:09.02ID:TSq1rzbF
別にLaztoapk使わなくてもdll(.so)をapkにパックするだけだよ。
つまりC++とかと同じ方法でOK。
0754デフォルトの名無しさん2017/08/18(金) 00:11:45.25ID:2U7SeTVL
Lazarus Release Canditate 4 of 1.8
0755デフォルトの名無しさん2017/10/15(日) 02:50:46.28ID:kbPXsDIj
Lazarus Release Candidate 5 of 1.8
(includes RC1 fpc 3.0.4) - October 13, 2017, 08:23:37 pm
0756デフォルトの名無しさん2017/10/18(水) 17:36:21.58ID:Z5CeRWao
ftp%3A//ftp.freepascal.org/pub/lazarus/releases/Lazarus%20Windows%2032%20bits/Lazarus%201.8RC5/
ここね
0757デフォルトの名無しさん2017/12/08(金) 02:08:34.35ID:v1dKK1/Q
リリースされたね
Lazarus Release 1.8 (with FPC 3.0.4) - December 06, 2017, 11:10:46 pm
0760デフォルトの名無しさん2017/12/09(土) 04:10:37.23ID:j1KTfDSe
>>758
できるよ。
AnchorDockingDsgn 0.5パッケージを入れてあとは好きなようにレイアウトすればヨロシ。
0761デフォルトの名無しさん2017/12/09(土) 17:20:34.48ID:7/IHRDWO
>>760
おー、ありがとう。
できるようになったような情報を見たんだけど、そんな設定どこにもないなーと思ったら
パッケージが必要だったのね。やっぱまとまってる方がいいな。
設計中のウィンドウは仕方ないか。
0763デフォルトの名無しさん2017/12/10(日) 14:56:19.81ID:jQtqk+Ut
>>761
sparta_DockedFormEditorパッケージも入れるとFormも一緒に出来るようになるが,1.6の時にまだバクがあるとforumの書き込みにあったんであまり試してないな。 
0764デフォルトの名無しさん2017/12/10(日) 23:50:52.21ID:ZVRIS2gv
>>763
あ、こっちもあるのね。
1.6 だからやめておこうかな。1.8 にした時に試してみよう。
0767デフォルトの名無しさん2018/03/16(金) 22:08:58.82ID:Mruf+joS
Lazarus Release 1.8.2 (with FPC 3.0.4) - February 28, 2018, 04:02:23 pm
いつの間にか出てた。
0768デフォルトの名無しさん2018/05/23(水) 21:05:06.06ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

I5Q4S
0769デフォルトの名無しさん2018/05/24(木) 05:22:26.16ID:oFaPACTY
Lazarus Release 1.8.4 (with FPC 3.0.4) - May 22, 2018, 11:39:03 pm
0771デフォルトの名無しさん2018/05/25(金) 07:09:19.53ID:BYq6Tj1K
数年前にくらべればリリース間隔は大分短くなってるよ
無料でやってくれてんだから文句言うもんじゃないよ
0772デフォルトの名無しさん2018/05/25(金) 08:19:45.44ID:OdR+P/i7
ところで1.6.4以降のWinCEサポートって腐ってね?もうCEなんて誰もまともにLazarusでは使ってないかw
0774デフォルトの名無しさん2018/07/04(水) 18:16:17.28ID:97Pks666
Haiku OS に出現したようだ。
0775デフォルトの名無しさん2018/07/04(水) 21:45:10.13ID:gFgZc5FG
CJX
0781デフォルトの名無しさん2018/07/22(日) 23:35:56.43ID:RmI5XlNT
最近のObjectPascal実装でそこそこ使えそうなのってこんなところ?
Delphi
FreePascal / Lazarus
Oxygene
PascalABC.NET / PascalSharp
0783デフォルトの名無しさん2018/08/12(日) 08:56:32.18ID:01FM0bjf
いつの間にやら Typhon なんてのが出てるやん。
って思ったら、2015 年にすでに話題に出てた orz
日本語情報が少ないね。
0787デフォルトの名無しさん2018/08/18(土) 22:18:03.09ID:siwjj9vh
Lazarus 1.8.4でGUIアプリを作ろうとしているのですが、フォームデザイナーと実行後のアプリの大きさが違います(高さ、幅を400、400にしても600
、600くらいになります)
何故だか分かる方はいますか?
0788デフォルトの名無しさん2018/08/18(土) 23:30:07.42ID:TV+gvCwn
.lfmを開く
HeightとWidthを希望する値に変える
保存する
Lazarus IDEをいったん閉じる  ←たぶんこれ
xx.lpiまたはxx.lprをダブルクリック
構築
0789デフォルトの名無しさん2018/08/19(日) 11:33:33.62ID:Q1IqUiGR
書き込みありがとうございます。上記試してみましたが変わりませんでした。どうもWindows10のディスプレイの拡大と関係があるみたいで、200%だとデザイナーの2倍の大きさになります。100%だとデザイナーと同じ大きさで実行されました。Lazarusのバグなんだと思います
0790デフォルトの名無しさん2018/08/19(日) 17:17:53.80ID:IKSANLqZ
高解像度ディスプレイで倍率を変える設定がWindowsにあってそれで色々迷惑することがある
0793デフォルトの名無しさん2018/08/20(月) 22:06:35.15ID:1lEf9bGj
>>792
プロジェクトオプションのLCLスケーリング使用でデザイナーと同じ大きさで実行されました。ありがとうございます
0795デフォルトの名無しさん2018/10/17(水) 05:04:58.72ID:EXIicAKO
ネイティブコードにコンパイルできて
IDEでポトペタできて
オブジェクト指向できて
現在も開発が続いてる
無料な言語・開発環境

てFree Pascal以外にありますか?
0796デフォルトの名無しさん2018/10/17(水) 07:03:04.02ID:Q2/lCz/X
>>795
今はJavaScriptみたいなスクリプトか、
Javaみたいな仮想マシン用コンパイラが人気なので
ネィティブコードにコンパイルできる言語自体がそもそも少ないだろうな。
他の条件と合わせると、おそらくないと思う。
0797デフォルトの名無しさん2018/10/17(水) 08:37:31.00ID:gKk8VB97
ネイティブコードにこだわる理由がわからない。
本当にネイティブコードが必要なシビアなことをしている人が
こんなところで尋ねるとは思えない。
0798デフォルトの名無しさん2018/10/17(水) 08:41:03.62ID:4yuTjZOF
>>795
Windowsに限らなければMac/IOSのObjective-C/Swiftが生き残ってる

iPhoneが流行ったのはJavaが主流だったガラケー/他社スマートフォンに比べて
高速(当時)なのも一因だぜ?
0799デフォルトの名無しさん2018/10/17(水) 08:54:29.89ID:4yuTjZOF
後はQtも一応そうかも
VCLや(Objective-C/Swiftの)CocoaがGUIオブジェクトをシリアライズしたリソースファイルを
アプリケーションに同梱する形式なのに対して
あっちは最終的にC++の生成コードに変換するという違いはある
0800デフォルトの名無しさん2018/10/17(水) 09:03:40.59ID:Q2/lCz/X
>>797
こんなとことは失礼な。
でも、こんだけ無料で優秀な言語やIDEが配布されている世で
Delphiの会社はよくやってられるなぁとは思う。
0801デフォルトの名無しさん2018/10/17(水) 10:41:42.53ID:05GdW5v2
まぁ日本じゃMVPがあの程度のツール作って自慢するレベルだからな…
0804デフォルトの名無しさん2018/10/18(木) 07:55:59.32ID:h8m50dIC
kotlin のネィティブ対応がよくなってきたらしいけど
ポトペタできるのかな?
Lazarus の kotlin 版ホスィ
0805デフォルトの名無しさん2018/10/19(金) 12:17:07.83ID:jQ8EJjtV
>>802-803
XRCed最強
0810デフォルトの名無しさん2018/12/13(木) 07:43:24.77ID:kiIPKRPv
FPC3.2もそろそろ出すみたいだし、androidやiphone対応が本格化しますな
0816デフォルトの名無しさん2019/02/06(水) 05:01:13.57ID:xrz7pH3/
今日、Lazarus 2.0.0 がリリースされたってよ。
0817デフォルトの名無しさん2019/02/06(水) 07:31:28.76ID:2MpR9+RV
昔Lazarusインストールしたらアンインストールできなくなったらから使うのやめた
0818デフォルトの名無しさん2019/02/06(水) 10:28:15.52ID:+qagyc5o
金の切れ目が縁の切れ目
0820デフォルトの名無しさん2019/02/28(木) 08:21:58.12ID:J0qaWP9D
インストール先は C:\lazarus\2.0-3.2 とかにして、
起動するときは、
C:\lazarus\2.0-3.2\lazarus.exe --primary-config-path=c:\lazarus\2.0-3.2-config
としてconfig ファイルの格納先を個別に指定するのがおすすめ。

もちろん、インストーラが勧めてくる旧バージョンのアンインストールを実行しないこと。
0822デフォルトの名無しさん2019/03/09(土) 22:26:05.47ID:MctiKVi6
Write once, run any architectureを目指すFree Pascalはもっと注目されていい
0826デフォルトの名無しさん2019/04/13(土) 10:08:17.34ID:VAZw4bPr
たいてい西暦しか使わないね。お役所の書類で仕方なくって感じかな。
0828デフォルトの名無しさん2019/05/07(火) 22:10:10.01ID:WYmdE2fC
久しぶりにLazToApkをバージョンアップしたら、ビルドの仕方が変わっていて使い方がわからず撃沈。
OldVersionもHPにないし困ったなあ。
昔のファイルがあればいいけどなあ、ハードディスク内を探してみるか。
0831デフォルトの名無しさん2019/05/09(木) 07:23:31.91ID:riNy8fVT
この機会に手動ビルドを研究したほうがよい。
最近やってないけど大した手間じゃない。
0832デフォルトの名無しさん2019/05/09(木) 07:27:45.97ID:riNy8fVT
巷によくある、 C++ で作った .so ファイルを apk にする手順を
Laz で作った .so ファイルと読み替えるだけ。
0833デフォルトの名無しさん2019/06/17(月) 21:13:48.03ID:7jkihj6t
久々に使い始めたんだけど、ブレークした時にクラスのインスタンスの内部データって見られないんだっけ?
Integer とかの単純な変数は見られるんだけど、例えば TStringList のインスタンスに登録されてる文字列とか。
昔作ったプログラムを見てるんだけど、どうやったか覚えてない。
0835デフォルトの名無しさん2019/07/02(火) 18:35:04.45ID:RhWJXLyF
TpairSpitterの境界線の上に文字を置きたいのですが、どうしたら良いでしょうか。
境界線のつまみを隠したいのと文字を置きたいのが理由です。
アイデアをください。
0837デフォルトの名無しさん2019/07/05(金) 21:07:04.96ID:ypzj5uvi
>>836
labelでもpanelでもいいんだけど境界線の上に置きたい。
置こうとしても、隠れてしまって前面に出せないのでどうしたらいいかわからない。
0838デフォルトの名無しさん2019/07/05(金) 21:28:30.42ID:BC1QPJi0
当てずっぽうだけどParentをTpairSpitterにすれば実行時には上になる?ならないか?
0839デフォルトの名無しさん2019/07/06(土) 09:03:58.53ID:nIvQZNy6
>>838
コンポーネントを継承してTMyPairSplitterみたいなもの作って
描画部分に手を加えたほうが応用も効くしソースもスッキリすると思う。
0841デフォルトの名無しさん2019/07/31(水) 07:36:45.82ID:KjSExRFS
>>840
be planning やん。
be planning は便利でよく使う構文だからきっちり使えるようにしといたほうがいい
0842デフォルトの名無しさん2019/07/31(水) 21:43:24.03ID:cxA9kCcM
>>841
ごめんなさい。寝ぼけてましたw
リリースされたと思って書き込んでしまったorz
0845デフォルトの名無しさん2019/11/02(土) 17:36:12.44ID:zoLz180R
Lazrus Release 2.0.6 - November 01, 2019, 12:33:13 pm
0847デフォルトの名無しさん2020/02/27(木) 21:04:57.36ID:re/ORI54
最近Lararus使い始めたんですが、普通に使えるのでびっくりしました。
Delphiで演算子オーバーロードとか使いまくってるソースも問題ないし。
演算子オーバーロードなんて昔は「ソースが一読ではわかんなくなるから反対」なんて思ってたのに。
0848デフォルトの名無しさん2020/03/02(月) 07:51:50.68ID:NBY4tsQ4
文字コードUTF8が標準なのでむしろDelphiより使いやすいと思いますよ。
0850デフォルトの名無しさん2020/03/06(金) 10:30:39.19ID:50MIG5ia
C#ですら数kbだからな
どうせ要らんもんリンクしてるんだろ
0853デフォルトの名無しさん2020/03/06(金) 22:00:00.90ID:3lybco/N
デバッグ情報含んでるからストリップとスマートリンク有効にしろって昔からマニュアルに書いてあるぞ
UPXまでは別にやらんでもいいと思う
0857デフォルトの名無しさん2020/03/07(土) 19:47:00.25ID:zDuQOlXy
Lazarus 側の言い分としては、最初からいろいろリンクしてるから、
これ以降機能追加してもサイズの増加は緩やかということらしいけど、
使いもしない機能リンクしないでほしいわな。
0860デフォルトの名無しさん2020/03/24(火) 05:32:35.18ID:oNI0kRN8
>>859
書き方(翻訳の仕方?)のせいかもしれんが、使うからこそ組み込まれるのだよ。
コマンドラインアプリや、Windows API で自前のメインウィンドウだけしかないような
アプリを作って試してみればわかるが数キロバイトになる。
0861デフォルトの名無しさん2020/03/24(火) 07:50:05.21ID:oNI0kRN8
英語版見てみてみましたが、最新版はかなり内容が違う気がします。
英語版を参考にしたほうが良いと思います。
0862デフォルトの名無しさん2020/03/30(月) 20:53:33.92ID:G4pdB0Ew
FPC 3.2.0 rc1 始まったで
ttps://forum.lazarus.freepascal.org/index.php/topic,49110.0.html
0864デフォルトの名無しさん2020/03/30(月) 21:35:58.65ID:G4pdB0Ew
>> 863
Free Pascal Compiler
0866デフォルトの名無しさん2020/04/03(金) 07:39:20.81ID:ZRX+L3ok
今月新しいバージョンが出っぽいね
We are planning the next release: Lazarus 2.0.8 - April 02, 2020, 10:43:37 am

The Lazarus team has scheduled
Lazarus 2.0.8 for April 2020 (estimated 14th to 20th)
0867デフォルトの名無しさん2020/04/03(金) 07:51:25.94ID:hz9zQM0o
コンパイラは3.0.4のままだけどね
FreePascalのリリースがまだかかりそうだから急遽決めたようだね
本来なら次はLazarus 2.2の予定だったみたい
0870デフォルトの名無しさん2020/04/18(土) 12:59:34.39ID:VYQrLT4k
>>855
外字って、Unicodeにも私用領域ってあるよな。まああくまでも私用領域であって
外字専用に使うための領域ってわけではないが、そう使っても良いんだよな。
0871デフォルトの名無しさん2020/06/10(水) 17:57:11.63ID:syGP3Y23
画面拡大してるとHI-DPI有効にしないとダイアログがでかくなるんすね。
はまりましたわ。
0872デフォルトの名無しさん2020/06/26(金) 22:59:51.25ID:xWDNnrNa
しらんまにFPC3.2出てましたね。Lazarusの先っちょも3.2対応だとか!
0874デフォルトの名無しさん2020/07/08(水) 16:42:25.19ID:EmKCEK3t
FPC3.2はDynamicArrayに大分手が入ったみたいなので、この機会に不定長のビットマップ作成の
手持ちライブラリ書き換えてみるかな。
というか素直にFCL使えって話だが、FCLってFPCのコマンドラインアプリでも使えるの?
0875デフォルトの名無しさん2020/07/08(水) 23:32:55.82ID:Omm2EhW3
今の1個前のバージョンでLazarus&FPCの現状はどんなもんかと以前試してみたけど
10年前のDelphiにも遠く及ばない出来だったな
コンパイル速度、デバッグモードの開始、終了が遅く(終了からIDEの切り替えが特に遅い)
フォーム無しのプログラムでメッセージダイアログを出すとコマンドプロンプト画面が出る始末
今も改善されていないんだろうなぁ
0876デフォルトの名無しさん2020/07/09(木) 22:35:37.41ID:vgKD2Erb
ソースコードもあるし、別に本家にご注進してもいいじゃん。
なんでそこで終わらなくても良くない?
0878デフォルトの名無しさん2020/07/13(月) 19:02:02.10ID:40nMIxb+
Lazarus Release 2.0.10 - July 11, 2020, 10:55:58 am

もうリリースされたって書き込まれていたけど一応。
0879デフォルトの名無しさん2020/07/25(土) 21:12:59.00ID:U1cr0g+B
TMemo の表示領域を得たいのですが

var
R: TRect;
begin
R.Left := 0; R.Top := 0; R.Right: = 0; R.Bottom : =0;
Memo1.Perform(EM_GETRECT, 0, Longint(@R));
ShowMessage(Format('Left=%d, Top=%d, Right=%d, Bottom=%d', [R.Left, R.Top, R.Right, R.Bottom]));
end;

を実行すると Delphi 7 だと正しい値が得られるのに Lazarus 2.0.10 だと
Left=0, Top=0, Right=0, Bottom=0
になります。

正しい値を得る方法を教えていただけませんでしょうか。
0881デフォルトの名無しさん2020/07/26(日) 11:23:45.22ID:q3dJt1F9
>>880
ありがとうございます。
早速試してみたところ上手くいきました。
0882デフォルトの名無しさん2020/07/28(火) 07:26:11.04ID:YeCqnbYl
せっかくのオープンソースだし、
不具合っぽいのは本家に報告してあげるとよいよ
0883デフォルトの名無しさん2020/08/23(日) 00:18:52.03ID:BDUM7k5s
Delphi6でさんざん書いてたのに長いことマイコンのほう(ArduinoやそのほかのC)ばっかりやってたからすっかりPascal忘れてるw
久々にPCのアプリ書こうと思っってLazarusはじめたらforやifですらあれどうだっけ?ってなってるよ
0884デフォルトの名無しさん2020/11/05(木) 00:09:00.98ID:8Msi6NAs
TChartのチュートリアルを和訳してみたけどWikiに追加する方法がよくわからない
0885デフォルトの名無しさん2020/12/02(水) 23:28:05.83ID:r6aZV9ch
FreePascalのXMLチュートリアル、サンプルのしょうもないミスを修正したいが
どうすりゃいいんでしょうか。
まぁPascal使うような極まりきった方々は別にミスあっても自分で修正するでしょうけど・・
0886デフォルトの名無しさん2020/12/02(水) 23:30:01.43ID:r6aZV9ch
マルチスレッドでレイトレーシングアプリを書いたが、LinuxでもWindowsでも
普通に動くんでビックリしましたわ。
マルチスレッド絡みだからOSとかの癖とかで差異があって大変だと思ってたので。
ちゃんとライブラリで差異を吸収してんですねぇ。
0887デフォルトの名無しさん2020/12/02(水) 23:31:33.19ID:r6aZV9ch
あまり大声で言うべきではないでしょうが、LazarusのGTK3サポート、
まだアルファ版というのがちょっと切ない。
自分の作るしょっぱいアプリだったらFreePascalのGTK3バインディングで
十分だろうからそっちから攻めるべきか。
0888デフォルトの名無しさん2020/12/23(水) 15:41:35.78ID:lutaimDh
ざっくり調べるとQtバインディングの方はQt6が最新でQt5はサポートしているということか。
であれば現状自分のしょっぱいLinuxアプリはQt5バインディングにしといた方が
良いかもしんないにゃー。
別にGTK2でも全く問題ないのですが・・・・
0889デフォルトの名無しさん2020/12/23(水) 16:37:45.86ID:lutaimDh
しかしGTK4が出てGTK2はEOLになった訳だが、ソースは公開されてるから永遠に使えるし、
別に自分の作るしょっぱいアプリなら見栄えとかも気にならない。
そりゃPython2が消えるのに時間かかるわけですわ。
0890デフォルトの名無しさん2020/12/25(金) 22:27:48.26ID:ri6ukwlu
とりあえずlazbuildでlpiファイルを指定してやればコマンドラインでビルド出来るのが
わかった。
これで素直にemacsでのコーディングにチャレンジできますな。
0893デフォルトの名無しさん2021/01/19(火) 14:59:49.28ID:yIqZdVPk
FAQ見るとシングルウィンドウにするんだー、だからペインドッキングのパッチは
ノーセンキューなんて書いてあるのにねー。

GTK3サポート共々今どんな塩梅なんですかね。
0894デフォルトの名無しさん2021/01/19(火) 20:51:23.69ID:yIqZdVPk
何を思ったかデスクトップPCをDebian/Linuxに、エディタはemacsでコーディングをしてる。
emacsのデフォルトはgnu-pascalサポートが入ってるのでObjectPascal拡張があると不便。
よくわからんまま、emacs delphi.elで検索かけてgithubにあるopacal.elを入れて
M-x opascal.elとしてみたら普通に動くようです。

そうまでしてなんでemacsで書かねばならんのかわからんのですが・・・
0896デフォルトの名無しさん2021/02/28(日) 23:10:14.65ID:mKlp/j+j
あ、もう出てたんですね。
リリースノート見る限りバグフィックスが主体であんまし新機能はなさ気な雰囲気ですが
使ってみた方いかがでしょうか。
0897デフォルトの名無しさん2021/03/09(火) 15:37:27.70ID:l78vZ82J
windows10 で lazarus 2.0.12 を利用していますが、以下のようなコードの2か所で修飾子エラーになります
{MODE Delphi} なら大丈夫なのですが {$mode objfpc} の場合、どのように変更すればよろしいのでしょうか

type
PPHashItem = ^PHashItem;
PHashItem = ^THashItem;
THashItem = record
Next: PHashItem;
Key: string;
Value: Integer;
end;
TStringHash = class
private
Buckets: array of PHashItem;
protected
function Find(const Key: string): PPHashItem;
end;

function TStringHash.Find(const Key: string): PPHashItem;
var
Hash: Integer;
begin
Hash := HashOf(Key) mod Cardinal(Length(Buckets));
Result := @Buckets[Hash];
while Result^ <> nil do
begin
if Result^.Key = Key then <--- この部分が修飾子エラー
Exit
else
Result := @Result^.Next; <--- この部分も修飾子エラー
end;
end;
0900デフォルトの名無しさん2021/05/22(土) 19:39:35.52ID:WqI2sMHS
3.2.2リリースage
0902デフォルトの名無しさん2021/10/26(火) 21:43:41.35ID:8mnatHSz
Delphiのライセンス切れてるし、Community Editionは毎回新バージョンに更新しないといけないから
これを機にFreePascalにしてみるか
貧弱なIDEはVSCodeで補えそうだし
0904デフォルトの名無しさん2022/05/15(日) 19:08:49.28ID:/ysfaPE8
program MyProgram(input, output);
のようにプログラム名にパラメーターが付いたコードを見かけました。
Pascalの方言なのでしょうか?
それともFree Pascalでも見られるものでしょうか?
0905デフォルトの名無しさん2022/05/22(日) 12:24:51.68ID:Z7pvlCmg
>>904
質問に質問で返してすみませんが、あなたは

void int main( int argc, char *argc[])
はcの方言だと思いますか?
それともGNUCでも見られるものでしょうか
0909デフォルトの名無しさん2022/05/26(木) 19:00:16.04ID:9mlaCQEY
本家のForum にレジストしても確認メールが届きません。
どうしたものでしょうか。
迷惑メールとかも見ましたし再送信とかも試しましたががまったく来ません。
0910デフォルトの名無しさん2022/05/26(木) 19:36:53.93ID:MuCsRUFl
抵抗されてるのかもね
0913デフォルトの名無しさん2022/10/18(火) 09:21:39.14ID:muJtZzp1
Lazarus製のアプリケーションのexeのショートカットをつくって実行時の
大きさを最小化としても最小化で起動しないのだがどうすればいいのかな
0914デフォルトの名無しさん2022/10/19(水) 00:06:57.42ID:imuHRl6B
>>913
Delphi ではプロジェクトファイルをごにょごにょしてたので
Lazarus では多分 .lpr ファイルにごにょごにょ

Application.CreateForm(TForm1, Form1);
//ここに↓これを入れて判断
if CmdShow = SW_MINIMIZE then Application.Minimize;
Application.Run;
0915デフォルトの名無しさん2022/10/19(水) 09:56:54.13ID:ozKA7OU5
>>914
あいにく動作しませんでした

メインフォームのOnCreateイベントハンドラーに
case CmdShow of
SW_SHOWMINNOACTIVE: WindowState := wsMinimized;
SW_SHOWMAXIMIZED: WindowState := wsMaximized;
end;
と書いたらうまくいきました
0916デフォルトの名無しさん2022/10/20(木) 08:50:49.47ID:rL6ktv6z
AmazonにKindle本として佐々木優という人が書いたLazurus・Free Pascalのセルフ出版の
本が何冊かのっている(読み放題のKindle Unlimited対象)
役に立つかどうかは別にして日本語の本というのはめずらしいかも
0918デフォルトの名無しさん2022/10/22(土) 14:34:30.76ID:4hbuG1Ym
UbuntuでC++Builderを導入できなかったのでDelphiの本読んで勉強してます。

思い通りに動くと楽しいです。
0919デフォルトの名無しさん2022/11/15(火) 14:25:03.73ID:ktesV7KK
サンプルの xmlstreaming を参考にして設定を書き出す処理を作ってます。
TComponent を継承して設定データのクラスを作ろうとしているんだけど、
その中にさらに TComponent 派生クラスを入れ子にすると、その項目が書き出されない。
入れ子のクラスを TPersistent 派生にすると書き出されるんだけど、項目名が
ドットで区切られた形でかなり違和感。
xmlstreaming の中でコメントアウトされている Form (Self) を書き出す処理を有効にしてみると、
入れ子のデータは「children」タグに囲われていい感じで出力されているんだけど、
どうやればできるんでしょうか?
0920デフォルトの名無しさん2022/11/15(火) 19:22:03.37ID:hFwj798Q
>>919
下記を付け加えると入れ子のデータも書き出された
読み込みが正常に行われるかは検証してない

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;
0921デフォルトの名無しさん2022/11/15(火) 21:41:42.06ID:hFwj798Q
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;
0922デフォルトの名無しさん2022/11/15(火) 22:24:52.25ID:1BrVYPVp
>>921
ありがとうございます。書き出せました。
wiki のストリーミングのところ読んでもそんなこと書いてなかったけどな。
TWinControl に実装されてるから Form ならちゃんと書き出されたんですな。
人をハメようとしてるとしか思えないな。検索しても、英語の情報でも全然ないし。
とにかく、ありがとうございました。
0923デフォルトの名無しさん2022/12/14(水) 20:13:02.80ID:WtdZKbBc
これは壮観。過去50年以上にわたる「プログラミング言語の人気の変遷」をアニメで紹介するムービー【やじうまWatch】 - INTERNET Watch
s://internet.watch.impress.co.jp/docs/yajiuma/1463502.html

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

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

描画しているんだからどこかに情報があるんだと思うんですが、どこにあるんでしょう?
そもそもアプローチが間違っている?
0925デフォルトの名無しさん2023/01/07(土) 18:23:08.22ID:rN0cn1Ph
TOpenDialogのTitleプロパティがデフォルトの「ファイルを開く」のままOpenDialog1.Executeを実行すると、表示されたダイアログのキャプションが"Open existing file"と英語で表示されてしまいます。

これはLCLStrConstsユニットで rsfdOpenFile = 'Open existing file'; と定義されているのが原因のようですが、これをlclstrconsts.ja.poの「ファイルを開く」に置き換える方法を教えてください。
0927デフォルトの名無しさん2023/01/10(火) 09:05:22.16ID:GH/EYK1c
>>926
オブジェクトインスペクタでTitleを「画像ファイルを開く」など「ファイルを開く」以外にすればTitleがダイアログのキャプションに反映されます。
また、コードでOpenDialog1.Title := 'ファイルを開く'; を実行すればキャプションもそうなります。
ただ、コードを書かずにオブジェクトインスペクタで「ファイルを開く」を設定するだけだと「Open existing file」が表示されるというのが今回の問題です。

この症状はTDBNavigatorでも確認できていて、Hintsプロパティにはデフォルトで日本語のヒントが設定されているのにもかかわらず、実行すると英語のヒントが表示されてしまします。
その他MessageDlgのボタンが「はい」「いいえ」ではなく「Yes」「No」なのも同じ原因だと思います。
0928デフォルトの名無しさん2023/01/10(火) 18:40:29.37ID:ddgJg6qa
>>927
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ユニットの不具合のせいじゃないのかなあ
0929デフォルトの名無しさん2023/01/10(火) 19:51:57.80ID:GH/EYK1c
>>928
ありがとうございます。
lclstrconsts.jp.poにリネームする方法で試して無事日本語で表示されました。
TDBNavigatorのヒントとMessageDlgのボタンも同様です。
0931デフォルトの名無しさん2023/03/17(金) 15:14:21.65ID:O04jxkPS
軽くていいな。ゲームエンジンなんかもあるようで欧州では使い手多いのか?
0933デフォルトの名無しさん2023/05/05(金) 03:07:31.72ID:PeDEzH1k
Windowsアプリを作ったら、とても遅いような気がするんだけど、まだ改善してないのかな?
0934デフォルトの名無しさん2023/05/07(日) 13:41:00.25ID:eh+8xa5M
>>933
どんなプログラムを書いてどの言語と比較して遅いのかを書かないと答えは無理
C++/C言語と同等の速度にはならない
スクリプト言語よりは高速
0935デフォルトの名無しさん2023/05/07(日) 15:52:40.36ID:FtrFphzu
>>933
他のプログラムはサクサク動くのにお前の作ったプログラムだけが遅いという場合は、
多分お前のプログラムの何かがおかしい。
0937デフォルトの名無しさん2023/07/15(土) 21:28:05.69ID:2FiMr/gw
なんか知らんけど山下って人に金払わんでも専ブラ作っていいみたくなったらしいから
Lazarusでなんか作るチャンスなんじゃねw
0938デフォルトの名無しさん2023/10/21(土) 16:11:17.35ID:G+lHRKF1
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.
0939デフォルトの名無しさん2023/10/21(土) 16:11:26.42ID:G+lHRKF1
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.
0940デフォルトの名無しさん2023/12/24(日) 07:32:34.78ID:1m+l9U5n
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.
0941デフォルトの名無しさん2023/12/24(日) 12:29:21.36ID:CLUuqAoM
>>937
Siki 以上のものをサクッと作れる気がしねー……
0942デフォルトの名無しさん2024/02/09(金) 17:03:32.99ID:LEmbefGZ
元となったPascalの開発者が失踪したそうです
0943デフォルトの名無しさん2024/02/11(日) 15:58:19.39ID:8Y1XXxgX
マジっすか
0946デフォルトの名無しさん2024/02/14(水) 18:24:17.69ID:vFlu/nl/
N. Wirth 死去 2024/1/1 89歳.R.I.P.

失踪じゃないよ.逝去だよ.
0949デフォルトの名無しさん2024/02/15(木) 21:10:08.91ID:+1FkxmBK
passed away(消え去った)と書いてあったのでどこへ行ったのかと思った
0951デフォルトの名無しさん2024/02/16(金) 19:18:09.96ID:Axc1uWNK
フリーパスカルに書いてあった
http://www.freepascal.org/

The creator of the Pascal Language, Niklaus Wirth, has passed away on January 1st.
0952デフォルトの名無しさん2024/02/16(金) 21:56:16.38ID:nKsaIfEz
passed awayは日本語でいう亡くなったみたいに、丁寧な言い方なんだな
勉強になった
0953デフォルトの名無しさん2024/02/29(木) 22:49:58.22ID:GWZVNy5Y
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.
レスを投稿する

レス数が950を超えています。1000を超えると書き込みができなくなります。

ニューススポーツなんでも実況