341 :
337 :
2005/06/27(月) 14:42:52 >>338 必要ないでしょっていうか、俺はCができたからいいけど
DelphiしかできないやつはDelphiつかうしかないんじゃないの?
>>338 がいうにはコンソールアプリ書きたいんなら
Cを覚えろということで
でも、C覚えたらdelphi使う必要がなくなるわけで
Windows使ってるやつはしょせん GUIが全てだと思ってるんでしょ
> ってか、Delphiでコンソールアプリ作るのは辛過ぎる おかしくってハラがよじれる。馬鹿レスの典型
Windows 上で C にできて Delphi できないものはない。 Delphi でできて C にできないものは数かぎり無くあるけどな
>>345 >Windows 上で C にできて Delphi できないものはない
ドライバ書ける?
RAMディスク書ける?
>Delphi でできて C にできないものは数かぎり無くあるけどな
たとえば?
PascalはCで書かれているわけだが
そんなこといったらPerlとか大多数の言語がCでかかれているわけだが だから、C出かかれている言語にできてCにできないことはない
C が出来て Delphi が出来るおれは万能だね。 適材適所だろ。
ちょっとしたGUIアプリを書くのにいちいちCを使う気にならない。 329の言う通り適材適所だよ。
C が万能だというなら、こんなとこで糞レス書いてないですばらしいプログラムでも つくってろよ。それとも Delphi が気になってしょうがないとか?(藁
C ができて Delphi もできて C# は初心者ぐらいできて、C++ は普通レベルの おれは神ですね
ていうかお前ら何作ってんの?代表作を挙げよ!
PDFAnalyzer
ImageManager&Viewer
子供
PC Anywareみたいな香具師
なにこのすれ
359 :
デフォルトの名無しさん :2005/06/27(月) 16:32:40
Delphi使いは基地外ばかり
Delphi使いが精神病患者の診療をするスレって感じだな。
Delphiに挫折してCにいってまた挫折して でもどりの 右も左もわからない入門希望者が ぱにっくっているんだから やさしく しないと パニクルダケダヨ
>>346 , 347, 324
が、こいつらにとどめをさしたわけで
Delphiはランタイム非依存で比較的簡単にGUIアプリを作ることが出来る つまり業務用アプリにDelphiを使うのは適切 人によるかもしれないが、Cで書くのは時間がかかるしね
>>364 教育用言語で滑った奴には無理かもね
もしかしたらPerlならいけるかも知らんが
>>366 業務用アプリってWindows前提なの?
ってか、商用ソフトを作るにはDelphiを買わなきゃならんからな めんどくさくね?
>Delphiはランタイム非依存で比較的簡単にGUIアプリを作ることが出来る
>つまり業務用アプリにDelphiを使うのは適切
簡単に作ろうと思うような人には業務用アプリは向かないと思うけど
業務に使うんなら、簡単にではなく真剣に作れと思うのは俺だけ?
>人によるかもしれないが、Cで書くのは時間がかかるしね
Delphiといっしょだと思うけど?
俺みたいに全部テキストエディタで書く人には向かないかもしれないけど
WindowsならVC++とかあるんだからIDE使ってる上では同じでしょ
>346 できないって パニクルのはかまわないけど日本語は正確にね。 素直に 無駄が好きなのでpascalで組むドライバの書き方教えてくださいって 書いてね Delphiってのはね。 おもに制御系ではなく ユーザーが利用するソフトを高品質で短期間に簡単に構築する物だよ どの言語だろうと時間をかければ、たいていのことはできるんだよ。 おぼいておくといいよ 作る物によって、いかに楽して速くよりよく 作れるかという言語を選ぼうね これをするには、どれが最適か?選択肢を選べるだけの 能力をみにつけようね
Delphiっていつから高品質でつくれるようになったの? たんに高品質なTKがあるだけじゃないの? うちは新人研修でDelphi使うんだけどTKは絶対に使わせないよ テキストエディタ作らそうとしたらコンポネント張り付けて終了て... こういうのが、プログラマの質を低下させるって奴じゃないのかな?
> WindowsならVC++とかあるんだからIDE使ってる上では同じでしょ わはははははははは、馬鹿まるだし。
こいつらこればっかだな 指摘の内容もいわないとは 同じDelphiユーザとして恥ずかしい
>>369 てか、9割以上の人が同じコンポネントを使ってるから
バグが見付けられたとき相当数のソフトが死ぬわけだが
TKを張り付けてるだけなのに 俺はこんな凄いソフトをつくれるんだぜぇーーー!! って自分の作ったソフトを褒めたたえる こんなユーザがいるプログラミング言語 それがDelphi ............. orz ごめん、俺だった
> テキストエディタ作らそうとしたらコンポネント張り付けて終了て... テキストエディタで CreateWindow CreateMenu とかやってるのがプログラマの質を 低下させる。そんなもんは適当な道具を使えば1時間でノートパッドモドキが出来る。 わざわざ、手洗いで「洗濯機つかうと主婦の質が下がる」とか言ってるのとおんなじ
えっ? なに??? Delphiって、.NETが買えないひとが使ってる物じゃないの?
TK ってなに? なんか独特の言葉遣いする子供がいるようだが
ソースあるからしなないって
TKってなによ10年アライグマラスカル使っているけど聞いたことない
TK俺も素でわからん。何だそれ。 TKは使わせないってところが余計わからない
381 :
369 :2005/06/27(月) 17:33:34
>>375 会社だよ? 会社のプログラミングの研修
そんなもの、プログラミングの研修じゃなくて
ドラッグ&ドロップとクリックの研修じゃん
大体、テキストエディタを"作れ"って言ってるんだよ?
だれも張り付けろって言った覚えはない
エディタコンポーネントから作れってことか。 それならちゃんとそう言わないと
部外者だが一応説明 TKって簡単にいえばコンポネントのこと UNIX系OSとUNIXライクOSのプログラマならしってると思うんだが ここって、Windowsユーザのほうがおおいの? Delphiスレだからあたりまえか
1年C組 2年VB組 3年Delphi組 4年Java組 5年C++組 C組 Java組 ってのだけが 違和感無いな あとは、 聞くとむかつく。 言語の名前は大事だな。
やっぱ C みたいな高級言語をつかうようじゃテキストエディタ作ったことにはならんよね アセンブラでなきゃ
どうもね TK って貼り付けるものらしいよ
で TKってなに 創作語は。社内だけでどうぞ
> TKって簡単にいえばコンポネントのこと そうか、コンポネントかぁー、なんだ、それ?
コンポジットの兄弟か。
アセンブラじゃ作ったきになれないんだよ。 半田小手とトランジスタと抵抗とダイオードもって 一からつくらないと気が済まないんだって
で TKってなんの略? つかうからには正式な綴りあるんでしょ
調べるとか知らないの?
Windowsプログラマ必死だなおい
部外者でも「コンポネント」の使い方は
>>373 と共通なんだよな。きっと「コンポネント」って
有名なんだろなぁー
コンポーネントって 素でつかわないで 自分で 使いやすい形のコードいれて 組み込むものだと おもっていたけど・・・
揚げ足を取るな馬鹿 TKって何?
暑いぜ・・・ Turbo Kylix?
Tsuridesu Ka?
Tinko Kaikai
TsuridesugananiKa?
>テキストエディタ作らそうとしたらコンポネント張り付けて終了て... 十分な機能がそろうならまったく問題無し
多分TookKitだと思うけど。 UNIX環境でX Window Systemだけではかなり原始的なAPIしかなく、 不便なので通常はToolKitというものをかませる。
404 :
403 :2005/06/27(月) 17:50:52
dirTy Kitchen
>>403 ここにいるへんな子供は「原始的なAPI」を使わないとプログラマの質が低下するってさ。
ぷぷぷ 原始的だな unixって いまだに コマンドたたかせるの多いからなぁ
たとえ用途に適したライブラリがあっても そんなもの使わずに毎回車輪の再開発しろってことですね。
すいませんが質問させて下さい Delphiをダウンロードして使おうと思ったのですが これはダウンロードするバージョンではソフトを売ってはだめなのでしょうか? 寄付とかならいいのでしょうか? ソースは公開しなければいけないのでしょうか? もしよろしければお答え下さい もし他になにか縛りなどあれば教えていただけるとさいわいです
ぷぷぷ 再開発だって 継承して問題部分を 枝葉をつけることをしらんのかな
>>410 寄付ならいいんじゃね?
対価ってわけじゃないんだから
>>411 それじゃあTKを部分的に使うじゃん。
プログラマーの質が低下する、禁止
>>410 営利目的のプログラムの場合は、製品版(最近はPro以上)を買わないといけません。
416 :
410 :2005/06/27(月) 17:58:26
>>1 に
>他のスレッドでは書き込めない超低レベル、
>もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
ってかいてあるのですが?
>>410 寄付なんて抜け道作る気ならPro買っとけ。
ソース公開の義務があるのはGPL汚染されるKylixのみ。
>>417 そうだっけ?
Kylix自体がGPLで配布されてるんだっけ?
419 :
410 :2005/06/27(月) 18:01:03
>>417 お金がないのでかえません
では、ダウンロードしたもので何かを作って
それをProでコンパイルした場合は
Proのライセンスが適用されるのでしょうか?
ライセンス関係を2chで聞くのはアフォ 某にでんわしろ
寄付ってあつまるの? シェアウェアだったら千円くらいだったら公開したらすぐ売れるけどね(物によるけどね)
ソースから再生成したら どのバージョンで最初つくっていたなんてわからないよ。
小室鉄也
>>419 >Proのライセンスが適用されるのでしょうか?
だから抜け道作る気なら最初からPro買え。
企業で最終ビルド以外はPersonal使うなんて事が通用するわけないだろ。
金がないならこっそりやれ。こんな所で聞くな。
ライセンス違反と判断してお前を訴えてるのは某であってこのスレじゃない。
425 :
410 :2005/06/27(月) 18:08:49
>>421 ありがとう
前にVC++でえ作ったものがあるんですけど
GUIが汚いっていわれたので作りなおそうと思ったんですけど
Delphiで作られたアプリ見るときれいなんでDelphiでやろうと思いました
VC++で作ったそのアプリは2年間開発続けてて
寄付はだいたい80万円位集まりました
一人が1万円とかしてくれてるので人数的には200人もいませんが
80万で Pro の正式バージョンを買わないのはどうしてですか?
427 :
410 :2005/06/27(月) 18:11:39
>>424 じゃあ、Pro買って商用にすることにします
どうもすいませんでした
80万も寄付集まったら10万もしないんだしpro買えよ
429 :
410 :2005/06/27(月) 18:12:47
>>426 .NETとかライブラリの購入にもお金が掛かってるので
利益はそんなにないと思います
.NET は無料名はず
俺作ってるアプリは アプリのページは30万クリック位あるんだが 寄付のページは800・・・ 寄付なんて集まらないと思ってたんだけど集まるんだ ユーザ登録すら9割以上の人がしてもくれないわけだが ま、俺の場合は ユーザ登録してくれた人には恒久的に無料にして しなかったやつとか新しい奴には1ライセンス3000円で売り出した
うちもdelphi製だけど\10000×400ぐらいかな。
433 :
431 :2005/06/27(月) 18:25:32
金持だなおい 俺は有料にした途端ダウンロード減ったな どっかにシリアルが流れ出したらしくダウンロードはされるのに ライセンス買う奴はほとんどいなかった だからバージョンアップして特定のシリアルを登録したらカウントするようにしてたら 一万越えた・・・ 全員登録してくれたら3000万・・・ 実際は200もいないから、あんまりお金にならなんだ だから結局フリーにしたけど
ここは雑談スレじゃありませんから
>>424 おまえのせいで一つのフリーソフトがなくなったわけで
>433 流れるのはわかっていることだよ なぜ対策しなかった。 自分のソフトか、 シリアルで 検索かければ、ひっかかるだろ。 のっているプロバイダにおいこら すぐけさないなら 著作権侵害だ弁償しろ っていえば、 1,2日で どこもびびって Upしたやつにきくまもなく強制で消すよ 実URLはないのに検索のキャッシュに、いつまでもかかっているやつも同じ。 おいこら、 消せ、って 何度もやっても消さないなら こら何ヶ月分金払えで キャッシュ間違いなく消す。
?nixというフリーソフトに 追いつかれてきたので Mもじわじわ びびりはじめています
誰も彼もnyやってる状況じゃあシリアルの漏れなんてどうしようもない。だだ漏れ。 それともnyのキャッシュも誰かに言えば消えてくれるのかねw
初linux挑戦中 CDドライブの開閉 # eject # eject -t # df 空き容量 # find / -name xxxxxx xxxxxx に検索するファイル名 # rm -r -f xxxxx -r フォルダ削除 -f 確認しない RPMパッケージ自動アップデート # /etc/init.d/yum start # chkconfig yum on # chkconfig --list yum RPMパッケージ検索 # yum search xxxxx RPMパッケージ一括アップデート # yum update RPMパッケージアンインストール # yum remove xxx ダウンロード済みRPM削除 # yum clean 他に覚えたほうがいいコマンドありますか?
440 :
デフォルトの名無しさん :2005/06/27(月) 19:28:00
パッケージのアップデート 情報更新 apt-get update 自動更新 apt-get install apt-get upgrade いれたいものがあれば、後ろに文字いれる。 削除 apt-get remove フォルダ表示 ls
443 :
デフォルトの名無しさん :2005/06/27(月) 20:42:44
ソフトの組み込みPascalインタープリタは どこ 最初にいうけどD猿はいやだよ。
なんでいやなのかわからんので他を紹介できんな
445 :
デフォルトの名無しさん :2005/06/27(月) 20:46:03
pascalって いってるだろ ないのか C++でかくから もーいい
ポインタの使い方ってこれであっているの? var MouseSpeed: Longint; begin MouseSpeed:=10; SystemParametersInfo(SPI_SETMOUSESPEED,0,@MouseSpeed, SPIF_SENDCHANGE or SPIF_UPDATEINIFILE); end; end.
このスレの馬鹿どもはRubyやPythonも知らずにエラそうなこと言ってるのか? 煽りじゃなく一度使ってみることを勧めるよ 荒らしてる馬鹿は結局Delphi知らずにCが万能と思い込んでる池沼だったし スレの流れみるとその可哀想な池沼1人が荒らしてるみたいだしな コンソールアプリ書くなら、速度的な問題を除けば多くのことはインタプリタ言語で事は足りるし つかな、Cだけで良いという論理ならそもそもアセンブラだけで良いだろ 世の中プログラマも医者も不要、物理学者だけで良い
448 :
デフォルトの名無しさん :2005/06/27(月) 21:31:25
化石をかかえたlinuxユーザーならでは ぷぷぷ。 Win3.1からコンソールアプリは、時代遅れ不要。 化石だな Delphiは普通Cを使えるやつがするんだよぉ タコ。
ここ一年で一番の荒れ方 酷い
GotDotNetはとても快適ですよ。
>>451 どこで引っかかっているのかな?
Del6用で解説してもほとんど同じ文言になりそうな気がするが。
「デルファイ達人テクニック」なら、ひところかなり人気のあった本だからオークションなんか当たったらあると思う。
俺はDel7を使うようになっても時々目を通す。バージョンに関係なく参考になることが多い。
453 :
451 :2005/06/27(月) 23:31:00
>>452 「デルファイ達人テクニック」持ってるんですが、
コンポのインストールすら出来ないのです。
多分、Delのバージョンが違いすぎるからだと思うのですが、
どうすることも出来ないへたれなレベルなので。
で、451の質問になったと言うことでし。
誰にでも出来る訳じゃないってことを知らない人大杉。 出来ないのは知らないからじゃなくて、知ってても出来ない人もいる。 要はプログラミングに向いてないんじゃないの
>知ってても出来ない人もいる。 あなた初心者さんでしょ。 知らないからできなんだって、わかってないなぁ。 おーぃ 2=1+1 1は、2より小さい。 これが理解できれば、 プログラム 誰でもできるよ 心配するな、 なれの問題だな。 2が、 var Two : integer; に置き換わって Two := 1+1; ってなるだけだからなぁ 1は、2より小さい。 if (1<2) then 処理; ほら だれでもできるだろ。 この組み合わせだよ プログラムっての要するに積み木遊びだな。 だれでもできるんだよ。 自信がついただろ 自分にあった書きやすい 構文ってのが存在するから、 他の言語も少しのぞくといいぞ
>>456 おまえ数学の基本ができてないな
高卒か?
痛いぞ
458 :
デフォルトの名無しさん :2005/06/28(火) 09:39:39
算数できない小学生は、 九九から勉強してきてね
ピラミッドの時代から計算ってあるんだぞ 今の人間は それを利用しているだけだぞ ほんと古代人優秀だよ 現代人と違って 神殿じゃなくて Delphiって ピラミッドにしたらよかったのになぁ
>>475 小さいころ積み木を買ってもらってなかったんだね。かわいそうに。
おもちゃやさんにうっているから 積み木 買っておいで
Delphiやる前に
イメージトレーニングから 始めたほうがいいよ。 きっとためになるから
未来人?
今日も朝から入れ食いだな よっぽど飢えているんだろう
1 + 1 = 2 っていうのは数学じゃないぞ? 物理
>>463 高卒とか三流大学はそれがわからないのかと…
ピラミッドって 単なる積み木にみえるけど 古代の計算すごいんだぞ ほとんどの計算式はピラミッド時代のだぞ ピラミッドの長さの単位は、地球の半径の1000万分の1になっているんだぞ。 高さの10億倍は 太陽までの距離だぞ。 ほんと 積み木して 頭発達させてこい ためになるって。 バランス崩すとおちるからな プログラムも同じだ
お前、古代技術先行したほうがよかったんじゃないのか? テレビに踊らされ過ぎ
すみませんがスレ違いは削除依頼しますので無視してください。 Delphiファンの皆様、ご協力よろしくお願いいたしますm(_ _)m
うるさいなぁ 一番下の土台は 優しく解説してあげよう。 講義料は、今回は特別にタダにしてやる 積み木=コンポーネント ほら Delphiでも やくにたつだろ。 積み木からやってこい ついでにピラミッドの黄金比まなんでこい。 美しいソフトできるぞ。 ほら、 ピラミッドさまさまだ 古代の文明は偉大だ!! 古代がきらいなら 昔の中華文明もためになるぞ。 古代っていっても たった6000千回 公転前のことだからな 10で子供つくるとして 600世代前だな ほんのちょっと昔だな
スレ違いかどうかは誰が判断するの? 467?
30000行、しつこいよ
>>446 あっている(はず).うちのDelphi 5だとあってます.
(間違っていたらおそらくコンパイル時にエラーになります)
WinExec で呼びだした外部コマンドの終了は、どうやったら捕捉できますか?
WinExecだと無理 CreateProcessを使いましょう aExeはファイル名、aWaitはTrueなら終了待ち、Falseなら終了待たない function Launch(aExe: String; aWait: Boolean):Boolean; var Si: TStartupInfo; Pi: TProcessInformation; begin Result := True; FillChar(Si, Sizeof(TStartupInfo), 0); FillChar(Pi, Sizeof(TProcessInformation), 0); GetStartupInfo(Si); if not CreateProcess(nil, PChar(aExe), nil, nil, False, NORMAL_PRIORITY_CLASS, nil, nil, SI, PI) Then begin Result := False; exit; end; if AWait then begin While WaitForSingleObject(PI.hProcess, 0) = WAIT_TIMEOUT Do Application.ProcessMessages; end; end;
474 :
472 :2005/06/28(火) 17:19:14
例文まで付けてくれてありがとう! さっそく試してみます
ShellExecuteExでも可
Delphi6 Personalで、パソコンの電源オフタイマーを作りたいのですが、 どういう風にイベントの中のソースを書けばよいのかが分かりません。 <現状は下記です> フォームに、ボタンが2つあるだけの単純な画面です。 1つは「アプリ終了」ボタン。"Close;"のみ 1つは、「3分後にパソコンの電源を自動的に切る」ボタンです。 この「3分後にパソコンの電源を自動的に切る」ボタンをWクリックして その中にソースを書く所までは分かりましたが、 じゃぁそのソースって・・・で、つまづいています。 よろしくご指導下さい。
shutdown.exe /?
>>476 begin
Sleep(180000);
ExitWindowsEx(...
end;
>>476 TTimerを使うとか
Intervalは180000で
>> 476です。
>>477 すみません。エラーになりました。
>>478 レスありがとうございます。
でも、シャットダウンになりましたが、PC電源OFFにはなりませんでした。
自分でも一生懸命調べましたが、OSがNT系(自分が使用しているOSはwindows2000です)だと、
シャットダウン出来ないのでしょうか?
あとWindows 2000/XPとかでやるのならExitWindowsExする前に アクセストークンを開いて特権を取らないと無理なんだけどかなりムズいかと どっかにコンポーネントあるはずだけど…
Sleepが信用できない精度でシャットダウンてどんな操作だよw
485 :
482 :2005/06/28(火) 19:11:55
うはwwwもろかぶりww シャットダウンと電源OFFは別モンだから ExitWindowsEx(EWX_SHUTDOWN, 0);じゃなくて ExitWindowsEx(EWX_POWEROFF, 0);にする必要がある
>>486 ちょうどそこのページ書こうとしてたwww
488 :
デフォルトの名無しさん :2005/06/28(火) 20:37:28
君たちさぁ
ボーランドニアルダロ
ttp://www.borland.co.jp/tips/cbuilder/cb013/index.html 9X系は
// 起動OSの確認
F_OSVERSIONINFO.dwOSVersionInfoSize := sizeof(OSVERSIONINFO);
if (GetVersionEx(F_OSVERSIONINFO) ) then
RunOnWinNt := (F_OSVERSIONINFO.dwPlatformId=2);
とでもして判別
特権コマンドじっこうしなければいい
Delphiに移植してるのもってるけどぉ ふふふ
489 :
デフォルトの名無しさん :2005/06/28(火) 20:48:01
まぁ delphiとC++Builderのサンプルが違うのに気がつかないのが ボーユーザーの特徴だけどな
490 :
デフォルトの名無しさん :2005/06/28(火) 21:14:02
>>483 付けっぱなしでないなら
GetTickCount // Windowsを約49.7日間連続して動作させると、 内部タイマが0にリセットされます。
で組み込め
//チラシの裏 { GetProcAddress使うのかと思ってたけどそうでもないらしい(>アクセストークン・特権関係) }
OutLook Expressの保存フォルダのパスを取得したいんですけど、 どうしたらいいんでしょうか?
レジストリの HKEY_CURRENT_USER\Identities\{71662250-A9E7-4D4F-9C72-A7AFDFE36E40}\Software\Microsoft\Outlook Express\5.0 "Store Root"の値を取得する。 {********-****-****-****-************}はユーザーのよって変わるから、 そのあたりは自分でなんとかしてくれぃ。
494 :
デフォルトの名無しさん :2005/06/28(火) 22:44:59
>>473 CloseHandle でハンドル閉じないのか? こんな質問を
する
>>472 は恐らくそのまま関数使うぞ...
perlしか扱えない私をPCに詳しいと思っている友人から エクセルみたいなリネームツールの発注を受けてしまいました。 彼によればSuper Tag Editorの様なツールがいいそうです。 いい機会なのでDelphiでも学ぼうかと思ってちょっと眺めていたのですが、いきなり躓いています。 ListViewコンポーネントを張って、そこにファイル群をドロップしたときにファイル名を取得する時、 どうやって受け取ったらいいのかわかりません。 疑問点は以下です。 1.ドラッグされたアイテムはどの変数(?)を参照したらいいのか 2.左端の行に表示された文字列を書き換えられないようにする方法
>>495 ちょっと眺めたぐらいじゃ躓いてばかりだ罠。
こっちも全然調べずに答えるが、D&DはわりとFAQっぽ。
ListViewの書き換え禁止はプロパティにそれらしいのがなければ
MSDNを調べてみると良いかと。
>>495 長く書いた割には「釣り」のような印象を受ける文章で
マジレスしていいのか判断に困る。
(1)は、
ShellAPI
WM_DROPFILES
DragQueryFile
DragAcceptFiles
あたりを検索。
(2)はいまいち言いたいことが分からないが、
ヘルプ読んだらいいかと。
>>496 この程度で調べるも糞もないだろ
1.ドラッグ元の参照について
ドラッグ元がエクスプローラならばWM_DROPFILESを捕まえる
サンプルは「Delphi WM_DROPFILES」でググれば出てくるだろう
2.書き換え禁止
TListViewの「ReadOnly」ってpropertyをTrueにする
又はTListViewのOnEditingでのAllowEditで調整する
>>494 仰るとおり本来ならプロセスとスレッドをクローズする必要があります
CloseHandleをやらないでこの関数を何十回も何百回もコールすると
リソース不足が発生します(特にWin9x系だと顕著に起こる)
ただプロセス終了時に自動的にクローズされるので
あえて書きませんでした(まあ忘れてたとも言うんですが・・・)
>>473 の例だとFunctionの最後に
CloseHandle(ProcessPI.hProcess);
CloseHandle(ProcessPI.hThread);
の2行を追加する必要がありますね
>>496-498 まずは皆さん、素早い回答ありがとうございます。
皆さんのアドバイスを元に調べてみます。
>>497 釣りのような印象を受けた部分を教えていただけたら幸いです。
親切な方が多い中、釣りと思わせて不快にさせてしまうのは私の本意ではないので、
今後そう思われかねない質問をしないためにも、改善したいと思います。
>>500 うーん、とりあえず簡単なものでも作れたら虚勢を張り続けてみようかなと思ってますw
>いい機会なのでDelphiでも学ぼうかと思ってちょっと眺めていたのですが、いきなり躓いています。
504 :
492 :2005/06/29(水) 00:34:23
>>493 どうもありがとうございます。
お陰さまで出来ました。
Delphi にも Sleep あったのかよ…… 付属マニュアルのキーワードで掛からなかったから知らなかったよ orz
API だよ。言語関係なし
1+1=2は数学の定理でしょ?
ちょっと聞きたいんだけど Windowsアプリを作ろうと思って今日Windows2000Pro買ってきたんだけど、WindowsってGUIアプリが主流なの? Windows触ったのは小学生のころちょっと触ったことがあるWindows3.1位しか無いと思う しかも、このスレ見てたらVC++は使いものにならなくてDelphiがWindowsで一番優位見たいに書いてあるし で Delphiのコード見てみたらPascalライクだし、これでコマンドラインアプリは面倒くさいだろ・・・ 俺はCとPerlしかできない、 今までGUIプログラミングはTKとか使わずにXlibで全てやってきた (C++できないし・・・ まぁ、コマンドラインアプリとデバイスドライバは今まで通りCで書くとして その、コマンドラインボックスはDelphiで書いたほうがいいのかな? 2PCTW-DAWで作ろうと思うんだけど Cやってて、Delphiも使いはじめた人 どんな感じかレビューお願い WindowsのAPI見てたらかなりめんどくさそうだからDelphiが独立したものを提供してるんならいいんだけど・・・
>>508 ここにはっていうか、DelphiユーザにはXlibでスクロールバーを書ける奴はいないと思う
それくらいのスキルだとWindowSystem作れる位だと思うからCで全然書けると思うよ
>Windowsアプリを作ろうと思って今日Windows2000Pro買ってきたんだけど、WindowsってGUIアプリが主流なの?
Windowsユーザは↑みたいなGUIあってのユーザが98%以上をしめるからアプリの機能より操作性を重視する
だから機能にバグはあってもいいけど操作上にバグがあってはいけない
>そのコマンドラインボックスはDelphiで書いたほうがいいのかな? 2PCTW-DAWで作ろうと思うんだけど
GUIの配置とか諸々の設定はテキストに書くから
>>508 だとCのみで書けるかと
>WindowsのAPI見てたらかなりめんどくさそうだからDelphiが独立したものを提供してるんならいいんだけど・・・
一応提供してるけど上で説明したみたいなユーザしかいないからGUIに入り浸ってるひと向けな設計
Xlibでスクロールバーかけるやつがこの世に2人もいるとは思わなかった あの神コード見ると自分のしょぼさにびっくりするな
しかも若いしな あのコードは理解できる奴もそういないかと
必死に検索して探して見付けたけど本当に意味がわからないですね‥ VMのコードかと思うぐらいに意味が‥ ってか、この話題はすれ違いですね Delphiの説明をしなくちゃ わたしは使いはじめたばかり身ですけど 今までテキストエディタのみで書いてきた場合、DelphiのIDEは辛いかもしれませんね でもCとかと違ってDelphiはこのIDEを使わないと作れないし‥
>Windows2000Pro買ってきたんだけど、WindowsってGUIアプリが主流なの?
おまいら、↑この時点で
>>508 がネタだってことに気付けよ‥
>>512 ソースファイルの*.PASはエディタで編集できるし、
画面リソース定義の*.DFMは使わなくても良いし、テキストエディタ編集も不可能ではない。
べつDelphiだってテキストエディタでつくってコマンドラインでコンパイルしてって できるけど。わざわざ不便なことをしたい奇特なひとはなんでも好きに出来る。 GUI を馬鹿にしてはいけない。PC の大衆化は重要だし、そのために CUI は不便すぎるし GUI は重要な要素。すでにあるスクロールバーを一から書きたければ書けばいい。 その場合は、Delphi でも出来るけど、Delphi を使うメリットはない。 TK を連呼するヤツは、Delphi スレより VC++ とか BC++ とかのスレに行った方が マシな議論ができそうだぞ
> Delphiのコード見てみたらPascalライクだし、これでコマンドラインアプリは面倒くさいだろ・・・ これが理解に苦しむ。C と Pascal ならコマンドラインアプリを書くのにほとんど違いはない。 Pascal だと面倒とかいうのは意味不明。begin end をタイプするのが面倒だとか?(笑
ガキがシッタカしたいだけだからほっとけ
>>512 IDEがないとつくれないんじゃなくて、ないと不便っていうんだよ
Cも同じだ。
こいつ実行してみ。 exeできるから
---- make_vb.bat ----
dcc32 vb.dpr
---------------------
//----- vb.dpr -------
program vb;
uses
windows;
var s: string;
begin
s := #$44#$65#$6C#$70#$68#$69#$91#$CE#$56#$42#$2E#$6E#$65#$74#$81#$40#$8F#$9F#$8E#$D2#$56#$42#$2E#$6E#$65#$74;
MessageBox(0,PChar(s),PChar(s),MB_OK+MB_ICONEXCLAMATION);
end.
イメージの輪郭を ○や□などの組み合わせで メタファイルみたいな感じに 変換するコンポーネントってないですか?
リージョンに変換するのならごまんとある
どう考えても Pascalでコンソールアプリはめんどいかと 引数から2つの値をとって、それを足すコード書いてみ これだけでも全然違う
あそ
523 :
508 :2005/06/29(水) 12:15:34
うぅーん、あんまり私には向かないのか
とりあえずパーソナルインストールしてみたんだけど、操作方法がわからないから
テキストエディタで書いて、IDEのコード欄に貼るっていう操作でやっていたら
何故かしょっちゅうエラーが出てストールする、 IDEに付いてるエディタとリンクしてるのかな?
でもIDEのエディタ使いにくいし、 やっぱりテキストエディタで書いてるほうがいいかな・・・
>>513 ネタじゃないんだけどな
Windows触るのが小学生2年生いらいとして12年ぶりなので知らないですよ
>>516 標準入出力とかsystemとかがPascalだとかなり弱いと思うんですけど、、
1年前に知合いが情報科に入って、そこでPascalやり出したのですけどわからないからってしょっちゅう聞かれて
いろいろと書いたんですけど、かなりやりづらかった感があるんですけど・・・
>>517 ??
>>518 生まれてこのかた、IDEって使ったことがなかったんですけど・・・
524 :
デフォルトの名無しさん :2005/06/29(水) 12:20:15
ここは Delphi 言語のスレです。 Pascal は関係ありません。
>>521 StrToIntDef(ParamStr(1), 0) + StrToIntDef(ParamStr(2), 0)
DelphiはPascalなわけだが
Delphi は Delphi だが。
Delphi言語 ∋ Pascal
> 標準入出力とかsystemとかがPascalだとかなり弱いと思うんですけど まず使ってから言ってね。馬鹿ぶりが悲しすぎるから。
イメージの輪郭を・・・自動で・・・
>>530 XAAVをDelphiで書いてみたら入出力の弱さがわかるかと
XAAV をdelphiで書く必要ないし
>>532 GUIソフトは標準入出力を考えないで書くからこいつらはわかってないだけ
Delphiを使ってる俺が言うんだから間違いない
どうでもいいがスレタイ位嫁
標準入出力は API レベルのハンドルでしかない。弱いとか強いとか無意味。
質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 とあるよん 迷った子羊ちゃんを 導くのは いいけど おこっちゃかわいそう
たとえばDelphiで #include<stdio.h> int main(const int argc, int **argv){ printf("%s", argv[1] ); return 0; } を、かいてみそ
>>539 さっきから何がしたいんだ?
これ以上釣ってくれるな。
Cって難しいって聞いてたけど逆に考えるとこんなに簡単なんだ Cに移行しようかな
>>541 Cは言語の中でも理解できれば簡単な部類に入ると思うぞ
ポインタが理解できないっていうひとが多いだけ
ポインタはハードが理解できてれば簡単に理解できる
>>539 にはポインタのポインタとかが入ってるけど
これが理解できればOSもドライバも書けるから便利だと思うぞ
クソワロスw
ポインタのポインタって理解できん そんな俺はDelphiで十分
>>539 program Project2;
{$APPTYPE CONSOLE}
uses
Windows;
begin
Writeln(ParamStr(1));
end.
ピコワロスw
>>539 かいたぞ
Cは無駄が多いな
ついでに if処理付けてやったぞ。
halt(0);つける意味ないとおもうがな。
生成は、dcc32 -CC c.dpr だ タコ
program c;
begin
if ParamCount >0 then Write(ParamStr(1));
halt(0);
end.
>>539 program Project1;
{$APPTYPE CONSOLE}
begin
Writeln(ParamStr(1));
Readln;
end.
C では文字列の概念がない。文字列を収めたメモリへのポインタとして使う。 こんな原始的な言語は、OOP もできないし、真面目なプログラマは勉強だけにしておく。 なにか創造的なプログラムを書こうとしたら、細部にとらわれて言語論争しているのはまったく無駄。
Cが理解できない奴にCで書いたこれを書けっていうのは無駄かと
>>551 君達はその原始的な言語で書かれたOSを使い
その原始的な言語出かかれた言語を使っているわけだが?
いったい何しにこのスレきてるわけ?
555 :
デフォルトの名無しさん :2005/06/29(水) 15:01:53
マクロないのってありえない。 両手を縛られて海に突き落とされるくらい致命傷。
> 原始的な言語出かかれた言語を使っているわけだが? だからなんだ? ユーザまで原始人になる必要は無いだろ
最近やっとC覚えて嬉しいんだろうな
マクロは言語の仕様で足りない分を補う醜い文法
560 :
デフォルトの名無しさん :2005/06/29(水) 15:04:32
スレ違いに気付いてないアンチDelphiな皆さんは適材適所って言葉知ってる?
Delphiもうすぐ10周年 昔を懐かしみコマンドラインを楽しもう会 ってここですか?
それとも最近の言語について行けないオッサンCグラマか。
ブロックの途中で変数宣言できないって一体何10年前の言語なんだか。
565 :
デフォルトの名無しさん :2005/06/29(水) 15:07:20
>>561 皮肉で言ってるんだか知らんが読解力のない馬鹿と思われるからやめとけよ。
566 :
508 :2005/06/29(水) 15:07:22
なんか私のせいで荒れたみたいですね すいません 私に真面目にレスしてくれたひと少ないし・・・ 文句をいうわけではないのですが "わたし的には"、Delphiは使いづらいのでCでやることにします どうもすいませんでした
567 :
デフォルトの名無しさん :2005/06/29(水) 15:08:23
ちょっとしか使わないでやめるってのもまた凄いな。
568 :
デフォルトの名無しさん :2005/06/29(水) 15:08:32
Cに負けたDelphiww
で、TKって何?
with T
571 :
508 :2005/06/29(水) 15:09:50
>>564 ちなみにCのこと言ってるのならできますよ?
あんまり知らない言語のことを悪くいうのはどうかと思いますよ、
まぁ、tmp変数とかならまだしも分かりづらいのでやってる人は少ないですけど
Tinkena Kaihatukankyou = DELPHI IDE
uni坊がかってに名付けた略号
結論がでたようだね VB.NET≒C#≒C>>>>越えられない壁>>>>>Delphi
575 :
デフォルトの名無しさん :2005/06/29(水) 15:13:33
あのさぁ、Delphiがショボイって言い分はもう充分に聞いたから、そろそろ他所いってくれない? お前らがいくら言おうがここの奴らの考えが変わる事はないから。 反日厨並の知能しか持ち合わせてないなら好き勝手やったらいいが。
よーくかんがえよぉ 頭は柔軟にぃ ネオンが左から右へいってると思え 矢印は右に向いている!! Delphi2006の勝ちだな
荒らしに反応するあなたも荒らしです! 荒らしに反応してる連中は荒らしの自作自演なので、まともなあなたは相手をしないでください レスが付くと荒らしは無罪放免になります
>>571 Cはもちろんできるよね。
未だにできない言語があるなんてちょっと信じられないよ。
イメージの輪郭を自動で・・・
580 :
508 :2005/06/29(水) 15:17:44
>>578 もちろんCでもできるよ
でもなんでできない言語があったらいけないのかが理解できない
なんで?
>>508 ほっといたほうがいいよ
C言語を知らないひとでC言語を馬鹿にしたい人でしょ
相手するだけむだかと
508は結局いつもひとりぼっちのアンチみたいだな
>>580 いけないなんていってるわけじゃなくてただひたすら驚いたというだけだよ。
ブレーキのない車でも走ることはできるけど止まろうとした時にそれに気がつくとちょっと驚かない?
508必死だな。 わざわざマイノリティのDelphiスレに勧誘に来なくていいだろ。 Javaとか狙ってけよ。
508は普通に始め聞いてて 途中で基地外が来て巻き込まれたように見えるが
MS-DOSの時代からTurboPascalあるのにコンソールアプリが久米ねーわけねーだろ
587 :
デフォルトの名無しさん :2005/06/29(水) 15:28:10
そもそも何しにきたのか? 頭悪すぎ。
すきなだけ C 使ってろ。だれも止めないし。もうここ来るな。
590 :
デフォルトの名無しさん :2005/06/29(水) 15:30:13
C言語例外出すと ソフトが死ぬからきらい。 ははは
最近見ていていつも思うんだけどおまえら必死だな スルーできないやつらってマジで小学生並の知能だと思う
Delphiヘタクソ、キライ、VB使う
whileとrepeat untilで真偽の条件が真逆なのは何の嫌がらせですか?
595 :
デフォルトの名無しさん :2005/06/29(水) 15:34:20
ここって なんで 削除ボタンがついてないの?
普段はDelで、どうしてもできないとき(ほとんどない)はC。 これ最強。 ちなみに運良くCのライブラリが転がってたらdelにobjをリンクして使うこともあるよ。 というかDelもC++Builderも兄弟なんだから仲良く汁!
花田家
>>596 今はC++じゃなくてCが相手だよ。なんか浦島太郎がいるみたいでさ。
>>596 DelphiってCのソースコードパクってばかりで全然フィードバックしないんだよね。
そのくせ文句ばっかりだから海外のオープンソースコミュニティでものすごく評判悪いよ。
ブロックの途中でローカル変数宣言できるっていうからC++のことかと思たよ
>>600 そんなこと言ったらWindowsもしかり
Macはそれなりにしてるのに
お前等本気でCのことなんも知らないんだな よくそんな知識で話してるな
あのぉ〜 イメージから 輪郭(外観内観あり)を平面的に自動で抽出したいんですけどぉ。。。 無料のいいコンポーネントまたはソフトしりませんかぁ・・・
またスレが妙に進んでると思ったら、 オマイラ毎回毎回 C 崇拝のキチガイ(推定1人)に釣られるなよw C が多少使えるようになったから、誉めて貰いたくてしょうがないんだろ。 良いじゃん、マゾ全開で長時間掛けてトランス入ってファビョってるヤツは放っておいて、 こちとら有利な言語を選んで、クールに短時間でとっとと目的を達成すれば。 つかね、キモヲタが大好きなエロゲのキャラが、いかに可愛くて萌えで抜けるか、 親しくもないオニャノコのに熱心に語ってるのと同じ様にしか見えない > C のキチガイ
>海外のオープンソースコミュニティでものすごく評判悪い べつに「海外のオープンソースコミュニティ」での評判がどうだって、まったく関係ないし
コミュニティに評判悪かったら ライセンス形態とかかえられてどんどん使えなくなっていって 締め出されていくわけだが
>>605 > 輪郭(外観内観あり)を平面的に自動で抽出したいんですけどぉ
> 無料のいいコンポーネントまたはソフトしりませんかぁ・・・
これって、お金は出したくない、コードも書きたくない、で「自動で抽出」と。
で抽出して、どんな形で? 点の集合? 折れ線? ビットマップに黒い点線とか?
Delphiもちょっと文字列処理しだすととたんにCの劣化コピー関数多用せざるを得なくなし もしCの知識がないと数十倍遅いコードで我慢せざるを得ないことにもなる。 結果的に全然Cから脱却できてないんだよな。
あそ、ハイつぎ
Pascalじゃメモリ叩けねぇとかいってる奴は 絶対アドレスでメモリアクセスできないということをいってるの? つまりabsolute
>>609 そのまえに Delphi がなくなるから心配するな
612は正しいことをいってるんだが そういうのも理解しようともせずにDelphiが最高でCは糞 とか言ってるような人に、使いこなすのは難しいと重う
まだ湧くかw 後付けの機能じゃないのなら、Delphi で書かなきゃ良いだろが。 文字列処理をしたいのに、C が選択肢に出てくるのはかなりマゾいけどな。 というか、C の知識って何? 便利と思う知識は全部 C の知識なワケ?
Cの知識≒マシン語の知識
アセンブラ最強って、とこまでいきそうな勢いだな。アフォらし。 適材適所を知らんのは頭悪いから
ほんとに必死だな
>>609 オープンソースコミュニティはそんな卑怯なことはしないよ。
そういうわけの分からない中傷行為はやめた方がいい。
マシン語できない三流プログラマ製造機
>611 あとできれいに色つけしようかとおもっているので 点でも折れ線でもいいです。 配列でもいいです。 形を再現できればいいです。 いろいろなものに使い回しできるといいので、点とかだったらうれしいです。 たとえば、背景のうえにある■◆こんなのが 背景なしの□◇ みたいになってくれればいいだけです
>>615 日本以外では大人気だからノープロブレム(問題ないという意味)よ
面倒だから高級言語使う軟弱なプログラマは全員氏ねってことで
630 :
508 :2005/06/29(水) 16:15:51
何このスレ・・・ Delphiが便利だったとしてもこのスレ住民の醜態を見せられるとちょっと使う気にはなれないな。 やっぱりCにしておくよ。情報も山のように蓄積されてるから。
508の時点でそれを書いとけよ。 無駄に100レス以上も荒らしやがって、人格異常者が
醜態は醜態だけど、Cを勧めてる奴の方がよっぽどキモく見えないのか?
勧めてるひとって誰ですか? 誰も勧めてはいないと思うんですけど・・・
すげーフィルタだ
トリ付のも騙りっぽいな
Delphi6 personal版でダウンロードツールを作ることは可能ですか?
君に可能かどうか分からんが、それで作れるひともいるだろうね
Indyってなんですか?
508が以前の環境からみればVCもDelphiも どうしても違和感は感じるんじゃない? けどその各々の差は中身は違っても量的にあまり変わらない。 まして過去のプログラミング経験からして挫折するほどのものでは全然ないと思う。 あとはPascalとC++のどちらがいいかの(めんどくさいをクリアする)個人的嗜好の問題。
ちゃんとアンカー付けてほしい。連鎖あぼーんするから
>>634 まぁこれに懲りずに1ヶ月ほど試用してみなよ。
おいらも最初は似たような境遇だったから応援してるよ。
>>632 エディタの使いやすさなんて慣れの要素が大きいのではないかな。
それと、GUIが基本というがウインドウズの流儀だし、(CUIのプログラムはつっくても誰も使わない)
IDEの支援を受けながらコードを書くというのがデルファイの流儀なんだ。
エディタのみで書くこともできるけど、初心者がやるべきことではないと思う。
xlibうんぬんと書いているところを見るとユニックスの経験があるようだけど、
ユニックスにいきなりウインドウズの流儀を持ち込んで文句言ったら
「何いってんのこの人」とか思うでしょ。
俺も昔はC + WindowAPIで書いてたけど、 ActionListなんかの便利さを考えるとDelphiを使う価値は十分にあると思う。 窓アプリを作るのにかかる労力が激減する。 ただ、Delphiで書くにしてもAPIの知識はいずれ必要になるので、どっち道APIは勉強しないといけないが。
GUIをDelphiで作って、内部処理はC++ とか。
GUIこそCだろ
>>649 それならはじめからBCBでやればいいだけじゃないか
初めからJavaだな
明日もたくさん釣れるといいな。じゃおやすみ。
なんにしろスレ伸びるのはうれしい。まだ死滅してないことが確認できて
>>643 VC++もやってみたのですがこちらはやはり、Cなのでわかりやすいですね
エディタで書いたものを貼りつけても問題は起きないですし
>まして過去のプログラミング経験からして挫折するほどのものでは全然ないと思う。
挫折すると言うか、人にたのまれたことなので別にやらなくてもいいんですけど
>あとはPascalとC++のどちらがいいかの(めんどくさいをクリアする)個人的嗜好の問題
C++できないです・・・
>>645 ありがとうございます
>>646 >エディタの使いやすさなんて慣れの要素が大きいのではないかな。
そうですけど、今まで自分が作り上げてきたエディタが使えないのは・・・
>それと、GUIが基本というがウインドウズの流儀だし、(CUIのプログラムはつっくても誰も使わない)
これは間違えでは? 探してみたらコマンドラインツールは結構ありますし、使ってる人も結構いるみたいですよ?
だいたい、GUIエディタを使ってみたらgrep, aap, ttgを入れろっていうエディタがおおいですし
まぁ、私は結局Cでやろうと思います
今、DirectXが使いにくいので使い易くしようと思ってライブラリを作っているところです
どうも、ありがとうございました
508ってmkなの?
>>656 なんか俺も薄々感じてきた
今日の開発日誌見てたら、DirectXのライブラリ作ってるってあるし
昨日Windowsを買ってきて使うともあるし
恐いな
質問もろくにないんだからどっちでもいい。すたれるよりマシ
>>658 某有名な人
ま、お前等の嫌いなCの人だけど
C が嫌いじゃなくて、ここに粘着して出没する馬鹿に迷惑してるだけ。
何時も、Delphi の馬鹿が居ないと荒れないみたいなことを言っていたが、
今日は出現しなかったので、ここまで平穏な一日だったな。
というか、
>>661 が何時もの粘着野郎か?
>>662 Cより劣っていることを認めたくないのはもうわかったから
スレを荒らすのはもうやめよう。
665 :
664 :2005/06/30(木) 20:27:30
変な文だな
>>662 は、どうしてそこまでして言いがかりを付けてまで荒したいのかね
<
>>662 は、どうしてそこまで言いがかりを付けてまで荒したいのかね
かな?
ID見ると全部同じなんだろうなあ
>>666 似たような文体多いしな
何でこの板、ID導入されないかなぁ?あぼーん出来ん
全部アボーンしたらいい。たいした情報もないし。
雑談系の板と違って自作自演できなくなるからID導入反対とか そういう板じゃないんだから導入しても何も問題ないはずなんだけどな。 まあ、ここのキチガイまで濃度高いと1レスごとにID変えてくるとかしてきそうだけど。
>>660 ユーザーが少なければスレが寂れるのも自然の道理ではないでしょうか.
荒らしとそのレスで書き込みが激増してもそれは偽の活気でしかありません.
#幸い現在この板ではしばらく書き込みが無くてもdat落ちの心配はないようですし.
偽でもなんでも立ち枯れよりまし。なんか廃れぎみなスレで自治活動してるのを みると悲しくなる
ましじゃねぇよ禿げ
↑ こういうのが荒らし
誰がなんと言おうと俺はDelphiが好きだ。
今までのこのスレからすると荒しに思われるかもしれませんが違います もしよろしければ答えてやって下さい 私も今までUNIXでCでコードを書いてきたのですが、このスレを読んでいると Delphiは本当に扱いやすい言語だということをユーザの人は言っているように感じます 少し事情があって、ダウンローダを作らなければならないのですがSocketでやるのは 非常に手間がかかるのですが、DelphiはSocketの扱いはどうなっているのでしょうか? そのあたりも簡素化されているのでしょうか? 実例などあげていただければ幸いです よかったら、使ってみようと思うのですがネットワークのあたりを他にも何かあれば 説明していただけると助かります どうかよろしくお願いします
679 :
677 :2005/07/01(金) 08:21:34
>>678 ありがとうございます
標準ではと言うのはどういう意味でしょうか?
やはり、ソケットのようなものがひつようなのでしょうか?
ソケットの機能をラップしたコンポーネントを使う。ソケットをはだかで使うより 100倍簡単にできる。FTP なら GUI に凝らなければ1時間かからない。 もちろん、ソケットを API のレベルで使うこともできる。
>>677 Indy使ったりIndyのソースを読んだりすべし。
何か足らないと思ったらJVCLでもみてみるべし。
メインフォーム以外を最小化したとき、左下に小さくなったタイトルバーが作成されますが この位置を指定するにはどうしたらよいのでしょうか?
Indyはあるけど結局ちょっと踏み込もうとすると
ソケットを使わなきゃいけなくなるよ
>>680 みたいな発言でわかると思うけど
Delphiは所詮この程度のもの
KylixにはC版があるのですが、Delphiにもあるのでしょうか?
>>684 検索キーワードは何でしらべたらよいのでしょう?
最小化などのキーワードで検索しましたがヘルプには乗っていませんでした。
マニュアルも過去に一通り目を通しましたが乗っていませんでした。
>>686 検索っていうかマニュアル買ってないのか?
今後必要になるんだからかっとけ
>>685 kylixは結局LinuxにDelphiを持っていったのはいいが誰も使わなかったから
Cバージョンを出しただけ
DelphiにCバージョンがあるならそれはDelphiではないし
もしあるならみんなそっちを使ってる
691 :
682 :2005/07/01(金) 10:57:31
>>688 マニュアルを買う?Borlandからですか?
pdfのマニュアルも検索しましたが、
購入するマニュアルにはpdf以上の事が書いてあるのでしょうか?
>>689 そうですか・・・。
ご解答ありがとうございます。
>>685 言語部分をC++に置き換えたC++Builderという別製品がある。
>>683 その言い方だとなんでもラップしたものはダメ、みたいに聞こえるな。
みんながみんなソケットやAPIを裸で使う必要はないだろ
ダイアログの最小化についてはDelphiとなんの関係もない。 マニュアル関係なし。アホが粘着してるからスルーするように
696 :
682 :2005/07/01(金) 11:05:59
>>694 ?
あなたがですか?
解決方法も記さず、さっきからマニュアル嫁としか言わない。
また何処で買えてどのマニュアルをさしているのかもわからない。
これでは何とも・・・。
>>695 承知しました。
他所で調べてみたいと思います。
ありがとうございました。
C++Builderはコンポーネントの関係からCじゃ使えないんじゃなかったっけ?
おまえら必死だな 最小化で指定できないんなら、ラップして最小化を偽装すればいいだけだろ? 頭悪いのか?
700 :
デフォルトの名無しさん :2005/07/01(金) 11:12:37
「あいう"えお」というデータを「あいう""えお」というよに 文字列内に"があれば自動的に後ろにもう1個足すには どうすればいいでしょうか? iLength := AnsiPos('"', 'あいう"えお'); と書いて"の場所はわかりましたがその後ろに"を 付ける方法がわかりません。よろしくお願いいたします。
701 :
デフォルトの名無しさん :2005/07/01(金) 11:12:52
アンチがまだ潜んでるみたいだな。いい加減巣に帰れよ。。
702 :
デフォルトの名無しさん :2005/07/01(金) 11:13:59
粘着基地害カエレ 超初心者スレなのに簡単な質問きたら頭悪いってアホかとバカかと… ~~~~~~~~~
>>702 ありがとうございました。StringReplaceをすっかり忘れてました
StringReplace('あいう"えお', '"', '""', [rfReplaceAll])で解決ですね
>>701 今日はアンチはいないと思うけど
それがいいたいだけなの?
SetWindowPlacementでできるぞ>最小化時の位置指定
このスレッドはBorland(ボーランド)のDelphi(デルファイ)について、 他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが、 お礼はDelphiの布教と初心者の救済をお願いします。
で?
たまに変なのが沸きますが無視してください。ご不便をおかけしますm(_ _)m
次期Delphiは、VBを越えると思いますか?
PascalにはBASICは超えられない
PascalにはBASICは超えられない
全自動で Delphiのソースを解析して、ソフトの説明などを勝手に考えて ヘルプファイルを作ってくれるロボットプログラムはどこですか?
716 :
デフォルトの名無しさん :2005/07/01(金) 14:48:24
会社に転がってるdelphi7をいじり始めたのですが、 子フォームをボタンで開くと言うだけの事がなぜか動きません。 procedure TfrmEstimateEntry.btnOlditemClick(Sender: TObject); begin if not assigned(frmOlditem) then begin frmOlditem := TfrmOlditem.create(self); frmOlditem.Show; end; end; こんなプロシージャー書いたのですが、 フォームが開いていないにもかかわらず、ifからendに飛んでしまいます。 フォームが開いていなったら開けって意味で書いたのですが、 何か認識が間違ってるのでしょうか? implementationのusesにも子フォームのユニット名は記述してあります。 何か我ながらものすごい馬鹿くさいことを忘れている気もするんですが 宜しくお願いします。
馬鹿くさいことを忘れている気がするなら自分で考えて
ヒント: プロジェクト オプション フォーム
>>716 子フォームを自動生成の対象に入れてないか?
プロジェクトオプションのフォームタブをチェック。
>717 馬鹿くさいこともわからないのが Del坊なんです さいしょに > もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 ってあるでしょ。
if not assigned(frmOlditem) then begin frmOlditem := TfrmOlditem.create(self); frmOlditem.Show; end else frmOlditem.Show;
スッキリ!!スッキリ!!スッキリ!! if not assigned(frmOlditem) then frmOlditem := TfrmOlditem.create(self); frmOlditem.Show;
最適化されるコードの典型
>>718 >>719 ああああ、ビンゴでした。
自分で設定した覚えが無いのになぜ・・・
もしかしてデフォは自動生成なんですか?
>>721 それでもいいかと思ったんですが、
なぜかってに生成されてるのか分かってなかったのが気持ち悪かったもので。
>>722 これだと短くていいですね。
何はともあれ皆さん、くだらない質問にマジレスいただいてありがとうございました。
正直ググっても、初歩過ぎて文献が見つからなかったっすorz
しねよ
>>716 > フォームが開いていなったら開けって意味で書いたのですが、
>>724 > それでもいいかと思ったんですが、
> なぜかってに生成されてるのか分かってなかったのが気持ち悪かったもので。
矛盾してるやん。
「フォームが開いていなったら開けって」ってコードはどうみても
>>722 だろ
727 :
デフォルトの名無しさん :2005/07/01(金) 16:21:57
DelphiとVBでどっちが勝ってますか?
VB
ユーザの質とか全てにおいてVB このスレ見てたらわかるかと
VS C#に Delphi勧誘いってきました(^_-)
そんなことするから荒れるんだなぁ
732 :
デフォルトの名無しさん :2005/07/01(金) 18:06:24
まぁどうせVB厨だろ。チョソが日本人名乗って悪さすんのと同じ。
Delphiユーザってなんでこんなに必死なの? はたから見てたら本当にDelphiユーザが痛いように見えるよ
ユーザから見てても痛いのに 傍から見てたらもっと痛いんだろうな まあ、一部の奴だけだろうけどね
>>682 最小化されたサブフォームの移動はDelphi側ではサポートしていませんが
APIで直接動かすことができるようです.以下サンプル.
{★最小化したフォームのウィンドウ領域を返す関数です.}
function GetIconizedFormRect(aForm: TCustomForm): TRect;
begin
Windows.GetWindowRect(aForm.Handle, Result);
end;
{★最小化したフォームを指定した場所に移動します.}
procedure MoveIconizedForm(aForm: TCustomForm; Left, Top: integer);
var
WinRect: TRect;
begin
WinRect := GetIconizedFormRect(aForm);
Windows.MoveWindow(aForm.Handle, Left, Top,
abs(WinRect.Right - WinRect.Left), abs(WinRect.Bottom - WinRect.Top), True);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
aRect: TRect;
begin
// 最小化されたForm2を右16ピクセル,上16ピクセル移動する.
aRect := GetIconizedFormRect(Form2);
MoveIconizedForm(Form2, aRect.Left + 16, aRect.Top - 16);
end;
>>724 > もしかしてデフォは自動生成なんですか?
その通りです.デフォで自動生成にしたくない場合は
[環境オプション]→[設定]タブ→[フォームデザイナ]グループの
『自動作成とする』のチェックをはずして下さい.
(うちはDelphi 5なので6以降は多少変わっているかもしれませんがオプション自体はあるはずです)
> デフォで自動生成にしたくない場合 チェックをはずすとデフォが非自動生成になるってか?
なる
なるなぁ。知らんかった。 なぜ彼がファビョってるのかも知らんが。
StringGridで、エクセルの詳細表示のように、タイトル(FixedRows)をクリックしたときに その列の値を並べ替えようと思い、FixedRowにボタンを配置し、そこをクリックしたときに ソートするようにして機能は実現できたのですが、 OptionsのColSizingをTrueにしていても、サイズ変更ができなくなってしまいました。 ソートと、サイズ変更両方できるようにするにはどうすればよいでしょうか。 よろしくお願いします。 private BtnGrdSort1, BtnGrdSort2, BtnGrdSort3, BtnGrdSort4 : TButton; //必要なcol分宣言 procedure TForm1.FormCreate(Sender: TObject); begin BtnGrdSort1 := TButton.Create(Self); //必要なCol分Create 以下同じく BtnGrdSort1.OnMouseDown := BtnSortMouseDown; BtnHaiti(BtnGrdSort1 ,1,0); end; procedure TForm1.BtnHaiti(BtnName :TButton;Col,Row:Integer); var BLoc:TPoint; begin BLoc:=Point(Col,Row); BtnName.Parent:=StringGrid1; BtnName.BoundsRect :=StringGrid1.CellRect(BLoc.X,Bloc.Y); end; procedure TForm1.BtnSortMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ShowMessage('ソート処理'); end;
おまえにはむり
>>741 DevelopperExpressの追加コンポーネント買えば一発なんだがなw
>>741 そんなことはない。おそらくプロパティが間違っている。
最初からやり直して、普通のイベントハンドラつかって試してから
応用実装した方がよい。
vb.netなら簡単 イベント作ってやってるから待ってろ
procedure TForm1.BtnHaiti(BtnName :TButton;Col,Row:Integer); begin ... StringGrid1.Objects[Col,Row] := BtnName; end; の最後に追加 StringGrid1DrawCellイベントを作成して下記をペースト procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var AStringGrid : TStringGrid; begin if (Sender is TStringGrid) then AStringGrid := TStringGrid(Sender) else AStringGrid := StringGrid1; if ARow < AStringGrid.FixedRows then if Assigned(AStringGrid.Objects[ACol, ARow]) and (AStringGrid.Objects[ACol, ARow] is TWinControl) then begin TWinControl(AStringGrid.Objects[ACol, ARow]) .SetBounds(Rect.Left,Rect.Top,Rect.Right-Rect.Left,Rect.Bottom-Rect.Top); end; end;
Delphi6を使ってるんですが、 eval は無いんでしょうか…? 無いのであれば、何か別の良い方法をお教え下さい。 よろしくお願いします。
つ[マニュアル]
>>747 どの言語のevalですか?
実現したい機能について説明しましょう。
750 :
741 :2005/07/02(土) 20:13:35
>>746 返事が送れてしまい、すみません。
バッチリです。ありがとうございました。
>>747 evalってのは基本的に、インタプリタ型特有のもんだろ。
>>749 どの言語のevalも大体同じじゃね?
文字列をコードとして解釈ってのが一般的だと思うんだけど、
他にあるのか?
>>747 if (fooA = fooB) then
begin
//trueのときの処理
end else
begin
//Falseのときの処理
end;
こんな感じのことがしたのか?
753 :
デフォルトの名無しさん :2005/07/03(日) 09:07:18
>>750 どうしたしまして。
あの 今日 おきて そのコードを見て はっ!! と気がつきました。
スクロールすると、同期しません(>_<)
左上の位置が変更されたら、位置を変えるコードを追加します
下記を加えてください。
procedure TForm1.StringGrid1TopLeftChanged(Sender: TObject);
var
i : integer;
R : TRect;
begin
// 行は0に固定しているので 好きに変更してください。
if (Sender is TStringGrid) then
for i := 0 to TStringGrid(Sender).ColCount-1 do
if (TStringGrid(Sender).Objects[i, 0] <> nil)
and (TStringGrid(Sender).Objects[i, 0] is TWinControl) then
begin
R := TStringGrid(Sender).CellRect(i,0);
TWinControl(TStringGrid(Sender).Objects[i, 0])
.SetBounds(R.Left,R.Top ,R.Right - R.Left, R.Bottom - R.Top);
end;
end;
754 :
741 :2005/07/03(日) 09:17:10
>>753 早速コードに追加させて頂き、
確かに今まではスクロールすると同期がとれていない現象が出ていたことと、
今回の修正で直ったことを確認しました。
本当にありがとうございました。
755 :
747 :2005/07/03(日) 15:00:25
>>749 ,
>>752 evalの機能については、
>>751 さんの説明の通りです。
単純な例を下に・・・。
var
Str : String ;
begin
Str := '1+3' ;
showmessage(Str) ;
end;
例えばこのままでは「1+3」がそのまま表示されますが、evalがあれば
eval( Str );
で、計算結果の「4」を得ることが出来ます。
与えられた文字列をコードや式として解釈して、
その結果を返します。
756 :
デフォルトの名無しさん :2005/07/03(日) 15:16:52
すみません、アドバイスをお願いします。
ギコナビのビルド方法
http://deuxdeux.hp.infoseek.co.jp/gikobuild.html#bmRegExp Delphi6無料版とIndy_9_00_17_src、他に上記手順どおり全てのファイルを
組み込んで最終的にコンパイルしてgokonavi.exeが出来上がりました。
しかし、最初の板一覧更新から以下のエラーが正常に動作しません。
-------------------
プロジェクト gikoNavi.exeがEAccessViolationクラスの例外を作成しました。
'Access Violation at address 004EECCF in Module 'gikonavi.exe' Read of address 00000000' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。
-------------------
var
Readbuff : string;
Indy: TIdHTTP;
begin
Readbuff := indy.get('
http://www.yahoo.co.jp/ ');
showmessage(Readbuff);
end;
このプログラムを実行させても同じようなエラーになります。
どなたか問題を解決する方法を教えてください。
757 :
747 :2005/07/03(日) 15:17:18
>>749 evalの機能説明ばかりで、ちゃんと返答してなかったかもしれないので・・・。
具体的には、
Edit1.Text の「1」と、Edit2.Textの「+3」を足したとき、
文字列「1+3」ではなく、計算結果の「4」が返ってきてほしいんです。
758 :
756 :2005/07/03(日) 15:18:12
>しかし、最初の板一覧更新から以下のエラーが正常に動作しません。 しかし、最初の板一覧更新から以下のエラーが出て、正常に動作しません。
>>756 beginの後ろに
Indy:= TIdHTTP.Create(....
みたいのいれなくていいの?
761 :
デフォルトの名無しさん :2005/07/03(日) 15:41:37
762 :
デフォルトの名無しさん :2005/07/03(日) 15:53:43
// TIdHTTP フォームに貼っていないのなら、createがいる。
procedure TForm1.Button1Click(Sender: TObject);
var
Readbuff : string;
Indy: TIdHTTP;
begin
Indy := TIdHTTP.create(self);
try
Readbuff := indy.get('
http://www.yahoo.co.jp/ ');
showmessage(Readbuff);
finally
Indy.free;
end;
end;
763 :
デフォルトの名無しさん :2005/07/03(日) 15:54:53
一行の計算だけなら電卓コンポでも探しとけ
765 :
756 :2005/07/03(日) 16:06:02
>>760 >>762 TIdHTTPをフォームに張った場合は、
>>756 のエラーが出てしまい、
貼らない場合に
>>762 のソースをコンパイラして実行させると以下のエラーになります。
-------------------
プロジェクト test.exeがEIdConnClosedGracefullyクラスの例外を作成しました。
'Connection Closed Gracefully'
プロセスは停止しています。再開するにはステップ実行または実行を選択してください。
-------------------
Indyコンポーネントを使いたいのに、一番最初に躓いています・・・。
すみません。さらにアドバイスをお願いします。
767 :
756 :2005/07/03(日) 16:07:50
付属のサンプル
769 :
756 :2005/07/03(日) 16:10:10
>>765 今日始めてIndyをインストールしたので、初歩の段階ですみません。
付属のサンプルってどこにあるのですか?
770 :
756 :2005/07/03(日) 16:11:44
Indy_9_00_17_srcの中にそれらしきものが。。 試してみます
> 例外クラス EIdConnClosedGracefully は,接続が正常に閉じられた場合に生成されます。 > > EIdSilentException から派生しているため,VCL の EAbort 例外のように動作します。 > [ツール|デバッガオプション|言語固有の例外|追加] をクリックして「EIdSilentException」と入力し, > この例外を無視するように IDE を設定することをお勧めします。
772 :
756 :2005/07/03(日) 16:14:50
ispFix.bpr Computil.bpr というのがありますが、サンプルじゃありませんでした。
773 :
756 :2005/07/03(日) 16:17:14
>>771 手順どおり設定したところ、エラーが出なくなり正常に動作しました。
スゴイ感激です。有難うございます!
774 :
デフォルトの名無しさん :2005/07/03(日) 16:19:30
>>757 var
Atext : String;
Apos : Integer;
begin
Atext := Edit1.Text + Edit2.Text ;
//足すの場合
Apos := AnsiPos('+',AText);
if Apos <> 0 then
begin
result := StrToInt(Edit1.text) + StrToInt(Edit2.text)
Apos:=0;
end;
//かけるの場合
Apos := AnsiPos('*',AText);
if Apos <> 0 then
begin
result := StrToInt(Edit1.text) * StrToInt(Edit2.text)
Apos:=0;
end;
//引くと割るの場合は自分で考えてみよう。それと、TEdit.textの値が有効なものか事前にチェックする必要がある。
end;
775 :
デフォルトの名無しさん :2005/07/03(日) 16:26:18
>>757 すまない
>>774 は間違えた。
var
Atext : String;
Apos : Integer;
begin
Atext := Edit1.Text + Edit2.Text ;
//足すの場合
Apos := AnsiPos('+',AText);
if Apos <> 0 then
begin
result := StrToInt(copy(Atext,1,Apos-1)) + StrToInt(Copy(Atext,Apos+1,Length(Atext))) ;
Apos:=0;
end;
//かけるの場合
Apos := AnsiPos('*',AText);
if Apos <> 0 then
begin
result := StrToInt(copy(Atext,1,Apos-1)) * StrToInt(Copy(Atext,Apos+1,Length(Atext))) ;
Apos:=0;
end;
//引くと割るの場合は自分で考えてみよう。それと、TEdit.textの値が有効なものか事前にチェックする必要がある。
//やっていることは文字列を結合して、演算子を探して、演算子の前後を数値として演算子に応じて計算する。
end;
776 :
デフォルトの名無しさん :2005/07/03(日) 17:06:37
"試してみます"じゃなくて迅速に試して結果を報告しる
777 :
デフォルトの名無しさん :2005/07/03(日) 17:47:32
面倒だからどうでもいいけど。↑ こういうのは荒らしの一種だと思う
よその ほがらかな掲示板に引っ越します。 さようなら(;_;)/~~~
だまって引っ越せ
ただいま。
>756 勘違いしているといけないので念のため 例外が発生したものをIDEが捕捉したからといって必ずしも エラーなわけではない。>771はIDEが特定の例外を捕捉しない ように設定しているだけ。
TExeIcon と言うコンポーネントをDelphi6 Personalで使いたいんですが、書庫の中にdcuとdcrファイルしか無く、 どうすればいいのか分かりません。 誰か分かる人いますか?
>>784 お前以前質問してた奴?まだ実装できてないの?
>>786 おかしいんがひとり常駐してるから気をつけたほうがよいよ
そんな忠告より回答かけよ
普通にプロジェクトに追加してusesすればいいだけなんじゃないの?
間違えたorz メニューのコンポーネント→コンポーネントのインストールで dcuを指定→dclusr.dpkに追加でおk というか普通にわかるような
こんな事も分からんやつがExeのIcon弄ってなにしようってんだ・・w
>>790 私,知らなかったです…違うバージョンでコンパイルされたdcuファイルは使えないって
ずっとそう思っていました,アヒャヒャ.
ちなみに手元のDelphi 5だとその操作はできるのですが,失敗してしまいます.
dcuファイルを開くという動作があるのに
テキスト形式のファイルとして開こうとして失敗してしまいます.
違うバージョンの物は無理っていうので合ってると思うよ
そうだったのか。〜.pasが見つかりませんってのは違うバージョンだったんですね。 お騒がせスマソ
795 :
デフォルトの名無しさん :2005/07/05(火) 02:01:06
Delphiパーソナルプログラミング掌田 津耶乃 (著) を買おうと思っていたんだけど どこのオンラインショップも品切れ状態でユーズドの価格が新品より高かったのですが、 もう新品で手に入れるのは無理なのでしょうか? 無理でしたら、この本の代用でオススメの本を教えてください。 ちなみに初心者です。宜しくお願いします。
>>795 「初心者」と限定するなら、図書館で借りるのをお勧めシマッス。
「初めての〜」って本なら、置いてあると思う。
オレの近所の図書館は有る。
大体、「初めての〜」ってのは、本当に初心者向けなので(当たり前
っちゃ、当たり前)、すぐに不要になると思う。
797 :
796 :2005/07/05(火) 02:09:58
>>795 あ、それと古本屋を活用する手もある。
バージョンは古いけど、もの凄く内容が違うワケじゃないから
「4」とかでも別段不都合はさほど無いと思う。
オレは100円で2冊買った経験有り。
正直いまからDel入門はおすすめしない
VB板に帰ってください
800 :
デフォルトの名無しさん :2005/07/05(火) 09:16:31
昔VBにどっぷり浸かり、DLL Hell で見捨て、 代わりにDelphiに移行したものです。 Delphiはとてもよくできた良い言語だと思います。 初心者も取っ付き易いと思います。 が、世の中、MSが中心で動いています。 嫌なことですが、現実そうです。 よって、Delphiが潰れてもC,VBが潰れることは まず無いと思います。 若者は、C,VB,Delphi、全部やりましょう。 あと、Java,Perlなど、色々やりましょう。 自分の財産になります。
>>800 激しく同意。
Delphi はよい開発環境であるが、それに固執することにあまり意味はありません。
世の中には Delphi 以外にも様々な開発環境、言語があります。
一つの言語を深く極めるのもありだと思いますが、それと同時にいろいろやってみる
ことも重要です。
コンパイラ関係では C と C++ は基本、VM 系の Java や C#、スクリプト系の
Perl, Python, Ruby なんかはさわるだけでも視野が広がります。
>よって、Delphiが潰れてもC,VBが潰れることは >まず無いと思います。 これってずーっと言われ続けて、現実は逆になった。 90年代にはC++一色になると言われた中、VBとDelphiが繁殖した。 VBが残ると思いきや、改悪バージョンうpでVB6自滅。 C丼はJavaを駆逐すると言われながら( ´_ゝ`)フーン何それ
だから手広くやっておけ、ってことだよ。視野が狭いとどの言語が生き残るとか死滅する とかのアホな議論がいかにも重要であるかのように思い込む。流行り廃りは世の常なんだから 視野が広いと一言語に粘着するのが馬鹿らしくなるだろうに。
手広くやるなら、プログラミングに固執するのこそバカらしいこと。 教養として何か一つならDelphiで十分。
> 教養として何か一つならDelphiで十分 根拠は? なんで Delphi なの? Windows べったりなのがなんで教養なの? Lisp のほうがよほど教養になるだろう。
>>805 ここがDelphiスレだからさ。 LispのスレならLispで十分。
教養なら、オブジェクトベース言語。 クラスベースならライブラリが無限にあるDelかBCB。 いまさらどこの馬の骨か分からないC丼ドトネトは無視。
>>806 なるほど、Delphiユーザに教養の無いが多いのはそれが原因か。
教養無いってのは、部位ビーでいいじゃーん、とか、VSにしる!ドトネトはイラン!、みたいなの。
>>808 と鏡に映った自分に話し掛けてるわけですか? と質問スレなんで質問してみる
このスレ読むとDelphiユーザの教養がいかに豊かであるか身にしみるわな。(藁
プログラマーは所詮電脳土木作業員。 いろいろな言語を覚えるよりも別の仕事を探すほうが賢いであろう。
そんなくだらないプログラマはどうだっていいわけだが
ああでも電脳土木作業員が減るとフリーウェアも減ってしまって 俺様が困るから、やっぱ浮気せずにプログラマ続けて。
と土木作業員が申しております
副業にしたら? ソフトは すばらいしい 自動販売機 さくさく ほくほく あ〜ん し・あ・わ・せ
Delphiだと自動販売機のコード書けないよ
エクセル出力ってどうやるんでしょ?ヘルプも無くてよく分かりません。 なんとなくTExcelApplicationを使うのかな〜って思ってる程度です。 よろしければご教授ください。ちなみに当方Delphi6です。
821 :
819 :2005/07/05(火) 18:51:20
>>820 ぬおお〜ありがと。
こっから自分なりに解読してみるよ。
次からは自分の力見つけれるようにします。お手数かけました。
D5のTNMFTPのListコマンドを繰り返し実行すると たまにListコマンドが帰って来ずにフリーズすることがあるんだけど、 回避策なんかありませんかねぇ???
さすがに TNM*** コンポを使ってる人はもういなさそう Indy はただだし、D5 でも使えるし
「'」を文字列として変数に代入するにはどうしたらいいですか?
#39
''でも良い
827 :
デフォルトの名無しさん :2005/07/06(水) 17:53:47
''''
>825-827 ありがとうございます
Delphi での一般的なソースの分割方法ってどうすれば良いのか分かりません orz コンポとして書いて分離すれば良いのでしょうか?
>>829 新規作成->ユニット
interface部のものが他のunitからも使えるものになる。
コツはinterfaceは必要最小限にとどめ
できるだけimplementationに隠蔽することかな。
フォーム データモジュール ユニット パッケージ DLL
フレーム コンポーネント
DLL だけ横文字なのが違和感ある
ダイナミックリンクロンリー
あとは設計論かな。分割の仕方って奥が深いよ。 目指せ。アーキテクト
クライアント領域に頻繁にイメージを描きこむような処理をしてるんですが フォームを透過にすると、それだけでCPU使用率が跳ね上がります。 TransparentColor:=TrueをやめてAPI関数を使う方法にしても 負荷は変わらないものでしょうか?
VCL は API を使ってない、とか思ってるみたいだな・・・・
Longhornにすればむちゃくちゃ速くなるよ
まだ出てないくせに
日本でわな
841 :
デフォルトの名無しさん :2005/07/08(金) 23:38:02
TScrollBoxの中にTPaintBoxを置いて、TPaintBoxのOnDrawイベントで TPaintBoxのCanvas.ClipRectを描画するようにしているんだけど、ちらつく。 ちらつかないようにする方法はないものだろうか?
…OnDraw?
目をつぶる。
844 :
841 :2005/07/09(土) 06:54:39
OnDrawじゃなくてOnPaintだったな。 DoubleBufferedを有効にしたら少しましになったぞ。
ちらつくのは、消してから描いたりしてるから、 だから、「自分が全部を塗るから消さなくていいよ」という指示をしておいて、 描画する時に塗り直さないような方法で描画すればいい。 たとえば重なる描画がどうしてもあるなら、先にビットマップに裏で描いておいて からビットマップを描画するとかね でもそれをやってくれるのがDoubleBfferdだけど
>>837 VCLよりAPI使ったほうがパフォーマンスが改善されるのはよくあること。
WindowsAPIのSetFocusを使いたいのですがどうしたらいいですか?
> VCLよりAPI使ったほうがパフォーマンスが改善されるのはよくあること。 例えば? よくあるなら10例ぐらいあげてごらん
> VCLよりAPI使ったほうがパフォーマンスが改善されるのはよくあること。 そうかなぁ? 直接 API をつかわなくてはできないことは多いけど、パフォーマンス改善のために 使う場面って思い浮かばないなぁ
うん。 VCLの実装はよく出来てるよね。
そうそう。ここは
>>846 の回答を期待して待とう。
ウィンドウをTopMostにする時VCLだとちらつくし遅いな
それは機能が違うでしょ。API では他フォームの管理が出来ないし。
Form自体重すぎだし
exeも起動は遅いしでかいし
>>856 すげえ。ダイナミックリンクしといてファイルサイズが小さいとかいってるよ。この人。
MFC使った方が倍はデカくなるよ。 MFCxxDLLをみんな使いたがるのはソコ。
>>855 何と比べるかだけど、VBやMFCと比べたらVCLは軽いよ
>>849 なるほど・・・
ありがとうございました
TClientSocketや、TServerSocketのOnReadイベントに、 Socket.ReceiveLength を使うと、受信したバッファのサイズが分かりますよね。 OnWriteイベントで、ソケットが送信したバッファのサイズを調べることって出来ますか?
PaintDesktop(Image1.Canvas.Handle); とやっても何も塗り潰されないのですが、何故でしょうか?
へえ、そんなAPIがあったのか。 BOOL WINAPI PaintDesktop( HDC hdc // デバイスコンテキストのハンドル ); Image1はTGraphicControl継承だからかと思ったけど PaintDesktop( PaintBox1.Canvas.Handle) なら描画出来るね。 何でだろ?
865 :
846 :2005/07/09(土) 19:55:21
836は描画に関して言ってるから、とりあえずその例を挙げるなら。 for i:=1 to 1000000 do begin Form1.Canvas.TextOut(0,0,'あいうえお'); end; Beep; と for i:=1 to 1000000 do begin TextOut(Form1.Canvas.Handle,0,0,'あいうえお',10); end; Beep; で、実行速度が1.5倍ぐらい違う。
じゃ、実際100万行もTextOutすることはないから使うことはないね
TextOut のパフォーマンス改善のためなるべく API を使いましょう、ってか? アホ
868 :
846 :2005/07/09(土) 20:37:01
>>866 馬鹿か。実際にこんなコードがあるわけねーだろ。
内部的にどれぐらいのパフォーマンスの差が出ているか
差が顕在化するようにコードで示しただけだろ。
そのぐらいなぜわからない?頭が悪い?
おれがいつAPIしか使うななんて書いた?
APIよりVCLの生産性が高いのは当然なんだから。
ただ、パフォーマンス的にAPIを使ったほうがいい場合があるってだけだ。
> パフォーマンス的にAPIを使ったほうがいい場合があるってだけだ。
だからどんな場合?
ラッパよりナマのAPIが速いという当たり前の
>>865 のようなアホな例はなしで。
何言ってるのこの人は?
872 :
846 :2005/07/09(土) 21:09:04
やっぱりアホと話しててもしょうがねーな。 ラッパだから遅くなるのと、VCLのTextOut()が遅くなるのは意味が違うだろ。
>870 VCLはいろいろ内部的にチェックや変換を行ってるから、速度が落ちることもあるよ。 あらかじめ扱いたいデータがわかってるなら、APIをたたいた方が速かったり。
TFileStreamって速くなったの?
878 :
デフォルトの名無しさん :2005/07/09(土) 22:23:34
空のフォーム一枚でDelphiは600kbに対してVB.NETは4kb ちょっと無駄が多すぎるね。
俺の場合は409kbなんだが
空プロジェクトで8kb。 ところでVB.NETってランタイム無しなの?
AAの縦横の長さを計るツールを作ろうと思ったんですが、 Memoに貼り付けた文字列の長さを、 ピクセル単位で調べる方法を教えていただけませんでしょうか? とりあえず1行分の横幅さえ計ることができれば何とかなりそうなんですけど…
Canvas.TextWidth
>883 どうもありがとうございます。 それでやってみますね。
やってみますね、じゃなくてやってみてから結果を報告しろよ。
うるせーバカ
使えません。
893 :
891 :2005/07/10(日) 02:21:27
よくわかりました。 ありがとうございました。
Delphi6に対応というだけでPerはいいとも悪いとも書いてなくないか
they require that you have the DB VCL.
結局パフォーマンス改善のためのAPI具体例は TextOut のアホな例しかないのか
おれも Win32 API はよく使うけど、パフォーマンスの改善のためにつかったことは ないような気がする。よく使うとかいう人がいるけど、どんな場合なのかな 具体例希望
>>897 単純にDelphi言語の既存の関数よりもAPI関数が優れてる場合じゃないのか?
ライブラリのソースコード読めばおのずとわかることだと思うが・・・
>>896 865の例で1.5倍も差が出てるのはなぜか考えたか?
>>900 875あたりを読んでも理解できてないみたいだから、
これ以上何を言っても無駄。放置。
902 :
900 :2005/07/10(日) 13:04:49
>>848 :デフォルトの名無しさん :2005/07/09(土) 12:32:10
>>> VCLよりAPI使ったほうがパフォーマンスが改善されるのはよくあること。
>>例えば?
>>よくあるなら10例ぐらいあげてごらん
こういう小学生みたいなことを言うやつだし。
Canvas.DrawとBitBltならどっち使ったほうが良いかな 用途は画面更新
一般論ばかりで具体例ゼロ。Del厨の限界かな
あんまり煽るとDelphi系クソスレが上げ荒らしくらうからその程度にしとけ
Del厨って絶滅危惧種なんだからやさしくしてあげなきゃダメだよ
だんだん煽る側の程度が下がってきているな。 俺のような厨房しか釣られ無そうな小学生並の発言しかできてない。
.NET は背後に40Mのランタイムが控えてることを忘れてるんだろ
>>905 一般論を理解できないやつが何か言ってるよ。
談話室でやれってば
Del厨って絶滅危惧種なんだからやさしくしてあげなきゃダメだよ
アンチは本当に基地外だな。チョン思考カワイソスwwww
>>874 大半の方は無料版のDelphi 6 Personalでしょうから,
プロ版以上を持っている方が説明しておいた方が良いと思います.
こちらにあるのはDelphi 5ですが,TextOutメソッドのソースを見ると
テキストの縦横の長さを計算してからTextOutEx APIを呼び出しています.
これはアラビア語のように右から左に書く言語の場合でも左上を基準座標として描画させるためのようです.
TextOut APIのラッパーではないのでこのAPIに固有の挙動に期待して使うと悩まされます.
(というか最近悩まされました)
>>882 キャンバスオブジェクトのTextWidthメソッドを使います.
ただしメモコンポにはキャンバスがないので
キャンバスを持つほかのコンポにそのメモと同じフォントを設定してからTextWidthを使います.
メモを載せているフォームのキャンバスを使うのが一番手っ取り早いですが
もし問題があれば,見えないペイントボックスを貼り付けてそのキャンバスを使ってみると良いと思います.
var TextWidth: integer;
PaintBox1.Canvas.Font.Assign(Memo1.Font); { ペイントボックスのキャンバスのフォントをメモコンポのフォントと同じにする }
TextWidth := PaintBox1.Canvas.TextWidth(Memo1.Lines[0]); { 1行目のテキストの幅を求める }
>>897 個人的に一番使うのはDrawText APIです.
テキストをセンタリングして描画したり,複数行にまたがるテキストを描画したり描画時の高さを測るときに重宝します.
>>903 問題なければ前者で構わないのではないかと思います.
ちなみにCanvas.Draw(なんとか)の内部では「なんとか」が持っているDrawメソッドを呼び出して描画しています.
TBitmap.Drawの内部ではStretchBltを呼び出しています.
> 個人的に一番使うのはDrawText APIです. それパフォーマンス改善というより、相当する VCL のメソッドが無いためでは? 普通の意味でAPI使うのと同じ理由だわな
質問の意味を理解してない人ばかりで楽しくないな
変にムキになるなぁ日本人は。
なんで具体例をあげられないのか不思議
922 :
デフォルトの名無しさん :2005/07/11(月) 16:33:58
DrawText API そんなに便利? 字がくっつきすぎで 読みにくくない? procedure TForm1.FormClick(Sender: TObject); var R : TRect; flg: Cardinal; begin R := ClientRect; flg := 0; DrawText(Canvas.Handle, 'わぁ' +#10#13+ 'くっつきすぎ'+#10#13+ 'あちちちち' ,-1 ,R,flg) end;
今日も初心者そっちのけの粘着基地外同士のマグワイをお楽しみください
初心者が いるなら つれてこい みんなで とりかこんで みっちり教育して遊んでやるから。
すいません。ShellTreeViewはディレクトリを列挙した瞬間フロッピーディスクドライブを 読み込んでしまうのですが、これをなくすにはどうすればよいでしょうか。
まぁ 初心者がほとんど自然発生しないのがいまの現状なんだ
>>922 「くっつきすぎ」なのは、フォントの設定のせいでは?
こんなこと聞くのは、無料版の人くらいしかいないだろうから D6の場合を例に説明。 プロジェクトの検索パスに C:\Program Files\Borland\Delphi6\Demos\ShellControls\ShellCtrls.pas を指定 ブレークポイントを C:\Program Files\Borland\Delphi6\Demos\ShellControls\ShellCtrls.pas の procedure TCustomShellTreeView.InitNode(NewNode: TTreeNode; ID: PItemIDList; ParentNode: TTreeNode); if fpShared in Properties then NewNode.OverlayIndex := 0; ブレーク条件 (ParentNode.Text='マイ コンピュータ')and(Pos('3.5 インチ FD',NewNode.Text)>0) に設定 実行。 クリック ストップしたら トレース実行 犯人がわかるはず。 書き換えも自由。 じゃあ、 がんばって くるように
>>922 最初,
>>928 と同じ事を考えたのですが,もしかして行間隔のことですか?
それは確かにあります.日本語テキストの場合は詰まってしまいますね.
しかし,これはラベルやメモでも同じです.
リッチエディットコンポを使う場合は実行するOSによって行間隔が変わります.
たとえばWin9x系だと行間隔が詰まります.この点に注意して下さい.
つか、TextOut APIで速度が向上しました。 Canvasよく使うので、貴重な情報どうもです。 FillRectや、Ellipse,Draw,LineTo 等も高速にできますか? また、TextWidthとかも高速化出来ると嬉しいです。 それと、アンチエイリアスを効かせて線を引くAPIとか無いですかねぇ。
CreateWindow から全部API使えってことになりそうだな、それだと。
exeサイズを小さくする目的があるなら全部API使え
ここの流れではサイズじゃなくて処理速度みたいよ
じゃあ、機械語だな。
ばかばっか
↑自己紹介乙
>>931 >>FillRectや、Ellipse,Draw,LineTo 等も高速にできますか?
Personal版だったら悪いんだけど、VCLのソースを読めばすぐわかる。
単に呼び直すだけのラッパーの場合は速くはならないけど、VCL独自の処理を
入れてる場合はAPIで書いたほうが速度が速くなるかも。
ただ、何でもかんでも無理にAPIを使うのはコードが複雑になるデメリットが大きいので、
その辺のバランスを考えて。
同じTextOutのコードを見て、TextOutしか見えない奴と ほかの描画系の関数のことも考える奴とがいるんだなw
実際のところ、描画がちらつくのを防ぐために VCL のメソッドの代わりに API を つかうことなんかほとんどないでしょう。 背景描画をやめたり、オフスクリーンビットマップをつかったり、DoubleBuffer を つかったりの方が有効です。TextOut を1.5倍はやくしても役に立たないでしょう。
まだやってるよ。 よっぽど論破されて悔しかったんだろうな・・・
まいら、本気で TextOut を API で置き換えて解決出来る問題があると思ってるのか?
ま、まいらちゃん!イクよ!!うっ!!どぴゅぴゅ〜〜〜〜〜〜〜〜〜!!!
Canvas.TextOutはAPIのExtTextOutじゃん。
>>945 VCL のメソッドの名前とラップしてる API の名前が対応してないほうが多いけど。
なに言いたいの?
>>943 そんなのあるわけないじゃん。からかわれてるのにいい加減気づけ
948 :
931 :2005/07/12(火) 12:26:05
Canvasを扱う時って、実はBrush.Color:= とかやるだけで、結構コストかかるんですよね。 色を変えながら1度に数万回FillRectするプログラムを組んだのですが、Brush.Colorは あまりに時間がかかるので、varでローカルのTColorを宣言して、目的の色と前に指定した 色を比較して、異なっていたらBrush.Colorに代入・・として、少し高速化することができました。 Brush.Colorが遅いのは、プロパティとして実装されているからなのでしょうね。 APIだと呼び出す毎に色を指定しますよね。こっちの方がこのケースの場合は効率がよさそうです。 ちなみにTextOutも1度の処理で数百、数千呼び出すケースもあるので、APIを使う方法は とても参考になりました。 手元のDelphiは、7と2005なので、ソースを追ってみて、参考にしてみます。 ちなみに、画面がちらつくのを防ぐのにAPIを使うメリットは少ないでしょうが、 オフスクリーンビットマップの描画にAPIを使うと速くて助かりますよ。
TForm とか使ってる時点で小細工不要ってことだ。アフォらしい
>>948 > オフスクリーンビットマップの描画にAPIを使うと速くて助かりますよ。
こういうもっともらしいことを言うから厨房が真似し始める。
実際にオフスクリーンビットマップの生成から、その上に描画してから
フォームに表示するまでに Canvas のメソッドを使った場合と相当するAPIを
使った場合、どのくらいスピードアップするか数字で示してみ。いかにくだらない
<改善> をしてるか気がつくだろう。
> 速くて助かりますよ。
どの程度助かりましたか?
> TextOutも1度の処理で数百、数千呼び出すケースもあるので
それで何ミリ秒速くなりましたか?
そりゃ100万回 TextOut してるんだろうさ(藁
さぞかしでかいビットマップだろうな。アウトオブスクリーンビットマップだ
>>952 お前はアウトオブスクリーン言いたいだけちゃうんかと
実際のとこ > TextOutも1度の処理で数百、数千呼び出すケース って、アウトオブスクリーン以外考えられないわけだが
いや、一文字ずつ出力してるのかもよ(藁 そりゃ遅い罠
一文字ずつ 最高 ユーザーフレンドリー
957 :
836 :2005/07/12(火) 18:19:14
自分が言いたかったのは 透過処理をTransparentColor:=Trueのワンタッチじゃなく 直接API関数で実装して「最低限かつ効率的な(再)描画」をすれば 負荷は軽減できないだろうか? ということだったのですが、もうどうでもいいですね。 余計なこと言ってごめんなさい。
議論の途中で申し訳ないのですが950も過ぎましたので次スレの季節です.
テンプレは今のスレのもの(
>>1-3 )に今のスレの分を書き足したものでよろしいでしょうか.
何かあればお願いします.
>>948 ,957
途中までレスも書いたのですが次スレができたら改めて書き込みます
(ってそんな立派な書き込みではありませんが)
959 :
931 :2005/07/12(火) 19:15:49
なんでこう噛みつきたがるんだろう?VCL信仰があるんだろうか。 TextOutはAPIで呼ぶだけで4倍くらい速く実行されるようです。(今測ってみました) 1万回の呼び出しで、0.3秒の違いが出るから、体感で感じる速度差が出る。 これは純粋にTextOutだけの比較なので、他の描画処理もAPI化することで、 結構速く表示されますよ。 勿論、1万回も呼び出さないならVCLでも大した時間差は出ないでしょう。 そういう場合はVCLで手軽に実装すればいい。 VCLもAPIも、必要に応じて使い分ければいいのに、なんでAPIを否定したがるのかよくわからん。
ヒント:アホに何言っても無駄
>なんでAPIを否定したがるのか ヒント:抽象
ヒント:1万回の呼び出しで、0.3秒の違いが出るからといっても、体感で感じる速度差が出るほど 使う場面なんかない
LineTo とか Polygon とか TextOut 以外は、薄いラッパなのでぜんぜん速度差なんかほとんどないわな
delphiでソフト作って飯食ってます。 年収は2000万くらいです。
来年は200万円になりそうだね
ソフト作って飯食ってるなら どの言語でも年収同じじゃないか?
のんきなやつだね
次スレで書き込むとかいってるのは、いま書き込むと無駄になる、とか思ってるんだろな 期待して立派な書き込みを待とう!
ブビ厨派遣して飯食ってます。 年収は8000万くらいです。
年収8000万のひとも今の時間2ch見てるのね
> 勿論、1万回も呼び出さないならVCLでも大した時間差は出ないでしょう。 うーむ、こっちの人の方が必死に見えるが。 一度の処理で1万回 TextOut 呼び出す場面が「よくある」とかいってるのは 頭おかしいんじゃないか
お前らの議論のヘタクソさにはあきれるよ・・・
世の中いろんなジャンルのソフトがある訳ですが、貴方の視野の狭さでは永久に理解できないでしょう。
8000万? センターボか? ¥のわけがないしな。 その額だと高額納税者リストに確実にのるから、身元わざわざ自分から あかす馬鹿はいまい
年収が高いほど働く時間が長いと思ってる? むしろ、1日1時間しか働かないような人の方がごろごろしている。
どこに1万回TextOutを呼び出す場面が「よくある」と書いてあるの?
>975 楽な仕事ほど、高収入は常識だろ。 重労働ほど賃金安くて勤務時間ながいんだぞ。 常識だろ しらないやつは、 就業前の未成年者くらいだぞ
978 :
964 :2005/07/12(火) 21:16:12
年収2000万あるけど、勤務時間は長い。まだまだ低所得って事だな。 もうそろそろ、一括で家が買えます。Delphi様々です。
HBRUSH って、どうやって生成、破棄すればいいの?
ググレ
>>979 var
hb : HBRUSH;
begin
hb := HBRUSH.Create;
//処理
hb.Free;
end;
色選択コンボボックスのかっこいいやつってどこにあったっけ?
きわめてまれなことを一般化しようとして必死なひとがいるスレはここですか?
ここですが、なにか? TextOut1万回以上使う場合は API を使えという結論ですが、なにか?
ハイハイ、立派な結論がでたところで次、どうぞ。 注:立派な書き込みは次スレが出るまで待つように。または wiki へどうぞ。
Image1を、一発で色変更したいのですが、どうすればできますか?
Image1 のどこの色
Image1.Canvas.Brush.Color := clLime; Image1.Canvas.FillRect(Image1.ClientRect);
一個ずつひろって 置き換えるとよい。 var hage1,hage2; for hage1 := ...
Delphiで稼ぐ 仕入れと納品Setp Up講座 よろぴく。 ... ...... ..... ..
梅
995 :
デフォルトの名無しさん :2005/07/13(水) 19:02:37
膿め
Image1の全体を一発で塗り潰しはできないのかあ。 どもでしとぁ。
腹を切って死ぬべきである