16/05/08 22:14:02.22 HqJeT4yF.net
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;
639:デフォルトの名無しさん
16/05/08 22:29:06.30 PzKZDer3r
>>636
> >>634
> >>635
> OSはWindows7 64Bitです
> うまくいかないのは何かコンパイラ指示とか足りないのでしょうか
> 他にShift_JISからUTF-8に変換できる関数とかないでしょうか
Lazarus Ver1.6 では
ConvertEncording(S, 'cp932', 'utf8') でSJIS->UTF8変換できる
640:デフォルトの名無しさん
16/05/08 22:55:56.40 HqJeT4yF.net
>>638
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);
641:デフォルトの名無しさん
16/05/08 23:00:44.78 HqJeT4yF.net
>>638 以下 修正したコードだけど、参考まで。
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 // ここまで
642:デフォルトの名無しさん
16/05/09 20:03:45.11 df1MgNYQ.net
>>637
ありがとうございます
APIを探してみます
>>638
>>640
>>641
サンプルコードまで書いてくれてすみません
早速試してみます
643:デフォルトの名無しさん
16/05/09 21:59:01.22 df1MgNYQ.net
>>638
コードページを使うってことがまったく頭にありませんでした
DelphiならAnsiToUtf8ExとかUtf8ToAnsiExあたりが使えそうですがLazarusにはなさそうで…
>>637
Win32APIを探してみたらMultiByteToWideCharというのが使えそうですね
コードページはCP_OEMCPあたりでしょうか
WideCharからUTF-8はWideStringにしてStringに代入で変換できそうですね
このあたりを使ってコードを書いて見ます
644:デフォルトの名無しさん
16/05/10 08:00:47.53 EV5/gRyu.net
>>643
素直に SetStringCodePage を使えば?
645:デフォルトの名無しさん
16/05/10 08:19:54.24 EV5/gRyu.net
>>643
あと1.6以降でのUTF16、UTF8の自動相互変換は思わぬところで嵌まることがあるので
1.4以前みたくUtf8EncodeやUtf8Decodeを噛ませておいたほうがいいよ
646:デフォルトの名無しさん
16/05/10 17:28:34.34 juYdG8tQ.net
>>643
636だけど良い方法分かったらレポよろしく。
10数年前にDelphi 7を使ったのが最後だったんでLazarusで半角カナ混じりのSJISテキストファイル表示するのに試行錯誤したよ。
知らなかっただけかもしれないが当時はUnix がEUC主流でUTFなんて無かったような。
647:デフォルトの名無しさん
16/05/10 19:02:26.62 CkL9FHEL.net
delphi7は、一応utf-8に変換する関数は用意されてるね。
基本面のみなので、サロゲートペアを適切に扱ってはくれないけど。
648:640
16/05/10 22:51:51.91 ZbVjwRdt.net
一応こんな感じで今のところうまくいっています
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で受けています
しばらくこんな感じで使ってみて不具合が出たらまた考えて見ます
皆さんいろいろな助言をありがとうございました
649:640
16/05/10 23:19:26.73 ZbVjwRdt.net
テスト用のProjectです
URLリンク(yahoo.jp)
650:640
16/05/10 23:41:44.72 ZbVjwRdt.net
ファイルが壊れていたので再UPしました
URLリンク(yahoo.jp)
651:デフォルトの名無しさん
16/05/11 08:48:13.55 dFlNvgk/.net
難しく考え過ぎじゃない?
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;
652:デフォルトの名無しさん
16/05/11 22:06:49.06 44k2tpxg.net
>>651
LazUTF8というのがまったくの初耳でした
WinCPToUTF8であっさりできてしまうんですね
ありがとうございます
653:デフォルトの名無しさん
16/05/25 00:13:49.87 QLrAFpkQ.net
>>651
slは?
654:デフォルトの名無しさん
16/05/25 08:41:27.50 ZPEsWqSz.net
>>653
テストでテキストファイルに書き出してたのだが
その名残り。削除し忘れた
655:デフォルトの名無しさん
16/05/26 00:50:04.87 ud38oY6v.net
>>654
なるほど了解
656:デフォルトの名無しさん
16/05/28 11:29:41.05 1CNQzrIS.net
SysUtilsのFileCreate,FileOpen,FileRead,FileWriteは使わないほうがいいですか?
Byteの動的配列をSetlengthしてFileReadに食わせたらFileReadはエラーが出ないけれど
それ以降の動的配列のアクセスすべてで例外が発生します。
657:デフォルトの名無しさん
16/05/28 15:04:50.57 bhUf6De/.net
>>656
こういう質問のときはエラーになるコードも書いてよ
まぁ状況から察するには
×FileRead(FileHandle, a, Count)
○FileRead(FileHandle, a[0], Count)
658:デフォルトの名無しさん
16/05/28 15:41:31.05 1CNQzrIS.net
>>657
すみませんでした。
まさにお察しのとおりでしたありがとうございます。
659:デフォルトの名無しさん
16/05/29 22:53:35.12 CgTmLBtG.net
自分で使う用にリネームツールを作ってたんだけど
もしかしてFileExistsとかRenameFileって2バイトコード対応してないのですかね?
660:656
16/05/29 23:05:42.58 CgTmLBtG.net
「Lazarusのだと」ってことね
念の為w
661:デフォルトの名無しさん
16/05/30 10:19:18.03 CyoOVxjo.net
質問するならせめて用語くらいは正しく使おうよ。
2バイトコードがSJISのことだと仮定すると
(なぜならUTF8の日本語は3バイトなので)
Lazの文字コ-ドは標準がUTF8なのでUTF8-SJIS変換をかませる必要がある。
なお、Laz v1.6以降のFileExistsやRenameFileはUTF8にフル対応してる。
Laz v1.4以前は FileExistsUTF8 などを使う必要がある。
662:デフォルトの名無しさん
16/05/30 20:27:03.00 8YY6SnwS.net
>>661
勉強になりました
ありがとうございます
663:デフォルトの名無しさん
16/06/10 17:51:09.92 l84CA5RZ.net
これってdelphiで作ったプロジェクトをコンパイルできますか?
664:デフォルトの名無しさん
16/06/10 20:01:04.17 sPlWs0BN.net
コンバートできるものとできないものがある。
さすがに修正することが多いですね。
665:デフォルトの名無しさん
16/06/10 23:04:41.83 l84CA5RZ.net
>>664
ありがとう
666:デフォルトの名無しさん
16/06/16 00:49:42.07 CZxzTwBY.net
Ubuntu on Windowsでもlazarus動くようになったな
667:デフォルトの名無しさん
16/06/23 10:23:35.15 +E1fa5qm.net
>>666
Ubuntu on Windowsってbashがうごくだけじゃないの?
668:デフォルトの名無しさん
16/06/24 07:34:54.32 CuRtWnlL.net
ubuntu環境そのものが動くんやで
669:デフォルトの名無しさん
16/06/24 11:06:27.44 1hPX2Gux.net
666
670:デフォルトの名無しさん
16/07/02 09:01:37.43 rae11cGA.net
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と表示されてほしかったのに…
671:デフォルトの名無しさん
16/07/02 13:16:40.19 PNWyJIIt.net
widecharですらないな
672:デフォルトの名無しさん
16/07/02 14:12:28.25 RQTJ1Rgb.net
予想通りの答えだと思うけど
StringをWideStringでキャストしている意図がわからない
673:デフォルトの名無しさん
16/07/02 16:23:02.94 rae11cGA.net
>StringをWideStringでキャストしている意図がわからない
バイト数でなく文字数を出すため
Delphi 6で試してみたところ
Length(widestring(str))
Length(widestring(wstr))
は両方とも9になった
Length('stringテスト')=12
Length(widestring('stringテスト'))=9
だった
674:デフォルトの名無しさん
16/07/02 20:14:25.02 I09L8Xiz.net
WideString型の値をWideStringにキャストしたら文字数が9 -> 15になったって話か。
裏で走る組み込みの型変換の関数で変換元と先が同じ型かどうかのチェックをサボってるとかかな?
675:デフォルトの名無しさん
16/07/03 10:24:08.28 0+vEtgzf.net
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と同じ扱いなのか?
676:デフォルトの名無しさん
16/07/03 11:25:02.28 qCpRmwfF.net
文字列系は1.6(FPC3.0)で大きく変わったので
まずはバージョンを書こうぜ
677:デフォルトの名無しさん
16/07/03 11:28:25.67 qCpRmwfF.net
多分1.6を使ってるとして返事するけど、
1.6でも、WideString(=UnicodeUtring=UTF16)と
String(=UTF8)を相互に代入するときは1.4以前と同じく
UTF8Decode()やUTF8Encode()を噛ませたほうがいいよ。
理由は詳しくは書かないけど。
678:デフォルトの名無しさん
16/07/03 12:50:48.37 CNMZpLOO.net
バージョンは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
679:デフォルトの名無しさん
16/07/03 13:27:23.79 qCpRmwfF.net
いずれにせよFPC3.0では
文字列のキャストはコードページ付き文字列の導入に伴って
よう分からんことになってるので
1.4以前のようにきちんと文字列型のコードページを把握しつつ
UTF8Decode UTF8Encode その他をきちんと使うのがおすすめ。
なお、UTF16のバイト長の取得は
i:=Length(UTF8Decode('あいうえお')) * 2;
でいいと思う。
680:デフォルトの名無しさん
16/07/05 13:06:24.30 C9UYDhUV.net
気になって、ちょっと古いけどUnicode対応のDelphi XE5で試してみた
おかしな結果にならない模様
URLリンク(gist.github.com)
681:デフォルトの名無しさん
16/07/06 08:06:19.72 /9bisM4Q.net
文字列定数のコードページの初期値が違うので
違う結果になるのは当然。
文字列定数のコードページを同じにすれば同じ結果になるはず。
これ以上深入りしても無駄だと思うけど
682:デフォルトの名無しさん
16/08/25 11:21:40.41 udEjBPPq.net
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]
URLリンク(www.embarcadero.com)
[C++Builder 10.1 Berlin Starter Edition]
URLリンク(www.embarcadero.com)
683:デフォルトの名無しさん
16/08/25 11:24:24.64 2ugLHJjt.net
GoodJob
684:デフォルトの名無しさん
16/08/25 11:34:14.78 udEjBPPq.net
>>682
全部入力したのに[今すぐダウンロード]を押してもダウンロードが開始しない場合は、
Japanを他の国(例えばJamaica)を選択して、またJapanに戻せば、
[今すぐダウンロード]を押せるようになるぞ!
685:デフォルトの名無しさん
16/08/25 11:40:07.60 2ugLHJjt.net
>>682 >>684
これはひどいwebフォームだな
テストくらいしてからリリース汁
firefoxだとフォームの項目が一つ少ないな
一番上の性のところでshift+tabを押すと
見えないフォームにフォーカス移動するので
適当にaとか文字打つとダウソ可能になる
686:デフォルトの名無しさん
16/08/25 14:00:20.22 udEjBPPq.net
>>682 >>684
無料Delphiをダウンロードできない場合は、
キャッシュをクリアしてみると良いかもしれない。
ChromeやFireFoxならシークレットウィンドウで開く。
687:デフォルトの名無しさん
16/08/25 14:42:11.47 9T4YP2MK.net
飛び込みでスマソ。Lazarusをダウンロードして使ってみたが、StringGridの最上部の固定行に漢字を入力すると漢字が縦書きで90度左に寝転んでしまう?
可動セルはフォントをメイリオで指定してうまくいった。 固定行のフォントがメイリオなどの横書き可のフォントが設定されていないためだと思うが、解決方法がわかる人教えてください
688:デフォルトの名無しさん
16/08/25 21:59:44.84 3G9Zap9i.net
>>682
gj
689:デフォルトの名無しさん
16/08/26 07:07:26.31 /D9L7gIq.net
>>682
DelphiとC++の2個いける?
それともどっちか1個?
690:デフォルトの名無しさん
16/08/26 12:01:12.58 WnsDsp7+.net
両方落とせた
firefoxはだめだった
691:デフォルトの名無しさん
16/08/26 12:07:43.72 hhb+kJJX.net
ワシ、Firefoxで2つ落とした
692:デフォルトの名無しさん
16/08/26 12:36:28.71 Og8WDrzm.net
両方一緒やろ?
儂は Iceweasel で落とした。
693:デフォルトの名無しさん
16/08/27 07:33:07.36 QNa4gh8r.net
>>687
プロパティのColumsで増やすと個別のフォントになってしまう
Colcountで増やせばStringgrid全体でひとつのフォントになる
694:デフォルトの名無しさん
16/08/27 07:55:16.20 QNa4gh8r.net
どうしてもColumsで増やしたければオブジェクトインスペクタで該当するTgridcolumnをクリックして
Titleプロパティのフォントを変えていくしかない
695:デフォルトの名無しさん
16/08/27 07:56:34.78 QNa4gh8r.net
画像張り忘れ
URLリンク(i.imgur.com)
696:デフォルトの名無しさん
16/08/27 10:04:00.85 scRVQuYc.net
>>693
さんくす
StringGrid1
Colcount =5
FixedCols =0
FixedRows =1
Font = メイリオのレギュラー
でしているが、最上部の固定行だけは、漢字が縦書きで左90度で寝転んでしまう?
StringGridの2行目以降は漢字の横書きで正常です。
697:デフォルトの名無しさん
16/08/27 10:04:53.20 scRVQuYc.net
>>396 続き
RowConut = 100
698:デフォルトの名無しさん
16/08/27 11:19:34.00 QNa4gh8r.net
>>696
TitleFontが@付になってるとか…
699:デフォルトの名無しさん
16/08/27 11:39:39.72 scRVQuYc.net
>>698
私の環境では、@MS Pゴシックなどの@付きのフォントを設定すると「サンプル」フォントのプレビューでで漢字横書きになってしまいますし、
2行目以降可動セルの漢字も縦書きになってしまします。
いろいろフォントを変えて試したのですが、「メイリオ」「游ゴシック」「游明朝」が2行目以降の可動セルで漢字の横書きが可能かと思われます。
Lazarusは最新バージョンの1.6です。
また、1行目の固定セルと2行目以降の可動セルのフォントを別々に設定するとは、オブジェクトインスペクタでは出来ないように思います。
700:デフォルトの名無しさん
16/08/27 12:58:23.77 scRVQuYc.net
訂正
フォントのプレビューでで漢字横書き → フォントのプレビューでで漢字縦書き
701:デフォルトの名無しさん
16/08/27 21:37:04.16 QNa4gh8r.net
>>699
自分で書いたプログラム?
OnDrawCellイベントとか使ってない?
再現する短いプログラムとかスクリーンショットとかUPしてくれないとどうも状況がつかめないんだけど…
702:デフォルトの名無しさん
16/08/27 22:19:06.01 scRVQuYc.net
>>701
StringGridのイベントは使ってないのですが、新規にStringGridを作ってみたら、最上部の固定行の横書きが成功しました。
Delphiで作っていたプログラムを移植しようしていたのですが、何かが悪さしているようです。
これが、うまくいっていない画像です。
URLリンク(s1.gazo.cc)
いろいろ有難うございます。解決の糸口が掴めそうです。
703:デフォルトの名無しさん
16/08/27 22:27:23.06 scRVQuYc.net
>>702 訂正
新規にStringGridを作ってみたら
→ 新規にStringGridだけのプログラムを作ってみたら
704:デフォルトの名無しさん
16/08/28 11:22:13.95 6leow/yK.net
>>682
これ電話番号とか入れるの嫌なんだけど。
705:デフォルトの名無しさん
16/08/28 14:33:51.11 ZU3e5ILB.net
>>704
444 444 とかで大丈夫
706:デフォルトの名無しさん
16/08/28 18:05:48.47 6leow/yK.net
>>682
これって2個とも同じexeじゃね?
どういうこと?
707:デフォルトの名無しさん
16/08/29 08:22:42.95 pGRksGF2.net
>>706
webインストーラーは共通
708:デフォルトの名無しさん
16/08/29 12:56:21.31 24WsJT8K.net
まだインストールしてないけど
インストールキーで機能が決まるんじゃないかな
709:デフォルトの名無しさん
16/08/29 14:30:07.89 NKz4PvZo.net
webインストーラーのくせにでかすぎなんだよ
710:デフォルトの名無しさん
16/08/29 15:38:43.62 24WsJT8K.net
スレリンク(tech板:888番)
に実際インストールした人あり
711:デフォルトの名無しさん
16/08/30 08:40:18.90 GLkfzxek.net
Windows.Beep(p1, p2);
これ使えないのか? どうして?
Buttonが今日は、真っ白の文字無しで表示? 昨日までは何ともなかったのに?
分かる方教えて?
712:デフォルトの名無しさん
16/08/30 10:14:03.53 16/k2Vjy.net
>711
何の話?
713:デフォルトの名無しさん
16/08/30 10:35:35.41 GLkfzxek.net
>>712
Lazarus
714:デフォルトの名無しさん
16/08/30 10:54:35.69 GLkfzxek.net
ボタンは突然直った? よくわからん
715:デフォルトの名無しさん
16/09/01 12:47:21.40 7WkVkVVj.net
>>711
Windows.beep(P1,P2)
うちでは使えてますがねえ
周辺のソース晒したら?
716:デフォルトの名無しさん
16/09/01 17:34:08.80 /RLY/2xR.net
またおま環かよ
717:sage
16/10/26 16:16:30.40 DEpqtoKx.net
こんちには
lazarusのwindows32bit版1.6を使っているのですが
1.codeeditorでマウスクリックすると
その位置までにスペースとかを補って文字入力カーソルを位置設定してまう機能をoffにしたい
2.タブで半角スペース4文字分インデントしたい(pascalは2文字分が伝統?)
3.行末でenterすると次の行が同じ数だけタブで補われて入力開始が出来る様にしたい
tool-option-editor
辺りにありそうな気がするのですが
適当にクリックして設定しても1.2.3.みたいに上手く設定出来ません
何処を設定すれば出来るのか教えてもらえませんでしょうか?
718:デフォルトの名無しさん
16/10/28 09:14:54.09 nEGgz1cN.net
1.ツール→オプション→エディタ→一般→行末までスクロールをオフ
2.ツール→オプション→エディタ→一般→タブとインデント→タブ幅
3.は自動インデントの場合はタブにしたいの?
719:デフォルトの名無しさん
16/10/28 10:04:32.48 ryzUF+6b.net
今月のTips
case 文字列型 of
文字列定数1: ほにゃらら;
文字列定数2: ほにゃらら;
文字列定数3: ほにゃらら;
end
が最新のLazarus(FPC3.0)でできるようになったって知ってた?
720:デフォルトの名無しさん
16/11/01 17:54:12.82 KDUKmdhn.net
>718さんどうもです
1.2.は言われた方法で上手くいきました
3.は715さんの言われた通りです
tab tab readln();
みたいに入力した後にenterを押した後
次の行が
tab tab 入力カーソル
みたいな状態にしたい
という事です
今はenter後の次の行が
space space space space space space space space 入力カーソル
みたいにスペースで補われてしまいます
新規行が常にタブで段落を構成するか
前の行に倣うようにしたい
という感じです
それとコンパイルエラーが出た時に表示されるmessagebox欄で
4.表示されるコンパイルエラー説明文字が切れて表示されてしまうのですが
これは環境によるみたいな感じなのでしょうか?
IDE自体は日本語設定に切り替えてフォントはMS 明朝にしているのでその辺りで上手くいって無いのでしょうか?
5.コンパイルエラー内容が切れて見えないので
エラー表示箇所にマウスカーソルを当ててツールチップでエラー内容を見るのですが
表示時間が短いので長くしたいのですが
何処かに設定が有りますか?
お願いします。
721:デフォルトの名無しさん
16/11/02 11:27:06.42 1/V1NvWb.net
IDEを日本語にする意味ってほとんどない気がする
722:デフォルトの名無しさん
16/11/02 12:39:25.71 /RgH4X0s.net
3.って「タブをスペースへ」のチェック外さないかぎり無理っぽいよな
タブキー入力したやつは全部タブ文字になるんだろうけど
723:デフォルトの名無しさん
16/11/26 01:30:17.62 lQcl8CWx.net
Lazarus 1.6.2 出たのに話題になっていないのね
724:デフォルトの名無しさん
16/11/26 08:23:32.15 xsxbg/mF.net
俺使ってるよ
フリーのデルファイより、好きだから
725:デフォルトの名無しさん
16/11/28 16:54:24.70 Mxyl2pls.net
年末で忙しくて使う隙がない
726:デフォルトの名無しさん
16/11/28 17:44:56.28 ff7Gff6kf
下のバージョンだからバグ取りが主なのではないですか?
そうすると余り取り上げる事が無いからなのでは?
見てみたら項目は随分一杯有った中身は解らないけど
あんなに沢山有ると言う事は結構開発参加者は多いんですかね?
727:デフォルトの名無しさん
16/12/09 23:18:05.09 QlDhCXw4.net
NewPascalがいい感じ
FreePascal/Lazarusの新機能をいち早く使えてDelphi互換を重視しているから移行もしやすい
URLリンク(newpascal.org)
728:デフォルトの名無しさん
16/12/10 09:38:09.58 +lsGV3tm.net
個人的にはUTF16よりもUTF8の方が使い勝手がいいかな
729:デフォルトの名無しさん
16/12/10 11:44:00.83 qQjpy7Dv.net
yes you can
730:デフォルトの名無しさん
16/12/10 12:54:32.20 xkwKR2Gi.net
>>727
まだよく見てないけど、何が違うのかね。
731:デフォルトの名無しさん
16/12/11 06:08:20.93 RsXQTiEs.net
「新機能をいち早く使えて」という部分は需要あるの?
truncを自己ビルドすらできない人が不安定な開発中版を使うというのは妙な気がするのだが・・・
732:デフォルトの名無しさん
16/12/11 06:55:00.55 MSmxsFhD.net
lazarusってバージョンアップするとき、コンポーネントを再インストールしなければならないのですか?
733:デフォルトの名無しさん
16/12/11 14:57:03.52 l/ygiOJy.net
>>731
一応検証してから採用しているんだろう
実績ある組織・人が開発に携わっているし
ジェネリクスがDelphi互換のものを独自実装しているところはありがたい
とはいえ人の褌なのはいかがなものかとは思う
734:デフォルトの名無しさん
16/12/12 14:26:50.97 UD00O82z.net
本家にpull requestとかしてるなら理解できないでもないけどな。
どうなんだろ?
735:デフォルトの名無しさん
16/12/13 13:58:22.62 c0E/lO8V.net
newpascal ←人柱-本家-安定→ codetyphon
みたいな感じ?(誤解
736:デフォルトの名無しさん
16/12/14 02:19:40.15 Fg13P6gd.net
コードティフォン
737:デフォルトの名無しさん
16/12/14 08:04:16.32 H5ZdC4E+.net
codetyphonは本家フォーラムで相当叩かれてるけどなw
738:デフォルトの名無しさん
16/12/15 12:04:56.88 yqCdwSFJ.net
Lazarusのらの字も出てこない徹底っぷりだもんなコード大糞
739:デフォルトの名無しさん
16/12/20 08:54:23.73 kdK8nOSL.net
Youtubeで他人の作った動画をちょっと加工して再アップし
広告収入を稼ぐ人と同じ構図だもんな
740:デフォルトの名無しさん
16/12/20 13:02:47.15 lAXr92yw.net
>>739
迷惑だな
741:デフォルトの名無しさん
16/12/20 21:59:44.09 GwwVs9ZK.net
で、NewPascalのライセンスってFreePascal/Lazarusと同じなの?
どこにも載っていないのだが
初心者としては、正式リリースが遅いFreePascal/Lazarusより
最新機能でzip解凍だけで使えるのは魅力的なのだが
742:デフォルトの名無しさん
16/12/22 08:36:13.93 8NoWo5zW.net
>>741
truncを自ビルドすることを勉強したほうが結局は身になるよ
743:デフォルトの名無しさん
16/12/22 13:04:08.97 y+mdv7YD.net
うむ
744:デフォルトの名無しさん
17/02/20 13:53:37.33 wCsxvy5W.net
FPC version 3.0.2 has been released!
745:デフォルトの名無しさん
17/03/06 15:02:59.44 uQ33xGu8.net
[Delphi無料] Delphi 10.1 Berlin の Starter Edition
URLリンク(www.embarcadero.com)
姓名・メアド・パスワード等々を入力し[今すぐダウンロード]をクリック。
ダウンロードしたファイルを実行すると、登録したメールアドレスにメールが届きます。
そのメールに記載されているインストール番号を使用してインストールを進めます。
746:デフォルトの名無しさん
17/03/07 08:01:18.66 cWJEXfnd.net
Lazarus 1.6.4 - Released
747:デフォルトの名無しさん
17/05/12 09:48:41.13 0U23T9En.net
バングラディッシュ銀行を突如襲った北朝鮮ハッカーチームLazarus
748:デフォルトの名無しさん
17/05/12 13:09:27.66 SKbY+Ya4.net
なんだその電気グルーヴの歌詞みたいなのは
749:デフォルトの名無しさん
17/05/12 19:29:34.85 adrx7z+4.net
ピエール瀧
750:デフォルトの名無しさん
17/05/19 08:51:47.36 zz8CLIMk.net
Lazarus Release Canditate 1 of 1.8
751:デフォルトの名無しさん
17/06/08 07:40:20.50 uRhhAv9e.net
Lazarus Release Candidate 2 of 1.8
752:デフォルトの名無しさん
17/07/01 19:32:01.11 uQ7jpaLc.net
Lazarus Release Canditate 3 of 1.8
753:デフォルトの名無しさん
17/07/31 15:37:42.57 rnkHB2sf.net
Laztoapkで簡単なアンドロイドアプリを作ろうとしています。
効果音をつけるためにwavファイルを再生したいのですが、
どのコンポーネントを使ってどのように記述したら良いか教えてください。
754:デフォルトの名無しさん
17/08/01 13:17:18.71 R0nmZVxs.net
スレチ
755:デフォルトの名無しさん
17/08/01 20:09:32.93 PRDu0QUr.net
そもそもアンドロ向けのコンポとかあるのか
freepascalでさえndkラッピングしたライブラリとか無さそう
756:デフォルトの名無しさん
17/08/01 21:18:01.46 j46ttB1f.net
Laztoapkなら一応apkを作れる
写真を表示したり、タイマーを使うくらいはできた
まあでも簡単なものしか作れない
757:デフォルトの名無しさん
17/08/02 08:51:09.02 TSq1rzbF.net
別にLaztoapk使わなくてもdll(.so)をapkにパックするだけだよ。
つまりC++とかと同じ方法でOK。
758:デフォルトの名無しさん
17/08/18 00:11:45.25 2U7SeTVL.net
Lazarus Release Canditate 4 of 1.8
759:デフォルトの名無しさん
17/10/15 02:50:46.28 kbPXsDIj.net
Lazarus Release Candidate 5 of 1.8
(includes RC1 fpc 3.0.4) - October 13, 2017, 08:23:37 pm
760:デフォルトの名無しさん
17/10/18 17:36:21.58 Z5CeRWao.net
ftp%3A//ftp.freepascal.org/pub/lazarus/releases/Lazarus%20Windows%2032%20bits/Lazarus%201.8RC5/
ここね
761:デフォルトの名無しさん
17/12/08 02:08:34.35 v1dKK1/Q.net
リリースされたね
Lazarus Release 1.8 (with FPC 3.0.4) - December 06, 2017, 11:10:46 pm
762:デフォルトの名無しさん
17/12/08 10:31:36.03 Vk1skcF4.net
IDE って一画面にできないんだっけ?
763:デフォルトの名無しさん
17/12/08 18:08:05.14 7lBDaG0K.net
DELPHIとの互換性向上だっけ?
764:デフォルトの名無しさん
17/12/09 04:10:37.23 j1KTfDSe.net
>>762
できるよ。
AnchorDockingDsgn 0.5パッケージを入れてあとは好きなようにレイアウトすればヨロシ。
765:デフォルトの名無しさん
17/12/09 17:20:34.48 7/IHRDWO.net
>>764
おー、ありがとう。
できるようになったような情報を見たんだけど、そんな設定どこにもないなーと思ったら
パッケージが必要だったのね。やっぱまとまってる方がいいな。
設計中のウィンドウは仕方ないか。
766:デフォルトの名無しさん
17/12/10 08:56:25.82 CBN7UoPJ.net
FPC 3.2はいつになるのか・・・
767:デフォルトの名無しさん
17/12/10 14:56:19.81 jQtqk+Ut.net
>>765
sparta_DockedFormEditorパッケージも入れるとFormも一緒に出来るようになるが,1.6の時にまだバクがあるとforumの書き込みにあったんであまり試してないな。
768:デフォルトの名無しさん
17/12/10 23:50:52.21 ZVRIS2gv.net
>>767
あ、こっちもあるのね。
1.6 だからやめておこうかな。1.8 にした時に試してみよう。
769:デフォルトの名無しさん
17/12/11 08:02:48.97 AWRsK1Dx.net
デフォルトで設定できるようにして欲しいな~
770:デフォルトの名無しさん
17/12/11 21:50:11.87 XHiSgKst.net
URLリンク(github.com)
試そうと思って忘れてる
771:デフォルトの名無しさん
18/03/16 22:08:58.82 Mruf+joS.net
Lazarus Release 1.8.2 (with FPC 3.0.4) - February 28, 2018, 04:02:23 pm
いつの間にか出てた。
772:デフォルトの名無しさん
18/05/04 00:02:36.84 4f/JNocmX
URLリンク(lists.freepascal.org)
NewPascal の作者がコアチームから蹴り出されたらしい
773:デフォルトの名無しさん
18/05/23 21:05:06.06 Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
I5Q4S
774:デフォルトの名無しさん
18/05/24 05:22:26.16 oFaPACTY.net
Lazarus Release 1.8.4 (with FPC 3.0.4) - May 22, 2018, 11:39:03 pm
775:デフォルトの名無しさん
18/05/24 07:49:09.39 UDepo1QV.net
FPC3.0.4 引っ張るな~
開発者が死んだとか?
776:デフォルトの名無しさん
18/05/25 07:09:19.53 BYq6Tj1K.net
数年前にくらべればリリース間隔は大分短くなってるよ
無料でやってくれてんだから文句言うもんじゃないよ
777:デフォルトの名無しさん
18/05/25 08:19:45.44 OdR+P/i7.net
ところで1.6.4以降のWinCEサポートって腐ってね?もうCEなんて誰もまともにLazarusでは使ってないかw
778:デフォルトの名無しさん
18/05/28 07:58:17.38 0jFqQdG6.net
>>777
youみたいに使ってる人がmantisに情報あげてかないと死滅するよ
779:デフォルトの名無しさん
18/07/04 18:16:17.28 97Pks666.net
Haiku OS に出現したようだ。
780:デフォルトの名無しさん
18/07/04 21:45:10.13 gFgZc5FG.net
CJX
781:デフォルトの名無しさん
18/07/05 08:55:12.62 WI8HO25Z.net
>>777
URLリンク(forum.lazarus.freepascal.org)
これか。反応がないところを見るともうまともに利用者いないんだな
782:デフォルトの名無しさん
18/07/05 09:00:58.10 Ea8Q4Lwl.net
旧Delphiみたいにウインドウバラバラがデフォルトなのがなあ
783:デフォルトの名無しさん
18/07/06 08:22:33.22 rip4GodL.net
>>782
俺はバラバラのほうが好きだな
784:デフォルトの名無しさん
18/07/22 22:08:49.24 UrR8Z00e.net
FreePascalのメリットはLinuxで開発出来るぐらい?
785:デフォルトの名無しさん
18/07/22 22:10:16.72 UrR8Z00e.net
>>745
Community Edition出たぞ
Starter Editionはもうゴミ
786:デフォルトの名無しさん
18/07/22 23:35:56.43 RmI5XlNT.net
最近のObjectPascal実装でそこそこ使えそうなのってこんなところ?
Delphi
FreePascal / Lazarus
Oxygene
PascalABC.NET / PascalSharp
787:デフォルトの名無しさん
18/07/22 23:36:52.65 RmI5XlNT.net
Oxygeneはいつの間にかフリーのコマンドライン版無くなったのね
788:デフォルトの名無しさん
18/08/12 08:56:32.18 01FM0bjf.net
いつの間にやら Typhon なんてのが出てるやん。
って思ったら、2015 年にすでに話題に出てた orz
日本語情報が少ないね。
789:デフォルトの名無しさん
18/08/12 12:37:57.00 rtSL/abo.net
PythonのTyponかと思ったぜ
まぎらわしい
790:デフォルトの名無しさん
18/08/12 14:21:49.16 8Ipjgge/.net
普通にタイソンって読んでた
791:デフォルトの名無しさん
18/08/13 07:55:22.54 zNNkoj0Z.net
Typhonは作者が基地外っぽくて常連達からは嫌われてるよ
792:デフォルトの名無しさん
18/08/18 22:18:03.09 siwjj9vh.net
Lazarus 1.8.4でGUIアプリを作ろうとしているのですが、フォームデザイナーと実行後のアプリの大きさが違います(高さ、幅を400、400にしても600
、600くらいになります)
何故だか分かる方はいますか?
793:デフォルトの名無しさん
18/08/18 23:30:07.42 TV+gvCwn.net
.lfmを開く
HeightとWidthを希望する値に変える
保存する
Lazarus IDEをいったん閉じる ←たぶんこれ
xx.lpiまたはxx.lprをダブルクリック
構築
794:デフォルトの名無しさん
18/08/19 11:33:33.62 Q1IqUiGR.net
書き込みありがとうございます。上記試してみましたが変わりませんでした。どうもWindows10のディスプレイの拡大と関係があるみたいで、200%だとデザイナーの2倍の大きさになります。100%だとデザイナーと同じ大きさで実行されました。Lazarusのバグなんだと思います
795:デフォルトの名無しさん
18/08/19 17:17:53.80 IKSANLqZ.net
高解像度ディスプレイで倍率を変える設定がWindowsにあってそれで色々迷惑することがある
796:デフォルトの名無しさん
18/08/19 20:01:48.76 XXTU2ABu.net
あー、それ Visual Studio でもなったな。最近のは直ってるのかな。
797:デフォルトの名無しさん
18/08/20 09:36:30.26 US/FmUCN.net
URLリンク(wiki.lazarus.freepascal.org)
798:デフォルトの名無しさん
18/08/20 22:06:35.15 1lEf9bGj.net
>>797
プロジェクトオプションのLCLスケーリング使用でデザイナーと同じ大きさで実行されました。ありがとうございます
799:デフォルトの名無しさん
18/10/17 04:49:18.79 CBGXIVXb.net
Lazarus Release Canditate 1 for 2.0 - October 14, 2018, 08:45:13 pm
800:デフォルトの名無しさん
18/10/17 05:04:58.72 EXIicAKO.net
ネイティブコードにコンパイルできて
IDEでポトペタできて
オブジェクト指向できて
現在も開発が続いてる
無料な言語・開発環境
てFree Pascal以外にありますか?
801:デフォルトの名無しさん
18/10/17 07:03:04.02 Q2/lCz/X.net
>>800
今はJavaScriptみたいなスクリプトか、
Javaみたいな仮想マシン用コンパイラが人気なので
ネィティブコードにコンパイルできる言語自体がそもそも少ないだろうな。
他の条件と合わせると、おそらくないと思う。
802:デフォルトの名無しさん
18/10/17 08:37:31.00 gKk8VB97.net
ネイティブコードにこだわる理由がわからない。
本当にネイティブコードが必要なシビアなことをしている人が
こんなところで尋ねるとは思えない。
803:デフォルトの名無しさん
18/10/17 08:41:03.62 4yuTjZOF.net
>>800
Windowsに限らなければMac/IOSのObjective-C/Swiftが生き残ってる
iPhoneが流行ったのはJavaが主流だったガラケー/他社スマートフォンに比べて
高速(当時)なのも一因だぜ?
804:デフォルトの名無しさん
18/10/17 08:54:29.89 4yuTjZOF.net
後はQtも一応そうかも
VCLや(Objective-C/Swiftの)CocoaがGUIオブジェクトをシリアライズしたリソースファイルを
アプリケーションに同梱する形式なのに対して
あっちは最終的にC++の生成コードに変換するという違いはある
805:デフォルトの名無しさん
18/10/17 09:03:40.59 Q2/lCz/X.net
>>802
こんなとことは失礼な。
でも、こんだけ無料で優秀な言語やIDEが配布されている世で
Delphiの会社はよくやってられるなぁとは思う。
806:デフォルトの名無しさん
18/10/17 10:41:42.53 05GdW5v2.net
まぁ日本じゃMVPがあの程度のツール作って自慢するレベルだからな…
807:デフォルトの名無しさん
18/10/18 00:24:42.78 FYE0CFZ4.net
wxWidgetsとかどうなん?
808:デフォルトの名無しさん
18/10/18 01:37:44.19 fwCHkrgD.net
>>807
RADじゃなくね?
外部ツールとしてデザイナはいくつかあるみたいではあるけど
809:デフォルトの名無しさん
18/10/18 07:55:59.32 h8m50dIC.net
kotlin のネィティブ対応がよくなってきたらしいけど
ポトペタできるのかな?
Lazarus の kotlin 版ホスィ
810:デフォルトの名無しさん
18/10/19 12:17:07.83 jQ8EJjtV.net
>>807-808
XRCed最強
811:デフォルトの名無しさん
18/11/29 21:35:53.76 q3ZBqfvy.net
型推論付きどこでも変数宣言はいつ実装されるんだろう。
812:デフォルトの名無しさん
18/12/02 09:02:13.54 txXfUhat.net
コンパイルがクソ遅くなるから実装されないだろう
813:デフォルトの名無しさん
18/12/06 02:46:00.90 oTzW6Pma.net
Lazarus Release Candidate 2 for 2.0 - November 01, 2018, 11:00:40 am
814:デフォルトの名無しさん
18/12/06 07:50:48.84 kiq2jeVU.net
Lazarusのウインドウ1つにまとまらないかな
815:デフォルトの名無しさん
18/12/13 07:43:24.77 kiIPKRPv.net
FPC3.2もそろそろ出すみたいだし、androidやiphone対応が本格化しますな
816:デフォルトの名無しさん
18/12/13 07:44:41.11 bz3jNn9Z.net
AnchorDockingDsgnで我慢しろ
フォームは別ウィンドウだが
817:デフォルトの名無しさん
18/12/13 18:40:59.45 nifhQKI8.net
sparta_DockedFormEditor でフォームもドッキングできるぞ。
818:デフォルトの名無しさん
18/12/14 07:18:21.73 dj4Va757.net
一年前にもその話題出てるな
819:デフォルトの名無しさん
18/12/14 14:45:28.17 GDnpkxr1.net
一年前もワシが話題にした
820:デフォルトの名無しさん
18/12/26 00:41:36.79 aM+omM5e.net
Lazarus Release Candidate 3 for 2.0 - December 24, 2018, 11:32:30 am
821:デフォルトの名無しさん
19/02/06 05:01:13.57 xrz7pH3/.net
今日、Lazarus 2.0.0 がリリースされたってよ。
822:デフォルトの名無しさん
19/02/06 07:31:28.76 2MpR9+RV.net
昔Lazarusインストールしたらアンインストールできなくなったらから使うのやめた
823:デフォルトの名無しさん
19/02/06 10:28:15.52 +qagyc5o.net
金の切れ目が縁の切れ目
824:デフォルトの名無しさん
19/02/28 08:00:43.27 J0qaWP9D.net
Lazarus 2.0 を FPC3.2 で使ってみたい方はこちらからどうぞ
URLリンク(sourceforge.net)
825:デフォルトの名無しさん
19/02/28 08:21:58.12 J0qaWP9D.net
インストール先は 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 ファイルの格納先を個別に指定するのがおすすめ。
もちろん、インストーラが勧めてくる旧バージョンのアンインストールを実行しないこと。
826:デフォルトの名無しさん
19/02/28 12:37:08.47 hxOr9lWM.net
--primary-config-pathはlazarus.cfgに書いてる
827:デフォルトの名無しさん
19/03/09 22:26:05.47 MctiKVi6.net
Write once, run any architectureを目指すFree Pascalはもっと注目されていい
828:デフォルトの名無しさん
19/03/11 08:19:35.82 /m3h4KuN.net
ネィティブコンパイル系の言語では敵なしだと思う
829:デフォルトの名無しさん
19/04/11 14:15:28.19 S9MFSdB7.net
FormatDateTimeとかでそもそも元号対応してるのWindows版だけなのな
830:デフォルトの名無しさん
19/04/11 14:15:46.53 S9MFSdB7.net
滅多に使うことはないだろうけど
831:デフォルトの名無しさん
19/04/13 10:08:17.34 VAZw4bPr.net
たいてい西暦しか使わないね。お役所の書類で仕方なくって感じかな。
832:デフォルトの名無しさん
19/04/17 20:50:39.15 yUqArsz+.net
Lazarus Release 2.0.2 - April 16, 2019, 10:34:02 am
833:デフォルトの名無しさん
19/05/07 22:10:10.01 WYmdE2fC.net
久しぶりにLazToApkをバージョンアップしたら、ビルドの仕方が変わっていて使い方がわからず撃沈。
OldVersionもHPにないし困ったなあ。
昔のファイルがあればいいけどなあ、ハードディスク内を探してみるか。
834:デフォルトの名無しさん
19/05/07 23:08:19.13 crsXz7PJ.net
困ったなあ(チラッ)
835:デフォルトの名無しさん
19/05/08 00:53:50.31 hN+WAUHi.net
svnで好きな時点のソース落とせよ
836:デフォルトの名無しさん
19/05/09 07:23:31.91 riNy8fVT.net
この機会に手動ビルドを研究したほうがよい。
最近やってないけど大した手間じゃない。
837:デフォルトの名無しさん
19/05/09 07:27:45.97 riNy8fVT.net
巷によくある、 C++ で作った .so ファイルを apk にする手順を
Laz で作った .so ファイルと読み替えるだけ。
838:デフォルトの名無しさん
19/06/17 21:13:48.03 7jkihj6t.net
久々に使い始めたんだけど、ブレークした時にクラスのインスタンスの内部データって見られないんだっけ?
Integer とかの単純な変数は見られるんだけど、例えば TStringList のインスタンスに登録されてる文字列とか。
昔作ったプログラムを見てるんだけど、どうやったか覚えてない。
839:デフォルトの名無しさん
19/06/19 05:02:36.99 tVNS+22r.net
【出資】松本卓朗 人工知能詐欺【注意】
スレリンク(rikei板)
840:デフォルトの名無しさん
19/07/02 18:35:04.45 RhWJXLyF.net
TpairSpitterの境界線の上に文字を置きたいのですが、どうしたら良いでしょうか。
境界線のつまみを隠したいのと文字を置きたいのが理由です。
アイデアをください。
841:デフォルトの名無しさん
19/07/05 08:04:30.82 R9kjbrwG.net
>>840
TLabelでなくTStaticTextでとかそいうこと?
842:デフォルトの名無しさん
19/07/05 21:07:04.96 ypzj5uvi.net
>>841
labelでもpanelでもいいんだけど境界線の上に置きたい。
置こうとしても、隠れてしまって前面に出せないのでどうしたらいいかわからない。
843:デフォルトの名無しさん
19/07/05 21:28:30.42 BC1QPJi0.net
当てずっぽうだけどParentをTpairSpitterにすれば実行時には上になる?ならないか?
844:デフォルトの名無しさん
19/07/06 09:03:58.53 nIvQZNy6.net
>>843
コンポーネントを継承してTMyPairSplitterみたいなもの作って
描画部分に手を加えたほうが応用も効くしソースもスッキリすると思う。
845:デフォルトの名無しさん
19/07/31 06:40:26.15 cxA9kCcM.net
Lazarus 2.0.4 - July 25, 2019, 12:17:38 pm
846:デフォルトの名無しさん
19/07/31 07:36:45.82 KjSExRFS.net
>>845
be planning やん。
be planning は便利でよく使う構文だからきっちり使えるようにしといたほうがいい
847:デフォルトの名無しさん
19/07/31 21:43:24.03 cxA9kCcM.net
>>846
ごめんなさい。寝ぼけてましたw
リリースされたと思って書き込んでしまったorz
848:デフォルトの名無しさん
19/08/11 06:58:29.91 nBSthP26.net
Lazarus Release 2.0.4 - August 06, 2019, 03:13:13 pm
849:デフォルトの名無しさん
19/08/19 08:03:02.74 lAiNzH12.net
FPC 3.2 は2019年度末予定っぽい
850:デフォルトの名無しさん
19/11/02 17:36:12.44 zoLz180R.net
Lazrus Release 2.0.6 - November 01, 2019, 12:33:13 pm
851:デフォルトの名無しさん
19/11/03 22:59:45.28 vaTmWlaD.net
JVCLってインストールできますでしょうか?
852:デフォルトの名無しさん
20/02/27 21:04:57 re/ORI54.net
最近Lararus使い始めたんですが、普通に使えるのでびっくりしました。
Delphiで演算子オーバーロードとか使いまくってるソースも問題ないし。
演算子オーバーロードなんて昔は「ソースが一読ではわかんなくなるから反対」なんて思ってたのに。
853:デフォルトの名無しさん
20/03/02 07:51:50.68 NBY4tsQ4.net
文字コードUTF8が標準なのでむしろDelphiより使いやすいと思いますよ。
854:デフォルトの名無しさん
20/03/06 07:12:08.75 ywadnjOj.net
作ったexeが20メガ超えててなんだかなぁ~とおもた
855:デフォルトの名無しさん
20/03/06 10:30:39 50MIG5ia.net
C#ですら数kbだからな
どうせ要らんもんリンクしてるんだろ
856:デフォルトの名無しさん
20/03/06 19:54:28 bd/m3dXZ.net
C#は知ってても.NET Frameworkは知らなさそう
857:デフォルトの名無しさん
20/03/06 21:40:12.67 R7giY7iW.net
乱多忌む
858:デフォルトの名無しさん
20/03/06 22:00:00 3lybco/N.net
デバッグ情報含んでるからストリップとスマートリンク有効にしろって昔からマニュアルに書いてあるぞ
UPXまでは別にやらんでもいいと思う
859:デフォルトの名無しさん
20/03/06 22:49:36 wjuomVAd.net
もうこの時代に20メガとかどうでもよくない
860:デフォルトの名無しさん
20/03/07 18:19:17.95 RZgTMQsN.net
ktkr
URLリンク(srad.jp)
861:デフォルトの名無しさん
20/03/07 19:35:21.43 IKkjx2Oq.net
>>854
小さくする設定もある。
コンパイルしたソフトを小さくするソフトもある。
862:デフォルトの名無しさん
20/03/07 19:47:00 zDuQOlXy.net
Lazarus 側の言い分としては、最初からいろいろリンクしてるから、
これ以降機能追加してもサイズの増加は緩やかということらしいけど、
使いもしない機能リンクしないでほしいわな。
863:デフォルトの名無しさん
20/03/18 16:54:18.85 Dqfi0yj0.net
使いもしない機能はリンクしないよ。
ソースプリーズ。
864:デフォルトの名無しさん
20/03/18 23:29:19.07 mYKGnRUi.net
>>863
URLリンク(wiki.freepascal.org)
どうしてコンパイル後のバイナリがこんなに大きいの?
865:デフォルトの名無しさん
20/03/24 05:32:35.18 oNI0kRN8.net
>>864
書き方(翻訳の仕方?)のせいかもしれんが、使うからこそ組み込まれるのだよ。
コマンドラインアプリや、Windows API で自前のメインウィンドウだけしかないような
アプリを作って試してみればわかるが数キロバイトになる。
866:デフォルトの名無しさん
20/03/24 07:50:05 oNI0kRN8.net
英語版見てみてみましたが、最新版はかなり内容が違う気がします。
英語版を参考にしたほうが良いと思います。
867:デフォルトの名無しさん
20/03/30 20:53:33.92 G4pdB0Ew.net
FPC 3.2.0 rc1 始まったで
URLリンク(forum.lazarus.freepascal.org)
868:デフォルトの名無しさん
20/03/30 20:59:52.63 eoyd+Aho.net
>>867
FPCて何?
869:デフォルトの名無しさん
20/03/30 21:35:58.65 G4pdB0Ew.net
>> 863
Free Pascal Compiler
870:デフォルトの名無しさん
20/03/30 22:55:15.59 eoyd+Aho.net
>>869
ありがとう
871:デフォルトの名無しさん
20/04/03 07:39:20.81 ZRX+L3ok.net
今月新しいバージョンが出っぽいね
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)
872:デフォルトの名無しさん
20/04/03 07:51:25 hz9zQM0o.net
コンパイラは3.0.4のままだけどね
FreePascalのリリースがまだかかりそうだから急遽決めたようだね
本来なら次はLazarus 2.2の予定だったみたい
873:デフォルトの名無しさん
20/04/16 19:40:21 M7pyaxbj.net
Lazarus 2.0.8 リリースされたよ
874:デフォルトの名無しさん
20/04/17 20:44:07.94 6AJsww7o.net
何が変わった?
875:デフォルトの名無しさん
20/04/18 12:59:34 VYQrLT4k.net
>>860
外字って、Unicodeにも私用領域ってあるよな。まああくまでも私用領域であって
外字専用に使うための領域ってわけではないが、そう使っても良いんだよな。
876:デフォルトの名無しさん
20/06/10 17:57:11.63 syGP3Y23.net
画面拡大してるとHI-DPI有効にしないとダイアログがでかくなるんすね。
はまりましたわ。
877:デフォルトの名無しさん
20/06/26 22:59:51.25 xWDNnrNa.net
しらんまにFPC3.2出てましたね。Lazarusの先っちょも3.2対応だとか!
878:デフォルトの名無しさん
20/06/26 23:02:47.90 xWDNnrNa.net
Lazarus2.0.10も7月には出るとか。
879:デフォルトの名無しさん
20/07/08 16:42:25.19 EmKCEK3t.net
FPC3.2はDynamicArrayに大分手が入ったみたいなので、この機会に不定長のビットマップ作成の
手持ちライブラリ書き換えてみるかな。
というか素直にFCL使えって話だが、FCLってFPCのコマンドラインアプリでも使えるの?
880:デフォルトの名無しさん
20/07/08 23:32:55.82 Omm2EhW3.net
今の1個前のバージョンでLazarus&FPCの現状はどんなもんかと以前試してみたけど
10年前のDelphiにも遠く及ばない出来だったな
コンパイル速度、デバッグモードの開始、終了が遅く(終了からIDEの切り替えが特に遅い)
フォーム無しのプログラムでメッセージダイアログを出すとコマンドプロンプト画面が出る始末
今も改善されていないんだろうなぁ
881:デフォルトの名無しさん
20/07/09 22:35:37.41 vgKD2Erb.net
ソースコードもあるし、別に本家にご注進してもいいじゃん。
なんでそこで終わらなくても良くない?
882:デフォルトの名無しさん
20/07/11 06:48:10.64 HRglNQfp.net
2.0.10 アナウンスはまだだけどsouceforge で公開されたね
883:デフォルトの名無しさん
20/07/13 19:02:02.10 40nMIxb+.net
Lazarus Release 2.0.10 - July 11, 2020, 10:55:58 am
もうリリースされたって書き込まれていたけど一応。
884:デフォルトの名無しさん
20/07/25 21:12:59.00 U1cr0g+B.net
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
になります。
正しい値を得る方法を教えていただけませんでしょうか。
885:デフォルトの名無しさん
20/07/26 02:33:28 B7m4RLK/.net
SendMessage(Memo1.Handle, EM_GETRECT, 0, Longint(@R));
でよさそう
886:デフォルトの名無しさん
20/07/26 11:23:45.22 q3dJt1F9.net
>>885
ありがとうございます。
早速試してみたところ上手くいきました。
887:デフォルトの名無しさん
20/07/28 07:26:11 YeCqnbYl.net
せっかくのオープンソースだし、
不具合っぽいのは本家に報告してあげるとよいよ
888:デフォルトの名無しさん
20/08/23 00:18:52.03 BDUM7k5s.net
Delphi6でさんざん書いてたのに長いことマイコンのほう(ArduinoやそのほかのC)ばっかりやってたからすっかりPascal忘れてるw
久々にPCのアプリ書こうと思っってLazarusはじめたらforやifですらあれどうだっけ?ってなってるよ
889:デフォルトの名無しさん
20/08/29 18:23:11.35 dVc2pP/Zc
新型コロナで1割が副業を開始、内容は「フリマアプリ」「投資」「クラウドソーシング」
URLリンク(news.yahoo.co.jp)
2月以降に副業を始めた人の3割が本業では「管理職」、コンサルタント、マーケターなどが専門スキルを活用
URLリンク(moneyzine.jp)
3000人が回答!「副業・ダブルワーク」実態調査2人に1人が「副業・ダブルワーク」の経験ありと回答。
URLリンク(www.excite.co.jp)
20代の7割が「副業したい」、興味のある仕事は?
URLリンク(news.mynavi.jp)
副業の長時間労働防ぐ 新ガイドライン9月導入へ
URLリンク(www3.nhk.or.jp)
「毎日チョコ」生活4年 ブログで発信、趣味が副業に
URLリンク(style.nikkei.com)
「会社設立freee」に無料のiOSアプリ登場--スマホのみで会社設立が可能に
URLリンク(news.yahoo.co.jp)
月100万円の収入で本業超えも!サラリーマンYouTuberの“リアル”とは
URLリンク(diamond.jp)
7歳児が年俸25億円!「ユーチューバー」収益の仕組みを全解剖
URLリンク(diamond.jp)
「おじさん」こそユーチューバーになるべき理由、動画配信で稼ぐ極意
URLリンク(diamond.jp)
おじさんユーチューバーが活躍めざましい意外な理由
URLリンク(diamond.jp)
月100万円以上も! 会社員の副業収入、平均額は?
URLリンク(news.mynavi.jp)
890:デフォルトの名無しさん
20/11/05 00:09:00.98 8Msi6NAs.net
TChartのチュートリアルを和訳してみたけどWikiに追加する方法がよくわからない
891:デフォルトの名無しさん
20/12/02 23:28:05.83 r6aZV9ch.net
FreePascalのXMLチュートリアル、サンプルのしょうもないミスを修正したいが
どうすりゃいいんでしょうか。
まぁPascal使うような極まりきった方々は別にミスあっても自分で修正するでしょうけど・・
892:デフォルトの名無しさん
20/12/02 23:30:01.43 r6aZV9ch.net
マルチスレッドでレイトレーシングアプリを書いたが、LinuxでもWindowsでも
普通に動くんでビックリしましたわ。
マルチスレッド絡みだからOSとかの癖とかで差異があって大変だと思ってたので。
ちゃんとライブラリで差異を吸収してんですねぇ。
893:デフォルトの名無しさん
20/12/02 23:31:33.19 r6aZV9ch.net
あまり大声で言うべきではないでしょうが、LazarusのGTK3サポート、
まだアルファ版というのがちょっと切ない。
自分の作るしょっぱいアプリだったらFreePascalのGTK3バインディングで
十分だろうからそっちから攻めるべきか。
894:デフォルトの名無しさん
20/12/23 15:41:35.78 lutaimDh.net
ざっくり調べるとQtバインディングの方はQt6が最新でQt5はサポートしているということか。
であれば現状自分のしょっぱいLinuxアプリはQt5バインディングにしといた方が
良いかもしんないにゃー。
別にGTK2でも全く問題ないのですが・・・・
895:デフォルトの名無しさん
20/12/23 16:37:45.86 lutaimDh.net
しかしGTK4が出てGTK2はEOLになった訳だが、ソースは公開されてるから永遠に使えるし、
別に自分の作るしょっぱいアプリなら見栄えとかも気にならない。
そりゃPython2が消えるのに時間かかるわけですわ。
896:デフォルトの名無しさん
20/12/25 22:27:48.26 ri6ukwlu.net
とりあえずlazbuildでlpiファイルを指定してやればコマンドラインでビルド出来るのが
わかった。
これで素直にemacsでのコーディングにチャレンジできますな。
897:デフォルトの名無しさん
21/01/04 00:32:46.18 UbmKQSc4.net
Lazarusからブランチされたと思しきCodeTyphon。
公式サイト見る限り、LazarusよりIDE環境は進んでそう。
URLリンク(www.pilotlogic.com)
898:デフォルトの名無しさん
21/01/04 08:44:40.23 yz1hRW6c.net
Lazarusはシングルウインドウになったらええのに
899:デフォルトの名無しさん
21/01/19 14:59:49.28 yIqZdVPk.net
FAQ見るとシングルウィンドウにするんだー、だからペインドッキングのパッチは
ノーセンキューなんて書いてあるのにねー。
GTK3サポート共々今どんな塩梅なんですかね。
900:デフォルトの名無しさん
21/01/19 20:51:23.69 yIqZdVPk.net
何を思ったかデスクトップPCをDebian/Linuxに、エディタはemacsでコーディングをしてる。
emacsのデフォルトはgnu-pascalサポートが入ってるのでObjectPascal拡張があると不便。
よくわからんまま、emacs delphi.elで検索かけてgithubにあるopacal.elを入れて
M-x opascal.elとしてみたら普通に動くようです。
そうまでしてなんでemacsで書かねばならんのかわからんのですが・・・
901:デフォルトの名無しさん
21/01/26 16:12:05.49 7DQrPYu1x
エンジニアが教えるの下手くそな理由を論理的に解説してみた【教育の本質】
URLリンク(www.youtube.com)
派遣エージェントの言う事は9割ウソである理由【カモられない方法】
URLリンク(www.youtube.com)
IT業界のヤバすぎる落とし穴5選
URLリンク(www.youtube.com)
絶対にエンジニアになってはいけない人とは【ハイクラス人材】
URLリンク(www.youtube.com)
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
URLリンク(www.youtube.com)
エンジニアはお金を追求してはいけないという年寄りを論破してみた
URLリンク(www.youtube.com)
プログラミングスクールを否定する老害どもについて
URLリンク(www.youtube.com)
WEBフリーランスで年収1000万円超えないのはどう考えてもおかしい
URLリンク(www.youtube.com)
エンジニアは技術力磨きすぎても金になりません
URLリンク(www.youtube.com)
902:デフォルトの名無しさん
21/02/27 11:50:38.32 /3KARqRa.net
Lazarus Release 2.0.12 - February 24, 2021, 09:03:56 pm
903:デフォルトの名無しさん
21/02/28 23:10:14.65 mKlp/j+j.net
あ、もう出てたんですね。
リリースノート見る限りバグフィックスが主体であんまし新機能はなさ気な雰囲気ですが
使ってみた方いかがでしょうか。
904:デフォルトの名無しさん
21/03/09 15:37:27.70 l78vZ82J.net
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;
905:デフォルトの名無しさん
21/03/09 18:54:46.70 rOOOnHPb.net
Result^ を Result^^ にすればいいんじゃね?
906:デフォルトの名無しさん
21/03/09 20:18:39.79 MhdCCkF1.net
>>905
上手く行きました
ありがとうございました
907:デフォルトの名無しさん
21/04/21 03:12:09.47 qzwIy4YRA
最高か!アプリ開発とアプリマーケティングをノーコードで実現するノーコード開発プラットフォーム
「Applica(アプリカ)」の提供を開始
URLリンク(prtimes.jp)
驚愕!SaaS開発をノーコードで実現するノーコード開発プラットフォーム「Jidoca(ジドウカ)」の提供を開始
URLリンク(prtimes.jp)
【入門】誰でもアプリを作れる時代が来た。噂の“ノーコード”を徹底解説
URLリンク(www.salesforce.com)
IT業界を変える可能性を秘める「ノーコード(NoCode)」とは
URLリンク(www.mdsol.co.jp)
【ノーコード】IT業界が根底から変わる、日本人の知らないノーコード開発アプリの衝撃
URLリンク(descartes-search.com)
急激に広まるノーコード、ローコードをうまく使いこなせ
URLリンク(ascii.jp)
30億円調達の簡単アプリ開発サービス「ヤプリ」が見つけた“鉱脈”
URLリンク(signal.diamond.jp)
プログラミング不要でアプリ開発を実現する「Yappli」を提供、ヤプリのIPOサマリー
URLリンク(media.startup-db.com)
ノーコードで世界は変わる
URLリンク(thebridge.jp)
908:デフォルトの名無しさん
21/05/22 19:39:35.52 WqI2sMHS.net
3.2.2リリースage
909:デフォルトの名無しさん
21/05/22 22:29:54.34 PvGX7Iml.net
まだ開発続いとったんかい
910:デフォルトの名無しさん
21/10/26 21:43:41.35 8mnatHSz.net
Delphiのライセンス切れてるし、Community Editionは毎回新バージョンに更新しないといけないから
これを機にFreePascalにしてみるか
貧弱なIDEはVSCodeで補えそうだし
911:デフォルトの名無しさん
22/01/08 18:10:12.68 +pfXixh3.net
Lazarus Release 2.2.0 - January 05, 2022, 11:57:19 pm
912:デフォルトの名無しさん
22/05/15 19:08:49.28 /ysfaPE8.net
program MyProgram(input, output);
のようにプログラム名にパラメーターが付いたコードを見かけました。
Pascalの方言なのでしょうか?
それともFree Pascalでも見られるものでしょうか?
913:デフォルトの名無しさん
22/05/22 12:24:51.68 Z7pvlCmg.net
>>912
質問に質問で返してすみませんが、あなたは
void int main( int argc, char *argc[])
はcの方言だと思いますか?
それともGNUCでも見られるものでしょうか
914:デフォルトの名無しさん
22/05/22 13:54:17.54 AZNH+fge.net
void int mainってコンパイルエラーでは?
915:デフォルトの名無しさん
22/05/22 22:03:25.27 Z7pvlCmg.net
>>914
しまった(苦笑
916:デフォルトの名無しさん
22/05/24 12:07:51.00 /3mhcllS.net
Lazarus Release 2.2.2 - May 19, 2022, 09:26:08 am
917:デフォルトの名無しさん
22/05/26 19:00:16.04 9mlaCQEY.net
本家のForum にレジストしても確認メールが届きません。
どうしたものでしょうか。
迷惑メールとかも見ましたし再送信とかも試しましたががまったく来ません。
918:デフォルトの名無しさん
22/05/26 19:36:53.93 MuCsRUFl.net
抵抗されてるのかもね
919:デフォルトの名無しさん
22/09/30 02:46:22.20 NV97RnvW.net
Lazarus Release 2.2.4 - September 28, 2022, 10:08:10 am
920:デフォルトの名無しさん
22/10/04 15:58:36.29 i5Up1tp0.net
Windowsアプリの速度は改善したの?
921:デフォルトの名無しさん
22/10/18 09:21:39.14 muJtZzp1.net
Lazarus製のアプリケーションのexeのショートカットをつくって実行時の
大きさを最小化としても最小化で起動しないのだがどうすればいいのかな
922:デフォルトの名無しさん
22/10/19 00:06:57.42 imuHRl6B.net
>>921
Delphi ではプロジェクトファイルをごにょごにょしてたので
Lazarus では多分 .lpr ファイルにごにょごにょ
Application.CreateForm(TForm1, Form1);
//ここに↓これを入れて判断
if CmdShow = SW_MINIMIZE then Application.Minimize;
Application.Run;
923:デフォルトの名無しさん
22/10/19 09:56:54.13 ozKA7OU5.net
>>922
あいにく動作しませんでした
メインフォームのOnCreateイベントハンドラーに
case CmdShow of
SW_SHOWMINNOACTIVE: WindowState := wsMinimized;
SW_SHOWMAXIMIZED: WindowState := wsMaximized;
end;
と書いたらうまくいきました
924:デフォルトの名無しさん
22/10/20 08:50:49.47 rL6ktv6z.net
AmazonにKindle本として佐々木優という人が書いたLazurus・Free Pascalのセルフ出版の
本が何冊かのっている(読み放題のKindle Unlimited対象)
役に立つかどうかは別にして日本語の本というのはめずらしいかも
925:デフォルトの名無しさん
22/10/20 10:06:08.31 7LO4Bhg7.net
>>924
応援の意味で何冊か買いました。Unlimited もいつ対象外になるかわからんし。
926:デフォルトの名無しさん
22/10/22 14:34:30.76 4hbuG1Ym.net
UbuntuでC++Builderを導入できなかったのでDelphiの本読んで勉強してます。
思い通りに動くと楽しいです。
927:デフォルトの名無しさん
22/11/15 14:25:03.73 ktesV7KK.net
サンプルの xmlstreaming を参考にして設定を書き出す処理を作ってます。
TComponent を継承して設定データのクラスを作ろうとしているんだけど、
その中にさらに TComponent 派生クラスを入れ子にすると、その項目が書き出されない。
入れ子のクラスを TPersistent 派生にすると書き出されるんだけど、項目名が
ドットで区切られた形でかなり違和感。
xmlstreaming の中でコメントアウトされている Form (Self) を書き出す処理を有効にしてみると、
入れ子のデータは「children」タグに囲われていい感じで出力されているんだけど、
どうやればできるんでしょうか?
928:デフォルトの名無しさん
22/11/15 19:22:03.37 hFwj798Q.net
>>927
下記を付け加えると入れ子のデータも書き出された
読み込みが正常に行われるかは検証してない
procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
if Self = Root then begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
end;
end;
end;
929:デフォルトの名無しさん
22/11/15 21:41:42.06 hFwj798Q.net
Rootってなんだろう?と思って書いてたコードが入ってた
procedure TMyComponent.GetChildren(Proc: TGetChildProc; Root: TComponent); //override;
var
i: Integer;
begin
for i:=0 to ComponentCount-1 do begin
Proc(Components[i]);
end;
end;
930:デフォルトの名無しさん
22/11/15 22:24:52.25 1BrVYPVp.net
>>929
ありがとうございます。書き出せました。
wiki のストリーミングのところ読んでもそんなこと書いてなかったけどな。
TWinControl に実装されてるから Form ならちゃんと書き出されたんですな。
人をハメようとしてるとしか思えないな。検索しても、英語の情報でも全然ないし。
とにかく、ありがとうございました。
931:デフォルトの名無しさん
22/12/14 20:13:02.80 WtdZKbBc.net
これは壮観。過去50年以上にわたる「プログラミング言語の人気の変遷」をアニメで紹介するムービー【やじうまWatch】 - INTERNET Watch
s://internet.watch.impress.co.jp/docs/yajiuma/1463502.html
pascalって人気あったんだね
932:デフォルトの名無しさん
22/12/31 11:06:52.98 J7CUMtxq.net
インクリメンタルサーチの候補表示に TListBox を使っていて、
候補数が一定以下の場合は、数に合わせて ListBox の高さを調節したいと思っています。
Windows の場合は ItemHeight を使えばうまくいくようなのですが、Linux だと 0 が返ってきて
使えません。ほかにも ItemRect(0).Height の値も 0 ではないけど全然足りないし、
フォントの高さから計算できるかと思ったけど、同じ高さでもフォントが違うと
ListBox の項目の高さが微妙に違ったりしてこれもダメっぽい。
描画しているんだからどこかに情報があるんだと思うんですが、どこにあるんでしょう?
そもそもアプローチが間違っている?
933:デフォルトの名無しさん
23/01/07 18:23:08.22 rN0cn1Ph.net
TOpenDialogのTitleプロパティがデフォルトの「ファイルを開く」のままOpenDialog1.Executeを実行すると、表示されたダイアログのキャプションが"Open existing file"と英語で表示されてしまいます。
これはLCLStrConstsユニットで rsfdOpenFile = 'Open existing file'; と定義されているのが原因のようですが、これをlclstrconsts.ja.poの「ファイルを開く」に置き換える方法を教えてください。
934:デフォルトの名無しさん
23/01/09 20:44:35.21 uyXkOmJj.net
>>933
プロパティの設定が効かないってことかな?
935:デフォルトの名無しさん
23/01/10 09:05:22.16 GH/EYK1c.net
>>934
オブジェクトインスペクタでTitleを「画像ファイルを開く」など「ファイルを開く」以外にすればTitleがダイアログのキャプションに反映されます。
また、コードでOpenDialog1.Title := 'ファイルを開く'; を実行すればキャプションもそうなります。
ただ、コードを書かずにオブジェクトインスペクタで「ファイルを開く」を設定するだけだと「Open existing file」が表示されるというのが今回の問題です。
この症状はTDBNavigatorでも確認できていて、Hintsプロパティにはデフォルトで日本語のヒントが設定されているのにもかかわらず、実行すると英語のヒントが表示されてしまします。
その他MessageDlgのボタンが「はい」「いいえ」ではなく「Yes」「No」なのも同じ原因だと思います。
936:デフォルトの名無しさん
23/01/10 18:40:29.37 ddgJg6qa.net
>>935
IDEの言語を日本語にしていると、TOpenDialogのTitleプロパティを「ファイルを開く」に設定してもデフォルトとみなされ設定ファイルに記録されず
アプリを国際化対応させてないと元のデフォルトである 'Open existing file' が表示されるみたい
したがって
解決法1
IDEの言語を日本語以外にして Titleプロパティを「ファイルを開く」に設定する
他のダイアログなどでも設定しないとならなかったり、根本解決ではない
解決法2
国際化対応(のふり):
1.どこかの uses節に DefaultTranslator を追加し、
2.実行ファイルがあるフォルダに languagesフォルダを作り、その中に lclstrconsts.ja.po をコピーする
でいいはずなんだけど、Windowsだと FCLの gettextユニットに日本語の言語コードを jp とする不具合があるので、次のように修正する
3.gettextユニットにある procedure GetLanguageIDs(var Lang, FallbackLang: string) の中の
LOCALE_SABBREVLANGNAME を LOCALE_SISO639LANGNAME に
LOCALE_SABBREVCTRYNAME を LOCALE_SISO3166CTRYNAME に書き換える
あとは gettextユニットをプロジェクトに追加してコンパイルするだけでいいはず
(gettextユニットを修正せずにファイル名を lclstrconsts.ja.po から lclstrconsts.jp.po にするだけでもいいけど)
gettextユニットの不具合のせいで国際化対応をどうやってもできなくて無駄に悩んだぞ
IDEの言語設定で Automaticで日本語にならないのも gettextユニットの不具合のせいじゃないのかなあ
937:デフォルトの名無しさん
23/01/10 19:51:57.80 GH/EYK1c.net
>>936
ありがとうございます。
lclstrconsts.jp.poにリネームする方法で試して無事日本語で表示されました。
TDBNavigatorのヒントとMessageDlgのボタンも同様です。
938:デフォルトの名無しさん
23/03/13 17:17:11.04 0W6r0BpQ.net
Lazarus Release 2.2.6 - March 09, 2023, 10:38:09 am
939:デフォルトの名無しさん
23/03/17 15:14:21.65 O04jxkPS.net
軽くていいな。ゲームエンジンなんかもあるようで欧州では使い手多いのか?
940:デフォルトの名無しさん
23/04/29 13:16:43.69 SIZVO/Fn.net
URLリンク(www.tiobe.com)
TIOBE Indexで常に10位前後を維持してるDelphi系のPascal言語もスゴいよな
信じがたい快挙
941:デフォルトの名無しさん
23/05/05 03:07:31.72 PeDEzH1k.net
Windowsアプリを作ったら、とても遅いような気がするんだけど、まだ改善してないのかな?
942:デフォルトの名無しさん
23/05/07 13:41:00.25 eh+8xa5M.net
>>941
どんなプログラムを書いてどの言語と比較して遅いのかを書かないと答えは無理
C++/C言語と同等の速度にはならない
スクリプト言語よりは高速
943:デフォルトの名無しさん
23/05/07 15:52:40.36 FtrFphzu.net
>>941
他のプログラムはサクサク動くのにお前の作ったプログラムだけが遅いという場合は、
多分お前のプログラムの何かがおかしい。
944:デフォルトの名無しさん
23/07/12 06:19:48.60 I6ZMSQN0.net
Lazarus Release Candidate 1 of 3.0 - July 03, 2023, 02:10:30 pm