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

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
2015/07/10(金) 07:56:14.83ID:OWcP1Uic
ATOKとか外人がもってる可能性はとてつもなく低いから
パッチを上げるとかするのが現実的だと思うよ
526デフォルトの名無しさん
垢版 |
2015/07/10(金) 08:55:23.97ID:pMt0fGZG
javascriptで変換させてるgoogleは偉大だな
2015/07/10(金) 09:50:27.09ID:OWcP1Uic
もっといえば、英語が苦手でも
具体的にソースコードを示せば伝わる。
プログラミングも苦手なら正座してじっと待つしかない。
2015/07/10(金) 12:46:12.41ID:bM2M5Hwn
そんなん正座してても無理やろ
日本語でリクエスト書いて英訳・校正してくれと頼むくらいのものや

まあATOK側にクレーム上げるのが見込み高いんじゃないの
2015/07/10(金) 13:54:15.03ID:4boJLlf0
しゃあない、自分で解決するわ
2015/08/12(水) 23:09:53.16ID:TPClqQHe
arm-wiceじゃなくてarm-win32なfpcって作れるんかな
Windows IoT Coreで遊べるか気になる
2015/08/24(月) 06:05:49.25ID:1GliE0ir
>>519
>>521
>>524
一応バグトラッカーに報告しておいた。
2015/08/24(月) 10:58:09.08ID:Rdc1Z3nu
>>531
乙です
2015/09/08(火) 14:43:52.31ID:iMm8sUC4
Free Pascal 3.0 rc1 is out!
2015/10/15(木) 07:55:04.87ID:OblhFFt/
Lazarus 1.4.4 is out!
2015/10/17(土) 09:09:22.43ID:F7aipKyp
FPC3.0.0のUtf8Encode関数はバグが有りますね。
バグトラッカーには上がってるのにRC2でも何故か治ってない。
Utf8Encode使ってるParamStrUTF8などのLazUTF8系は全滅です。
2015/10/23(金) 10:57:07.24ID:mDX2T3UD
win7 64

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

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

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


手元にあるDelphiはバージョンが古く、TButtonに対応してませんでした。
538537
垢版 |
2015/11/12(木) 21:19:14.36ID:HDLCqovq
自己レス。
TGardButtonのインストールに成功しました。
すみません。
2015/11/13(金) 08:00:12.54ID:mbbvK7zD
おめ。
2015/11/16(月) 10:05:25.71ID:cYdKImE9
svnにFPC 3.0.0のリリース用タグが作成されたぬ
2015/11/17(火) 08:09:59.02ID:Uyd4UfCd
CodeTyphonユーザーおる?
2015/11/17(火) 20:20:20.59ID:QcDtMeEq
LazToApkでapkファイルができた方いますか。
ライオンのマークのprojectというタイマーアプリはできたのですが、自分で作ったもので動きません。
2015/11/18(水) 13:04:04.89ID:F1m+KI1R
http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android/ja
これを見てコンパイルに成功したのですが、パッケージにエラーが出てインストールできませんでした。
ちなみにボタン一つの簡単なものです。
どなたか正常に動いた方いますか。
2015/11/18(水) 19:33:31.16ID:i0D7MbeI
そう言うときはエラーを書けよ
2015/11/18(水) 19:33:44.71ID:oIUbhvA7
そう言うときはエラーを書けよ
2015/11/18(水) 19:39:31.21ID:F1m+KI1R
解析エラー
パッケージの解析中に問題が発生しました。
とでました
2015/11/19(木) 07:48:44.19ID:u63+greG
>>542
ant ではできる?
2015/11/19(木) 10:34:58.30ID:cMXFkMpv
>>547
詳しいことはわからない
project.apkができて、その中にタイマーアプリがあるだけ。
そもそもLazToApkでは自作アプリは作れないのかな?

