【Delphi互換!?】FreePascal/Lazarus その2【GPL】
(クロス)オープンソースコンパイラ 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 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;
でいいと思う。 気になって、ちょっと古いけどUnicode対応のDelphi XE5で試してみた
おかしな結果にならない模様
ttps://gist.github.com/anonymous/8636175cf9340234cfa452f492b074ee 文字列定数のコードページの初期値が違うので
違う結果になるのは当然。
文字列定数のコードページを同じにすれば同じ結果になるはず。
これ以上深入りしても無駄だと思うけど 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で作っていたプログラムを移植しようしていたのですが、何かが悪さしているようです。
これが、うまくいっていない画像です。
http://s1.gazo.cc/up/207658.jpg
いろいろ有難うございます。解決の糸口が掴めそうです。 >>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