モナーの *やさしい* Delphi質問スレ Ver.11

このエントリーをはてなブックマークに追加
kylixにはポインタがないage
953デフォルトの名無しさん:03/02/15 14:59
ポインタがなくても、多態と配列があれば...
>>953
さて、それでIOポートをどうやって叩くのか教えちくり。と。
absolete使え(藁
>>954
DeviceIoControlとかだろ。
>>942
アクセス(読み書き)が速いから。
ポインタを使わなくても同じことが出来るけど、遅くなることが多し。
特に変数パラメータとか動的配列とかは遅い。
>>957
>アクセス(読み書き)が速いから。

var
p :PInt;
i :Integer;
begin
Inc(i);
Inc(p^);

この例に限らず速度は一緒だと思うけれど。


>ポインタを使わなくても同じことが出来るけど

ポインタなしで削除、追加の自由自在なリストを作ってください。

>特に変数パラメータとか動的配列とかは遅い。
上で散々もめてるのに・・・
いいかげん参照とポインタをごっちゃにして考えるのやめろよな。
参照使ってリストを作れないは氏ね。
960942:03/02/15 17:07
わかりやすいソースを教えて欲しいのですが…。本を見ると944や
958みたいなのしか載ってなくて理解できません
>>960
ならば、必要が無いということだ。
>>960
有用性に疑問があるの? それとももっと前の段階?

リンクリストは、まあクラス使えで済まされちゃったらそれまでだから、
文字列を扱う時、特にメモリ上にデータがある場合の
パーサを作る場合は、ポインタを使って参照するのが便利ってのはどう?

パーサは、【現在の文字】 が該当するなら処理して【次の文字にする】ってのが基本になるんだけど
ポインタを使わないと 最初に現在の文字が無いから、一文字だけ先読みする必要があるわけ
コレは慣れないと最初苦痛だし、理屈が判らないと読み辛いもんがあるけど、

ポインタを使えば、ポインタで文字を参照すればいいから、先読みの必要がなく頭の中もスッキリ

ってな話じゃ判らないかな・・・・
963690:03/02/15 17:57
以前、フォルダ削除のことを質問した者です。

複数のフォルダがあって、すべてを削除できるか調べて、すべてを削除でき
るならRemoveDirectoryを実行したいのです。エクスプローラで開かれていて
削除できないなどの理由で、一つでも削除できないフォルダがあれば、一つ
も削除したくないのです。
何かいい方法はないでしょうか?
>>963
ロック
>>963
難しそうな課題だね。 
データベースみたいにトランザクションかけてロールバック出来たらいいのにね。

フォルダ名を変更してみて全部可能なら削除かな・・・・
でも別のアプリがアクセスする可能性は捨てきれないし、ゴミ箱にコピーしてから削除しかないかな
>>960
function GetFileTime(const path: string; pCreationTime, pLastAccessTime, pLastWriteTime: PFileTime): Boolean;
function GetFileTime(const path: string; var CreationTime, LastAccessTime, LastWriteTime: TFileTime): Boolean;
どっちが使いやすい?

>>963
FILE_FLAG_BACKUP_SEMANTICSフラグを設定してWindows.CreateFileを呼び出すことでディレクトリハンドルを取得できるから、
それでフォルダが削除可能かどうかを調べるというのは?
967966:03/02/15 18:39
補足:上のGetFileTimeは情報が不要な場合はパラメータにnilを指定できるとします(参照:Windows.GetFileTime)。
968963:03/02/15 19:02
レスありがとう。

今のところ、一度削除するフォルダとファイルをコピーしておいて、エラーにぶ
つかったら、それまでに削除したフォルダとファイルを戻す、という風にしてい
ます。だけどこの方法は、とてもスマートな方法とは言えない。

>>965
他のアプリが意図的に使うことはないので、リネーム案も使えそうです。リネー
ムするのはちょっと抵抗があるけど、名前が変更されている時間はほんの一瞬
ですしね。

>>966
その方法で可能がどうか、今から実験してみます。
親ディレクトリのリネームを試せば一回で済むけどね。
いずれにしても調べ終わって実際に削除する間に何かあってら検出できないよ。
970デフォルトの名無しさん:03/02/15 20:37
最小2乗法のコードを誰か教えてください♥
>>970
はい、途中までだけどどうぞ
for i:=0 to High(dt) do begin
X :=X +dt[i].x;
XX:=XX+dt[i].x*dt[i].x;
Y :=Y +dt[i].y;
YY:=YY+dt[i].y*dt[i].y;
XY:=XY+dt[i].x*dt[i].y;
end;
あと少しだけ、お・ね・が・い♥
973936:03/02/16 00:05
亀レス申し訳ありませんでつ。

>>937
見てみまつ。あ、今月号(?)買ってないので明日買うでつ。

>>941
明日やってみまつ。(会社にソースがあるでつ。明日も会社出るでつ)

ありがとうございますた。
>>970
ttp://www.tensyo.com/urame/prog/linealgo.htm
より
>Y=aX+bのa,b
>a:=(XY -X*Y/N) /(XX-X*X/N);
>b:=(XX*Y-X*XY)/N/(XX-X*X/N);
日本語の環境で作ったソフトって、メニューとかメッセージとかをアルファベットに変えておけば、
ローカライズって言うのをやらなくても英語環境で使えますか?
>>975
例外が思いっきり日本語で笑えなかったりとか。
なるほど。ありがと。
あともう一つ聞きたいのだけど、エクセルのマクロでプログラムに興味がでて、
Del7を買ってみたのだけど、言語ソフト?のヘルプってプログラマ対象だから、
趣味のレベルの人間にはわかりずらいのですか?
>>977
>わかりずらいのですか?

正直、日本語の読み書きが不自由な人には大変かと。
>>971,974

ありがと♥ なんとかできそう。

>>977
>言語ソフト?のヘルプってプログラマ対象だから、
>趣味のレベルの人間にはわかりずらい

↑あたしも最初はそう思ったけど、初心者向けのdelphiのHPって結構あるから
そういうとこである程度勉強するとhelpもわかるようになる。
 あたしは最初は Seventh Delphi ばかりみてたよ。
          ∧ ∧
        〃⌒ ヽl|l)
       /   rノ ;
      Ο Ο_)
   ∧∧
   /⌒ヽ)
  i三 ∪
 ○三 |
  (/~∪
  三三
 三三
三三
>>978
そうですね。おまえはちょんだからね。
このスレで答えてる奴って、リアルでは生きていけそうもない感じがするのですがどうなんで
ございますでそうか?
984次の方、どうぞ。:03/02/17 18:07


  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
 (    ) .| Delモナーは時に私であり、時には別の人。
 | | |  | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
 (__)_)  \_________________________