Lazarusでandroidを作れた方に、方法をお聞きしたいくらいです。
2015/11/19(木) 11:33:15.97ID:u63+greG
>>548
http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android/ja
うちでは通りにやれば作れたよ。compiler option は見なおす必要があったけど
2015/11/19(木) 16:17:33.39ID:cMXFkMpv
>>549
ありがとう
少し前にそのwikiのいくつか修正して、successになってapkファイルはできた。
でもインストールで引っかかって、本当にコンパイルできているのは疑問だったけど、できるようなのでもう一度環境を変えて挑戦してみます。
2015/11/19(木) 16:33:05.27ID:u63+greG
so ファイル(WindowsでいうところのDLL)がきちんと作成されるかと
apkファイルがきちんと作成されるかは分けて考えたほうがいいよ。
apkファイルはzipファイル+αにすぎないものだし。
2015/11/20(金) 03:33:46.01ID:e0iAqfBa
北陸にあるOSX用lazarus1.4.4 壊れてない?
553デフォルトの名無しさん
垢版 |
2015/11/20(金) 14:23:09.55ID:LnAg0HCn
NAISTンゴωωωωωω
2015/11/21(土) 07:29:27.27ID:odxrKHsY
TPanelかそれに代わるもので、Captionを2行にする方法はありませんか。
難しすぎて正規表現を扱うのは無理でした。
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に移植する予定もあるらしい。
2015/12/10(木) 02:50:32.38ID:nXgSTbbd
かなり初歩的な質問ですみません

Free Pascalで

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

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

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

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

変数スコープを縮めるってのは例えばforループ内でのみ有効なローカル変数が欲しいとかそういうこと?
2015/12/10(木) 12:43:48.35ID:B0WYbo6E
OpenJaneをコンパイルしようとしてPascalに触れてみてる
2015/12/10(木) 13:51:45.92ID:wPB2XwQl
ラザルス/パスカルの入門用の日本語の書籍ってある?
2015/12/10(木) 13:51:47.70ID:B0WYbo6E
lazarusでopen janeをコンパイル出来ませんか?
2015/12/10(木) 16:05:19.78ID:wwtNApqI
>>562
パスカル言語自体の入門なら、古いDelphi用の書籍を図書館で借りたり
古本屋でゲットすれば十分だと思うよ。
stringがUTF16でなくUTF8だというのさえ気をつければ
なんとかなると思うよ。

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

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

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

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

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

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

今のところCustomDrawnで日本語を使う予定がないので、英語でも良いんですけどね。。
2016/01/06(水) 21:17:50.57ID:NFROdDVv
BGRA Controlでできたからこれでいいや。
ありがとう。
あとはCaptionを2行にする方法を考えねば。
TButtonでは2行にできたけどね。
2016/01/07(木) 08:13:29.34ID:a/3WDvAp
今が一番楽しい過程だね。
すぐにできると思うから頑張れ!
2016/01/07(木) 12:19:25.71ID:gX24XSHP
IDE は一つのウィンドウにして欲しいな。
複数開いてそれぞれのモニタにとかいうのが気軽にできん。
2016/01/07(木) 14:33:28.16ID:a/3WDvAp
やったことないけどドッキングに対応してたはずだよ。
2016/01/07(木) 23:00:29.83ID:gX24XSHP
えー、そうだったっけ。
またそのうち調べてみよう。
2016/01/09(土) 19:57:11.08ID:fothuBCk
ドッキングで検索するとすぐに出てくるよ。
慣れたこともあるけどでもすぐに戻した。

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

それからもう一つ、アプリ終了の処理でcloseやterminateでは終了できませんでした。できる方法がありましたら教えてください。
2016/02/21(日) 21:40:45.15ID:3hIUa4lO
数枚の画像を埋め込んでパラパラ変えるようなプログラムを考えています。
JPG画像の埋め込み方を教えて下さい。
2016/02/22(月) 09:15:50.74ID:s0/IzlKL
色々なやり方が考えられるが $R でリソースに取り込んで
LoadFro,Resourceとかで読み込むというのが簡単じゃね。
基本は同じだからDelphiの超初心者スレで聞いてみれ。
2016/02/22(月) 12:55:01.70ID:k3buX2lD
>>597
ありがとう。
lrsエクスプローラで1つにまとめてできた。
delphiと微妙に違っていて苦労した。
2016/02/25(木) 04:57:55.42ID:7sNDanuc
おいおいおいおい、いつの間にか1.6出てるじゃんよ。
書き込んでくれないから、気付くの遅れたよ。
2016/02/27(土) 20:07:48.97ID:3JVa16cC
最近インストールしたばかりだが
よく出来てるねこれ
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));
は使えるけど。
2016/03/01(火) 08:16:01.11ID:DN1WpGc2
Copy、Insert、Delete、Lengthなどの伝統的関数(手続)が
要素単位(ANSIやUTF8ではバイト単位、UTF16ではワード単位)を
基準にするというのは永久不滅かと。
603601
垢版 |
2016/03/02(水) 21:07:51.79ID:sexlA1qQ
それはどうですかね。
引数に文字列リテラルか定数を渡せば期待する動作をしますが変数では駄目なのです。
2016/03/02(水) 21:45:17.29ID:iifCqHnV
「通る」「動作しません」「使える」「期待する動作」「駄目」などの
曖昧な言葉が多くてよくわからんな。
少し整理して機械翻訳でもいいから英語にして本家のフォーラム
で質問すると中の人が返事をくれると思うよ。
2016/03/03(木) 01:14:14.44ID:j+gb/hiZ
コンパイルのタイミングで、リテラルはAnsiStringとして評価、文字列定数はおそらく最適化によりAnsiStringにでもなったんじゃないの、なんとなくだけど。
2016/03/03(木) 01:19:05.87ID:j+gb/hiZ
文字列定数、

