◎正当な理由による書き込みの削除について: 生島英之とみられる方へ:
【Delphi互換!?】FreePascal/Lazarus その2【GPL】YouTube動画>1本 ->画像>3枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/tech/1261676778/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
(クロス)オープンソースコンパイラ FreePascal [i386/68K/PPC/ARM/SPARC]
http://www.freepascal.org/ オープンソース開発ライブラリ等 [IDE/GUI環境 Lazarus]
http://www.lazarus.freepascal.org/ FreePascal/Lazarusのメーリングリスト(Pascalにホエロ!)
http://www.freeml.com/lazarus Q:これで作ったソフトは自動的にGPLになるの?
A:制限付き LGPL だから、自分が作ったソースは GPL にする必要は無い
例え FreePascal 付属のライブラリにリンクしていても GPL にはしなくて良い
http://www.freepascal.org/faq.html#general-license このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
Lazarusのクリーンインストールの仕方。
(1) 旧版をアンインストール。
(2) 旧版のインストール先フォルダ(C:\Lazarus)を削除。
(3) 設定ファイル保存フォルダを削除。
Windows XPの場合: C:\Documents and Settings\ユーザー名\Local Settings\Application Data\lazarus
(4) 新版をインストール。
せっかくだから1000まで行きたかった。
埋めときゃよかった。
>>6 ふつうの板で975越え辺りで落ちるから、前スレの995で次スレでは遅いと思う
過疎スレゆえに放置落ちがあるから980辺りで立てたほうが安全
∩_
〈〈〈 ヽ
〈⊃ }
∩___∩ | |
| ノ ヽ ! !
/ ● ● | /
| ( _●_) ミ/ Laz!!
彡、 |∪| /
/ __ ヽノ /
(___)
981レス以上のスレは24時間書き込みが無いとdat落ちするから過疎スレでも大抵は980レスで次スレ立てるのが慣例ですな
January 1st, 2010 Happy New Year!,
a new major version 2.4.0 has been released.
http://www.freepascal.org/download.var FreeBSD8.0でscim-anthyを全く受けつけてくれない。
メニュー等は日本語対応になってるのに、どうしたものか。
日本語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となっていて、静的リンクしてもソースを
公開しなくてもいい」じゃないかな、と。
あとところどころ「プラットホーム」と表記されているけれど、
「プラットフォーム」と表記することが多いんじゃないかな。
lazarus.exe --primary-config-path=c:\lazconf0929
とかやれば、異なるバージョンのLazarusを複数インストールできるよ。
http://lazarus-dev.blogspot.com/2010/02/work-on-0930-changes-in-resource.html > Work on 0.9.30: changes in resource handling
え、今まで initialization がフォームの数だけ実行されてたの?
>>23 逆にinitializationが実行されない方が怖いよ
>>23の内容がよく分かんないんだけど、
・いままでは、すべてのフォームファイル(.lfm)が.lrsにも重複して含まれている必要があった。
・起動時に.lrsからフォームリソース(画像とか?)を読み込むために、ユニットをusesしている/いないに関わらず、すべてまとめて、initializationセクションが実行されてしまっていた。
・でもこれから(2.4.0以降)は、フォームファイルを介してフォームリソースを読み込むようにしたので、.lrsにもつ必要がなくなり、一度に読み込まれることはなくなったよ。
ってこと?
ファイルを保存するときにファイル名を小文字に変換するか聞かれますが、
それにはどうゆう意味があるんでしょうか?
Windowsではファイル名の大文字/小文字は区別されないが、Linuxでは区別される
この違いにより、例えばHoge.pasを使おうとしてuses hoge;とするとコンパイルできないなんてことを起こさないため
自己レス
下記が理由と思うので、新規開発の
ファイル名は大文字でいいんじゃないかなと考えています。
http://wiki.lazarus.freepascal.org/Code_Conversion_Guide/ja 最初に目を向ける事柄
* 1.0.x系のコンパイラでは、ファイル名は大文字小文字を判別します。
もし、このバージョンで作業していたら、全ファイル名を小文字にしてください。
そうしなかったら、 "File not found" エラーになります。
>>25 >ユニットをusesしている/いないに関わらず、
これはありえない。
lrsファイルをテキストエディタで見てみると大体次のような感じですな。
フォームの数だけlrsの内容が実行されるていた。
それによりTListに保存されるので、2重にメモリを食っていることになる。
2重にというのは exeの内容として確保されるのと、TListに動的に確保されるという意味ね。
ubuntu9.10でインスコしrてみたけどフォームダブクリでメソッド追加されずなんかエラーでるけどなにこれ
>>33 バージョンとか書いてもらわないと試しようがない
Lazarusなかなかいいね。
Delphi2.0とC++Builder3持ってるんだけど、違和感無く使える。
最近のバージョンに買い換えようかと思ってたんだが、趣味でプログラミングする程度だしその必要ないな。
lazarusでprojectのVersion情報に日本語を入れると
文字化け起こす人いますか?
dfm->lfmのコンバージョンで、'#XXXX'形式のUNICODEが?になってしまう。その時、lfmはAnsiになっているが、lfmに元の
'#XXXX'形式の文字列をペーストし直した状態で、ソースでなくフォーム側を修正して保存し直すと、UTF-8のlfmに変わる。
Options->Environment->Window->Show single button in TaskBar
でGTK2でもタスクバーのボタンがひとつになるよ!
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
作成したアプリケーションでlinuxでは日本語はどれだけサポートできますか。
GUI日本語表示
GUI上インプットメソッド
コンソールアプリケーション
TurboVisionみたいなやつでの日本語の表示と入力
LazarusでVSみたいにビルド設定をリリースとデバッグで簡単に切り替えられませんか?
リリースは、シェルスクリプトかバッチファイルでしろ。
安全確実だ。
以上。
>>45
あのできで、1.0にするのか。
がちょーーーん
反対に1票。バグだらけだし。
俺なんか、あまりのバグに閉口してしまったよ
・あきれた → 関わらない → 見て見ぬふり
→ 助けない
・まだ数個パッチももっているが、もー知らん
・貢献者ロールにいれてあげるといわれたが無視した。
前も閉口して2〜3年去っていたので、
また、2〜3年したらくるかもしれないのでヨロピコ。
ソフト作るのに中断しないといけなくなって
ソフトを作る作業中にバグ発見
↓
Lazarus開発 ↑
→ → → 修正
→≠→ めでたくソフト完成!!
にたどり着けないんだ。
作業中のコード中断したよ・・・
むかつく限りだ!!
Delphi2010の次のバージョンを買ってコード修正しようかと思っている
バグ多い→ユーザー減る→バグ減らないまま→ユーザー減る→消滅
払う金と要求が反比例しているなw・・・いや片方は0か
Lazarusより
Delphiの初期バージョンの方が遙かに性能がいい。
Lazarusは、Delphiの新バージョンと比較する価値もない。
Delphiの新バージョン買うぐらいならVSに移行するお。
いずれにせよ Lazarus を使いこなせない初心者のためにも
まだまだデルファイにはがんばって欲しいな。
Fulcrum/Delphi 2011 の OSX/Linux サポートコードを丸ごといただく予定だそうだから
まってりゃ品質が上がるさ
RAD2011update買うより、
16千円上乗せして
新規VS2010pro(VS2010pro優待版+vs2008std)を5万7千円で
買った方がいいような気がしてきた。
乗り換えるなら個数限定販売のセール中のいまがチャンス。
さようなら pascal
さようなら delphi
さようなら Linux
自分の欲しいものを勝手に買えばいいんじゃないの?
誰も留めないし邪魔もしないよ
でもWindows/Linux/Mac OSX全部いけるんなら面白そう
linuxは、スタティックリンクにしないと使い物にならない。
カーネルや、ライブラリの番号に依存するから
静的リンクにしないと
delphiでlinuxをやっても、 〜番号.so エラーとなるのが落ち。
結果、巨大ファイルとなる。
それでもカーネルをアップすると〜番号.so エラーとなるのが落ち。
超バイナリ互換性の高いWindowsの様にはいかないと予測している
そういう課題をどう対処しているのか見物だ!
>>64 最初期のMacOSはpascalで記述されていたからね。
APIリファレンス(Inside Mac)のサンプルも、pascaだしね。
>>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
なんかアホが湧いてるね
脳みそが腐った理由が暑さならいいが
遺伝子に組み込まれてると救いようがない
円馬鹿スレの「Linuxは柔軟性が高すぎるから流行らない君」だと思う。
彼は知識がないかわいそうな子。
C#ってビジュアル開発すると
ネイティブアプリ作れないからクソ
ごめんC++の間違いだった
C#はネイティブアプリ自体作れないのか
FPC 2.4.2 RC1 キタ
で、北半球の夏に出すっていってた Lazarus の新版はどうなったんだっけ
Delphi2かDelphi3あたりを使ってたほうがマシな気がする。
後学のため、教えてください。
「円馬鹿」とは何ですか? ググりましたがヒットしませんでした。
このスレ、新参者ですが、よろしくお願いします。
なるほどEmbarcaderoのことですか! どうも、ありがとうございました。
久しぶりにバージョン上がった(0.9.31)のに話題にもなってないな
Pascalなんて緊縛言語使ってうれしいことあるのか?
C知らないときにPascalの本をたまたま見つけて
TurboPASCAL使ったのが初めてだったな
その後でC勉強始めたらなんてユルい言語だと感動した
>>89 っFORTH
4 通りの状態と 2 つのスタックを常に念頭に置いてアセンブラレベルのメモリアクセス
一歩間違えれば即暴走
ベテランでもいわゆる手続き (ワード) が 5 行を越えると不安になるという
>ベテランでもいわゆる手続き (ワード) が 5 行を越えると不安に
それはベテランとはいわないな。
PostScript や EFI の内部記述言語が FORTH の影響を受けているので
見えないところでは使われているのだよ
というかC使えない奴なんていないよ今時。
ほんでもっていろいろメリットがあるからPascal使ってるだけで。
>いろいろメリットがあるから
メリットがあるんだ...
俺の場合はDelphiにはコンパイルの速さという強大なメリットはあると感じる。
FreePascalはそれほど速くないのでそのメリットはないけど、Delphiアプリを
Linuxに移植できるというメリットがある。
そんな感じかな。
WindowsのプログラムをLinuxに移植したいと思ったことがない。
まあ別にLazarusはWinオンリーで使ってもいいんだけどね。
Windows上で最新ソースをコンパイルしたい場合は、
リリース版の0.9.28をインストールしてから
svnでtrunk落してコンパイル
でいいのかな?
win版って開発止まってんの?
最終版って2009年の10/25でOK?
艷馬鹿出ろからこないだDelphi買えってダイレクトメール来たけど、どーすっかなー。
2006で懲りたからなー。
>>104 あの頃は酷かったよねw 7までと2009以降はなかなか良い。
3月に Lazarus 0.9.30 がリリースされていたのだな。
Win32版で今度のエディタはシフトJISを認識するようになっていた。
LCLにはUTF8で渡す必要はあるけど。
SJISのファイルを開いても文字化けしないし書き込みもできる
時代遅れの Delphi はもういいよ。
Pulsar の x64 / OSX / iOS 用コンパイラが FPC だそうだ
FreePascal で Linux の GUI プログラミングするには Lazarus 以外にない?
C で GTK 使うみたいな方法はないのかな。公開する時に Lazarus が必要ってのはちょっとひどいよね。
OCaml なんていう聞いたこともなかった言語でも GUI ついてるから何か方法あるんだろうけど、
Linux 歴浅くてよくわからない。
>>115 公開するときにLazarus が必要ってどういう意味だ?
プログラムの前に日本語から勉強しろよ
いやー、大抵ソースも一緒に公開するじゃんか。
バイナリがうまく動かない時はコンパイルしてね、みたいな。
にしても、Linux でもバイナリ配るのが普通になってきてるのね。
LazarusなくてもFCLとかのライブラリが入ってればコンパイルは出来るんじゃないか?
それがなくてもって言うのなら、公式にこんなのがあったよ。
http://www.freepascal.org/packages/gtk.html >>122 おー、ありがとう。こういうのが聞きたかったんだよ。
Pascal 関連はやっぱクズが多い中、あんたはいい人だな。
もう残りカスだから仕方ない。ISOの標準化の所も人が居なくて止まったまま。
分かり易い言語だと思ってたけど、自分はPythonに流れてしまったよ。
ググってもろくな情報がヒットしないもんなあ。もうやめるか(あっさり)。
やっぱり C/C++ が無難なところなのかねえ。
悩みがよくわかんないもの、ぐぐってもヒットするはずないよ。
結局Linux歴が浅いんじゃなくて人間歴が浅かったんだなw
本サイトに山のように情報があるのにヒットしないのは
自分のぐぐりかたがおかしいとは死んでも考えないのが
ゆとり世代なのか?
>>124 標準かねぇ・・・
それってうまいのか?
ほら、やっぱり自尊心の高いカスばっかりが食いついてきた。
宿題スレなんかでも Pascal は質問(依頼)者ボコボコだもんな。
おまえの質問の仕方が変だからぼこぼこにされてるだけだろ
>>124 実質Delphi の独裁政権なんだから標準化なんて無意味だよ。
つまり実質Delphiが標準。
>>132 Pascal 信者のクズどもは、そういって質問者をボコりたいだけよ。
C/C++ 関連のスレなんか、「エスパーしてみようか」なんて親切な人がいっぱいだ。
こんなこと言ってるとゆとりがどうのと言い出すんだろうな。
ホント見てておもしれえ。
>>134 エスパーが必要な質問ばっかしてこと白状しちまったな。
まあ馬鹿だと人生大変だろうががんばって生きろ。
親切にしてほしい人が2chなんかにくるな、って思うよ。
地方零細IT企業でdelphi扱っているところに就職したものの、
エンバガデロの開発ツールを個人で購入するのを躊躇って
自宅で自習するためにdelphiの代替ぐらいしか思いつかない
来年上半期中にLazarus財団を立ち上げるらしいね
1.0になるなる詐欺なのに、そんなんで財団立ち上げんのか。
いや1.0にする為の前準備として団体を清算したいってことなのかな。
正直この停滞ムードを何とかしてくれるなら歓迎なんだがの。
バージョン番号なんてどうでもいいな。
スナップショット版使ってるが特に不満ない。
数値だけの繰り上げならいらんが
メジャーバージョン設定は、普通は「仕様のFIX」「バグの修正」という意味が伴ってくるので意味がないわけじゃない。
まあ1.0にしても某D言語のような例もあるけどw
なんだかんだで一番安定して動きそうなのが windows な辺りとか
たしかにDっぽいのは理解出来なくもないが…うむややもすると
黒魔術オンパレードの道とかがオープンマイハートしちゃうんだ…みたいな印象はあるw
>>147 解説本が出版されたりして盛り上がってんじゃん。日本以外では。
lazarus を眺めて思うのは、マンパワーが足りてなさか…
osx とか linux で動かすの面倒なんだな…
バグトラとか見てるとrubyなんかと比べても頑張ってる方だと思うが。
言語を、というよりかはライブラリをコンポでどう組上げていこうか
というのが主な関心みたいなかんじなので…日本人でいじろうとする
ひとが少ないのは何となく理解は出来る
http://62.166.198.202/roadmap_page.php http://62.166.198.202/my_view_page.php ラインとしては0.99, 1.00, 1.20の三本立てで走ってそうだけど
積んで放置されてるのも多いかな…という印象を受けたのだった…
>>155 こういうのをただ働きなのにまめに記録してくれる奴がいるというだけですごいと思うな
とあるコンポが必要になって 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 って何だとか
開発環境ごと再ビルドしないと追加できないのか
とか訳がわからなすぎて詰んだ…
Lazarus ってすげえ適当というか、簡単な構造で動くんだな。ほとんどコピーするだけじゃん。
基本的にユーザー個別にインストールするようになってるのかな?fpc 以外は /home に入れちゃったよ。
にしても、俺が使う分には十分だな。去年思わず買っちまった Delphi XE どうしよ。
OSX版 lazarus (0.9.30.2RC1) を試しています
ビルドしてできる アプリケーションバンドルが
test/project1.app/Contents/MacOS/project1 (Symbolic Link → ../../../project1)
test/project1
... . .
といった感じで分離した構造になってしまいます。手動でコピーするのも面倒です。
シンボリックリンクなしでビルドしてくれるように設定するにはどうしたらいいのでしょうか?
少数派だから機械翻訳してフォーラムで聞くことを薦める。
ほとんどがネィティブじゃないから大丈夫。
>>165 どういうときに困る?tarの--dereferenceオプションを使って一つのアーカイブにしたものを展開するとか
プロジェクトを新規作成して空っぽのウィンドウを表示するだけでも
Linux だと実行ファイルが 6MB ぐらいある。Windows だと 1MB ぐらい。
双方ともデバッグ情報を外部に作る設定。
Linux の実行ファイルががでかいのは仕方ないのかな。
>>164 いや、一応持っとく。
>>168 ただの build でなく、clean up and build してみるとか。
>>169 file で確認してもすでに stripped、当然 strip しても効果なし。
>>170 clean up は見当たらないんだけど、どこだろ。
一応消して構築したりしてみたけど、変わらず。
オプション変更(実行ファイルにデバッグ情報埋め込み)すると
10MB ぐらいになるから、関係ない気もする。
リンクするライブラリが違うからしょうがないのかな。
>>171 clean up build 、0.9.31の機能でした。めんご
FAQ 読みあさってみたけど、どうも Linux だと 6MB ぐらいにはなるらしいね。
予想はしてたけど、使ってなくても基本機能は入ってるとかで。
まあ実行ファイルのサイズはともかく、どこかに LCL のドキュメントないのかな。
とりあえず Delphi 6 のヘルプ見て、補完機能やソース探りながらやってるけど、
プラットホーム依存の実装がいくつかあるから vim(ctags) のタグジャンプが
あてにならなくてにんともかんともだ。
>>173 どこかに LCL のドキュメントないのかな。
>とりあえず Delphi 6 のヘルプ見て、補完機能やソース探りながらやってるけど、
>プラットホーム依存の実装がいくつかあるから vim(ctags) のタグジャンプが
>あてにならなくてにんともかんともだ。
もう見てるだろうけど、
http://wiki.lazarus.freepascal.org/Lazarus_Documentation/ja#LCL 一部見た。設定ファイルに使えそうな TXMLConfig のリンクがなくて悲しい。
ぐぐって何となく使い方わかったけど、イマイチな感じ。
まだ Linux プログラムの作法もよくわからんのだけどね。
プロジェクトのオプションでバージョン情報を埋め込めるけど、Linux でこれを取り出す方法ってあるの?
そもそも Linux のバイナリにそういう情報があるのかわからんけど、わざわざあんなオプションがあるってことは
使えるんじゃないかと思うんだけど。知ってる方教えてくだせい。
なんか変わった?
とりあえず Windows 版は大きな変更は見られない (小さな変更も見られないが)。
相変わらず IDE での日本語入力には難ありだな。
delphiで簡単な情報の管理システムを作っています。
初めてのpascal,delphiで苦戦しています。。。
簡単なコードでのプログラミングでないと自作したことを説明もできないくらいのレベルです。。
今回、レコード型の配列で個人データ(名前、生年月日、登録番号、住所、電話番号)を5人分、入れておきたいのですがエラーばかりでてしまい、全くできてません。
簡単なものでもサンプルでもなんでもありがたいのでご教授ください。
後のFormで検索したりして引き出せるようにする予定です。。
Lazarusをあつかってるスレだったので、場違いかもしれませんが質問させていただきました。
>>187 すいません。。苦戦してるのはLazarusです
ミスです。
Unit1で配列を作って、そこにデータを入れたんですけど、ほかのUnitにどうやったらデータを持ち越して表示できますか?
>>189 配列を両方のユニットに共通なグローバル変数にするか、
他のUnitの関数のパラメータとして渡す
>>189 ほんとに初心者でいまグローバル変数について、調べて少しわかったのですが、ソースをのせるのでみてもらってもいいですか?
ていうか、お前 Pascal 以前にプログラミング自体どの程度わかってんの?
本質をきちんと理解してればたかだか言語が変わったぐらいで
そんなにうろたえることはないと思うがな。
Delphi スレ行った方が親切な奴が多いかもな。
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.
>>189 ほかのUnitに持ち越すっていうか、オブジェクト指向でやるだろ普通。
他の言語だとどういうのがわかるの?
>>192 >>194 javaを大学一年時に授業でやってはいたのですが、本質をきちんとは理解できなくて
delphiじゃないだりとここを紹介されました
>>193 ありがとうございます。。
さんこうにさせていただきます
>>195 うーむ。多分言語云々じゃなくてプログラミングの基本から
勉強した方が良いような。
「宣言したレコード型を別Unitで使いたいけど宣言が見つからない」のか
「そのレコード型を使った変数に別Unitからアクセスできない」のか。
何もわかってないと質問の内容がわからないので答えようもない。
とはいえサンプルソースが欲しいんだよね?
http://www1.axfc.net/uploader/File/so/71587 サクっと書いたので識者が見たらいろいろ問題あるかもしれんが
参考にはなるだろう。ちなみにレコード型と配列じゃなくて
クラス型とTListにした。その方がDelphiスレの情報とか参考に
しやすいし。
>>197 期間も1ヶ月で、ソフトが指定されています
基本が理解できてないのは十分承知です、、
サンプルをいただけただけでもまた進展がありそうで、ありがたいです
lazarus指定とか
もしかして会社の研修かなんかか
もしそうなら人に聴かずに
一ヶ月寝ないで勉強するがよろし
>>199 学校の課題です
しっかり理解しないとという気持ちはあるのですが、ほかの授業などとの両立や起源の問題で
時間はかけているのですがこの程度で。。
>>201 またお前か。
Pascal はユーザー少ない上にこういう腐ったのが結構いるんだよ。
運が悪かったね。頑張ってくれ。
まあでも運動が才能で必要であるようにプログラマにも才能が必要なのは事実
この程度で才能が必要とか笑わせんな
二本足で歩くのに才能が必要か?
pstype=(man,woman)と自ら作成したのですが、これを文字列型でラベルに表示する変換方法ありますか?
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.
>>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.
こんなふつうにラベルに文字列を代入させてるつもりなのに表示されません。
どういった不具合が考えられますか?
FormActivateをコピペして貼っただけじゃ実行されないよ
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;
>>218 オブジェクトインスペクタにおける設定で、「Form8」のイベントOnActivateが設定されていないとか。
設定されていなければ、OnActivateの項目には何も表示されていないはずで、イベントが起こりません。
項目欄をクリックすれば、FromActivateを選択できるはず。
一昨年のうちにver1.0になるとか言ってたけど、全然進展ないね。
もうオワコンなのか?
>>223 バカじゃねーの?
1.0どころか未だに0.9.30とか31じゃねーか
1.0なんて何十年かかることやら・・・
>>224 英語できないジジーは黙ってエンバカに貢いで炉や
>>225 あん?0.9.31より新しいモンがどこにあんだよ、情強さんよ?
1.0未満のソフトなんていくらでもあんじゃん。
死ねよ
ホントにバカだなw
1年前が0.8で今が0.9.30ならわかるが、
1年前から進化してないのが問題なんだろーが
ばかはおまえだろ。開発者の癖にSVNとかも知らんとは。
プログラマ向いてないよ。100%
2011/2/15 時にRevision:29547で、今日Revision:35366なのに進化してないとかワロス
1.0とかいう冠さえ付けば安定するとでも思ってるのだろうか。
Double Commander って Lazarus 製なんやね。すばらしい。
カタカナ反乱で訳わからん
ドイツ人がネオジュームと発音してんのに日本人はネオジムと言ってる
いっそ滅びろ日本
FPC NEW FEATURES 2.6.0 に載ってる
Advanced Record とか Class Helper って
使えるようになってるんだよね…?
ごめん自己解決して本当にごめん
{$modeswitch advancedrecords}
書く必要あったのね
>>185のような人のために「Lazarusで作るデータベースアプリケーション」
みたいなのをブログでやろうかと思うんですが、そういうのって需要あるかな?
では「LazarusとFirebirdで作るC/Sアプリケーション」をブログで書きますね。
10年以内に。
Lazarus 0.9.30.4 released
何が変わった?いい加減日本語を入力できるようになってほしいんだが。
というか英語できないやつは翻訳料だと思って
黙ってエンバカにお布施しとけ。
いつまで経ってもバカの翻訳進んでないじゃん。
ヘルプ殆ど英語だし、重いし…
いや別に英語読めるし、C#みたいなゴミも憶える気無い。
それから、日本語入力できるようになったことと英語のスキルは全く関係無い。
自分のところでも無事入った。(ちょっとてこずったが)
いれたのは、Lazarus-1.1-36647-fpc-2.6.1-20120407-win32.exe
エディタもちゃんと動く。
DelphiのIntraweb(VCL for Web)に該当するものってLazarusにあるのかなあ?
確かあったような気がするけど・・・あんまりバギーなやつだとダメだしね
十分使い物になるレベルに達しているね。日本語での情報は皆古過ぎて誤解されるかな。
XE3 のごたごたを考えると、ここで一気に本家を乗り越えられるかな?
マクロとかの情報が少なくて、
コンパイル後、出力された実行ファイルを指定したパスにコピー
とかいう動作をするにはどう設定すればいいのか、とかくだらん事の解決に数ヶ月かかった。
昨日調べたらwikiにちゃんと書いてあったのは気のせいなのかな
29 Aug 2012 - Lazarus 1.0 release available for download
Lazarus 1.0 を Win XP 32 bit に以前の設定を消してインストールしてみた。
「ツール」→「オプション」の「テストプロジェクトを構築するディレクトリ」は「%Temp%\」となって
いるがエラーになるのでドロップダウンリストからしかるべきものを選択し直す必要あり。
同じくデバッガのパスの「%LazDir%\mingw\bin\gdb.exe」も変更必要。
IDEにヘルプが内蔵された。また日本語IMEもインラインで変換できるようになっていた。
Linux 版 1.0.2 入れてみたが、こっちは相変わらず IDE で日本語入力できないな。
野良ビルドだからか?まあ VIM 併用だから大して困りはしないが。
質問です。
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の方が強いです。
>>276 東アジアの人が協力しない限り完成しないかと
gccとGTK+を弄りはじめた。GUI環境がクソだとつくづく思った。
Lazarusでgccが使えたら面白いな。これなら、世界的普及まちがいなし。
もはや意味不明。PascalじゃないならLazarusの意味なし。
CBuilder 見たいのが欲しいってことじゃね?
gcc は GNU Compiler Collection であって GNU C Compiler ではない。
そして gcc は Pascal をコンパイルすることができる。
揚げ足取りね。
Lazarus 1.0.2 をベースにGtk2とQt4版のソースコードエディタで
インラインでの日本語入力ができるように改造したものを公開しました。
詳しくは下記サイトを参照してください。
http://lazarus.matrix.jp >>287 乙。Bugtrackerに登録すると親切な外人がマージしてくれるかもよ
Delphi XE をインストール済みなんですが
Lazarus を同じパソコンにインストールしても問題は起きませんか?
Android対応のFreePascal
February 13th, 2013
The FreePascal team is pleased to announce official support for native Android targets in the trunk SVN repository.
http://www.freepascal.org/">
http://www.freepascal.org/ >>289 今のところウチでは問題は起きてない。どっちもたいして使ってないけど。
そもそも干渉する要素が見当たらない気もするがね。
本家のRAD Studio とかが XAMLみたいに書いてあったから
これも対応してるのかと思って入れてみたけど違ってた。
けどフリーでいきなりRAD の画面が出てきて楽そうだなと思った。
飛び入りでスマソ
DELPHIで常駐プログラムや文字の回転はwindowsAPIでしていたんだけど、
uses部分は書き換えるにしても、LazarusではwindowsAPIのコードがそのまま走るの?
>>296 「走る」ってどういう意味?
Lazarusは実行環境なわけじゃないから質問の意味が分からん
LazarusでFree PascaLのコードを書いて実行させると言う意味。
(Lazarusインストールしたら、Free Pascalも自動的にインストールされる)
よくわからんがFPCでコンパイルできるソースならコンパイルできるし
それがWindowsで動くコードなら当然動くよ
>>299 スマン。macで使っても動くのだろうか?
>>299 例えば、文字の回転やプログラムタスクトレイに常駐させようとした場合。
DELPHI → Windows APIコードを書く。
MacでLazarusとFreePascal → Windws API コードの部分はそのまま使える?
との質問です。もちろん、usesなどの少しの手直しは必要かと思います。
>>301 ますますよくわからんがそのWindowsAPIがMacで使えるなら使えるよ。
でもこれってLazarusとは何の関係もないよね。
>>302 Lazarus/Free Pascalの売りは、いつでもどこでもコンパイルじゃなかったっけ?
Windows API は マイクロソフトのWinsdows OSのコードで、基本的にはWindowsでしか使えない。
MacでLazarus/Free pascalで使おうとすればそれに対応する類似品が準備されているか?エミュレートような機能が無いと使えない。
文字の回転やプログラムタスクトレイに常駐はGUIプログラムになるのでLazarus無しでは、
基本的にできない。(自分でFree PascaLなどでGUIライブラリまで作れば別だが困難を極める)
Lazarus=GUIとかのライブラリ等含めた環境がWOCAなのであって、FPCはあくまでただのコンパイラだし
WinAPIをエミュレートするのはWineにでも任せれ
>>304 避けれたいいが、DELPHIでプログラム書く場合でも頻繁にWindows APIで各必要が出てくる。
気持ち的に言えば、DELPHIやFree PascalにWindows APIに相当するコマンドがあれば一番いい。
WIndows APIなんて書きたくない
それ言うならDelphi使いたくないってのが正解じゃね?
Delphiは実質Windows専用みたいなもんだし、
マルチプラットフォームで作りたいなら
マルチで動く他の言語を使ったほうがいい。
>>303 ごめん、何いってるか分からんわ。
正直そのプログラミングレベルでマルチプラットフォームアプリは無理かと。
というかなぜ「Windows」APIが「Mac」で動くと思うのか?
なぜ「いつでもどこでもコンパイル」がAPIレベルでの互換性の話になるのか?
まったく分からんのよ
>>307 その程度の理解力・想像力で、プログラミングはムリかと。
>>309 え?理解に勤めたつもりなのにそれはないでしょ。
しかも無料ソフトなんだから試せばいいだけの話にもかかわらず付き合ったのに。
>>308 はぁー プログラム組んだこともロクにないのね。
話の論点もLazarusに行ったり、APIに行ったり定まらないし。
で、Form上で文字を回転させるにはどうしたら良いの?
タスクトレイに常駐させようとしたらどうしたら良いの?
この質問?納得させる?
>>311 ◯ この質問に答えて?納得させきれる?
> で、Form上で文字を回転させるにはどうしたら良いの?
Delphiには無理
> タスクトレイに常駐させようとしたらどうしたら良いの?
Delphiには無理
>>313 はぁーーー わかったわかったあんたはプログラムしたことない。
文字を回転やタスクトレイに常駐なんてあたりまえのようにみんなしている。
おれもDELPHIで常駐プログラムを作っている。
いい加減、DelphiとかPascalから足を洗ったほうがいいのに。
デスクトップ用言語としても使われてないし、
ウェブ用言語としても使われてない。
オープンソースでも使われてないし、
クローズドでも使われてない
まだ移行できてない奴が残っているだろうけど
今はもうCOBOLよりも将来性無いと思うぞ。
>>314 Macにタスクトレイなんて無いけど、
どうやって?
>>316 はぁー DELPHIははwindows版だけど
>>318 だったら最初からそういえよw
答えてあげよう。
「スレ違いなので以下へどうぞ。
くだすれDelphi(超初心者用)その55
http://toro.2ch.net/test/read.cgi/tech/1353119767/」
>>315 メジャーならいいってわけじゃないからなw
日本人全員が国民車トヨタプリウスじゃつまらんだろ?
Delphi の需要なんていまどこに残ってるんだろう
大昔に Delphi で頑張ってた連中はとっくに別のに乗り換えてるだろ
>>322 えーと、ここはDelphiスレじゃないよ
>>322 Janeもあふも相変わらずDelphiで開発されてますが?
実家から帰ってきて覗いてみるとなんだかよくわからんことになっているが、
タスクトレイに関しては Additional に TTrayIcon というコンポーネントがあるよ。使ったことないけど。
それと、ここの住人は揚げ足とって喜ぶだけのアホばっかりだから結局は自分で調べた方が早いよ。
>>326 そんなこと聞いてません。Macの事を聞いているのですが。
>>326 そんなこと聞いてます。さんくす。
Windows APIのコードをTTrayIconに置き換えるのですね。
ついでに、教えてください。
DELPHIでwindowsAPIで仕方なく行なっていたコードは、Lazarusではコンポーネントが殆ど?準備されていると思ってもいいのですか?
>>328 > Windows APIのコードをTTrayIconに置き換えるのですね。
いや、前述のとおり使ったことないんでコンポーネントについては調べてちょうだい。
Delphi XE とかにも付いてるけどな。
> DELPHIでwindowsAPIで仕方なく行なっていたコードは、Lazarusではコンポーネントが殆ど?準備されていると思ってもいいのですか?
それはわからん。
Windows 専用アプリで API を直接使えるかいうことなら、Lazarus も LCL の内部では結局 API 呼んでるはずなんで使えるんじゃないかな。
試してみたら MsgWaitForMultipleObjects とか候補に出てきたから大抵の API は定義されてるんじゃない?
Delphi とは違うコンポーネントもいろいろあるから、自分で調べるしかないね。
自分はせっかくの Lazarus なんで、Windows でも Linux でもビルドできるソースしか書かないんで
Windows の API 直接使ったことはない。ていうかどっちかというと Linux 寄りかな。
>>326 あの最初の質問を読んだだけで俺はすべて悟ったよ、という感じがムカつくなお前
このScalaの時代になんでPascal命なんだ? なんかメリットあるの?
>>332 それだけの読解力があればまずまずだよ。
なんかそのものずばりの回答ないから俺が答えとく。
>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別に書き分ける。
コンパイラ指令でも良いかもしれないけど、見辛いしね。
linuxのutf-8環境で書いたプログラムをshift-jisのWinに移植しようとしたけど書き方ミスったな
GUIでstringのCaptionとかをwidestringで管理しようとして出し入れで問題があったのかそこだけ文字化けする
型をstringにすれば解決したけどlinuxでは普通に動くから気づかなかった
全部書き換えるの面倒だなあ
>>343 どういう場面か分からないから確かかどうか分からないけど、Winは過去
互換性から、かってに文字列のコーディングを変更して読み込むのが
あるから、そこで引っかかっているのかも。
こういうのって結構やっかいだよね。
ボチボチ勉強中なんだけど、
http://wiki.lazarus.freepascal.org/Multithreaded_Application_Tutorial/ja ここみると極力マルチスレッドはやめれみたいなことが書いてある。
重い処理の応答改善にこそマルチスレッディングは有効だと思うんだけど。
重い処理してても最低限キャンセルは受け付けるべきで、実際にちゃんと作られた
アプリケーションはそうなってるんだけど、これはマルチスレッドの実装じゃないんだろうか。
>重い処理してても最低限キャンセルは受け付けるべきで、実際にちゃんと作られた
>アプリケーションはそうなってるんだけど
マルチスレッドじゃなくても実装は可能
それよりマルチスレッドを避けろという議論の本質は
スレッド切り替えのオーバーヘッドが無駄ということ
overlaped バンバンというのもしんどいなあ
俺はむしろイベント処理の順番が狂う ProcessMessages は使うべきじゃないと思ってるんだけどな。
Delphiはいいとして
Lazarusで開発されたソフトって世の中にあるの?
Lazarus は開発環境そのものなので。
FPC/*CL で書かれたものはあるの?っていみなら Lazarus そのもの
LazarusのHPみればわかることをわざわざ質問するアフォ
せっかく新しい仲間が増えようってのに
アフォとか書くのは良くないと思うな
>新しい仲間が増えよう
沈みゆく船に乗り込むアフォだろ?
企業向けのWindows向けシステムをLazarusで組んでる人っている?
DelphiスレでLazarusの名前が出てたのでインストールして
まだ一寸しか使ってないのですが
個人的には取りあえずDBGridで(MEMO)って出るのが取りあえず面倒だと感じてますが
他に問題になりそうな部分ありますか?
delphiに比べて実行時パフォーマンスはある程度は落ちると思います。
確かにキビキビ感は無いですね
マシンパワー上がってるからあまり感じないけど
古いマシンだと更にモッサリするのかな
Lazarusで作ったアプリってそれ単体で動くの?外部ライブラリとかインストールされてないとだめなの?
>>359 SQLiteとか簡単なDBでも使ってれば外部ライブラリを同梱しないとダメですね
http://wiki.freepascal.org/Lazarus_Database_Tutorial/ja 例えばフォームにボタンを張り付けただけのような単純なものはexe1本で配布可能です
サイズが巨大なのでstripで小さくしてから配布した方がいい
Delphiヘタコイタ時だけ活気づくな
Kylixの時もちょっと活気あったわ
>>356 問題を自分で解決できない人は素直に.NETとかの方がいいと思う。
>>362 ご忠告ありがとう御座います、問題が出れば当然自分で解決しますよ、
質問した趣旨は問題を既に経験した人に
「こんな事があったよ」と言う意見を出して頂ければと言う事です
業務用だったら一番の問題はIMEのON/OFFの制御かな
初心者はマルチプラットフォームを意識すると混乱しがちだから
Windows専用にするのがよいと思う
Win8とMSIMEの組み合わせ固有の問題かも知れないが
日本語を入力しようとすると高確率でフリーズする
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.
本家に実装してもらったら良いように思うが
マルチプラットフォーム前提だから実装できないのかね
>業務用だったら一番の問題はIMEのON/OFFの制御かな
まだそうなの? FireMonkey、IME 管理出来ないけど業務で使えるって言う人はいるぞ
>>368 中の人に東アジア人がいないから後回しっぽい
Pascal使いは何故かロシア人が多いよな
学校の授業か何かであるのかね
我が家の環境だとデバッグで実行するとフリーズして動かなくなる事がある
ブルー画面に落ちるわけでもないがタスクマネージャーも出せない
[CTRL][ALT][DEL]も効かない
因みにWin8(64bit)にてLazarus 1.1.99pre
ちょいちょいLazarusで業務システム作ってるよ、
業務システムに多いレポートはPowerPDFを使ってます(Lazarus版の方ね)
フリーのIDEだとLazarusはダントツで高性能
高性能でも若いプログラマはpascalわからないし
webアプリがメーンだから確実に沈む船だ
.NET .NET って言うけど、あんなのもう廃れだよw
日本語がどマイナーな言語なんだから
日本人のプログラム言語もどマイナー言語でいいのだよ
Lazarus64bit版使ってる人いる?
32bit版と何が違うの?
>>381 lclでサポートされてないのがあるから64bit版はまだ辞めた方がいいよ
>>373 GDB Debuggerかな?うちでもフリーズするからnoneにしてある
ブレークポイントとか使えなくて不便だけど仕方ない
というかpre使っといて文句だけいわれても困るわー
>>386 俺は安定版だけど
GDB onでデバッグしてるとsavedialogとか開くと同時にフリーズする事がある
原因調べたけど再現性もないし環境の違いによる問題かも知れない
俺は1.1SVNや1.3SVNだけどデバッグしてて落ちたことはないな。
自分のプログラミングミス以外でだが。
ファイルダイアログでフリーズするのってアンチウイルスソフトではあるまいか。
avast使っててなった事があるわ
プロジェクトファイルのパスをウイルスチェックから除外してみ
Lazarusって、Vistaの新しいダイアログ(TaskDialogとかIFileDialog)に
対応してるの?
適当なバージョンの VCL ソースをパクれば使えるよ。
基本、FPC/Lazarus はそいうもんだ
「できない」か、じゃなくて「してる」か、を聞いてるようにしか見えないけど
つまり「LCLを使うだけで素敵なダイアログで表示できますか?」という質問だということね。
エスパー乙。
LazarusのLCLは基本VCLのソースをパクってるライセンス違反の塊ってこと?
だとすれば、つかえねーな
Kylix の時に RTL/CLX のソースコードが GPL 化した。
という判断で丸パクリしたのが大本。
同じプロジェクト内のフォームAを継承して
フォームB、フォームCを作ろうとしていますが
デザイン時にフォームAを編集しても
フォームBやCに変更内容が一切反映されません
実行してみるとフォームAの内容が継承されているのですが
デザイン時に何かと不便なのでデザイン時にも
継承元のフォームの内容を表示させるには
どのようにすれば良いのでしょうか?
継承先のフォームを一度閉じて
エディタから[F12]でフォームを再表示させたら反映されました
毎回一旦閉じないと反映されないのですかね、
任意のキーで反映されるか自動的にやってくれたら良いのですが
そこまで面倒でもないので毎回一旦閉じる事にします
お騒がせしました
Android用のプログラム書いてみようかと思うんだけど
普通に動くのかな?作ってる人いる?
>>405 Lazarusでクロスコンパイルする話だろ
スレ違いなわけねーだろ
可変になる印刷命令部をスクリプトで外に出せば必要十分と
世界が気づいちゃったしな
うちでは
デバッガが止まりすぎてまともに使えない
惜しいわこれ
>>409 どういう処理?
HTML+CSSを作るってこと?
1.0.14にアップしたら TPQConnectionがなくなったお(´・ω・`)
64bit版だったのかな?ダウンロードして再インスコしてみる(´・ω・`)
なんか
Windows7 64bit版でLazarus 32bit版動かしてたら
デバッガがまともに動かないから憤慨していたら
XP互換モードで結構安定して動く様になったから驚き
ただ、エディタでタブのインデントが3文字だったり2文字だったり8文字だったりするのが嫌。何これ。
>>417 メニューの「ツール」 -> 「オプション」
「エディタ」ツリーの中の「スマートタブ」チェックをOFFにする
>>418 おう、なんかいいこと教えてもらっちゃったぜサンクス
これ利用する上でc++に対するアドバンテージって?
慣れ親しんだ Delphi っぽい環境で Linux のプログラムを作れる。
wiki.freepascal.org/LazActiveX
(仕様としては)使えるYO!
(実用的には)使えないYO!
Delphi コードのパクリだからライセンス的に危ない。
情報が古い。パクリはクリーンルームで排除されてるよ
432の中ではそうなんだろう
軽く読んだだけでもVCLそのままのところは普通に見つかるけどなw
まさかVBのパクリかつクソ設計のVCLで著作権を主張するつもりか?
>>436 VCL は VB のパクリではない
そもそも VB にクラスライブラリの概念はない
>>436 .NET が VCL のパクリ。
パクリっちゅうか、まあ、アレだ。中の人がな。
>>435 MLでLazarusの中の人が権利関係は完全にクリアとは言えないと自分で言ってるけどね
当たり前だけど膨大なソースの個々の権利関係を確認するのは大変な作業で、
向こうにはそれを全部確認できるような人的リソースが無いわけ
ReactOSみたいに人数の多いプロジェクトですら開発ストップして調査に2年以上かかってるのに
調査らしき調査を今まで一度も公に行ったことがないのにどうしてそんなことが言える?
そんな状態では具体的に指摘するまでもないでしょ
>>439 具体的に指摘できないと裁判では勝てないよ。
権利侵害と主張する側に立証責任があるわけだしw
立証もできないのに貶すだけなら
黒子のバスケの作者を脅してた犯人と同じ
でもそもそもエンバカがLCL同梱してるでしょ?今となっては実質公認なのでは?
>>443 誰って上の中傷レスみればだいたい分かるよね。多分円バカ社員w
Win7 64bitに1.0.14入れてみたけどデバッガの調子が悪いね
スレ読んで互換性をXPにしたが変化なしだった
デバッガ(None)では使いにくすぎる
何か他に方法はないものか
Forum見てきたけどCOMDO Firewallが原因みたいだね
確かにCOMDO Firewallを使ってたわ
もっともDefense+は切ってるからスレの指定のように登録しても意味ないんで解決はしなかったわ
Lazarus例外を通知のチェックボックスを外したらまだ使えるレベルになったわ
もう少し遊んでみる!
LazarusにはレポートコンポーネントLazReportが標準で用意されている。
中身はFastReports社のFreeReport。
インストール方法
1) メニューの[パッケージ]を選択
2) [パッケージのインストールもしくはアンインストール]を選択
3) [インストール可能]にある"lazreport 0.9.9"をダブルクリック
4) [保存してIDEを再構築]をクリック
FPC 2.6.4 has been released!
Lazarus 1.2.2 Release
This release was built with fpc 2.6.4.
laez(^e)r^es
発音記号
aeは合体したアレ
^eは上下反転
音声を聞いた限りでは、ラーザラス
#恐らくエスペラント語発案者の氏名から取ったんだね
Lazarusという単語を英語読みした際の一般的なカタカナ表記はラザラス、もしくはラザルス
だけど名前の由来が聖書だと公式が言ってるんで、そっちの一般的な日本語訳に倣うと
日本語転記する際はラザロとするのが正しいような気もする
一応付記しておくとエスペラント語発案者の名前とは何の関連もない
>>463>>466 インターネット使えない田舎者なんで(いやぁ、イマドキ^^;)、久しぶりに都会に来たついでに
アクセスしたらご親切に回答ありがとうございます。
英語読みでレイザラスにならないんだね。
どうも英語は苦手じゃ。
どこかで聞いた話では、昔は英語もつづりと読み方は同じモノだったそう。
発音が変わるとつづりも変化していった。
ところが、活字が発明されてから、読み方が変わっても、つづりがそのままということに
なって、今に至っているらしいですね。
Linux でスマートリンクにしたら IDE から実行できない。なぜじゃ?
初めて入れてみた。
いままでDelphi3(製品版)とDelphi6(試用版)しか使っていなかったから、
テストとしてしばらく使っていこうかと思う。
文字列の処理あたりに注意しなければいけないんだっけ?
なんと PeaZip は Lazarus製ではないですか!
Double Commander もLazarus製
私はeggpadというフロチャート的なソフトでLazarusを知った
ちょっと感動した
FPCのガベージコレクション?関係ってどうなってんの?
というのもオープンソースの某Roguelikeゲームで
ときどき停止世界するからたぶんGCだろうと思って
GCなんて基本的には無いよ。
自力でそれっぽいのを実装してる人はいるみたいだけど。
そうなの?
じゃBoostみたいなデファクトスタンダードもないっぽいね
FPCのガベコレって
ちょっと前のDelphi同様
Interfaceで実装するもんじゃないのかね多分
俺は使ったことないけど
強いて言えば文字列はコンパイラが自動解放してくれるな
厳密なGCじゃないけど
ARCに近い
古いソースのファイルを大規模修正無しでちょっといじりたい時とか?
Lazarus 初めて使ってみたけど、いいねえ。
Linux上でDelphi とほとんど変わらない感覚で使える。
Thanks!
かなり前にDLしたけどまだ手を付けていない
VBみたいな感じなのかな
wineでいつのまにかdelphi6がインストールできるようになっていた。
DBのサンプルまで動いてしまった。これで、lazarusで作り直す意味が
ほとんどなくなってしまった。
Wine なんて (いろんな意味で) 不安定なものより、Lazarus で Linux ネイティブに作り直しておいた方が
いいんじゃないかと思う、Windows から Linux に転向した俺の意見。
とりあえず Linux で動くことが必要なだけというなら Wine でも良かろうね。
Wineは「動いたらラッキー」くらいの気持ちで付き合うのがよろし。
あんまり期待するとイヤンなっちゃう
Windows版のLazarusで、たとえば
バージョン0.X.Xまでは作ったEXEが9x系でも動作する、
バージョン1.X.XからはVista以降じゃないと動かないEXEになる、
みたいな情報がまとめられてる所ってない?
最新版でWindows98以上だよ。本家のWikiに書いてるよ。
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)
というコンパイルエラーが出ました。どうしたら解決するのでしょうか。
答えでなくて申し訳ないんだけど
Lazarusでコマンドラインプログラムから始める必要ってある?
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みたいなのが無いっぽいかなって、推測は出来るんですけどね
ここを別の名称にかえれ>program readln;
program testreadln;とかでも
>>498 にゃる…やってみたら出来ました。
なんとも単純なことだったのですね。
ご教示ありがとうございました。
>>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;
ひょっとして、
Application.Messagebox(p1,'',0);
の次の処理で
Freemem(p1);
と書かないと、メモリはずっと解放されないんでしょうか…?
それとも自動でGCみたいなのが機能するのでしょうか。
あるいは、スコープから外れる段階で、自動的にfreememするようにコンパイルされているのでしょうか。
解放されないままじゃ
というか確保しなくてもキャストしたらいいんじゃない
Application.MessageBox(PChar(Edit1.Text), '', 0);
>>502 およ…そんな方法が…
サンクス
もっと色々勉強して頑張ってみますね
アホみたいに初心者じみた質問をするかもですが…
(家の何処かに古いDelphiの本が積ん読になってたかも)
>>503 伝統的PascalならともかくDelphiで拡張されたPascalは
Cの便利な機能を色々取り入れてるから
慣れるとCより開発効率よいよ。がんがれ。
>>504 ありがとうございます。
率直に嬉しいです。
2chというと、罵り合いとか「スレチ出てけ」とか、殺伐とした所がすごく多い印象なんですけど
色々と独力で調べつつ、分からないことがあったらまた質問に来るかもですが…。
チュートリアルとか型の仕様とかも含め、初歩的なところを公式wikiなどを見て試行錯誤してみますね。
「…書庫のすみっこにDelphi 5の本があったけど、15年前の本だった…型も色々違うっぽい…int64とかCurrencyって何処?」って現状ですけどね。
>>505 個人的には他人のコードを解析するのが一番勉強になるな。
PeaZipとかBeer Media Server とかソース公開されてるLazarus製のソフト探すのもいいかも。
個人的には他人のC++で書かれたソフトのPascalへの移植が一番勉強になったわ
あるある、vb.netからc#の移植でc#覚えたとかw(vb/tb.net未経験
>>495 です。実践的な御助言の数々、感謝します。
ちまたにある、ソース公開されているソフトをいくつか当たってみますね。
個人的には、画像ファイルに矩形選択して、その部分を白で塗りつぶすだけのシンプルなソフトを組みたいのですが
分からないことだらけだしGIMPは大げさだしと悩んでいた所なので、そういう「自分の必要なものを作る」でも良いのかな…?
何にせよ、もうちょっと試行錯誤してみます。
>>495 です。
あれから時間を見つけては色々チョコチョコとFree Pascalでコード書いてました。
調べたら正規表現のライブラリもあるようで、下手にスクリプト言語をいじるより便利かも…?
windows環境にPerlやruby入れても良いんでしょうけどね(なおrubyは未経験者)。
なおネットブック(Windows7/8は正直ムリ)にはLubuntuを入れてあるのですが
何だかんだで結局公式debパッケージのFree PascalとLazarusを入れました。
公式のUbuntu系リポジトリからのインストールもしてみたのですが、若干バージョンが古かったので。
同じ処理をCとrubyとFree Pascalで書き比べるのも面白いかも…?
Linuxならglibがあるので、Cでも文字列操作も楽ちん…かな(リンクの仕方が分かってないけど)
DLした
DOS時代のTurbo Pascalの例題とか動くんだろうか
なんか今開発中のver2.7系って結構最適化良いみたいじゃん
ビルドするのめんどうそうなので正式リリースでインストーラー
できたら呼んでくれ
いつ頃リリース予定かわかる?
FPCは人手不足らしいから正式リリースは相当先だと思う。
Lazarus trunc + FPC3.0.1 win32 のインストール用exeでよければ
すぐにアップできるよ
過疎からのまさかの返信ありがとうございます。
ありがたいのですが、お手数掛けますし64bitが目当てなので、
しばらくはDelphiで頑張って気長に待ちます。
lazarus 1.4 x64版なんだが
単にTMemo貼り付けただけのアプリケーションでも
日本語変換ソフトを起動すると例外吐いて落ちる・・・
なんかバグがある様子。
>>519 ATOK2015 (win7 x64)
先程32ビット版で試してみるとこっちは落ちない。
64ビット版で、他の日本語変換ソフトでは落ちないのかな?
imm32には一応対応してるけどTSF対応が不十分とかそんなんじゃないの?とかなにも考えずに思った
>>521 標準のIMEだとどうなの?
大丈夫ならATOKのせいということになる。
>>522, 523
MS IMEだと落ちないね。Googleは試してない。
前のバージョン(1.2.6)のLazarusでビルドしたものは大丈夫なんだよ。
これ誰かバグ報告して・・・
俺英語ある程度は読めても書くのは全く出来ないんで細かいニュアンスが伝えられない
ATOKとか外人がもってる可能性はとてつもなく低いから
パッチを上げるとかするのが現実的だと思うよ
javascriptで変換させてるgoogleは偉大だな
もっといえば、英語が苦手でも
具体的にソースコードを示せば伝わる。
プログラミングも苦手なら正座してじっと待つしかない。
そんなん正座してても無理やろ
日本語でリクエスト書いて英訳・校正してくれと頼むくらいのものや
まあATOK側にクレーム上げるのが見込み高いんじゃないの
arm-wiceじゃなくてarm-win32なfpcって作れるんかな
Windows IoT Coreで遊べるか気になる
>>519 >>521 >>524 一応バグトラッカーに報告しておいた。
Free Pascal 3.0 rc1 is out!
FPC3.0.0のUtf8Encode関数はバグが有りますね。
バグトラッカーには上がってるのにRC2でも何故か治ってない。
Utf8Encode使ってるParamStrUTF8などのLazUTF8系は全滅です。
win7 64
1.4.4(x64)にして見たんだが
ファイルを開くのダイアログでファイルやフォルダー上で右クリックすると落ちるのって前から?
あるいはこっちの環境ですかね?
別にダイアログ内でついでに名前変更とか変なことしなきゃ良い話ではあるんだが
※ちなみにF2キーで試したら名前変更は出来る模様
TButtonの背景に色をつけたいと考えています。
http://wiki.lazarus.freepascal.org/TGradButton を使えば色をつけることができそうですが、インストールの仕方がわかりません。
お手数ですが教えて下さい。
手元にあるDelphiはバージョンが古く、TButtonに対応してませんでした。
自己レス。
TGardButtonのインストールに成功しました。
すみません。
svnにFPC 3.0.0のリリース用タグが作成されたぬ
LazToApkでapkファイルができた方いますか。
ライオンのマークのprojectというタイマーアプリはできたのですが、自分で作ったもので動きません。
http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android/ja これを見てコンパイルに成功したのですが、パッケージにエラーが出てインストールできませんでした。
ちなみにボタン一つの簡単なものです。
どなたか正常に動いた方いますか。
解析エラー
パッケージの解析中に問題が発生しました。
とでました
>>547 詳しいことはわからない
project.apkができて、その中にタイマーアプリがあるだけ。
そもそもLazToApkでは自作アプリは作れないのかな?
Lazarusでandroidを作れた方に、方法をお聞きしたいくらいです。
>>549 ありがとう
少し前にそのwikiのいくつか修正して、successになってapkファイルはできた。
でもインストールで引っかかって、本当にコンパイルできているのは疑問だったけど、できるようなのでもう一度環境を変えて挑戦してみます。
so ファイル(WindowsでいうところのDLL)がきちんと作成されるかと
apkファイルがきちんと作成されるかは分けて考えたほうがいいよ。
apkファイルはzipファイル+αにすぎないものだし。
北陸にあるOSX用lazarus1.4.4 壊れてない?
TPanelかそれに代わるもので、Captionを2行にする方法はありませんか。
難しすぎて正規表現を扱うのは無理でした。
Pascal eXtended Library
http://www.afterwarp.net/products/pxl 作者はエンバカデロでFMのリーダーだった人みたい。期待大。
Tulip UI(
http://tulip-ui.azurewebsites.net/)
をLazarusに移植する予定もあるらしい。
かなり初歩的な質問ですみません
Free Pascalで
Program LazMessage;
Uses Dialogs;
begin
ShowMessage ('これは Lazarus からのメッセージです')
end.
をコンパイルしようとしても
Identifier not found "ShowMessage"
などのエラーが出ます。
どうすればいいのでしょうか?
コピペしたら動かなかった分かる
Lazarusがインストールされているか確かめる
コンソールアプリになってないか確かめる
このあたりじゃないかと思う
Linux の IDE 事情を見てみようと思っていくつかの特集ページ見てみたけど、
ことごとく Lazarus はハブられてて腹が立つ。
まー言語仕様も古臭いけどさー。
変数のスコープを縮めるような取り組みはないのかね。
言語?
Pascalは古臭いけどDelphi言語?Object Pascal?は別に古臭くないと思うよ。
デレゲートとかむしろJavaの方が混乱してる感じだし。
無名関数とかクロージャーとかもそのうち実装されるだそうし。
変数スコープを縮めるってのは例えばforループ内でのみ有効なローカル変数が欲しいとかそういうこと?
OpenJaneをコンパイルしようとしてPascalに触れてみてる
ラザルス/パスカルの入門用の日本語の書籍ってある?
lazarusでopen janeをコンパイル出来ませんか?
>>562 パスカル言語自体の入門なら、古いDelphi用の書籍を図書館で借りたり
古本屋でゲットすれば十分だと思うよ。
stringがUTF16でなくUTF8だというのさえ気をつければ
なんとかなると思うよ。
IDEの使い方の入門は、DelphiやVS C#などのIDE使ったことある人なら
適当に触ってるうちになんとかなると思うよ。
>>563 修正無しでコンパイルはできないと思うよ。
でもC++から移植するよりは絶対楽だから勉強のつもりで移植してみるのはいいかもね。
他人のコードを見るのが何よりも勉強になるし。
ちなみに今からラザロで新規プロジェクト作るなら先日出たばかりの
Lazarus 1.6RC1 で作り始めたほうが絶対によいと思うよ。
FPC 3.0、特にコードページ文字列型にフル対応してるから。
>>560 ああ、古臭いは言い過ぎかもしれない。
> 変数スコープを縮めるってのは例えばforループ内でのみ有効なローカル変数が欲しいとかそういうこと?
そうそう、使う直前での定義とかそんなの。先頭に戻るのがめんどいような長い関数は書くなって思想かもしれないけど。
あと、最近はやり (?) の型推論とか。
>>566 >そうそう、使う直前での定義とかそんなの。
確かにC++で取り入れられたときはうらやましかったけど、
今はエディタが発達して自動定義とかしちゃうからな〜
見込み薄かもね。
そういえばbegin 、end、then とか打つの面倒とかいう意見も昔はあったけど
エディタが自動入力しちゃう時代だしね〜
型推論はジェネリクス絡みでそのうちある程度はできるようになるだろうね。
まあスクリプト言語じゃないので、実行速度を犠牲にしてまではできない
という限界はあるだろうけど。RTTIみたいに、便利だけど組み込むと重くなる
みたいなのもあるから。
>>567 > そういえばbegin 、end、then とか打つの面倒とかいう意見も昔はあったけど
自分は Shift + ホームポジションから離れたカッコを多用する C 系よりは アルファベットで begin end 書く方がいいな。
仕事ではどうしても C 系の言語が多いので慣れてしまったが。
型推論は、var で型を指定しておいて、.Create だけで生成できるとかが Pascal 的なような気がした。
Lasarus 1.6 では component/googleapis なるものがあるな
CustomDrawnをインストールし、ボタンなどを配置してみましたが、どれもコンパイルが通りません。
1.4.4、1.6RCもダメでgithubの最新版も通りませんでした。
OSはWindows7です。
カラーボタンを使いたいのでCustomDrawnが良いのですが、使えた方いますか。
確か最近修正があった気がするからtruncでないとだめかも。
>カラーボタンを使いたい
ほんとにそれだけの理由なら標準のウィジェットでもできるよ。
CustomDrawnだと日本語入力とかできないしデメリットのほうが多い気がする。
>ほんとにそれだけの理由なら標準のウィジェットでもできるよ。
どのコンポーネントでできるの?
今のところCustomDrawnで日本語を使う予定がないので、英語でも良いんですけどね。。
BGRA Controlでできたからこれでいいや。
ありがとう。
あとはCaptionを2行にする方法を考えねば。
TButtonでは2行にできたけどね。
今が一番楽しい過程だね。
すぐにできると思うから頑張れ!
IDE は一つのウィンドウにして欲しいな。
複数開いてそれぞれのモニタにとかいうのが気軽にできん。
やったことないけどドッキングに対応してたはずだよ。
えー、そうだったっけ。
またそのうち調べてみよう。
ドッキングで検索するとすぐに出てくるよ。
慣れたこともあるけどでもすぐに戻した。
だんだん、delphiよりも使いやすくなってきた。
laztoapkで教えて下さい。
Windowsでプログラムができあがってandroidでもと思い、laztoapkでAPKを作ったのですがタイマーアプリなってしまいます。
テンプレートから読んできているようなので、そこを変更しようと思いましたがわかりません。
どのファイルを修正したらよいでしょうか。
androidの簡単なプログラムを作っています。
wikiを見ながらsoまでできたのですが、次にどうしたらいいのでしょうか。
見本のプロジェクトをいただけるとうれしいのですが。
というかsoできたならあとは言語関係ない
(Lazarus特有の問題はない)よね。
やっとandroidにコンパイルできた。
javaの事はさっぱりわからんから、作れただけでもよしとするか。
TButtonの背景は、やっぱり色が付かないね。
TButtonがWindowsのボタンコントロールを使用しているので
ボタンの色はWindowsが決定してしまうからどうにもならない
という問題だったキガス。
というわけで既出のとおりWindowsのボタンコントロールに依存しない
カスタムボタンを使用するしかない。
android用にコンパイルしたら変わると思ったけどダメだね。
Lazarusでandroidの簡単なプログラムを作成しています。
動作を遅くするための遅延をかけたいのですが、Windowsにコンパイルすると正常に動くものの、androidではウエイトタイマーが働きません。
サンプルをネットから持ってきて試しましたが、全部動きませんでした。
簡単でいいので教えてください。
ダメだった。delayもダメ。
mmsystemも使えないし。
タイマーコンポーネントなしで書きたいんだけど、うまくいかない。
うちではsleepで無問題だが。
unit単位で関数が重複してんじゃね?
androidアプリで教えてください。
マルチタッチはできますか。あるボタンを押しながら、別のボタンを押す処理をしたいのです。
それからもう一つ、アプリ終了の処理でcloseやterminateでは終了できませんでした。できる方法がありましたら教えてください。
数枚の画像を埋め込んでパラパラ変えるようなプログラムを考えています。
JPG画像の埋め込み方を教えて下さい。
色々なやり方が考えられるが $R でリソースに取り込んで
LoadFro,Resourceとかで読み込むというのが簡単じゃね。
基本は同じだからDelphiの超初心者スレで聞いてみれ。
>>597 ありがとう。
lrsエクスプローラで1つにまとめてできた。
delphiと微妙に違っていて苦労した。
おいおいおいおい、いつの間にか1.6出てるじゃんよ。
書き込んでくれないから、気付くの遅れたよ。
最近インストールしたばかりだが
よく出来てるねこれ
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));
は使えるけど。
Copy、Insert、Delete、Lengthなどの伝統的関数(手続)が
要素単位(ANSIやUTF8ではバイト単位、UTF16ではワード単位)を
基準にするというのは永久不滅かと。
それはどうですかね。
引数に文字列リテラルか定数を渡せば期待する動作をしますが変数では駄目なのです。
「通る」「動作しません」「使える」「期待する動作」「駄目」などの
曖昧な言葉が多くてよくわからんな。
少し整理して機械翻訳でもいいから英語にして本家のフォーラム
で質問すると中の人が返事をくれると思うよ。
コンパイルのタイミングで、リテラルはAnsiStringとして評価、文字列定数はおそらく最適化によりAnsiStringにでもなったんじゃないの、なんとなくだけど。
文字列定数、
const AAA = 'foo';
としてれば、最適化うんぬん関係なく、AnsiStringとして評価されそう。
一方、
const BBB: string = 'bar';
だと、変数と同じ結果になりそう。
(今手元に環境ないから試せない)
Lamw: Lazarus Android Module Wizard
https://github.com/jmpessoa/lazandroidmodulewizard 既に使ってみた人いますか?
>>601 改めて試したけど、そもそもうちでは
var
s: UTF8String;
begin
s := '123あいうえお456';
ShowMessage(s);
end;
で「あいうえお」部分が文字化けする。
s: string;
にすると文字化けしない。
ShowMessageがUTF8Stringに対応してないんじゃあるまいか。
>>607 ShowMessage(IntToStr(StringCodePage('あいうえお')));
で0と表示されるからCP_NONEみたいだ。
>>609 自己レス。ShowMessageの問題ではないみたい。
>>610 こっちも自己レス。汚してすみません。
0は、CP_NONEでなくCP_ACPだた。
>>601 UTF8String を使う場合は、ソースの先頭部付近に
{$codepage UTF8}
を加えるのがほぼ必須みたいです。
そして、copyはやはりコードページを意識しない
(要素単位固定、現在は1要素=1バイト)みたいです。
ですので s: string; とした場合と動作は変わらないみたいです。
自分は Pascal 好きなんだけどね。
でも遊びくらいにしか使えないわなあ。
余計な苦労するだけだし。
>>617 どういう苦労なの。
俺はVBなら出来るんだけどという奴に合うたびに閉口するんだけど。
参考に教えてちょうだい。
>>618 ああ、ここ Linux の板じゃなかったな。
たいていサンプルがあるのって C じゃん?無理やり Pascal に書きなおすか、
なんとかしてドッキングさせたりとかそういうところ。
Windows は、最近はネイティブアプリを作ることがないな。
.NET 使うなら言語の違いは大して意味ないし。
そ、そうだな
(誰も苦労話なんかしてないんだが……)
俺は逆にCをPascalに移植するの好きだけどな。
変にマニュアルとか読むよりも仕様がよくわかるし
何よりもPascalの便利さがわかる。
それはケースバイケースで、CでDLLを作るという手もあるよ。
いずれにせよCでできることはObjectPascalでもほぼできるわけで
慣れれば困るということはないよ。
僕の経験上で今までObjectPascalでできなかったのは
デバイスドライバ開発時のメモリアドレスの絶対指定ぐらいかな。
Delphi3でデバイスドライバーを作ってる人見たが
VCと混合だったかな
うろおぼえ
ツールのDelphi Conversionで簡単なDelphiプロジェクトをLazarusに変換したんだけど
コンパイルしようとすると「プロジェクトにメインソースファイルがありません」って出ちゃう
どこをいじったらいいでしょう?
>>626 試したけどそのようなエラーは出なかったよ
>>626 コンバートで失敗はなかったけど、コンパイルする時に4つエラーが出た
lazarusにはない記述だから仕方ないけど
>>628 >>629 レスありがとうございます
もう一度試してだめなら
手作業で変換することにします
Shift_JIS漢字を含む文字列をUTF-8文字列に変換したいのですが
AnsiToUtf8関数は見当違いですか?
試してみましたがうまくいきませんでした
>>632 >>633 OSはWindows7 64Bitです
うまくいかないのは何かコンパイラ指示とか足りないのでしょうか
他にShift_JISからUTF-8に変換できる関数とかないでしょうか
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;
>>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);
>>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 // ここまで
>>635 ありがとうございます
APIを探してみます
>>636 >>637 >>638 サンプルコードまで書いてくれてすみません
早速試してみます
>>636 コードページを使うってことがまったく頭にありませんでした
DelphiならAnsiToUtf8ExとかUtf8ToAnsiExあたりが使えそうですがLazarusにはなさそうで…
>>635 Win32APIを探してみたらMultiByteToWideCharというのが使えそうですね
コードページはCP_OEMCPあたりでしょうか
WideCharからUTF-8はWideStringにしてStringに代入で変換できそうですね
このあたりを使ってコードを書いて見ます
>>640 素直に SetStringCodePage を使えば?
>>640 あと1.6以降でのUTF16、UTF8の自動相互変換は思わぬところで嵌まることがあるので
1.4以前みたくUtf8EncodeやUtf8Decodeを噛ませておいたほうがいいよ
>>640 636だけど良い方法分かったらレポよろしく。
10数年前にDelphi 7を使ったのが最後だったんでLazarusで半角カナ混じりのSJISテキストファイル表示するのに試行錯誤したよ。
知らなかっただけかもしれないが当時はUnix がEUC主流でUTFなんて無かったような。
delphi7は、一応utf-8に変換する関数は用意されてるね。
基本面のみなので、サロゲートペアを適切に扱ってはくれないけど。
一応こんな感じで今のところうまくいっています
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で受けています
しばらくこんな感じで使ってみて不具合が出たらまた考えて見ます
皆さんいろいろな助言をありがとうございました
難しく考え過ぎじゃない?
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;
>>648 LazUTF8というのがまったくの初耳でした
WinCPToUTF8であっさりできてしまうんですね
ありがとうございます
>>650 テストでテキストファイルに書き出してたのだが
その名残り。削除し忘れた
SysUtilsのFileCreate,FileOpen,FileRead,FileWriteは使わないほうがいいですか?
Byteの動的配列をSetlengthしてFileReadに食わせたらFileReadはエラーが出ないけれど
それ以降の動的配列のアクセスすべてで例外が発生します。
>>653 こういう質問のときはエラーになるコードも書いてよ
まぁ状況から察するには
×FileRead(FileHandle, a, Count)
○FileRead(FileHandle, a[0], Count)
>>654 すみませんでした。
まさにお察しのとおりでしたありがとうございます。
自分で使う用にリネームツールを作ってたんだけど
もしかしてFileExistsとかRenameFileって2バイトコード対応してないのですかね?
質問するならせめて用語くらいは正しく使おうよ。
2バイトコードがSJISのことだと仮定すると
(なぜならUTF8の日本語は3バイトなので)
Lazの文字コ−ドは標準がUTF8なのでUTF8-SJIS変換をかませる必要がある。
なお、Laz v1.6以降のFileExistsやRenameFileはUTF8にフル対応してる。
Laz v1.4以前は FileExistsUTF8 などを使う必要がある。
>>658 勉強になりました
ありがとうございます
これってdelphiで作ったプロジェクトをコンパイルできますか?
コンバートできるものとできないものがある。
さすがに修正することが多いですね。
Ubuntu on Windowsでもlazarus動くようになったな
>>663 Ubuntu on Windowsってbashがうごくだけじゃないの?
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と表示されてほしかったのに…
予想通りの答えだと思うけど
StringをWideStringでキャストしている意図がわからない
>StringをWideStringでキャストしている意図がわからない
バイト数でなく文字数を出すため
Delphi 6で試してみたところ
Length(widestring(str))
Length(widestring(wstr))
は両方とも9になった
Length('stringテスト')=12
Length(widestring('stringテスト'))=9
だった
WideString型の値をWideStringにキャストしたら文字数が9 -> 15になったって話か。
裏で走る組み込みの型変換の関数で変換元と先が同じ型かどうかのチェックをサボってるとかかな?
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と同じ扱いなのか?
文字列系は1.6(FPC3.0)で大きく変わったので
まずはバージョンを書こうぜ
多分1.6を使ってるとして返事するけど、
1.6でも、WideString(=UnicodeUtring=UTF16)と
String(=UTF8)を相互に代入するときは1.4以前と同じく
UTF8Decode()やUTF8Encode()を噛ませたほうがいいよ。
理由は詳しくは書かないけど。
バージョンは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
いずれにせよFPC3.0では
文字列のキャストはコードページ付き文字列の導入に伴って
よう分からんことになってるので
1.4以前のようにきちんと文字列型のコードページを把握しつつ
UTF8Decode UTF8Encode その他をきちんと使うのがおすすめ。
なお、UTF16のバイト長の取得は
i:=Length(UTF8Decode('あいうえお')) * 2;
でいいと思う。
文字列定数のコードページの初期値が違うので
違う結果になるのは当然。
文字列定数のコードページを同じにすれば同じ結果になるはず。
これ以上深入りしても無駄だと思うけど
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 >>679 全部入力したのに[今すぐダウンロード]を押してもダウンロードが開始しない場合は、
Japanを他の国(例えばJamaica)を選択して、またJapanに戻せば、
[今すぐダウンロード]を押せるようになるぞ!
>>679 >>681 これはひどいwebフォームだな
テストくらいしてからリリース汁
firefoxだとフォームの項目が一つ少ないな
一番上の性のところでshift+tabを押すと
見えないフォームにフォーカス移動するので
適当にaとか文字打つとダウソ可能になる
>>679 >>681 無料Delphiをダウンロードできない場合は、
キャッシュをクリアしてみると良いかもしれない。
ChromeやFireFoxならシークレットウィンドウで開く。
飛び込みでスマソ。Lazarusをダウンロードして使ってみたが、StringGridの最上部の固定行に漢字を入力すると漢字が縦書きで90度左に寝転んでしまう?
可動セルはフォントをメイリオで指定してうまくいった。 固定行のフォントがメイリオなどの横書き可のフォントが設定されていないためだと思うが、解決方法がわかる人教えてください
>>679 DelphiとC++の2個いける?
それともどっちか1個?
両方一緒やろ?
儂は Iceweasel で落とした。
>>684 プロパティのColumsで増やすと個別のフォントになってしまう
Colcountで増やせばStringgrid全体でひとつのフォントになる
どうしてもColumsで増やしたければオブジェクトインスペクタで該当するTgridcolumnをクリックして
Titleプロパティのフォントを変えていくしかない
画像張り忘れ
>>690 さんくす
StringGrid1
Colcount =5
FixedCols =0
FixedRows =1
Font = メイリオのレギュラー
でしているが、最上部の固定行だけは、漢字が縦書きで左90度で寝転んでしまう?
StringGridの2行目以降は漢字の横書きで正常です。
>>693 TitleFontが@付になってるとか…
>>695 私の環境では、@MS Pゴシックなどの@付きのフォントを設定すると「サンプル」フォントのプレビューでで漢字横書きになってしまいますし、
2行目以降可動セルの漢字も縦書きになってしまします。
いろいろフォントを変えて試したのですが、「メイリオ」「游ゴシック」「游明朝」が2行目以降の可動セルで漢字の横書きが可能かと思われます。
Lazarusは最新バージョンの1.6です。
また、1行目の固定セルと2行目以降の可動セルのフォントを別々に設定するとは、オブジェクトインスペクタでは出来ないように思います。
訂正
フォントのプレビューでで漢字横書き → フォントのプレビューでで漢字縦書き
>>696 自分で書いたプログラム?
OnDrawCellイベントとか使ってない?
再現する短いプログラムとかスクリーンショットとかUPしてくれないとどうも状況がつかめないんだけど…
>>698 StringGridのイベントは使ってないのですが、新規にStringGridを作ってみたら、最上部の固定行の横書きが成功しました。
Delphiで作っていたプログラムを移植しようしていたのですが、何かが悪さしているようです。
これが、うまくいっていない画像です。
いろいろ有難うございます。解決の糸口が掴めそうです。
>>699 訂正
新規にStringGridを作ってみたら
→ 新規にStringGridだけのプログラムを作ってみたら
>>679 これ電話番号とか入れるの嫌なんだけど。
>>679 これって2個とも同じexeじゃね?
どういうこと?
まだインストールしてないけど
インストールキーで機能が決まるんじゃないかな
Windows.Beep(p1, p2);
これ使えないのか? どうして?
Buttonが今日は、真っ白の文字無しで表示? 昨日までは何ともなかったのに?
分かる方教えて?
>>708 Windows.beep(P1,P2)
うちでは使えてますがねえ
周辺のソース晒したら?
こんちには
lazarusのwindows32bit版1.6を使っているのですが
1.codeeditorでマウスクリックすると
その位置までにスペースとかを補って文字入力カーソルを位置設定してまう機能をoffにしたい
2.タブで半角スペース4文字分インデントしたい(pascalは2文字分が伝統?)
3.行末でenterすると次の行が同じ数だけタブで補われて入力開始が出来る様にしたい
tool-option-editor
辺りにありそうな気がするのですが
適当にクリックして設定しても1.2.3.みたいに上手く設定出来ません
何処を設定すれば出来るのか教えてもらえませんでしょうか?
1.ツール→オプション→エディタ→一般→行末までスクロールをオフ
2.ツール→オプション→エディタ→一般→タブとインデント→タブ幅
3.は自動インデントの場合はタブにしたいの?
今月のTips
case 文字列型 of
文字列定数1: ほにゃらら;
文字列定数2: ほにゃらら;
文字列定数3: ほにゃらら;
end
が最新のLazarus(FPC3.0)でできるようになったって知ってた?
>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.コンパイルエラー内容が切れて見えないので
エラー表示箇所にマウスカーソルを当ててツールチップでエラー内容を見るのですが
表示時間が短いので長くしたいのですが
何処かに設定が有りますか?
お願いします。
3.って「タブをスペースへ」のチェック外さないかぎり無理っぽいよな
タブキー入力したやつは全部タブ文字になるんだろうけど
Lazarus 1.6.2 出たのに話題になっていないのね
NewPascalがいい感じ
FreePascal/Lazarusの新機能をいち早く使えてDelphi互換を重視しているから移行もしやすい
http://newpascal.org/ 個人的にはUTF16よりもUTF8の方が使い勝手がいいかな
>>723 まだよく見てないけど、何が違うのかね。
「新機能をいち早く使えて」という部分は需要あるの?
truncを自己ビルドすらできない人が不安定な開発中版を使うというのは妙な気がするのだが・・・
lazarusってバージョンアップするとき、コンポーネントを再インストールしなければならないのですか?
>>727 一応検証してから採用しているんだろう
実績ある組織・人が開発に携わっているし
ジェネリクスがDelphi互換のものを独自実装しているところはありがたい
とはいえ人の褌なのはいかがなものかとは思う
本家にpull requestとかしてるなら理解できないでもないけどな。
どうなんだろ?
newpascal ←人柱−本家−安定→ codetyphon
みたいな感じ?(誤解
codetyphonは本家フォーラムで相当叩かれてるけどなw
Lazarusのらの字も出てこない徹底っぷりだもんなコード大糞
Youtubeで他人の作った動画をちょっと加工して再アップし
広告収入を稼ぐ人と同じ構図だもんな
で、NewPascalのライセンスってFreePascal/Lazarusと同じなの?
どこにも載っていないのだが
初心者としては、正式リリースが遅いFreePascal/Lazarusより
最新機能でzip解凍だけで使えるのは魅力的なのだが
>>737 truncを自ビルドすることを勉強したほうが結局は身になるよ
FPC version 3.0.2 has been released!
[Delphi無料] Delphi 10.1 Berlin の Starter Edition
https://www.embarcadero.com/jp/products/delphi/starter/promotional-download 姓名・メアド・パスワード等々を入力し[今すぐダウンロード]をクリック。
ダウンロードしたファイルを実行すると、登録したメールアドレスにメールが届きます。
そのメールに記載されているインストール番号を使用してインストールを進めます。
バングラディッシュ銀行を突如襲った北朝鮮ハッカーチームLazarus
Lazarus Release Canditate 1 of 1.8
Lazarus Release Candidate 2 of 1.8
Lazarus Release Canditate 3 of 1.8
Laztoapkで簡単なアンドロイドアプリを作ろうとしています。
効果音をつけるためにwavファイルを再生したいのですが、
どのコンポーネントを使ってどのように記述したら良いか教えてください。
そもそもアンドロ向けのコンポとかあるのか
freepascalでさえndkラッピングしたライブラリとか無さそう
Laztoapkなら一応apkを作れる
写真を表示したり、タイマーを使うくらいはできた
まあでも簡単なものしか作れない
別にLaztoapk使わなくてもdll(.so)をapkにパックするだけだよ。
つまりC++とかと同じ方法でOK。
Lazarus Release Canditate 4 of 1.8
Lazarus Release Candidate 5 of 1.8
(includes RC1 fpc 3.0.4) - October 13, 2017, 08:23:37 pm
ftp%3A//ftp.freepascal.org/pub/lazarus/releases/Lazarus%20Windows%2032%20bits/Lazarus%201.8RC5/
ここね
リリースされたね
Lazarus Release 1.8 (with FPC 3.0.4) - December 06, 2017, 11:10:46 pm
>>758 できるよ。
AnchorDockingDsgn 0.5パッケージを入れてあとは好きなようにレイアウトすればヨロシ。
>>760 おー、ありがとう。
できるようになったような情報を見たんだけど、そんな設定どこにもないなーと思ったら
パッケージが必要だったのね。やっぱまとまってる方がいいな。
設計中のウィンドウは仕方ないか。
>>761 sparta_DockedFormEditorパッケージも入れるとFormも一緒に出来るようになるが,1.6の時にまだバクがあるとforumの書き込みにあったんであまり試してないな。
>>763 あ、こっちもあるのね。
1.6 だからやめておこうかな。1.8 にした時に試してみよう。
Lazarus Release 1.8.2 (with FPC 3.0.4) - February 28, 2018, 04:02:23 pm
いつの間にか出てた。
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
I5Q4S
Lazarus Release 1.8.4 (with FPC 3.0.4) - May 22, 2018, 11:39:03 pm
FPC3.0.4 引っ張るな〜
開発者が死んだとか?
数年前にくらべればリリース間隔は大分短くなってるよ
無料でやってくれてんだから文句言うもんじゃないよ
ところで1.6.4以降のWinCEサポートって腐ってね?もうCEなんて誰もまともにLazarusでは使ってないかw
>>772 youみたいに使ってる人がmantisに情報あげてかないと死滅するよ
旧Delphiみたいにウインドウバラバラがデフォルトなのがなあ
FreePascalのメリットはLinuxで開発出来るぐらい?
>>741 Community Edition出たぞ
Starter Editionはもうゴミ
最近のObjectPascal実装でそこそこ使えそうなのってこんなところ?
Delphi
FreePascal / Lazarus
Oxygene
PascalABC.NET / PascalSharp
Oxygeneはいつの間にかフリーのコマンドライン版無くなったのね
いつの間にやら Typhon なんてのが出てるやん。
って思ったら、2015 年にすでに話題に出てた orz
日本語情報が少ないね。
PythonのTyponかと思ったぜ
まぎらわしい
Typhonは作者が基地外っぽくて常連達からは嫌われてるよ
Lazarus 1.8.4でGUIアプリを作ろうとしているのですが、フォームデザイナーと実行後のアプリの大きさが違います(高さ、幅を400、400にしても600
、600くらいになります)
何故だか分かる方はいますか?
.lfmを開く
HeightとWidthを希望する値に変える
保存する
Lazarus IDEをいったん閉じる ←たぶんこれ
xx.lpiまたはxx.lprをダブルクリック
構築
書き込みありがとうございます。上記試してみましたが変わりませんでした。どうもWindows10のディスプレイの拡大と関係があるみたいで、200%だとデザイナーの2倍の大きさになります。100%だとデザイナーと同じ大きさで実行されました。Lazarusのバグなんだと思います
高解像度ディスプレイで倍率を変える設定がWindowsにあってそれで色々迷惑することがある
あー、それ Visual Studio でもなったな。最近のは直ってるのかな。
>>792 プロジェクトオプションのLCLスケーリング使用でデザイナーと同じ大きさで実行されました。ありがとうございます
Lazarus Release Canditate 1 for 2.0 - October 14, 2018, 08:45:13 pm
ネイティブコードにコンパイルできて
IDEでポトペタできて
オブジェクト指向できて
現在も開発が続いてる
無料な言語・開発環境
てFree Pascal以外にありますか?
>>795 今はJavaScriptみたいなスクリプトか、
Javaみたいな仮想マシン用コンパイラが人気なので
ネィティブコードにコンパイルできる言語自体がそもそも少ないだろうな。
他の条件と合わせると、おそらくないと思う。
ネイティブコードにこだわる理由がわからない。
本当にネイティブコードが必要なシビアなことをしている人が
こんなところで尋ねるとは思えない。
>>795 Windowsに限らなければMac/IOSのObjective-C/Swiftが生き残ってる
iPhoneが流行ったのはJavaが主流だったガラケー/他社スマートフォンに比べて
高速(当時)なのも一因だぜ?
後はQtも一応そうかも
VCLや(Objective-C/Swiftの)CocoaがGUIオブジェクトをシリアライズしたリソースファイルを
アプリケーションに同梱する形式なのに対して
あっちは最終的にC++の生成コードに変換するという違いはある
>>797 こんなとことは失礼な。
でも、こんだけ無料で優秀な言語やIDEが配布されている世で
Delphiの会社はよくやってられるなぁとは思う。
まぁ日本じゃMVPがあの程度のツール作って自慢するレベルだからな…
>>802 RADじゃなくね?
外部ツールとしてデザイナはいくつかあるみたいではあるけど
kotlin のネィティブ対応がよくなってきたらしいけど
ポトペタできるのかな?
Lazarus の kotlin 版ホスィ
型推論付きどこでも変数宣言はいつ実装されるんだろう。
Lazarus Release Candidate 2 for 2.0 - November 01, 2018, 11:00:40 am
FPC3.2もそろそろ出すみたいだし、androidやiphone対応が本格化しますな
AnchorDockingDsgnで我慢しろ
フォームは別ウィンドウだが
sparta_DockedFormEditor でフォームもドッキングできるぞ。
Lazarus Release Candidate 3 for 2.0 - December 24, 2018, 11:32:30 am
今日、Lazarus 2.0.0 がリリースされたってよ。
昔Lazarusインストールしたらアンインストールできなくなったらから使うのやめた
インストール先は 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 ファイルの格納先を個別に指定するのがおすすめ。
もちろん、インストーラが勧めてくる旧バージョンのアンインストールを実行しないこと。
--primary-config-pathはlazarus.cfgに書いてる
Write once, run any architectureを目指すFree Pascalはもっと注目されていい
FormatDateTimeとかでそもそも元号対応してるのWindows版だけなのな
たいてい西暦しか使わないね。お役所の書類で仕方なくって感じかな。
Lazarus Release 2.0.2 - April 16, 2019, 10:34:02 am
久しぶりにLazToApkをバージョンアップしたら、ビルドの仕方が変わっていて使い方がわからず撃沈。
OldVersionもHPにないし困ったなあ。
昔のファイルがあればいいけどなあ、ハードディスク内を探してみるか。
この機会に手動ビルドを研究したほうがよい。
最近やってないけど大した手間じゃない。
巷によくある、 C++ で作った .so ファイルを apk にする手順を
Laz で作った .so ファイルと読み替えるだけ。
久々に使い始めたんだけど、ブレークした時にクラスのインスタンスの内部データって見られないんだっけ?
Integer とかの単純な変数は見られるんだけど、例えば TStringList のインスタンスに登録されてる文字列とか。
昔作ったプログラムを見てるんだけど、どうやったか覚えてない。
TpairSpitterの境界線の上に文字を置きたいのですが、どうしたら良いでしょうか。
境界線のつまみを隠したいのと文字を置きたいのが理由です。
アイデアをください。
>>835 TLabelでなくTStaticTextでとかそいうこと?
>>836 labelでもpanelでもいいんだけど境界線の上に置きたい。
置こうとしても、隠れてしまって前面に出せないのでどうしたらいいかわからない。
当てずっぽうだけどParentをTpairSpitterにすれば実行時には上になる?ならないか?
>>838 コンポーネントを継承してTMyPairSplitterみたいなもの作って
描画部分に手を加えたほうが応用も効くしソースもスッキリすると思う。
Lazarus 2.0.4 - July 25, 2019, 12:17:38 pm
>>840 be planning やん。
be planning は便利でよく使う構文だからきっちり使えるようにしといたほうがいい
>>841 ごめんなさい。寝ぼけてましたw
リリースされたと思って書き込んでしまったorz
Lazarus Release 2.0.4 - August 06, 2019, 03:13:13 pm
Lazrus Release 2.0.6 - November 01, 2019, 12:33:13 pm
最近Lararus使い始めたんですが、普通に使えるのでびっくりしました。
Delphiで演算子オーバーロードとか使いまくってるソースも問題ないし。
演算子オーバーロードなんて昔は「ソースが一読ではわかんなくなるから反対」なんて思ってたのに。
文字コードUTF8が標準なのでむしろDelphiより使いやすいと思いますよ。
作ったexeが20メガ超えててなんだかなぁ〜とおもた
C#ですら数kbだからな
どうせ要らんもんリンクしてるんだろ
C#は知ってても.NET Frameworkは知らなさそう
デバッグ情報含んでるからストリップとスマートリンク有効にしろって昔からマニュアルに書いてあるぞ
UPXまでは別にやらんでもいいと思う
>>849 小さくする設定もある。
コンパイルしたソフトを小さくするソフトもある。
Lazarus 側の言い分としては、最初からいろいろリンクしてるから、
これ以降機能追加してもサイズの増加は緩やかということらしいけど、
使いもしない機能リンクしないでほしいわな。
使いもしない機能はリンクしないよ。
ソースプリーズ。
>>859 書き方(翻訳の仕方?)のせいかもしれんが、使うからこそ組み込まれるのだよ。
コマンドラインアプリや、Windows API で自前のメインウィンドウだけしかないような
アプリを作って試してみればわかるが数キロバイトになる。
英語版見てみてみましたが、最新版はかなり内容が違う気がします。
英語版を参考にしたほうが良いと思います。
>> 863
Free Pascal Compiler
今月新しいバージョンが出っぽいね
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)
コンパイラは3.0.4のままだけどね
FreePascalのリリースがまだかかりそうだから急遽決めたようだね
本来なら次はLazarus 2.2の予定だったみたい
>>855 外字って、Unicodeにも私用領域ってあるよな。まああくまでも私用領域であって
外字専用に使うための領域ってわけではないが、そう使っても良いんだよな。
画面拡大してるとHI-DPI有効にしないとダイアログがでかくなるんすね。
はまりましたわ。
しらんまにFPC3.2出てましたね。Lazarusの先っちょも3.2対応だとか!
FPC3.2はDynamicArrayに大分手が入ったみたいなので、この機会に不定長のビットマップ作成の
手持ちライブラリ書き換えてみるかな。
というか素直にFCL使えって話だが、FCLってFPCのコマンドラインアプリでも使えるの?
今の1個前のバージョンでLazarus&FPCの現状はどんなもんかと以前試してみたけど
10年前のDelphiにも遠く及ばない出来だったな
コンパイル速度、デバッグモードの開始、終了が遅く(終了からIDEの切り替えが特に遅い)
フォーム無しのプログラムでメッセージダイアログを出すとコマンドプロンプト画面が出る始末
今も改善されていないんだろうなぁ
ソースコードもあるし、別に本家にご注進してもいいじゃん。
なんでそこで終わらなくても良くない?
2.0.10 アナウンスはまだだけどsouceforge で公開されたね
Lazarus Release 2.0.10 - July 11, 2020, 10:55:58 am
もうリリースされたって書き込まれていたけど一応。
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
になります。
正しい値を得る方法を教えていただけませんでしょうか。
SendMessage(Memo1.Handle, EM_GETRECT, 0, Longint(@R));
でよさそう
>>880 ありがとうございます。
早速試してみたところ上手くいきました。
せっかくのオープンソースだし、
不具合っぽいのは本家に報告してあげるとよいよ
Delphi6でさんざん書いてたのに長いことマイコンのほう(ArduinoやそのほかのC)ばっかりやってたからすっかりPascal忘れてるw
久々にPCのアプリ書こうと思っってLazarusはじめたらforやifですらあれどうだっけ?ってなってるよ
TChartのチュートリアルを和訳してみたけどWikiに追加する方法がよくわからない
FreePascalのXMLチュートリアル、サンプルのしょうもないミスを修正したいが
どうすりゃいいんでしょうか。
まぁPascal使うような極まりきった方々は別にミスあっても自分で修正するでしょうけど・・
マルチスレッドでレイトレーシングアプリを書いたが、LinuxでもWindowsでも
普通に動くんでビックリしましたわ。
マルチスレッド絡みだからOSとかの癖とかで差異があって大変だと思ってたので。
ちゃんとライブラリで差異を吸収してんですねぇ。
あまり大声で言うべきではないでしょうが、LazarusのGTK3サポート、
まだアルファ版というのがちょっと切ない。
自分の作るしょっぱいアプリだったらFreePascalのGTK3バインディングで
十分だろうからそっちから攻めるべきか。
ざっくり調べるとQtバインディングの方はQt6が最新でQt5はサポートしているということか。
であれば現状自分のしょっぱいLinuxアプリはQt5バインディングにしといた方が
良いかもしんないにゃー。
別にGTK2でも全く問題ないのですが・・・・
しかしGTK4が出てGTK2はEOLになった訳だが、ソースは公開されてるから永遠に使えるし、
別に自分の作るしょっぱいアプリなら見栄えとかも気にならない。
そりゃPython2が消えるのに時間かかるわけですわ。
とりあえずlazbuildでlpiファイルを指定してやればコマンドラインでビルド出来るのが
わかった。
これで素直にemacsでのコーディングにチャレンジできますな。
Lazarusからブランチされたと思しきCodeTyphon。
公式サイト見る限り、LazarusよりIDE環境は進んでそう。
https://www.pilotlogic.com/sitejoom/ Lazarusはシングルウインドウになったらええのに
FAQ見るとシングルウィンドウにするんだー、だからペインドッキングのパッチは
ノーセンキューなんて書いてあるのにねー。
GTK3サポート共々今どんな塩梅なんですかね。
何を思ったかデスクトップPCをDebian/Linuxに、エディタはemacsでコーディングをしてる。
emacsのデフォルトはgnu-pascalサポートが入ってるのでObjectPascal拡張があると不便。
よくわからんまま、emacs delphi.elで検索かけてgithubにあるopacal.elを入れて
M-x opascal.elとしてみたら普通に動くようです。
そうまでしてなんでemacsで書かねばならんのかわからんのですが・・・
Lazarus Release 2.0.12 - February 24, 2021, 09:03:56 pm
あ、もう出てたんですね。
リリースノート見る限りバグフィックスが主体であんまし新機能はなさ気な雰囲気ですが
使ってみた方いかがでしょうか。
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;
Result^ を Result^^ にすればいいんじゃね?
>>898 上手く行きました
ありがとうございました
Delphiのライセンス切れてるし、Community Editionは毎回新バージョンに更新しないといけないから
これを機にFreePascalにしてみるか
貧弱なIDEはVSCodeで補えそうだし
Lazarus Release 2.2.0 - January 05, 2022, 11:57:19 pm
program MyProgram(input, output);
のようにプログラム名にパラメーターが付いたコードを見かけました。
Pascalの方言なのでしょうか?
それともFree Pascalでも見られるものでしょうか?
>>904 質問に質問で返してすみませんが、あなたは
void int main( int argc, char *argc[])
はcの方言だと思いますか?
それともGNUCでも見られるものでしょうか
void int mainってコンパイルエラーでは?
Lazarus Release 2.2.2 - May 19, 2022, 09:26:08 am
本家のForum にレジストしても確認メールが届きません。
どうしたものでしょうか。
迷惑メールとかも見ましたし再送信とかも試しましたががまったく来ません。
Lazarus Release 2.2.4 - September 28, 2022, 10:08:10 am
Lazarus製のアプリケーションのexeのショートカットをつくって実行時の
大きさを最小化としても最小化で起動しないのだがどうすればいいのかな
>>913 Delphi ではプロジェクトファイルをごにょごにょしてたので
Lazarus では多分 .lpr ファイルにごにょごにょ
Application.CreateForm(TForm1, Form1);
//ここに↓これを入れて判断
if CmdShow = SW_MINIMIZE then Application.Minimize;
Application.Run;
>>914 あいにく動作しませんでした
メインフォームのOnCreateイベントハンドラーに
case CmdShow of
SW_SHOWMINNOACTIVE: WindowState := wsMinimized;
SW_SHOWMAXIMIZED: WindowState := wsMaximized;
end;
と書いたらうまくいきました
AmazonにKindle本として佐々木優という人が書いたLazurus・Free Pascalのセルフ出版の
本が何冊かのっている(読み放題のKindle Unlimited対象)
役に立つかどうかは別にして日本語の本というのはめずらしいかも
>>916 応援の意味で何冊か買いました。Unlimited もいつ対象外になるかわからんし。
UbuntuでC++Builderを導入できなかったのでDelphiの本読んで勉強してます。
思い通りに動くと楽しいです。
サンプルの xmlstreaming を参考にして設定を書き出す処理を作ってます。
TComponent を継承して設定データのクラスを作ろうとしているんだけど、
その中にさらに TComponent 派生クラスを入れ子にすると、その項目が書き出されない。
入れ子のクラスを TPersistent 派生にすると書き出されるんだけど、項目名が
ドットで区切られた形でかなり違和感。
xmlstreaming の中でコメントアウトされている Form (Self) を書き出す処理を有効にしてみると、
入れ子のデータは「children」タグに囲われていい感じで出力されているんだけど、
どうやればできるんでしょうか?
>>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;
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;
>>921 ありがとうございます。書き出せました。
wiki のストリーミングのところ読んでもそんなこと書いてなかったけどな。
TWinControl に実装されてるから Form ならちゃんと書き出されたんですな。
人をハメようとしてるとしか思えないな。検索しても、英語の情報でも全然ないし。
とにかく、ありがとうございました。
これは壮観。過去50年以上にわたる「プログラミング言語の人気の変遷」をアニメで紹介するムービー【やじうまWatch】 - INTERNET Watch
s://internet.watch.impress.co.jp/docs/yajiuma/1463502.html
pascalって人気あったんだね
インクリメンタルサーチの候補表示に TListBox を使っていて、
候補数が一定以下の場合は、数に合わせて ListBox の高さを調節したいと思っています。
Windows の場合は ItemHeight を使えばうまくいくようなのですが、Linux だと 0 が返ってきて
使えません。ほかにも ItemRect(0).Height の値も 0 ではないけど全然足りないし、
フォントの高さから計算できるかと思ったけど、同じ高さでもフォントが違うと
ListBox の項目の高さが微妙に違ったりしてこれもダメっぽい。
描画しているんだからどこかに情報があるんだと思うんですが、どこにあるんでしょう?
そもそもアプローチが間違っている?
TOpenDialogのTitleプロパティがデフォルトの「ファイルを開く」のままOpenDialog1.Executeを実行すると、表示されたダイアログのキャプションが"Open existing file"と英語で表示されてしまいます。
これはLCLStrConstsユニットで rsfdOpenFile = 'Open existing file'; と定義されているのが原因のようですが、これをlclstrconsts.ja.poの「ファイルを開く」に置き換える方法を教えてください。
>>925 プロパティの設定が効かないってことかな?
>>926 オブジェクトインスペクタでTitleを「画像ファイルを開く」など「ファイルを開く」以外にすればTitleがダイアログのキャプションに反映されます。
また、コードでOpenDialog1.Title := 'ファイルを開く'; を実行すればキャプションもそうなります。
ただ、コードを書かずにオブジェクトインスペクタで「ファイルを開く」を設定するだけだと「Open existing file」が表示されるというのが今回の問題です。
この症状はTDBNavigatorでも確認できていて、Hintsプロパティにはデフォルトで日本語のヒントが設定されているのにもかかわらず、実行すると英語のヒントが表示されてしまします。
その他MessageDlgのボタンが「はい」「いいえ」ではなく「Yes」「No」なのも同じ原因だと思います。
>>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ユニットの不具合のせいじゃないのかなあ
>>928 ありがとうございます。
lclstrconsts.jp.poにリネームする方法で試して無事日本語で表示されました。
TDBNavigatorのヒントとMessageDlgのボタンも同様です。
Lazarus Release 2.2.6 - March 09, 2023, 10:38:09 am
軽くていいな。ゲームエンジンなんかもあるようで欧州では使い手多いのか?
https://www.tiobe.com/tiobe-index/ TIOBE Indexで常に10位前後を維持してるDelphi系のPascal言語もスゴいよな
信じがたい快挙
Windowsアプリを作ったら、とても遅いような気がするんだけど、まだ改善してないのかな?
>>933 どんなプログラムを書いてどの言語と比較して遅いのかを書かないと答えは無理
C++/C言語と同等の速度にはならない
スクリプト言語よりは高速
>>933 他のプログラムはサクサク動くのにお前の作ったプログラムだけが遅いという場合は、
多分お前のプログラムの何かがおかしい。
Lazarus Release Candidate 1 of 3.0 - July 03, 2023, 02:10:30 pm
なんか知らんけど山下って人に金払わんでも専ブラ作っていいみたくなったらしいから
Lazarusでなんか作るチャンスなんじゃねw
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.
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.
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.
>>937 Siki 以上のものをサクッと作れる気がしねー……
N. Wirth 死去 2024/1/1 89歳.R.I.P.
失踪じゃないよ.逝去だよ.
Pascalの始祖が伝説になっただけで開発者はご存命
なんじゃいヴィルト死去の話やったんかいヽ(`Д´)ノ
passed away(消え去った)と書いてあったのでどこへ行ったのかと思った
フリーパスカルに書いてあった
http://www.freepascal.org/ The creator of the Pascal Language, Niklaus Wirth, has passed away on January 1st.
passed awayは日本語でいう亡くなったみたいに、丁寧な言い方なんだな
勉強になった
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.
ラズパイ上の開発なんですけど、Windows/DelphiでのPostMessageに相当するものはありますか?
自己解決しました。
winapih.inc(LCLIntf.pas)の中に定義がありました。
それとは別で、TThreadのインスタンスを作成しただけで例外でアプリごと落ちるんですが、
何か作法があるんでしょうか?
自己解決しました。
プロジェクトのソースをデフォルトから変える必要があるのかもしれません。
{$IFDEF UNIX}
cthreads,
{$ENDIF}
ラズパイでというかLinux(Debian)での Lazarus ですよね?
GTK や QT ベースで普通にアプリ作れますよ。
Lazarus Release 3.4 - May 29, 2024, 09:38:42 am
The Lazarus team is glad to announce the release of Lazarus 3.4.
This is a bugfix release and was built with FPC 3.2.2.
Rustってコンパイル遅い。
Delphi 言語はなぜこんなにコンパイルが速いのか
C/C++は近年のCPUの進化で速くなったが、Pascalみたいに変数の後に型宣言するとか、関数プロトタイプ宣言が無いとかは、1パスでコンパイル完了するための文法的な工夫。
Turbo Pascalの変態的なコンパイル速度が懐かしい
x86アセンブラで記述されていてオンメモリコンパイルだったそうだけど、DOS時代のI/O速度であれかよって思った
PascalはLL文法だからコンパイルが速かったと思ってる
TurboPascalはコンパイルが異常に速かった
F5押したら瞬時に実行されてた
もちろんコンパイルしてから実行されてるはずだが、CPUが386とかの時代にコンパイル時間を感じないとか、もはやオーパーツと言ってもいいかもしれないw
ちなみに俺が最初に Turbo Pascal に触れたのは Sharp X-1 の CP/M-80 上の Z-80 Turbo Pascal だったが
こんな貧弱な8ビット環境であるにもかかわらずスクリーンエディタ込みでオンメモリで作動し
快適にコーディング<->デバッグができるほどに爆速コンパイルだった
Read Writeの様なIOが、Cがライブラリー実装なのに対して、Pascalは言語仕様なのも大きい
Cでmain内に10行程度のコードを書いたとしても、#include <stdio.h>しただけで何千行というヘッダーファイルをパースする必要がある(ファイルも複数読む必要がある)
これは遅い
Pascalはコンソールやファイルに読み書きする程度なら余計な読み込みは要らなかったはず
Turbo Pascal 6.0で初めて触れたんだけど、コンパイラが小さいexe単一ファイルでインラインアセンブラ含むコードのコンパイル、リンクまでしてるからあの開発者は良い意味で化物
標準ユニット込みでも物凄いサイズ小さかった記憶
Turbo Pascalって、アンダースヘルスバーグだっけ?
delphiのインターフェース(IInterface)の明示実装やクラスとは異なる公開スコープを持たせられる作りも好き。
Deno や Bun から Delphi や Lazarus で作った dll 読み込めるっぽいな。
Lazarus Release Candidate 1 of 4.0 - October 27, 2024, 09:34:20 am
forum見ると4.0からUIも変わるのかな?
とりあえずはfpc 3.2.2推奨で3.2.3使うと再構築できないとか云々
lud20241218063421このスレへの固定リンク: http://5chb.net/r/tech/1261676778/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像
↓「【Delphi互換!?】FreePascal/Lazarus その2【GPL】YouTube動画>1本 ->画像>3枚 」を見た人も見ています:
・ブロックチェーンの応用とか言うけどさ
・【マウスだけで】Scratch【プログラミング】その1
・C言語上級者スレ
・HacktoberFest 迷惑行為 プルリク スパムでTシャツ貰おう
・えぇ、ですからVB6の開発はやめろと言ったんです。
・ふらっと C#,C♯,C#(初心者用) Part132
・スレ立てるまでもない質問はここで 147匹目
・写真の保存形式の著作権なんかあったよね?
・ノーコードについて語るスレ【bubble】
・a4です。P2P人工知能「T」開発(2)
・Rust part10
・プログラム言語は増えすぎた
・令和元年 vs 令和1年
・Androidプログラミング質問スレ revision53
・古代VBプログラマ質問スレ(Ver.6.0 まで) part65
・オブジェクト指向を教えてくれ!
・Eclipse統合M36【Java/C++/Ruby/Python/Scala】
・文字コード総合スレ Part11
・ユニケージってGPUで並列処理できるんかあぁぁん?
・VBScriptについて必死に話し合うスレ
・シェルスクリプトは歴史が長いローコードです?
・C言語なら俺に聞け
・筆ペンでノート取る奴wwwwwww
・【信者】C++の問題点【アンチ】
・Eclipse統合M33【Java/C++/Ruby/Python/Scala】
・おすすめの言語おしえて
・Excel VBA 質問スレ Part63
・SEになるために前もってできる勉強を知りたい
・【Scheme】Schemeインタプリタ Mosh Part1【Lisp】
・オブジェクトチンポシコシコ隔離病棟
・JCとかJKを見たらズボンの中に射精しそうになる
・プログラミングのお題スレ Part10
・Visual Studio 2022 Part2
・Perl初心者スレ(マジレス回答)
・開発工数を大幅削減できた言語は存在しない
・Pythonのお勉強 Part55
・【入門】Common Lisp その11【質問よろず】
・応用情報って取る価値ある?
・オブジェクト指向ってクソじゃね?
・Win32API質問箱 Build23
・どのレベルならプログラミング出来ると言っていい?
・プログラミングのお題スレ Part20
・設計思想/ソフトウェア工学(UML, デザパタetc)
・Amebaブログみたいなブログサイトが作りたい
・Microsoft SkyDrive API
・【bzr】Bazaarでバージョン管理 Rev 4
・新言語を開発したい
・Borlandにはやられた...
・go言語、python言語自信ニキ来てくれ
・Ruby で GUI するスレ
・パソコンのファイル整理中わい「これ半年前に暇つぶしに書いたプログラムやん、見てみよ」ポチ
・結局Python上達するには何をすればよき?
・【Enterprise】Java EEスレ part1【開発】
・Tizenアプリ作成
・アセンブラ 13
・php使ってる奴はアホ、これからはRuby on Rails!
・【肥大化】C++ を見捨てたヤシ 2人目【複雑化】
・人工知能ディープラーニング機械学習のための数学
・JavaScript の質問用スレッド vol.125
・【Hook】フックの技術【Windows】
・最高に頭悪そうな発言してください in ム板 (VI) 2
・Excel VBA 質問スレ Part65
・Vue vs React vs Angular vs Svelte Part.9
・Python上げVBA下げしてる気持ち悪い奴ら
・Google Maps API 質問箱
16:34:21 up 6 days, 2:58, 0 users, load average: 9.27, 8.41, 8.35
in 1.8246989250183 sec
@0.029690980911255@0b7 on 121806
|