Delモナーの正体は誰ですか?
>>985
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. そんな厨な質問には答えられません。
 (    ) .\________________
 | | |
 (__)_)
  ∧_∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ´∀`)<. 次スレ
 (    ) .| http://pc2.2ch.net/test/read.cgi/tech/1045476912/l50
 | | |  \_________________________
 (__)_)
なんでフサギコに変わってんだよ(藁
 
  
   

 

  
  _, ._
(´`c_,'` )
    _, ._
  ( ゚ Д゚)
  ( つ旦O
  と_)_)
    _, ._
  ( ゚ Д゚)
  ( つ O
  と_)_) 旧 ガシャ
           _、_
        ⊂( ,_ノ` )つ-、
      ///   /_/:::::/
      |:::|/⊂ヽノ|:::| /」
    / ̄ ̄旦 ̄ ̄ ̄/|
  /______/ | |
  | |-----------| |
|  |`Д)ノ
|  | ノ
|_|
|  |
| ̄|
|_|
|文|
| ̄|
|  |
999イヒ:03/02/17 19:36
┌──────────┐
|     _       _   ぶ |
|    / _)=∩=∩=_)   ら |
|    | | ∧ ∧|    下.|
|    | | ( ゚Д゚)    が |
|    | | | |    .   り |
|    | | |,|      健 |
|●  | | ∫UU .   も 康 |
|    |_|__|_|   ら 器.|
| 2  \_   \   っ を |
|点     ̄ ̄ ̄  た   |
└──────────┘
1000イヒ:03/02/17 19:37
┌──────────┐
|     _       _   ぶ |
|    / _)=====_)     ら |
|    | |    ||      下 |
|    | |  Λ||Λ    が |
|    | | ( /⌒ヽ    り |
|    | |  | |   |. .. .か |
|●  | |  ∪亅 |  間 た|
|    | |   ∪∪  違 を |
|    |_|__|_| .. え. . |
|1   \_   \  る . .|
|点     ̄ ̄ ̄ ..  .  |
└──────────┘

10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。