const AAA = 'foo';

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

一方、

const BBB: string = 'bar';

だと、変数と同じ結果になりそう。
(今手元に環境ないから試せない)
2016/03/03(木) 10:25:00.04ID:wPT/TcQN
型なし文字列定数のコードページはCP_NONE?
2016/03/11(金) 18:06:14.35ID:kd7a12nS
Lamw: Lazarus Android Module Wizard
ttps://github.com/jmpessoa/lazandroidmodulewizard

既に使ってみた人いますか?
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に対応してないんじゃあるまいか。
2016/03/14(月) 10:21:34.75ID:h2+VI+P2
>>607
ShowMessage(IntToStr(StringCodePage('あいうえお')));
で0と表示されるからCP_NONEみたいだ。
2016/03/14(月) 18:06:18.97ID:h2+VI+P2
>>609
自己レス。ShowMessageの問題ではないみたい。
2016/03/14(月) 18:19:06.24ID:h2+VI+P2
>>610
こっちも自己レス。汚してすみません。
0は、CP_NONEでなくCP_ACPだた。
2016/03/31(木) 09:15:03.95ID:DT+Zx2Kz
>>601
UTF8String を使う場合は、ソースの先頭部付近に
{$codepage UTF8}
を加えるのがほぼ必須みたいです。
そして、copyはやはりコードページを意識しない
(要素単位固定、現在は1要素=1バイト)みたいです。
ですので s: string; とした場合と動作は変わらないみたいです。
2016/04/10(日) 18:47:56.27ID:+pxFkfgJ
どうして不人気なんだろう
2016/04/10(日) 19:28:01.82ID:AbYPTdqD
いや、そもそも Pascal が
2016/04/11(月) 08:09:18.63ID:k7zVs+aP
Delphiがああなっちゃったからな
2016/04/11(月) 14:01:09.14ID:vm/+Ir/o
自分は Pascal 好きなんだけどね。
でも遊びくらいにしか使えないわなあ。
余計な苦労するだけだし。
2016/04/11(月) 18:04:07.15ID:byY4yMu5
>>617
どういう苦労なの。
俺はVBなら出来るんだけどという奴に合うたびに閉口するんだけど。
参考に教えてちょうだい。
2016/04/11(月) 23:08:16.24ID:vm/+Ir/o
>>618
ああ、ここ Linux の板じゃなかったな。
たいていサンプルがあるのって C じゃん?無理やり Pascal に書きなおすか、
なんとかしてドッキングさせたりとかそういうところ。
Windows は、最近はネイティブアプリを作ることがないな。
.NET 使うなら言語の違いは大して意味ないし。
2016/04/12(火) 07:42:12.61ID:Xft6WNxx
たいした苦労してねぇじゃんw
2016/04/12(火) 19:58:26.51ID:7vlrxoJS
そ、そうだな
(誰も苦労話なんかしてないんだが……)
2016/04/13(水) 08:12:25.93ID:phkpqyMN
俺は逆にCをPascalに移植するの好きだけどな。
変にマニュアルとか読むよりも仕様がよくわかるし
何よりもPascalの便利さがわかる。
2016/04/13(水) 08:39:28.24ID:nekRTpPK
でも1万行とか、移植しかねるけどなぁ。
2016/04/14(木) 08:09:53.69ID:PaNxRcDi
それはケースバイケースで、CでDLLを作るという手もあるよ。
いずれにせよCでできることはObjectPascalでもほぼできるわけで
慣れれば困るということはないよ。
僕の経験上で今までObjectPascalでできなかったのは
デバイスドライバ開発時のメモリアドレスの絶対指定ぐらいかな。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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