4 :
デフォルトの名無しさん:2005/06/17(金) 22:06:43
ペ様
Delphi2005のWin32のVCLはUnicodeに対応していますか?
>5
してない
TNTを使えとのこと
そういやTNTの爆弾マークの意味最近知った
>>6 ありがとうございます。
{$IFDEF UNICODE}
とかでunicodeにできるといいなあとか思ったりしました。
いちいち 〜WとかWIde〜とか面倒ですし
普段からTNTで作ればよいのでは?
ユニコードを使うなら、もう VCL+TNT なんていう中途半端はやめた方がいい。
C# でやりましょう。
TreeView1 のコピーを以下のようにしているのですがノードが1000以上になると目立って
遅くなります。何かいい方法はないでしょうか?
SubTree.Items.BeginUpdate;
SubTree.Items.Clear;
SubTree.Items.Assign(MainTree.Items);
SubTree.Items.EndUpdate;
え?
TTreeViewにもTListViewの仮想リストビューのようなものが使えるのですか?
エクスプローラにD&Dした時にD&D先のPathを取得したいんだけど
どうしたらいいのでしょうか?
エクスプローラからファイル名を取得したり、
エクスプローラへファイル名を渡してコピーする、
というのはいくつか情報が見つかりましたが、
上記の方法がわかりません。
>>16 失礼かもしれないけど、自分の作ったアプリにドラッグアンドドロップされたファイル名を受け取るロジックは理解しているの?
OLE D&D でググル
>>17 受け取るのと渡すのでは違う。失礼かもしれないけどそこのとこ理解してる?
Delphi6 Personal で、
WideString から WideChar や PWideChar に変換するには、
どうしたら良いでのでしょうか?
>>20 WideString <-> PWideChar はキャストを使う
WideString -> WideChar は[ ]で何文字目か指定する
const
ws: WideString = 'hoge';
var
pwchar: PWideChar;
wchar: WideChar;
begin
pwchar := PWideChar(ws); //キャストで代入
wchar := s[1]; //sの1文字目を取り出す
end;
>>21 訂正
wchar := ws[1]; //wsの1文字目を取り出す
Delphi6をインスコしようと思いフリメでライセンス登録をしたのですが、最終確認メールが届きません
サイトでは送信しました。と表示されているのですが・・・
これってすぐには届かないものなのでしょうか?
24 :
23:2005/06/18(土) 19:57:41
すみません前スレ読んでませんでした
>>332 >>974付近をよく読んでみます
気長に待って見ます ご迷惑をお掛けしました
TShellListView でフォルダー(仮想フォルダーではない)を表示しないようにできますか?
>>25 AddFolderイベントで追加されようとしているアイテムをIsFolderで調べてTrueだったら追加しない。
27 :
デフォルトの名無しさん:2005/06/19(日) 00:07:57
全角キモj
じゃあ来るな。
KIMO
Delphi6 Personal とMSXMLを使っています
CDATAセクションを読み取るにはどうすればよいでしょうか?
niftyのmsxmlサンプルを読んでみましたがCDATAについて書いていませんでした
32 :
20:2005/06/19(日) 14:15:55
>>21 詳しくありがとうございました。できました。
メモっておこう......
_______________
| _____________ |
| |:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::| |
| |:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::| | ザー
| |:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::| |
| |::::::::::::::::::::::::::::::::::::;;;;;;;;;;;::::::::::::::| |
| |:::::::::::/ ̄ ̄ ̄`´ `ヽ:::::::| |
| |::::::::::| :ill||||||||||ll: ,-‐‐、l::::::| |
|  ̄ ̄| ||||||||||||||||「しi .l ll ̄ .|
| ̄「 ̄| |||||||||||||||||i ̄川リ ̄| ̄|
|_| ノ |||||||||||||||||| |_|
/ ||||||||||||||||||
/ /||||||||||||||||||
/ ̄/ ̄ |||||||||||||||||
/ / |l|l|l|l|l|l|l|l
/ / |l|l|l|l|l|l|ll
/ ヘJ l|l|l|l|l|l|l
ノ川 ||l||l||ll
【呪いのコピペ】
このレスを見た人は1週間以内に他のスレへコピペしてください。
そうしないと突然ディスプレイからうわなんだおまえやめ
34 :
デフォルトの名無しさん:2005/06/19(日) 16:04:31
あついなヲイ
35 :
デフォルトの名無しさん:2005/06/20(月) 00:46:01
あの、ほんとーーにしょうがない質問で恐縮なのですが、
どうやったら皆さんの言う「プログラミング」たるものが作れるんでしょう・・?
なにかソフトを買ってきてPCに入れるんですか?それとももうPCに作れるようになっているのでしょか?
なんだか自分でもよくわかんない質問ですみません。。
プログラミングは初心者の初心者なんで、お手柔らかに教えていただけると嬉しいです。。。
あついなヲイ
まず粘土を買って来い
>>35 1.メモ帳を開け
2 format c: と入力
3 test.batというファイル名でデスクトップ上に保存。
4 test.batをダブルクリック
最初にプログラマが通る道だ
>>39 大丈夫。初心者ならtest.bat.txtで保存してくれるはずだ。
何この異様な親切さ加減w
ちょっと感動した。
一時的にEXEファイルを起動不可能にしたいんですけど、出来ますか?
>>44 出来るよ。つーか調べりゃすぐ出てくるじゃんよ!
「exe ファイル 捨てたい」
TOpenDialogを使っているんですが、
ショートカットをダブルクリックすると、ショートカットファイル自体がFilesで渡されてるようです。
ダイアログの中できちんとショートカット先に進めるようにはならないでしょうか?
>ofNoDereferenceLinks
>Windows ショートカットの逆参照を無効にする
というプロパティをいじっても何も変わらず……。
環境はD6/WinXPです。
>>47 ショートカットからリンク先のパスを取得しれ。
50 :
47:2005/06/20(月) 17:25:21
すいません。なんかショートカット云々以前の問題かもしれないです。
ファイル開こうとしただけで強制終了とか。ほんとにすいませんでした。
51 :
デフォルトの名無しさん:2005/06/21(火) 16:14:25
Windows95(非Winsock2)で、FTPクライアント機能を実現したいんですが、何かいい方法はないでしょうか。
IndyコンポーネントにはIdFTP、IdTrivialFTPコンポーネントがありますが、クライアントが
Winsock2環境でなくてはいけないという条件があり、採用できません。
Delphiのバージョンは7です。
よろしくお願いします。
WinInet
すいません。どうにも時間がないもので。
WinInetはDelphiで提供されているものではなく、DLLなんですね。
かなり難しそうですが、サンプルを提供されている方がいらっしゃいましたんで、
ちょっと調べてみます。
どうもありがとうございました。
55 :
デフォルトの名無しさん:2005/06/21(火) 23:28:13
TWebBrowserで表示されている値を取得したいです。
以前Niftyの掲示板で見たのですが以前とは変わっていて
前のログは見れなくなりました。
すいませんがどなたか教えてください。
(Niftyはやめちゃいました。)
おぼろげな記憶では
Edit1.txt := Webbrowser1.OleObject・・・・'body'
見たいな感じでした。
TTimer の interval って、処理時間の分はどうなってるのでしょうか?
例えば、interval が3分で処理時間が10分だった場合、13分おきに実行されるのでしょうか?
3分おきに実行されるのだったら、
処理時間が interval を越えて場合は、どんな処理になるのでしょうか?
メッセージキューで終わるのを待ってるだけ。複数たまると一つにまとめられる。
不思議なことはなにもない。
例えば、処理が Sleep(10 * 60 * 1000); なら、
10分おきに OnTimer が呼び出される。
60 :
デフォルトの名無しさん:2005/06/22(水) 06:31:06
実行ファイルから実行ファイルのリソースを編集にはどうすればよいでしょうか?
読み込みについては何とかなりそうなんですが、改変の方法がわかりません。
>>60 実行ファイルだろうがデータファイルだろうがファイルはファイルだよ
すみません。1つ上のディレクトリを取得したい場合はどのようにすれば良いでしょうか。
例えば「c:\hoge\hoge32」から「c:\hoge」を求めたいと思っています。
>>63 ExtractFilePath(c:\hoge\hoge32)
>>63 ExtractFileDir('c:\hoge\hoge32')='c:\hoge'
質問です。
コンポーネントのプロパティにあるTopとLeftの単位って
何を基準に考えればよいのでしょうか?
例えばTButtonの位置を、今ある位置から正確に1cmだけ
ずらしたい場合などは、実際Leftプロパティを幾つずらせば
正確に1cmずれたことになるのでしょうか?
宜しくお願いします。
cm・・・
単位はピクセル。画面の解像度で640x480とかあるじゃん。
1cmずらすというのは難しいな。モニタのサイズに依存するから。
dpi取得することなんてできるのかね。
>>66 あなたの環境での1cmが他の人の環境での1cmと同じだとでも?
>>66 誤差による精度落ちが起こる可能性があるので
基準となる座標を 別に保存しておいた方がいい。
XDPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
YDPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
1cmのピクセル = XDPI * 1 <cm>;
Xピクセル の長さ = X / XPI <インチ>
function InchTotwips(InchValue: Extended) : integer;
begin // twips 単位 (1440 dpi)
Result := trunc(InchValue * 1440);
end;
function twipsToInch(twipsValue: Extended) : Extended;
begin // twips 単位 (1440 dpi)
Result := twipsValue / 1440;
end;
function InchToMm(InchValue : Extended) : Extended;
begin // 1 Inch - 25.4 mm
Result := InchValue * 25.4;
end;
訂正
1cmのピクセル = InchToMm(XDPI * 1) <cm>;
function mmToInch(MmValue : Extended) : Extended;
begin // 1 Inch - 25.4 mm
Result := MmValue / 25.4;
end;
訂正
1cmのピクセル = trunc(XDPI * mmToInch(10));
訂正
YDPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSY);
まとめ
XDPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
YDPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSY);
Xピクセル の長さ <インチ> := X / XPI;
Xピクセル の長さ <cm> := InchToMm(X / XPI) / 10;
1cmのピクセル <ピクセル> := trunc(XDPI * mmToInch(10));
1インチのピクセル <ピクセル> := XDPI;
>XDPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
19インチと17インチのCRT両方で96が返って来る・・・
デバイスが古すぎて情報取れてないのかな。
>>76 何インチだろうが設定が96なら96しか返らないだろ。
むしろ その1cmに本当に意味があるのかどうか 考え直せ
例えば、画面の解像度を取得して、横と縦のピクセル数のそれぞれ1/10とかでもいいんじゃないか
HORZSIZE物理画面の幅 (ミリメートル単位)
VERTSIZE物理画面の高さ (ミリメートル単位)
上のはプレート内の幅を含むので、見えている範囲の実寸の取り方は知らない。
80 :
63:2005/06/22(水) 16:04:06
81 :
66:2005/06/22(水) 16:14:25
>>66です
すみません。質問の仕方が悪かったです。
実際にはQuickReportで質問した内容のことがやりたくて質問致しました。
A4サイズの紙に対し、端から何CMの位置にデータを印字したいとか、そういう話です。
混乱を招くような質問の仕方でした。本当すみません。
実際には、ミリ単位での誤差も出ないようにQRLabelなどのコンポーネントを配置しなければ
ならなかったため
>>66のような質問を致しました。
皆さんに頂いたレスを参考に再度取り組んでみます。
レスして頂いた方々、ありがとうございました。
>>81 QuickReportなら 正確な出力はむりかもしれません
カスタムコンポーネント作ったことがありますが
すこしずれます。
RatioX := GetDeviceCaps(QRPrinter.Canvas.Handle, LOGPIXELSX)
/ GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
RatioY := GetDeviceCaps(QRPrinter.Canvas.Handle, LOGPIXELSY)
/ GetDeviceCaps(Canvas.Handle, LOGPIXELSY);
に書きたい座標のピクセルかけると
QRPrinter.Canvas,の座標になる
QRLabel1.Left :=
trunc(1 * GetDeviceCaps(QRLabel1.Canvas.Handle, LOGPIXELSX) / 2.54);
で いいいと思います
ここまでレスが付くと関心するね
ドライブ名(D:\とか)から、そのドライブのデバイス名(MAXTOR *****)を取得する事は可能ですか?
WMIとか使うと良いと聞いたのですが、どうもよくわかりません。
どうぞ宜しくお願いします。
WMIはCOMオブジェクト。よって他のCOMと同じように扱うことが出来る。
タイプライブラリに取り込むか、CreateOleObjectでオブジェクト作るかどちらかの方法で。
なおにWMIそのものの仕様についてはMSDN参照のこと。
87 :
85:2005/06/23(木) 02:54:03
http://homepage3.nifty.com/KENCH/open/wmi/delphi_wmi.htm ここのサンプルを見ながらやってみました。
ここで悩んだのですが、OleVariant型に格納されている値って、
それがStringかIntegerかBoolか配列なのか扱えない型なのか・・という判別は、Delphiでできるのでしょうか。
tryで総当たりしか無いでしょうか。
それと、Win32_LogicalDiskで、論理ドライブの一覧を、Win32_DiskDriveで物理ドライブの一覧を得ることができました。
しかし、論理ドライブがどの物理ドライブ上にあるのか、上手く繋がりません。
何をキーにリレーションすると良いのでしょうか。
VarIs○○○じゃダメなのかい
89 :
85:2005/06/23(木) 11:28:28
VarIsでできました。
助かりました。
論理ドライブから物理ドライブを割り出すのはなかなか上手くいかないですが、
これはDelphiではなくてWMIの問題ですね。
文字列処理について質問です。
何百〜何千と文字列を検索し、切り抜き、連結するということを繰り返す場合、
Copy関数による部分文字列の抜き出し、
及びstring型+string型の文字列連結では、非常に動作が遅いと知り、
私もそう感じたので、何とか高速化したいと思っています。
ですがその方法が全く分からずに、途方にくれております。
知恵をお貸しください。
ポインタで検索、Copy でなくポインタを使ってメモリコピー。
連結は、あらかじめ Size を長めに取っておいた TStringStream の Write を
つかうとよい。
TStringStream より TMemoryStream を使ったほうがよさそう。あらかじめ大きめに SetSize()
しておけば拡張に伴う無駄なコピーは避けられる
リファレンスの「文字列処理ルーチン(ヌルで終わる)」を使った
C言語のような文字列処理をやればいいんだけど
Delphiの範囲内で0からそれを覚えられるのか知らん。
特に遅い部分のサンプルコードでも晒してみたら。
Copy で抜き出して 「string型+string型の文字列連結」じゃ、これ以上ないくらい遅いだろ。
コード見なくても分かるでしょ。
コードがあれば高速化したコードを示せるかもしれないって話。
>>96 「string型+string型の文字列連結」の「高速化したコード」例を示して
なんだこいつ・・・
99 :
90:2005/06/23(木) 20:06:08
部分的ではありますが、このようなことをしています。
テクストファイルの各行に含まれる、二つの要素を連結させて
TStringListに溜め込み、まとめて出力する といった感じです。
procedure TForm1.Button1Click(Sender: TObject);
var StrList : TStringList;
var ResList : TStringList;
var posision: integer;
var i : integer;
var Line : string;
var StrA : string;
var StrB : string;
var Res : string;
begin
if OpenDialog1.Execute then begin
StrList := TStringList.Create;
ResList := TStringList.Create;
StrList.LoadFromFile(OpenDialog1.FileName);
i := 0;
while StrList.Count > i do begin
Line := StrList[i];
posision := Pos('hogehoge', Line);
posision := Pos('piyopiyo', Line);
StrA := Copy(Line, posision, 8);
StrB := Copy(Line, posision, 8);
Res := StrA + ' ' + StrB;
ResList.Add(Res);
Inc(i);
end;
Memo1.Lines.Assign(ResList);
end;
end;
100 :
90:2005/06/23(木) 20:07:15
Tabは有効じゃないんですねorz
Resは常に'piyopiyo piyopiyo'になるような・・・と野暮なこと言ってみる
どうでもいいが var が大杉
position
piyopiyo の位置を探して piyopiyo をコピーして、連結!?
なんでコピーする必要があるのか理解不能
コピーしなくても piyopiyo じゃん
105 :
90:2005/06/23(木) 20:25:18
posision := Pos('hogehoge', Line);
StrA := Copy(Line, posision, 8);
posision := Pos('piyopiyo', Line);
StrB := Copy(Line, posision, 8);
Res := StrA + ' ' + StrB;
でした すみません;
なにやってるんだ>>自分 orz
>posision := Pos('hogehoge', Line);
>StrA := Copy(Line, posision, 8);
だから、なんで Copy する必要があるの? StrA は posision が -1 でないかぎり
'hogehoge' になるのは自明でしょ
107 :
90:2005/06/23(木) 20:34:09
>>104 >>106 処理を再現しているだけであって、
本当にhogehogeとpiyppiyoをcopyしているわけではありませんよ^^;
流石にそこまでイカレてません;
で、既に回答があるように領域確保してコピーすればいいだけかと。
SetLength(Res,17);
Move(Line[posision],Res[1],8);
とか色々。不思議なコードを出した理由は?
じゃ、Pos で検索して何をコピーしてるのか教えて
110 :
デフォルトの名無しさん:2005/06/23(木) 20:48:34
>>104 106
それくらい悟れよ(W
ただ突っかかりたいだけかもしれんが。
関係ないけど携帯ってこのスレでは無力だねTT
いや、想像もできんね。あのコードは。
112 :
90:2005/06/23(木) 20:51:56
>>108 ご教授ありがとうございます。
それでガンガッてみます!
P.S.
ソースを晒したのは、
>>94氏の助言です。
はずれ
111 = 97 = おれ
>>90 > posision := Pos('hogehoge', Line);
Line にどれくらいのサイズを想定しているのかわからんけど、PosやAnsiPos
は非常に遅い。できたら自前のPosを用意した方がいい。
C#なら超高速なStringBuilderがあるのにね
SetLength+Moveはないだろ。レベル低すぎ。
レベル高いレスだな
示されたコードを見れば、速度を望むのは百年早い感じだね。
×速度を望むのは百年早い感じだね。
○このスレでまともなレスを望むのは未来永劫無理っぽい感じだね。
というか十分ヒントは出てんだからあとは本人次第だろ
まだまだ堕レスが続きます。一旦CM。
DelphiはUNIXでも使えますか?
Kylixはもう過去のものですか?
Kylix って、過去も現在も未来もないでしょ
Kylix -> Kyli x
Kyli キーリー 切り
x ばつ
切り捨ててよし
つかってもばつ
Unixも ばつ
Vsへいそげ
なにこのスレ
129 :
デフォルトの名無しさん:2005/06/24(金) 18:27:53
WideString の文字列を置換したいのですが、どうしたらよいか悩んでいます。
日本語Shift-JISなら AnsiReplaceStr などで出来るんですが、ユニコードの場合は
どうしたらいいのでしょうか。
簡単なので
・自分で関数を作る
・ネットから関数をひろってくる
・関数作れないなら、stringに戻して置換してwideに戻す。
ユニコードの方が簡単に関数作れそうだね。
SysUtilsのstring, PChar, Charあたりを痴漢してSysUtilsWを作る。
なにこのスレ
134 :
129:2005/06/24(金) 20:58:10
自己レス。バイト単位でしこしこ変換することにしました。
あー、明日も出勤だ。(たぶんあさっても...)
>>134 同情するよ。
Delphiの生産性がVB.NETの一割ほどでもあれば
とっくに終わってたはずなのに根。
>>136 まともな議論ができないからこちらで鬱憤を晴らすしかないようですよ。
inc(同情);
Delete(Delphi fo win32);
Add(C#);
Add(J#);
Add(Vb.net);
なにこのスレ
雑談で恐縮ですが前スレで話題にした『くまざわ書店』,
今日行ってみたらDelphi関連の書籍が激減していました orz.
もし逝ってみてがっかりされた方がいらっしゃったらごめんなさいね.
{$IFDEF CHIRASHI_NO_URA}
Delphiのゲームプログラミングの本を探していたのですが,
Delphiに限らずそういう本の扱いがほとんどなくなっていました.
近くの別な店でも同様で,趣味のプログラマ人口がさらに減ってきているのかな.
{$ENDIF}
>>129 もし置換したい文字列と置換後の文字列の中に
日本語Shift-JISで表現できない文字が含まれてなければ
そのまま使っても構いません.
WideString型とAnsiString(=string)型の文字列はお互いに代入可能で,代入するときに変換します.
これは関数や手続きのパラメータ(引数),関数の戻り値でも行われます.
var Src, Dest, Old, New: WideString;
:
:
Src := '2005年7月21日';
Old := '月';
New := 'がつ';
Dest := AnsiReplaceStr(Src, Old, New);
処理するデータ量が膨大だと速度の問題が出るかもしれませんが
ある程度まではこれで行けると思います.
Delphi使ってる奴って結局はCができなくて
IDE使わなきゃなにもできなくて
GUIで操作しなきゃわからなくて
付属のコンポネント使うしかできない
やつらがつかうもんだろ?
Cができないと言うのは同感だな
できたらそんな書き方しないだろってのを欲見る
付属のテキストエディタを組み込む奴も多すぎな
テキストエディタすらかけないんだったらコード書くなよ
っていいたい
141=142
俺の学校では普段
Windows使ってる奴: Delphi
Linux使ってる奴: Pascal
UNIX使ってる奴: C
をやらされた
教授に聞いたら
WindowsユーザはGUIが使えないと何もできないから
Linuxユーザはプログラミングを教える必要があるから
UNIXユーザは教える必要がないけど一応教えないといけないから
っていう答えだった
確かにそうだと思った
うちではDelphiはプログラミングではなくRPGツクールみたいな物だっていわれたよ
RPGツクールってやったことないからわからなかったけど
Delphiは結局、CなりC++なりができなかった人が使うものだからねえ
知合いにCでつまづいてDelphi使ってたひといるけど
つまづいてたところを詳しく実例とかで説明したら理解できたらしく
それからC使いはじめましたね
なにこのスレ
激しくスレ違いですよ
Cできない奴なんていたんだ
>>145 そりゃVCLとか使ってる場合の話だろ。
>141
*Charのメモリ確保が面倒だからDelphiを使っているだけ
Delphiのメリット無いので
C#にのりかえ決定!!
以上
CCCいってるやつらは、ソフトにポインタエラーつけてユーザーをこまらせないでくれ
市販ソフトで、よくみかけるぞ。
強制IDまだー…?
そんなソフト作ってるメーカーがあるなら大問題だろ
サポセンに電話なりてパッチ出すか返金しろっていえよ
Cでポインタがまともに使えないならCを使う意味がないだろ
まともに扱えないならポインタを使わないかC使うなよ
C マンセーしてる奴の言い分ってどゆこと?
C から WindowsAPI を叩いてプログラミングした方が効率が良いって言いたいの?
あんな面倒な言語、必要に迫られなきゃ使わないんだけど。
使わないっていうか使えないんだろ
プゲラ
仕事はCだけど家だとDelphiだね
利点欠点はそれで十分だろう。
それ以外は個人の能力と経験の差をその人が埋められるか埋められないか。それは言語関係ない。
Delphiでコンソールアプリ書けるの?
うちの大学ではDelphiは単位取れない人用の厨房言語って位置づけだったけどな
Delphiでなんか適当に作らせて卒業の単位上げようって感じだった
>>157 デバイスドライバ以外なら何でも作れる。
>>158 まぁ、それは三流大学だとそういう流れかと。言語段階でどうこう言ってるうちは創造的なプログラムは無理。
阪大です。
最近VCL使わずにプログラム作ってて気付いたんだけど
WindowsAPIにいわゆるInputBoxってないんだね。
これすげー意外だった。OpenDialogとかより使う場面多そうなのに・・
で、質問なんですけど
VCLのソース見てみると、結局FormとEditとButtonを使って新しいFormを作って表示してるようだけど
やっぱりこれが一番ベターなやり方なのでしょうか?
VCL だとそういうことになる。SDK だとダイアログエディタで VCL よりすこしだけ
面倒くさいだけで同じことが出来る。Delphi の IDE はトータルでみるとダイアログ
エディタなんだよね、よーするに。
C、Cいってる奴は逆にPascalを知らないよプゲラ
>160
おれといしょで
三流大学だな。
1流は京都、東大。
2流は日本にはないな。
のこりの旧帝大は、全部三流。(3流未満の学部も存在するが・・・)
まぁ。人を学歴で判断したらダメだな。
採用の時には、参考にはしていいけどよ。
セミナー(無料)
ボーランドビジュアル開発ツール紹介セミナー
いそげ 定員 40名
166 :
デフォルトの名無しさん:2005/06/25(土) 10:30:38
VCLのコード改変して再配布って出来るの?
ライセンス嫁
このスレッドはBorland(ボーランド)のDelphi(デルファイ)について、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
このスレッドはBorland(ボーランド)のDelphi(デルファイ)について、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
Delphiってなんて読むんですか
どぇらぁふぇぃー
perlでいうsplitと同じことをやりたくて
一字ずつ連結していって区切り文字で区切るという単純な方法で分割してるんですが
数万行単位のリストに対してこれをやるのはアホでしょうか?
一行まとめて読まないとパフォーマンスはかなり落ちるよ。
TStringList.DelimitedTextはダメ?
俺の会社では情報科卒業の奴は絶対に採用しないな
糞ばっかり
「学校ではこうならいました」とか、言い訳がましい
悪まで授業でならってるんだから、実戦的なコードなんてかけないし
学校でちょっとやるだけで家でやってる奴なんてほとんどいない
東大卒の奴を雇ったことあるけど何もできなかったから辞めてもらった
プログラマなんて、できるかできないかなんだから学校行って教えてもらってる奴には無理
自分からどんどん次にいけるようにOSのソース見たりして独学でやるとか
してる奴じゃないと使いものにならん
>TStringList.DelimitedText
すいません。多分これでokです
179 :
sage:2005/06/25(土) 21:46:42
すいません、単純な質問なんですけど、Delphi6のPersonalで「WebBrowser」を
使用したいんですけど、無理なんですかね?
グーグルで探しましたが何も掴めなかったんで…
WebBrowserを使うには金払って違うの買うしか道はない?
>>179 ActiveXコントロールのMicrosoft Internet Contorols(version 1.??)を取り込めば使える
と思うよ。つか、Googleで検索したらモッサリ出てくるじゃん。
>>177 ちょっとびびってますが
プログラマーってOSのソースを理解できないとやっていけないレベルなんですか?
しかも入社までに独学でクリアしとかないと就職できないように聞こえたんですが
餓鬼アマグラマとして知りたいです
調べ方が間違ってました。ありがとうございます。
>>182 買い物カゴ作るのにOSのソースを理解できている必要があると思うか?
つまり、そういう事だ。仕事による。
>>182 プログラマといってもいろいろだ。
ディバイスドライバを書く人もいれば、エクセルのマクロしかできないプログラマもいる。
共通するのは、かっとんだコードを書けることではなくて、顧客の要求する仕様を満足したコードを納期を守って書くことだな。
>>182 まずDelphiやってるようなやつは無理
Delphiなんてしょせんはサンデープログラマ用
メモリが直に扱えない言語は仕事には向かないでしょ
またいつものアンチか。あいかわらず馬鹿なことやってるなぁ。
アンチではないでしょ
結構まともなこといってるし
負け犬が初心者スレで憂さ晴らし
まともなやつがこんなスレ違いするかね
194 :
デフォルトの名無しさん:2005/06/25(土) 23:57:00
>>188 仕事の内容によるだろ。
プログラマと呼ばれる人たちが全員システムに引っ付いたプログラムを作っているわけではない。
初心者同士楽しそうですね
ここでは初めての書込みですが。。。
なんでいまだにVBオタが常駐してるの?
すごくウザイ。
197 :
デフォルトの名無しさん:2005/06/26(日) 01:36:48
Delphiエキスパートの皆さんこんばんわ。
初心者スレ荒らして楽しいですか?
VB.NETスレの和気藹々としつつも礼節をわきまえた
建設的なふいんきを見習ってくれれば幸いです。
>197 荒らすなボケ
無視・スルーを覚えようぜ。
C使えない奴はみんないっしょだろ
童貞皆兄弟
Delphiもしっかり理解すりゃCもだいたいわかると思うがね
Delphiってメモリ直接叩けるの?
64bitWindows対応のネイティブコンパイラはいつ頃出る予定ですか?
C以外はメモリ叩けないだろ
から、何?
プロジェクトオプション→パッケージ→設計時パッケージでチェックを入れても、
プロジェクトを保存して開きなおすと勝手にチェックが外れてしまうパッケージがあるのですが、
何が原因でしょうか?
210 :
デフォルトの名無しさん:2005/06/26(日) 21:02:32
質問です。コンソールで作りながら勉強中の者です。
ファイルをエクスプローラでダブルクリックしたのと同じように開くにはどうしたらいいですか?
ShellExecute
212 :
210:2005/06/26(日) 21:25:06
usesって何かも分からないです。すいません。もうちょっと勉強してから質問します。教えてくれてありがとう
>>209 パッケージのパスが無効とかデフォルトで使用しないになってるとかかな
>>210 ShellAPIをusesしておいて
ShellExecute(Handle, 'OPEN', 'hoge.html', '','',SW_SHOW);
なんてやるとhtmlファイルを開くプログラムが登録されている場合
そのプログラムを起動して開きます(多分IEかな)
コンソールアプリの場合の Handle って、何のハンドル?
0でいいよ
0 でいいかどうかは訊いてない。
車のハンドル
今日アルバイト雇ったんだけどびっくりしたよ
うち組込みの会社だぜ?
コードが書ける奴募集見たいな広告出したんだけど
来た奴全員雇ったら8割方Delphiびっくりしたよ
しかもコンソールアプリもかけないでやんの
今まで作ったアプリは? って聞いたら
ありません っっっっって、
アホかよ
ちょっとコード書いてみてって言って書かせようとしたら
IDEが無いと書けませんって・・・ orz
おまえ今までクリックしてただけでコード書いてないだろ
残りの少しの人間の一部がC書いてるやつで
こいつらはコミュニティに参加してたりして
けっこうできる奴だった
Delphi使ってる奴ってどうしてここまでアホなの?
またイジメられたのか?
Delphiユーザにもできるやつはいるけどそんなの0.5%にも満たない
>>221 コピペ。
Delphi使えるやつが全体の8割りなんてそもそもありえない。
いや、コピペじゃないぞ
今日と言うか昨日の事件
>>221 面接なんかやる暇わない
>>222 事実
Delphi使えるやつがってDelphiしか使えないやつがのまちがえだろ
まぁ、Delphiすら使えてなかったわけだが
8割っていっても雇ったの80人強だから60人ちょいなんだけど
>>223 組込みだって
OS作ったり、管理システム作ってる
GUIプログラムなってやったことがない
大体Windowsじゃなくて、IRIXとSolaris, NetBSDを使ってる
>>224 この板来たの初めて
Delphiユーザは本当にばかばっかなのか調べようと思ってみただけ
まぁ、今日来てもらって
どうしようもない奴は首にするつもりだけど
俺も昔、ソフト屋にバイトいったことあるけど
Delphiユーザ多かったよ
>>218が言っていることと、俺の経験からいわせてもらうと
Cユーザは回りに優れたOS等のコードもあり自分のレベルがわかるが
Delphiユーザは回りに優れたコードもなく自分のレベルがわからない
よって、自分がちょっと人よりいいものを作ったと思ったらその人よりすぐれてると勘違いする
しかもTKなどを使ってやってるため自分一人じゃ一からコードをかけない
自分はTKの間を繋げてるだけ
こんな感じか?
日本語がわかるならスレタイと
>>1を読んでほしいと思う初心者であった。
日曜日にバイトを雇うような組み込み系の会社には行きたくない。
ここは初心者質問スレなんだから
くだらない質問はギコスレでやってくれよ
普通日曜日に集めるだろ
月曜から出社なんだから
学生か?
>>227 >Delphi使いが優しくコメントを返しますが
質問に答えるかたちでコメントするとは書いてないぞ?
inlineがどうとかで逆切れした人らしいよヒソヒソ
Delphiユーザが必死に自分達のレベルを死守しようとしてるんだから
ほっといてやりなさい
社会に出て、 井の中の蛙 っていう言葉を知るんだから
まあ荒らしは放置ってことで
↓次の質問どうぞ
Delphiユーザはばかなんですか?
TKを多用して自分でコード書かないし
メモリの制御も勝手にやられる
こんな言語使ってる奴にまともなやつはいない
>>236 C#、VBの話題は他所でやってください
VCLとMFC同時に使うと危険ですか?
239 :
236:2005/06/27(月) 10:03:20
Delphiは結局のところ
C言語が理解できなかったひとのための言語
だからちょっと頭が弱いひとでも使えるようになってる
>>240 C#、VBの話題は他所でやってください
>>225 面接無しで80人雇うっておまえの会社やべーな。
人事はちゃんと機能してるか?
だいたい組み込み系なのにコード書けるやつで募集するなんてアホか?
しかもDelphiが少し出来る程度を60人て、、教育するのにも一苦労だな。
募集したのは初めてだったか?
いい人材欲しけりゃ、面倒がらずにコマめに求人募集かけろよ。
もう質問もあまりないしあっても質の低いレスしか返って来ないんだから
信者と釣り師で好きなだけじゃれあってたら。
>>243 Delphiの人はやめてもらうっていってるだろ?
レスするんなら文章読もうな
>>241 C言語 = C#
他の言語 = VB
おまえらMicroSoftに侵されてんな
>>242 学生は社会のことがわからないのかな?
金曜日は仕事があるだろ?
土日も仕事はあるけど暇を作ろうとするなら休日だろ?
頭使えな
Delphiの雑談批判はこちらで
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その23
http://pc8.2ch.net/test/read.cgi/tech/1116997081/ このスレッドはBorland(ボーランド)のDelphi(デルファイ)について、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
>>248 基地外が居座ってる以上いくら仕切ってももう手遅れ。
ここももう終わりだな。
自分の意見がとおらないひとは全員おかしい扱い
頭大丈夫か?
よっぽどストレス溜まってんだな。憂さ晴らし?
>>250 ここは初心者がDelphiに関する技術的な質問をする場所
スレタイと
>>1は読めるだろ?
雑談、批判等は
>>248にあるスレで
こいつらはいちおう質問に答えてるだけだとおもうんだけど?
それをお前等が自分にたいして気にくわない発言をしてるからって
文句をいってるだけに思うのだが...
そして不毛ではてしないメタ議論に突入・・・
馬鹿は自分が馬鹿だってことに気づかないって本当だな
アンチは何故このスレで議論しようとする訳?頭おかしいんじゃね?
専用スレでやれよ池沼。
Del厨症候群:三つ以上当てはまる人は今すぐ回線切って精神科に逝きましょう
1 社会的相互作用の重大な欠陥(次のうち少なくとも二つ)
a 友達と相互に関わる能力に欠ける
b 友達と相互に関わろうとする意欲に欠ける
c 社会的シグナルの理解に欠ける
d 社会的・感情的に適切を欠く行動
2 没入的で狭い興味・関心(次のうち少なくとも一つ)
a ほかの活動を受けつけない
b 固執を繰り返す
c 固定的で無目的な傾向
3 決まりや興味・関心の押しつけ(次のうち少なくとも一つ)
a 自分に対して、生活上で
b 他人に対して
4 言葉と言語表現の問題(次のうち少なくとも三つ)
a 発達の遅れ
b 表面的には誤りのない表出言語
c 形式的、もったいぶった言語表現
d 韻律の奇妙さ、独特な声の調子
e 理解の悪さ:表面的/暗示的意味の間違った解釈を含む
5 非言語コミュニケーションの問題(次のうち少なくとも一つ)
a 身ぶりの使用が少ない
b 身体言語(ボディ・ランゲージ)のぎこちなさ/無神経さ
c 表情が乏しい
d 表現が適切でない
e 視線が奇妙、よそよそしい
6 運動の不器用さ
神経発達の検査成績が低い
傍観者だけど
自分にはDelphiユーザのほうが必死に見えるよw
>>210 program Project1;
uses
SysUtils, ShellAPI;
begin
ShellExecute(0, 'OPEN', 'C:\Test.Doc', '','',0);
end.
これだけで大丈夫だと思う
一瞬コンソールウィンドウが表示されるのがちょっと困るけど
プ
うむ
指摘されてるてんに答えるわけでもなく
頭が悪いだの基地外だのって
心の底では認めてるんだけど言われたくないから
追い出そうとしてるって感じだな
はじめてDelphiのコード見たけど
Pascalみたいだな
元々はObjectPascalと言ってたから
Delphi7からDelphi言語というヘンテコな名前になってしまったけど
>>263 ここはそういう抽象的な議論する場所じゃないってまだわからないの?
>>267 >もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです
質問形式にすればどんな煽りも許されそうだな
>>268 >このスレッドはBorland(ボーランド)のDelphi(デルファイ)について、
>>270 で、どうしてBorlandのDelphiのユーザーはそんなに必死で粘着質なんですか?
272 :
265:2005/06/27(月) 11:19:11
>>266 ありがとう
OpenBSD使いだから全然みる機会がなかった
ここもたまたま凄い勢いでレスが付いてるのでのぞいてみたんだけどね
どうでもいいけど
昔 Kylixって奴を使ったことがあるんだけどそれはCで書いてたな
公式ブックにKylixはDelphiのGNU/Linux版って書いてあったのに
あれは意味がわからなかったな
しばらくして、KylixのC言語バージョンだってことがわかったんだけど
じゃあ、Delphiじゃないじゃんって思った
ごめん、 日記でした
カイリックスってUNIX版VCL見たいなもん
DelphiがWin32版VCL
アンチはスレ違いだって事が分からないのか?
議論専用スレが用意されてないならまだしも、用意されているのにこんなスレに出張って
批判して馬鹿なんじゃねーの?駄目だと思うなら使わなければいいだけだろ。
それとも「DelphiユーザにDelphiの駄目さを気付かせてやるぜ!」とかいう正義感か?w
まじで必死だな
VCLってなに?
なんか荒れてるようですが質問していいですか?
CSVファイルの各要素を展開するのにTStrings.CommaTextを使ってますが
データにスペースやカンマが有る場合はそこで区切られてしまいます
何かよい手はないでしょうか?
空気嫁
Object Pascal は,型チェックの厳密なコンパイラ型の高水準言語であり,構造化されたオブジェクト指向設計をサポートします。
コードが読みやすい,高速なコンパイル,複数のユニットファイルの使用によるモジュラープログラミングが可能であるなどの利点があります。
Object Pascal には,Borland のコンポーネントフレームワークと RAD 環境をサポートする特殊な機能があります。
この言語ガイドの説明と例では,ほとんどの場合,Delphi や Kylix などの Borland の開発ツールで Object Pascal を使ってアプリケーションを開発することを前提としています。
Borland の開発ツールを使用する開発者のほとんどは,コードの作成とコンパイルを統合開発環境(IDE)を使って行います。
Borland の開発ツールは,ユニット間の依存関係情報の保守といった,プロジェクトやソースファイルに関する設定の詳細の多くを処理します。また,厳密に言えば Object Pascal 言語の仕様とは関わりのないプログラム構成上の制約についても関与します。
たとえば,Borland の開発ツールで要求されるファイル名やプログラム名の命名規約の一部は,IDE を使わずにプログラムを作成してコマンドプロンプトからコンパイルする際には従う必要がありません。
このヘルプでは,読者は全般的に IDE を使って作業し,VCL(ビジュアルコンポーネントライブラリ)または CLX(クロスプラットフォーム用コンポーネントライブラリ)を使うアプリケーションを開発することを前提にしています。
なお,Object Pascal プログラミング全体に適用される規則とは区別される Borland 固有の規則も一部にあります。
まじで変な質問だな。
「データにスペースやカンマが有る場合はそこで区切られてしまいます 」
区切られないほうが変だろ
281 :
274:2005/06/27(月) 11:30:44
>>275 少し長めの文書いたら必死と思われるらしいけど、もう必死と思われても良いからスレ違いな
話題はやめて欲しい訳よ。
>>276 クラスの集合体。説明すると物凄く長くなるから調べてくれ。
>>277 自前で展開ルーチン書くしかなさげ。
CSVは読み込み/書き出しクラス自作しておけば便利だから作っておくことオススメ。
274は一体いつになったらスルーというスキルを習得できるんだろう・・・
279 みたいのがコピペあらしっていうんだね。
>>278 すいません。でも人が多く集まってるみたいなので
>>280 たとえば ABC,1 2 3,山田 太郎 というデータだと
TStringListにABC, 1, 2, 3, 山田,太郎と6つに格納されてしまいます
これをABC, 1 2 3, 山田 太郎というように3つにしたいのです
"ABC","1 2 3","山田 太郎"
DelimiterとDelimitedTextでもダメなんだっけ?
>>286 ありがとうございます。出来ました。
でもCSVファイル元データに"が付いてないので
自前で"付ける処理が必要になってしまいます。
FAQ
CommaTextはSDFを処理するのであってCSVを期待したようには処理してくれない。
自前で書くべし。
>>288 データ作成元でスペース、カンマが含まれるデータは"で括ってもらう
それが無理ならConnmaText前にStringReplaceで半角、全角、カンマを置換
Strings[i]で取り出した後で元に戻す
> CommaTextはSDFを処理するのであってCSVを期待したようには処理してくれない。
Delphi には CSV を処理する関数もクラスも標準ではついてないのか!?
すごい処理系だね
面倒だからBCB
AnsiString source_string = "ABC,1 2 3,山田 太郎";
TStringList* string_list = new TStringList; // == string_list.Create
char* work = source_string.c_str(); // == PCHAR(source_string)
AnsiString buffer;
bool quote = false;
while(true) {
if (*work == ',' || *work == '\0') {
if (quote) {
buffer = buffer + *work;
work++;
continue;
}
work++;
string_list->Add(Buffer);
if (*work == '\0') break;
buffer = "";
continue;
} else if (*work == '\"') {
quote = quote ? false : true;
} else {
buffer = buffer + *work;
work++;
}
}
>>290 置換は考え付きませんでした。
予め"を付けてもらうってのは無理なので展開前に置換することにします。
>>292 すいません。BCBはさっぱりです。
でもVCL部分は同じなので後でソース解析してみます。
if (quote) {
buffer = buffer + *work;
work++;
continue;
}
↓
if (quote) {
work++;
continue;
}
な。orz
例文のデータだと不要な処理だけど
295 :
294:2005/06/27(月) 11:59:56
上の取り消し。脳が沸いているようだorz
やっぱりDelphi厨が昼飯くいだすと静かになるわけで
外から見てても、Delphiユーザ側が荒してるようにしか見えん
>>291 Perlかなんかと勘違いしてる奴は消えろよ
>>296 ぷっ、真性馬鹿かよw
荒らし側が飯喰ってても同じだろうが
つか、荒らしのレスの殆どが自演にしか見えない。
C C C 言ってるところなんかが特に。
実際、C で Windows アプリ(GUI)作ってる奴なんか、ロクに居ねーだろ。
ちょっとしたものを作るなら、Python や Ruby でサクっと済ます。
そういった奴等の方が多いでしょ。
↑荒らしの典型
Delphi厨 飯食い終わったみたいだね
>>296 VC++って何に使うの?
大体PythonとかRubyってインタプリタだよな?
知ってる言葉並べればいいってもんじゃないんだぞ
Cができないから他の言語持ち出したぞこいつら
>>300 おいおい超ドマイナー言語持ち出された時点でイヤミと気づけよ
RubyとPythonっていつからマイナーになったの?
>>VC++って何に使うの?
一文字ずつ解説。
V
これは、おなじみのソフトクリームのカップです。
C
これは、90°右に回転させて、Vに乗せます。
++
さいごに上に乗せます
ソフトクリームでした。
>>245=
>>215 ダメだこいつ。
流れ的にはこんなだろ。
1.コード書ける奴集まれ〜ってか、来るだけで採用♪←ハァ?
2.「どんなコードかけるの〜?」『Delphiでポトペタやったことある〜』「それだけ?ダメ。首。やめろ。」←面接して聞けよ。
3.「うちGUIアプリ作らないから。てか、IRIXとSolaris, NetBSD使ってますから(すごいでしょ)」←募集するときにかけよ。
4.80人中60人切りました。←・・・。
腐った会社だな。
RubyとPythonっていつからメジャーになったの?
> RubyとPythonっていつからマイナーになったの?
昔も今も ミラクル舞菜
ぴゅーたベーシックよりはメジャーだろ
こいつらDelphi以外知らないのか
かわいそうに
こいつらのなかではDelphiこそがベストな言語だから
それ以外はこいつらにとってはマイナーってこと
誰も他のひとにとってマイナーとはいっていない
turboPascalしってまつぅ
マイナーなものを知らないからかわいそうっていうのは変な理屈だな
ってか、WindowsユーザはRubyあんまり知らないんじゃね?
おれっちはdelphiをしらなかったし
Winに インタープリタはいりません
>>315が インタプリタ言語が使えないだけでは?
winはvbスクリプトという強力なインタプリタがデフォルトでありまつ。
Delphiユーザ同士仲良くしろよ
"foo,""bar""",baz
をまともに処理できるCSV splitterがすぐ出てこないところに
このスレの救いがたいレベルの低さが見て取れるな。
やっぱり、Delphi厨がいなくなったら静かになった
>>319 ヒント2:
もしくは質問者自身何が何だが分からない質問を勇気を持って・・・
CができてもDelphiが使えないからあらしてんだろ?
悔しかったらDelphiやってみろよ
プゲラ
Delphiこそアプリを書くために作られた言語
>>323 DelphiのもとのPascalは教育用言語なわけだが
CはOSを書くために作られアプリを書くために拡張され続けられている言語
CができればDelphiを覚える必要はない
Delphiは実質Windowsでしか使えないからあんまり役に立たないし
一社がサポートしている言語だからその会社が止めますって言えば発展は終わる
>>322 うちの学校では
(Pascal, Delphi) -> (C, アセンブラ) -> (XML, Java)
って言うコースだった
Pascalは使えてもCでこけるひとがほぼ全てでしたけど
もともとCやってたひとはPascalに頭かしげてました
Javaまでたどり着けた人は1%もいなかったかな
Cできるひとで希望者はJavaやらないでOS開発にいってましたけど
326 :
325:2005/06/27(月) 13:44:00
:1,1s/322/323/
> CができればDelphiを覚える必要はない
おかしくってハラがよじれる。馬鹿レスの典型
ここは不毛なインターネッツですね
>>328 なんで?
俺はAIX使いだから使えないっていうのもあるけどそれは置いといて聞きたい
一応俺がそれなりに使えるのは
assembli(スペルあってるっけ?), C, ada, Perl, PHP
かな?
Delphiのコードはみたことないからわからないけど
元がPascalなら、昔教えてたことがあるからできるかもね
まぁ、なぜCができるのにDelphiを覚える必要があるのか聞きたい
俺がWindows使ってることとして
Adaが使える奴に他の言語覚えろとか言うやつがいるんなら
そいつはその言語の開発者とかそのレベルだと思う
俺はCができるんなら、それはほぼ全てのOSで使えるから覚える必要はないと思うよ
俺もDelphi使ってるけど、Delphiは所詮遊び言語だと思う
ハード関連はまったく叩けないし
ハードやメモリを直接扱えなくてダメだと言ってるのは
おそらく組込み、ファーム寄りの人なんだろうな
俺はアプリケーション作成がメインだから
GUIを楽に早く堅牢に作れるDelphiは手放せない
アプリケーション作るにも自分でメモリ叩くのと
勝手に適当にやられるのでは全然違うと思うぞ
ってか、Delphiでコンソールアプリ作るのは辛過ぎる
>>333 楽に作るならVBのほうがいいと思うぞ
DelphiユーザもVBユーザといっしょで動けばどんなコードでも
いいって感じのひとなの?
Delphiはソースコード付属してるから裏で何やってるかわかる
>ってか、Delphiでコンソールアプリ作るのは辛過ぎる
そんな奴いねーよw
そんなやついねーよってどういう意味?
少なくとも俺は作ってたぞ?
あまりにも辛過ぎてCに戻したけど
それはそれは・・・
いやコンソールアプリ作るのにDelphi使う必要ないでしょ
このスレッドはBorland(ボーランド)のDelphi(デルファイ)について、
他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが、
お礼はDelphiの布教と初心者の救済をお願いします。
<雑談・討論などはこちらへ>
ミ,,゚Д゚彡フサギコのフサフサDelphi談話室その23
http://pc8.2ch.net/test/read.cgi/tech/1116997081/
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の全体を一発で塗り潰しはできないのかあ。 どもでしとぁ。
腹を切って死ぬべきである