喫茶XRAYトップページ

[スレッド全体
]

[1336] Re3:Lazarus のインストール返信 削除
2007/8/1 (水) 18:20:14 Null
▼ takaさん、 Nullです。


> そこのリンクをたどったら載っていました
> http://wiki.lazarus.freepascal.org/Lazarus_Faq/ja
> http://wiki.lazarus.freepascal.org/File_size_and_smartlinking/ja


ステキな情報有り難う御座います。
早速、オプションの設定を探って見ます。


ところで、
>> http://wiki.lazarus.freepascal.org/Lazarus_Documentation/ja
での情報(Documentation)量は凄いですね。

目的の資料を探すのに結構時間がかかります!!。
エッ、もしかして私だけ??。要領が悪いのかな!!。

Linux版 Lazarusの進展にも大いに期待したいですね。


[1339] Re4:Lazarus  : その1返信 削除
2007/8/8 (水) 19:25:20 taka
▼ Nullさん
> ▼ takaさん、 Nullです。
>
>
> > そこのリンクをたどったら載っていました
> > http://wiki.lazarus.freepascal.org/Lazarus_Faq/ja
> > http://wiki.lazarus.freepascal.org/File_size_and_smartlinking/ja
>
> ステキな情報有り難う御座います。
> 早速、オプションの設定を探って見ます。
>
>
> ところで、
> >> http://wiki.lazarus.freepascal.org/Lazarus_Documentation/ja
> での情報(Documentation)量は凄いですね。
>
> 目的の資料を探すのに結構時間がかかります!!。
> エッ、もしかして私だけ??。要領が悪いのかな!!。
>
> Linux版 Lazarusの進展にも大いに期待したいですね。


レンタルサーバーで動作させたいものがあったので
C言語使いたくないので
Freepascalで作って きがついたことがありますので
参考にどうぞ


Lazarus 全角文字を含むコメント{} // でエラー

原因
  IDEがマルチバイトに対応していないため

対策
 エラーがでたときは、 (* *) のコメントに変更することでほとんど回避できます


対象の文字
{
 + ボ к 閲 顎 宮 鶏
 砿 施 旬 須 捜 怒 倍
 府 本 養 几
}
 ± マ 笠 急 迎 枝 図
 挿 筑 党 媒 扶 凡 抑
など
他の文字は下のコードで確認できます。

procedure TForm1.Button1Click(Sender: TObject);
  var i, x :integer;
  const
    ch : array[0..1] of char = ('{','}');
begin
  // ascii  -127
 for x := 0 to 1 do
  begin
    Memo1.Lines.Add('---- : '+ch[x]);
    for i:= 128 to 255 do
    begin
      if ($A0 <=i)and (i <= $DF) then continue; // 半_kana
      if (byte(ch[x]) shl 8) + i < $F040  then
        Memo1.Lines.Add(ch[x]+Char(i));
      // $F040 > 外字 ?
      if (i shl 8)+byte(ch[x]) < $F040  then
      if (Char(i) in [#$81..#$9F,#$E0..#$FF]) then
        Memo1.Lines.Add(Char(i)+ch[x]);
    end;
  end;
end;




[1340] Re4:Lazarus:その2返信 削除
2007/8/8 (水) 19:27:48 taka
落とし穴 その1

{$mode objfpc}

を宣言しないと
 integerがsmallintになります。

落とし穴 その2
{$H+}
を宣言しないと
 stringが string[255]になります。
 stringを出し入れする関数が大ダメージを受けます。
 :ref.pdf p.23 : 3.2.3
 :prog.pdf p.20 : 1.1.20 $H or $LONGSTRINGS : Use AnsiStrings

   Delphiでは、デフォルトは {$H+} です。

 {$mode objfpc}
 なんかは、Delphiにそんなのナイヨと怒られます!!
 [エラー] Unit1.pas(): 間違ったコンパイル指令 : 'mode'

同じユニットをDelphiでも使いたいヨ!
ということで
【まとめ】
ソース(pas,pp)に含める指令

{$IFDEF FPC}
  {$mode objfpc}
  {$H+}
  // これがないと FPCで integerが1バイトになるので注意
  // これがないと FPCで string[255]になるので注意
{$ENDIF}


------------------
  {$mode objfpc}をソースに書きたくない場合は
fpc.cfg 又はプロジェクトのオプションでも
変更できます。

  {$H+}は、
Delphiのコンパイラのでは  dcc32 -d$H+ みたいなことができるのですが
fpcでは? どうでしょう?? 探しましたがわかりません。


------------------
ついでに
FreePascal2/doc/prog/progap7.html
も必見です



[1341] Re5:Lazarus:その2返信 削除
2007/8/9 (木) 11:59:08 Null
▼ takaさん

詳細な情報ありがとうございます。

当方、顧客のPCが壊れたため手持ちの機器を貸し出すことに成りました。
先方でosを入れ替えると言うことなのでLinux機を出しました。

こちらの手元にかえって来るのは、今月末の予定だと言われました。

かえって来たら、一から仕切り直しです。...Linuxの再インストからです。
ウっ、きつい!!。

と、言うことで今は「おあずけ」状態です。

何故か、「ひらがな」の多い文に成りましたね?。


[1343] Re4:Lazarus:その2返信 削除
2007/8/12 (日) 19:41:37 taka
▼ Nullさん
> こちらの手元にかえって来るのは、今月末の予定だと言われました。
>
> かえって来たら、一から仕切り直しです。...Linuxの再インストからです。
> ウっ、きつい!!。

HDDが1台余分にあれば
raid機能を利用すると簡単?に復元できますよ
ソフトウェアraidしたことないので詳細は不明・・・(笑

 追記
  いや HDDが1台余分にあれば、貸す前に
 HDD付け替えればいいだけなので raidの必要性はありませんね・・・
 猛暑でぼけていました。


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82