TWebBrowserコントロールでBackSpace、5ボタンマウスの戻る/進むボタンが動作しないため、情報を検索してみましたが。
どうもそれらしい解決策が見つかりません…
ご存じの方がいればよろしくお願いしますorz
vk_browser_forward/backwardあたりが飛んできそうな予感
このスレは前スレを使い切ってから使ってね!
前スレはもうdat落ちしているようですね。
950すぎて書き込みがないとすぐに落ちるのでしたっけ?
今回も989までしか確認できず…
こっちで確認できるのは991(2009/07/01 16:29:00)が最後かな。
同じく991っすね
ブラウザでみりゃ分かるから報告しなくていい
991まで確認。
質問スレの最後らへんって書き込みようがないよな。
Del/Unicodeで、TStringListをAnsiStringモードで動作させたりできないのでしょうか?
LoadFromFileはロケール設定できますが、ValuesとかNamesとか。。。
AnsiStringsユニット
演算子のオーバーロードの位置づけが分からないってことなら
ユーザー定義型で + - * / なんかの特殊な記号をメソッド的に使えるようにしただけ。
具体的な使い方が知りたいなら
DemosのComplexNumbersでも眺めてみたら。
15 :
11:2009/07/06(月) 09:24:14
d
>>12 なんだか関数モンリーで、
TStringListAnsi
だとか
TAnsiStringList
みたいのは無いんですね。
17 :
デフォルトの名無しさん:2009/07/07(火) 10:21:26
教えてください。
TColorListBoxにて
選択した項目をダブルクリックして
そのカラーを取得したいのですが、方法がわかりません。
表示されている文字列は、Itemsで取得できますが
そのItemsに関連づけられているカラーの取得方法がわかりません。
GetItemData()というメソッドを見つけたのですが、protected宣言されていて
使えませんでした。
IdentToColor ?
どうもです。
名前からTColorへの変換は、IdentToColorで出来ました。
ところで、カラー情報を直接取り出すことって出来ないのでしょうか。
自分でAddItem()してリストに追加したカラーがこれでは取り出せないので。
まあ、自分で追加したカラーは、覚えておいて、IdentToColorで失敗したら
ゴソゴソと調べればいいんでしょうけど。
procedure TForm1.ColorListBox1DblClick(Sender: TObject);
begin
Color:=ColorListBox1.Selected;
end;
>>20 超さんくすです。
Selectedってヘルプに載っていないのね。
でも、VCLって選択されたオブジェクトは、Selectedで返すというのが共通しているっぽい。
メインフォームをアクティブにせずサブフォームを常に手前に表示ってのは可能?
FormStyleをfsStayOnTopとかそういうことではなく?
delphi7で作ったソフトをCore2とセレのPCで実行すると
セレのほうが圧倒的に早いんだけど何で?
作ったソフトはスレッドをいくつか動的に作成して
データ解析していくってものなんだけど。
スレッドがちゃんと並列動作していない。
レスdです。
Core2は片肺運転してるってことですか。
パフォーマンス見たら2つ使ってるように見えたんだけどなぁ。
皆さんはどうしてます?
教えてください。お願いします。
Core2なんて知りません
具体的な処理内容も分からないのに回答できるエスパーなんていねえよバカ
なんで?
スレッドを効率よく実行するCore2ならではの
命令とかテクニックがあるのかなっておもっただけじゃん。
もうちょっと一から十まで説明されないと僕ちゃん何もできませんってタイプか?
俺も日本語勉強しなきゃ。
>>もうちょっと一から十まで説明されないと僕ちゃん何もできませんってタイプか?
馬鹿丸出しだな。
答える気も知識もないならスレに貼りつかなくてもいいんじゃね。
隔離スレに戻ったら。
じゃあ答えてもらう気がないなら書くなってことになりますね
私のためにケンカしないで!!!
>>32 えっ?それはそういうことでいいんでないの
喧嘩はよくないがとりあえず知識云々の前に
日本語の勉強をし直した方がよさそうな人が
いるので勉強し直してきて下さい
質問する立場にもかかわらず、情報を小出しにする、出し渋るというアホは半年ROMってろ
意味わかんないから
エキ翻したら「36はぉ馬鹿さん」て出た
/二__,--、r'"___、 ヾト、.ヽ
レ'"~,-,、 ! ! ' '" ̄ .ノ\ヾ:、
K/ー'~^~_/ ヽミ:ー‐‐'" ヽ i
!〉ー―'"( o ⊂! ' ヽ ∪ Y」_ 意味わかんないから
i ∪ ,.:::二二ニ:::.、. l 、... エキ翻したら「36はぉ馬鹿さん」て出た
! :r'エ┴┴'ーダ ∪ ! !l
.i、 . ヾ=、__./ ト=.
ヽ 、∪ ― .ノ .,!
流れをぶった切って質問。
中村拓男・著「Delphiコンポーネント設計&開発 完全解説」の電子版を
DL購入しようと思うのですがどこの店がいいとか悪いとかおすすめありますか?
某エロいサイトみたいに会員登録すればいつでもDL可だとありがたいのですが
暑くなると湧くなぁw
lazarusのコンポってDelにインストールできる?
ぐぐったら逆はOKっぽいんだけど、Delに入れる記事が
見つからなかった。
ソースさえあればどーとでもなる
仰るとおりですが、
そこを何とかお願いします。
なら、pasソースをDelphiに組み込んで、エラーを書け。
てか、pasソースを組み込む方法を知らない?
つ マニュアル
つ スレタイ
38とか44みたいにストレス発散でここくるのやめてくれないかな。
くだすれで偉そうにされても。。。
周りから馬鹿にされて、かわいそうとは思うけど。
梅雨明けですね
∧ ∧
ミ ゚Д゚彡
〜ミ,,,,uuミ
つゆ空けですねー。
どういうコンポを組み込みたいん?
関係ないですけどFusaコンポ軍のおかげで
Lazarus助かってます。ありがとうございます。
チラシの裏みたいな
>>39の続きですが結局楽天で購入しました。
以下、すべて私の主観ですがPDFでも案外読みやすかったです。
普段持ち歩いているネットブックの1024×600ピクセルの環境でも
ウィンドウを最大化+幅に合わせて表示、でそれなりに読めました。
Frame1のデザイナーでButton1を一個乗せ、Form1上にFrame11とFrame12の二つを配置しました。
今フォームには二つButton1があり、Frame11に乗っているButton1とFrame12に乗っているButton1とで
Frame1のコードだけでそれぞれ違った動作をさせたいんですが、どうすればいいでしょうか。
押されたボタンが乗っているFrameの名前を取得する関数があれば一発でできると思うのですが、あれば教えてください。
Turbo Dephiを使っています。
よろしくお願いします。
コンパイル通してないけど、
TFrame(TButton(Sender).Parent).Name
じゃね?
>>52 ありがとう
なんとかいけそうな感じになってきた
54 :
デフォルトの名無しさん:2009/07/17(金) 15:51:34
教えてくださいませ。
Builderの定義済みマクロに相当するものってDelphiにはありますか。
__DATE__,__FILE__,__FUNC__,__LINE__,__TIME__
等を使いたいのですけど。
ヘルプを探してみたのですが、見あたりませんでした。
ない
56 :
54:2009/07/18(土) 13:08:39
ま・・・マジっすかぁ。
たとえば、処理をしていて、何か不都合が発生した場合に
どこで発生したのかを記録しておきたい場合は
Builderなら、__FUNC__,__LINE__等を出力していたのですけど
delphiの場合にはどのようにすれば良いのでしょうか。
何か代替するものがありますか。
57 :
デフォルトの名無しさん:2009/07/18(土) 13:13:46
ラベルを時計回りに90度回転させる方法求む
すごく求む
(editでもmemoでもいいです)
すっげー
ラベルも何もいらねーの
カッコよすぎ
ありがとすぎ
こくじんってあの?
procedure TForm1.MainGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
MainGrid.Canvas.Font.Color := clBlue;
MainGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
これコンパイル通らないんだけどなんでかね?
[エラー] Unit1.pas(1925): 互換性の無い型です
>1925
ってどの行だよ?
MainGridはTDBGridだと思うんだが、それすら情報を出さずに質問されてもな。
・・・ゴメン。
MainGrid : TDBGrid
[1925]MainGrid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
です。
DataSourceはTClientDataset。
>>62だけではエラーがでないんだが@D7
他の所で間違ってないか?
863 :陽気な名無しさん:2009/07/22(水) 22:21:32 ID:55/a1dTuO
あたしの大学のクラスメイトの聴覚障害者は最悪な人格だったわ。
障害者の人も普通の人間だから、余り幻想を抱いてしまうのもちょっと違うって感じ。
でも、その障害者の子、海に行った時にチンコ見せてくれたけど(頼んだわけぢゃないわよ!ずっとフルチンでぶらぶら更衣室にいたの)
デカかったわ。全然タイプぢゃなかったのが残念。
868 :陽気な名無しさん:2009/07/22(水) 23:04:05 ID:I2rj2zgwO
>>863 手話サークルに入っている友人によると、聴覚障害者はチンコが大きい人が多いらしいわ。
後聴覚障害者のゲイの率も高いみたい。肌を触れるコミュニケーションが多いからかもしれないと言っていたわ。
数年前にプールに行ったら手話で子供に話しかける若パパがいたけど、イケメンの彼も凄いモッコリだったわ。
(子供はちゃんと声が出ていたから、聴覚障害者なのは若パパの方だと思うわ)
【短パン】無防備な若パパ【タンク】
http://changi.2ch.net/test/read.cgi/gaysaloon/1241864735/
でるっぴぃ
初めて質問させていただきます
TWebBrowserで動画などをクリックしたときにダウンロードダイアログを表示させないようにしたいのですがどのようにすればいいのでしょうか?
調べていくうちにDLCTLなどIE自体を操作するコマンドを見つけたのですが、使い方が調べてもわかりません
環境はturbo delphi2006です
教えてください お願いします
TWebBrowserについて調べりゃいいじゃん
>>69 とりあえずOnBeforeNavigate2イベントでCancel:=True;とする作業に戻れ
あとは応用
Delphi2009でXPからVistaに乗り換えたら
DocumentExplorerがないからヘルプ使えないと怒られるんだが
どこで入手できるのか教えて下さい
そんなことも分からないのにDelphi2009買っちゃったの?
osを変えたんだろ
在日は黙ってろ
おまえが?
鏡くらい見ろよ
>73
ヘルプかヘルプアップデートをインストールすれば自動的に入るはずだが?というかDocument Explorerが
入っていないとヘルプのインストールができないんだけど。
そんなことは余裕で分かってる
>>74さんが一言
↓
74って何しに出てきたんだ?
76もおかしい罠。顔赤くするのは74だ世なぁ、
( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
誰も分からないんだね
頭の悪い人ばかりだね、バイバイ
84 :
78:2009/07/28(火) 00:06:25
や、だからヘルプのインストール忘れてるんじゃね?っていうことなんだが。
>>73意外書き込みしてないんだが
アップデートしたらDocumentExplorerインスコされました
>>78さんありがとうございました
夏の暑い夜に煽りあってるオッサンってウケル
オリジナルのフォントを使用する場合、Windowsに
インストールしておかないといけないのでしょうか?
っAddFontResourceEx
dekoさんてpcodeさんとは違うの?
何となく似てるように感じるんだけど。
似てるかなぁ?
pcodeさんは、中身は別としても、もっと口が悪かったように感じる。
見ず知らずの相手に乱暴な書き込みをするってことと
知識は(俺からみて)神だから、なかなかそんな人いないだろうと
余所でやれ
93 :
87:2009/07/30(木) 15:17:58
>>88 回答ありがとうございます。使い方調べてみます。
あ
スレチかもしれないのですが、プログラムの解説本やサイトの
サンプルで何かのバッファの変数を作るときに、サイズを1024
にしている例が多いのですが、なぜなんでしょうか?
そのバッファサイズの指定にはほとんど意味がないということを示す場合に
16,32,64,128,256,512,1024,4096,65536
あたりをとりあえず使う。
実際の開発では動的に適切なサイズを確保してバッファオーバーフローしないようにという警告。
と解釈しとけばいいよ。
早速の回答ありがとうございます。
すっきりしました。
1024ってそれなりに意味あるだろ。
バッファに入ってくるであろうと予想される最大サイズに十分な余裕を持たせて
しかも切れのよい数字。そして大きすぎない。それが1024。
俺も
>>96は何か違うと思う
少なくとも意味がないということを示してるわけではない
元々入ってくると予想されるデータ自体が最大1024だとか、何らかの意味は持ってるだろ
安易なサンプルコードの流用によるセキュリティリスクへの警句としてそれなりの価値があるけど、
そういう問題じゃないよな。
というかぁ、セキュリティー警告などしていないだろ。
サンプルの1024に意味のあった試しがない
104 :
デフォルトの名無しさん:2009/08/03(月) 13:29:01
データベースから拾ってきた文字列データ(改行入り)を
行ごとに処理したいのですが、TStringsへのうまい変換方法が分かりません
var
tstr: TStrings;
tstr:=rst.field['mojiretsu'].value; ←これだとvariant扱いで×
var
str: string
str:=rst.field['mojiretsu'].value;
↑これは通ったので
ためしにformにメモを貼り付け
memo1.lines:=str
とやってみたらこれもOK
どうにかやりたいことは可能になったのですが、方法としてはあまりにもドンくさい
もっとまともなやり方があったら教えてください
それはVariantだからという理由ではない。
クラスはただの雛形だから、使う前に生成しないとだめ。
あとTStringsは抽象クラスなのでそのままでは使えない。
普通はTStringsから継承したTStringListってのを使う。
試してないけど
var
tstr: TStringList;
begin
tstr := TStringList.Create;
tstr.text := rstなんたら
とかでなんとかなるんじゃないかなぁ。
改行入りなんだから
tstr.add(rstなんたら);
じゃないのか。
それだとtstr.Countは1になるので、「行ごとに処理したい」とは違うのではないかと。
108 :
デフォルトの名無しさん:2009/08/03(月) 17:15:21
ありがとうございます
tstr.text:=
でOKでした
tstr.add
だとインデックスの範囲が何とかで怒られます
あと、これって使い終わったら
.Freeとかするんですよね
いらんよ
終了すればおk
通常のクラスインスタンスはcreate/freeをセットで使う
んn・・・どっち?
やって害がないならとりあえずやっときます
createしたらfreeしろ
教えてください。
買ったままずーっと放置してあったBDS2006を今頃になってインストールして
いろいろ試しているんですが、ASPのデモプログラムが動きません。
\Demos\Delphi.Net\ASP\MastApp のデモを実行すると
>[Pascal 致命的エラー] F1026 ファイル 'c:\program files\common files\borland shared\bds\shared assemblies\4.0\Borland.Data.Web.dll'
>が見つかりません
となります。
PC上のフォルダや、CD-ROMのinstallフォルダを探しても Borland.Data.Web.DLL が見当たらないんですが
どこに入ってるんですか?
115 :
114:2009/08/04(火) 15:55:59
これ書いてからBDS2006のスレがあるのに気付きました。
あっちで聞いた方がいいですか?
116 :
デフォルトの名無しさん:2009/08/05(水) 01:15:31
大きさを指定したlabelに、captionに文字を入力したとき、
文字数に応じてフォントのサイズを自動変換し、枠内に入れたいのです。
エクセルで例えると、「縮小して全体を表示する」です。
お手数をお掛けいたしますが、お教え願います。
>>114 Enterprise版かArchitect版買えば入ってるよ
要するにお前さんの環境では無理
>>116 label=TLabelと仮定するが、TLabelってことは入力はIDE上でやるんだよな?
結論から言えばTLabelにそんな機能はないので無理
IDE上で自動的にやりたいなら、TCustomLabelを継承した上で、
CMTextChanged辺りにそういう処理を追加した新しいコンポ作ればおk
もしくはAdjustBoundsを丸々オーバーライドする方がシンプルで楽かも
118 :
デフォルトの名無しさん:2009/08/05(水) 06:31:49
突然すいません!書き込みする場所が分からなかったので
ここに書きます。まだなまちょこざいな高3ですが
楽器和音解析のプログラム研究をしています。
複数楽器から音が出ている和音状態から単音分解し、
その単音ごとにどの楽器の音なのか分析をかけていきます。
でも、その為には各楽器の特徴波抽出をしなければいけません。
そこで、スペクトログラムによる声紋分析処理を声ではなく、
楽器にかけて声紋ならぬ楽器紋認証を行いたいのです。
予めある楽器の楽器紋データをバンクにおいておき、そのデータと
入力信号の楽器紋データを照合し、一致不一致の判定を行わせます。
この判定処理の際に、データの全一致か部分一致かの問題があります。
全一致ではたぶん恐ろしい処理量になってしまうので部分一致で
判定したいのですが、その部分がどこなのか皆目検討がつきません・・・。
声特有のフォルマント的な特徴が存在すれば良いのですが
・・・どうでしょうか?
警察の声門照合はたぶん部分一致だと思います。
おまけにすばらしい分解能。いったいどの部分を
抽出していることやら・・・。ヒントになりませんかね???
誰かよろしくお願いします。
それのどこがDelphiと関係あるのかと小一時間問い詰めたい
120 :
114:2009/08/05(水) 13:17:09
>>117 そですか。残念ですた。
ありがとうございます。
>>116 procedure setlabelcaption(label: tlabel; s: string);
begin
label.font.size := 16;
while label.canvas.textwidth(s) <= label.width then
label.font.size := label.font.size - 1;
label.caption := s;
end;
みたいなユーティリティ関数作ればいいんじゃねーの
TLabelを継承して自作クラスにすりゃいいだろうに・・・
onpaint で drawtextすりゃ良いじゃん
WH_DEBUGは自アプリにしか効かないのでしょうか?
lpBuffer: array[0..1024+1] of Char;
HTMLのTextをIndyとかを使わずに取得するサンプルで
上記のような書き方をしているんですが、素直に
lpBuffer: array[0..1025]] of Char;
と、書かない理由って何でしょうか?
よろしくお願いします。
C形式の文字列を扱う場合、末尾に#0, '\0'がくっつくから
実質的なデータは0..1024に入るって事を言いたいのだろう。
深く悩むような事でもない。
ありがとうがございました。
129 :
VB最強:2009/08/07(金) 07:07:54
DelphiってVBよりどこが優れてるの?
消滅したりしてないところ。
ベンチャービジネス。これ常識。
133 :
126:2009/08/07(金) 12:47:16
昨日はありがとうございました。
ヤフーの株価情報を自動でダウンロードするプログラムを作ろうとしてサンプルコードを参考に
(と言ってもForを追加しただけ)下記のようなプログラムでテストしていたんですが、途中で固まってしまいます。
固まるタイミングは色々で、固まっている原因もwhile分で回り続けてる訳では無いみたいです。
なぜ、固まってしまうか指摘お願いできませんでしょうか。
134 :
126:2009/08/07(金) 12:47:57
procedure TForm1.Button1Click(Sender: TObject);
var
hSession: HINTERNET;
hService: HINTERNET;
lpBuffer: array[0..1024+1] of Char;
dwBytesRead: DWORD;
i:integer;
begin
for i:=1300 to 9999 do
begin
hSession := InternetOpen( 'MyApp', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if Assigned( hSession ) then
begin
hService := InternetOpenUrl( hSession, PChar('
http://stocks.finance.yahoo.co.jp/stocks/detail/?code='+IntToStr(i)), nil, 0, 0, 0);
if Assigned( hService ) then
while true do
begin
dwBytesRead := 1024;
InternetReadFile( hService, @lpBuffer, 1024, dwBytesRead );
if dwBytesRead = 0 then break;
lpBuffer[dwBytesRead] := #0;
//Memo1.Lines.Add( lpBuffer );
end; //while
lpBuffer:=#0;
Memo1.Lines.Add( IntToStr(i) );
InternetCloseHandle( hService );
end; //if
InternetCloseHandle( hSession );
Application.ProcessMessages;
end; //for
end;
0..1024-1ならよく見かけると思うけど、0..1024+1は初めて見た
というか
>>134のコード見ても+1する必要性が皆無だと思うんだけど
そもそもデータは1024-1までしか入らないから、null分考慮しても0..1024が無駄のない宣言の仕方
恐らく参考にしたのは
http://www.monazilla.org/document/wininetdel.html#anchor26874 だと思うけど、
ここに書いてある移植元を見たところCだったんで、これは単純に移植ミスしてるだけ
Cでのchar lpBuffer[1024]という宣言はDelphiでのlpBuffer: array[0..1024-1] of Charにあたるけど、
この時点でpBuffer: array[0..1024] of Charと移植ミスして、さらに+1したために変なことになったのかと
動かない原因については知らないけど、InternetReadFileの戻り値は調べてみた?
あとはInternetSetOptionでInternetReadFileのタイムアウトを短く設定してみるとか
それとInternetOpenを毎回呼ぶ必要はない気がする
下手な素人は余計なものをくっつけたがる
>>136 初心者スレで何を言ってるんだ。
だから、親からも周りからも馬鹿にされる人生しか送れないんだよ、お前は。
ごめん
139 :
133:2009/08/08(土) 17:54:09
>>135 ありがとうございました。
教えてもらったAPIをしらべてみます。
directxを勉強したいと思うんだけど、delphi2009とか最近のバージョンだと
標準で使えたりしますか?
それとも昔のバージョン(持ってるのは5)と比べて手間は変わらないですかね?
手間?って何が?
142 :
140:2009/08/09(日) 14:47:15
>>141 昔delphi5とかでdirectxやるには、MSじゃないどっかのサイトからヘッダだかライブラリだかを
インストールしないと使えなかった気がするんだけど、
2009とかだとその辺どうなのかな、と思って。
DelphiXとかQuadruple Dとかのことか?
インスコはそんなに手間だったのかw
あとググったらQuadruple DはD2009でも普通に使えるっぽいぞ
Clootieのことじゃないか?
直接叩けないのは定数とかのせい?
え…?
>>142 それぐらいで手間っていうんじゃプログラマやめた方がよいよ
Delphiで書かないでC++で書いた方が色々楽だぞw
場合によっちゃ面倒臭がり屋の方が優秀な場合もあるのがPG
何年かぶりにD7でなんか作ろうかと思って、最近買ったノートPCにインストールしたんですけど
D7終了するときに一瞬エラーダイアログが出て「ジャンッ!」って音がして終了します。
D7を起動して終了するだけなら何も起こりません。
D7からプログラムを走らせた後終了すると起こります。
プログラムはどんな簡単な物でもなってしまいます。
プログラムを直接起動させた場合はそのプログラムが終了するときに
普通に終了するのでプログラムの不具合ではないと思っております。(アマチュアの想像です。)
以前のPCとの違いは、セレロンとCore2Duo、旧PCにはウィルス検出ソフト無し、新PCはノートン製が
入っています。
どこまで状況を書けばいいか分からず長文になってしまいましたが、どなたか
よろしくお願いします。
教えて下さい。
あててないならまずパッチを全部あてよう。
IDEにインストールしたコンポーネント、GExpertなんかのプラグインにバグがあると
よくおかしくなる。それらのコードがIDEの一部として動くから。
野良コンポーネントを全部取っ払って本当に安定したものだけを入れて行くようにする。
全部取っ払ってもまだおかしかったらシラネ
次のOSクリーンインストールまで耐えるしかない。
早速のレスありがとうございます。
システム入れ直して単純な環境を作って確認してみます。
ありがとうございました。
原因を調査できない人に何かを作るちからはない
OSが何かくらい書こうよ
>>153 馬鹿だなお前。
そんなだから、親からも周りからも馬鹿にされる人生しか送れないんだよ。
流れぶった切ってすまん。
過去に(多分前スレ)でマルチスレッドのプログラムで普通のシングルコアの
PCとCore2DuoのPCでシングルコアの方が早いのは何でだって質問に
コード晒さずに答えられるかボケみたいなのがあったけど、結局どうなの。
コードにもよるとしたらサンプル例みたいなのある?
>>150 [ツール]->[環境オプション] の自動保存の設定で、
「プロジェクトデスクトップ」辺りにチェックが入っていると、終了時に必ずエラーが出るって
バージョンがあったような
>>156 「一人で作業するとの三人で分担して作業するのだと一人の方が速かった、なんで?」
と言われても、作業者の詳細なスペックや肝心の作業内容が何か分からないと答えようがないだろ?
プログラムはCPU能力だけに依存して動いてるわけじゃない
ネットワークアクセスがあるなら回線速度でも変わるし、
ファイルIOがあるならIO速度によっても変わる
つまりCPU以外の環境がどうなってるか知る必要があるし、
それらをどのように使ってるかはコードを見ないと分からない
そもそも処理時間を細かく計測していけばどこがボトルネックになってるか分かるし、
そんなのはシングルコアやマルチコア関係なくまず最初にやるべきこと
その上情報をほとんど出さずにけんか腰で質問してるから
>>36みたいなこと書かれる
このスレ曖昧論になると急にハスールしだすよな
「このスレ曖昧論になると急にハスールしだすよな」という。
はぁー
TurboC++に移るかなー・・・delphiコードもコンパイルできるっつうし
日記はチラ裏に書け
今までもできてたからどうでもいい
>>158 そうかぁ、周辺の影響もあるかぁ。
ありがとう。
セレとCore2のPCならCore2の方が新しいPCで
単純にセレのPCより何やっても処理は速いと思ったんだ。
(ネットが絡むときは別なことくらいは分かるんだけど)
はぁぁぁぁ基本的なことすら知らない情弱か
>>166 初心者スレで何を言ってるんだ。
だから、親からも周りからも馬鹿にされる人生しか送れないんだよ、お前は。
ここは初心者スレってのが最大の基本事項だからな。情弱確定w
>>166
それでいいじゃん。
初心者だもん。
お前、小学生に威張ってる中学1年みたいだね。
情弱だから超初心者スレであるここに来てるのにそれをいちいち指摘するのは頭がおかしい
頭弱って166のことじゃないの?
>>172 初心者スレで何を言ってるんだ。
だから、親からも周りからも馬鹿にされる人生しか送れないんだよ、お前は。
TThreadのことで教えて下さい。
一つのTThreadクラスを動的に複数作成するような場合の
デバッグってどうすればいいのでしょう。
ブレークポイントを設定しても複数同じTThreadがあるためか
Delphiがフリーズしたようになってしまいます。
>>176 早速のレスありがとうございます。
2010ですか。欲しくなるなぁ。
D8を買って失望したD7ユーザーなんですが、
2010の情報漁ってみます。
OutputDebugString使いまくる
>>175 現状では各スレッドに固有の番号を持たせて(多少面倒だがThreadId等でもいい)、
条件付きブレークでその番号をセットすれば任意のスレッドだけブレークさせることが可能
180 :
175:2009/08/12(水) 13:48:14
>>178-179、レスありがとうございました。
Delphiがフリーズせずにデバッグできるようになりました。
勉強になりました。
いらん
>>181 対応も何も、APIを呼び出すだけのただの.NET用ラッパーなんですけどそれ
「正式」対応してもらえないと何もできない。
それがDel房クオリテー
>>184 むしろDelphiユーザーの方が耐性強いだろw
俺はコンポがないとだめなへたれだが、一部の神が何とかしてくれたりするから気にならね。
ただ、昔みたいに大ぴっらにコンポとか公開してるサイトが少ない(目立たない)のが残念。
人間なら無いものは作れ
何でも揃ってるよりは多少足りないくらいの方が作る楽しみがあるよな
ただそれを活用するためのCPANのような存在がないのがなぁ…
頭が足りないおまいら乙
足りないなら作ればいいね
こうして頭は作られた
listview でファイルリスト作る時、ShellListView を影に隠してそこからリストを取得
したら反則ですか?
一番楽に達成できるならそれでいいんじゃないの。
わずかなメモリ消費量の増加を気にするような時代でもないし。
ただファイルリスト取得は頻出するコードだから
delphi32.dciだかなんだかにFindFirst/Nextのテンプレート突っ込んでおくのも手っ取り早い。
AからBにキャストしたりという(例えばIHTMLDocumentからIHTMLDocument2を取得するような)
インターフェース間のキャストで、Aからキャスト可能なBの一覧というのは取得可能?
可能だとすればどういう手順でできるか、ヒントだけでもいいのでお願いします
195 :
デフォルトの名無しさん:2009/08/14(金) 20:09:13
VBとDelphiでどっちが優れてますか?どっちが将来性ありますか?
どっちも将来は現状維持
どっちを選んでもお前は誰にも優れているところもないし、将来性もない。
198 :
192:2009/08/14(金) 21:02:40
>>193 FindFirst/Next で出来ました。こっちの方が楽かもw
どうもありがとうございました。
200 :
デフォルトの名無しさん:2009/08/15(土) 10:18:41
メモリリークと sharemem について質問です。
例えば、
bmp := TBitmap.Create();
とした場合、閉じるまでにbmpを開放しないとメモリリークになると思いますが、
uses節に sharemem を追加すると、
ReportMemoryLeaksOnShutdown := true;
としても警告が出ません。(Delphi 2009です)
これは、sharememを足すことによって、
メモリが開放されているのか、
それともメモリリークしているけど警告が出なくなっているのか、
どちらでしょうか?
Del7Per持ってるけどTurboDelphiに乗り換えた方がいいかな?
ライブテンプレートとかIDEが進化してるから良さそうだけど
無償版だとコンポーネントをインストール出来ないんでしょ?Quadruple D使えないとキツイな^^;
無料で使える最新版はどれですか?
最新はTurboDelphi Explorerエディション
procedureとか折り畳めるからスッキリしていいんだよな・・・悩む
素直にdelphi2010を買うといいよ。
Lazarusにするとよいよ。
208 :
200:2009/08/15(土) 17:51:21
>>201 すみません、読みましたが、よくわかりませんでした・・・。
sharememをuseするとメモリリークの報告がなくなるのは、何故でしょうか?
FastMMでぐぐってみれば分かる
何を言おうとしているのかがよくわからない
>>200 メモリリークしているけど警告が出なくなっている
FastMM関連のページを参考に報告が出るように環境を作らないとダメ。
incファイルの中に詳細な設定があるので目を通すこと。
>>208 ShareMem使うって事はメモリマネージャをBorlndMM.dllに置き換えるという事だから
・Uses節にShareMem追加
・FastMM4に入ってるDebug用のBorlndMM.dllとFastMM_FullDebugMode.dllをアプリのフォルダにでも入れる
(場合によってはDLLをコンパイルし直す必要があるかも)
・コンパイラオプションで「スタックフレームの生成」をON
・リンカオプションで「TD32デバッグ情報を含める」をON
Turbo(D2006)ではこれでProject名_MemoryManager_EventLog.txtが出力されてる
ヘッダファイルを移植したpas、dcuファイルさえあれば
コンポーネントをインストールしなくても使えるんだっけ?
何言ってんのかちょっとわかんない
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。
例えばDirectX10を誰かがヘッダを移植する
でも配布する時は雑多な関数群といっしょにコンポーネントとして配布する
そうするとTurboDelphi無償版では使えない
でもヘッダのpas、dcuファイルさえあればDirectX10を使える?
Turboはコンポのインスコが出来ないだけで使えないなんてことはねーよ
>>216 もう少し日本語っぽい書き方でお願いできませんか?
>>216 WindowsのDLLに対する宣言集.pasは
インストールしなくてもusesすれば使える。
というかコンポはインストールしなくても使えるし、
裏業を使えば Turbo でもコンポをインストールして使える。
PageControl1の1つのTabSheetの上にPageControl2を乗せました。
PageControl2の1つのTabSheetの上にLabelを乗っけたいのですがなぜかPageControl1の方に乗ってしまいます。
どうすればPageControl2の方にLabelを乗せることができるのでしょうか?
>>222 オブジェクトツリーでD&Dすればあるコンポがどのコンポに属するのかを指定できる
225 :
デフォルトの名無しさん:2009/08/18(火) 07:41:40
何かVBに比べていまいちだねこの言語
VBサイコー!
直球すぐるwww
やっぱDelphiやめるわ
なにそれこわい
VBってまだあるの?
えっ
233 :
デフォルトの名無しさん:2009/08/19(水) 00:35:53
MDIアプリケーションで、
親フォームのスクロールバーを非表示にしたいのですがやり方がわかりません。
検索しても見つからず困ってます。ご教授願います。
どのバージョンで?
APIスレで教えてもらった答えで
INTERNET_OPTION_MAX_CONNS_PER_SERVER
を使えとのことなのですが、Del7に無いようです。
どうすれば使えるか教えてください。
よろしくお願いします。
自分で定義すればいいだけのことだろ
それくらいのこと聞くよりググった方が早いのに何故聞くの?馬鹿なの?
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。
先に手を放した方がまことの母親!
向うでやってくれ
243 :
デフォルトの名無しさん:2009/08/19(水) 18:58:35
JEDIでJEDI Windows APIを探してJwaWinInet.pasをusesする。
みんなもTurboCに戻ろうぜ^^
>>243 有り難うございます。
WinInetに他の定義をまねて
INTERNET_OPTION_MAX_CONNS_PER_SERVER =73;
{$EXTERNALSYM INTERNET_OPTION_MAX_CONNS_PER_SERVER}
INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER =74;
{$EXTERNALSYM INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVE}
と書いてみたんですが、認識されないっぽいです。(´・ω・`)
標準ライブラリ直書きはお勧めしないよ。
uWindows, MyWindows.pasなんて自前のユニット作って
そこにWin32API関連の追加の宣言を記述した方がいい。
uWindows;
interface
INTERNET_OPTION_MAX_CONNS_PER_SERVER =73;
implementation
end.
uses uWindows;
a = INTERNET_OPTION_MAX_CONNS_PER_SERVER;
250 :
デフォルトの名無しさん:2009/08/19(水) 22:55:47
233です。
説明不足ですいませんでした。追記させていただきます。
親フォームに子フォーム(alignプロパティをalClientに設定)を
表示させると親フォームにスクロールバーがでてくるのです。
開発環境は、turboDelphi2006です。
以上よろしくお願いします。
251 :
デフォルトの名無しさん:2009/08/19(水) 23:03:48
procedure TForm1.Button1Click(Sender: TObject);
var
State, Size: DWORD;
begin
State := 0;
Size := SizeOf(DWORD);
InternetQueryOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @State, Size);
Edit1.Text:=IntToStr(State);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
maximunConnect, Size: DWORD;
begin
maximunConnect := 32;
Size := SizeOf(DWORD);
InternetSetOption(nil, INTERNET_OPTION_MAX_CONNS_PER_SERVER, @maximunConnect, Size);
end;
>>250 だーら
ここでは、MDI クライアントがスクロールバーを表示しないようにしています。通常、MDI 子フォームがクライアント領域からはみ出している場合、スクロールバーが表示されます。
って書いてるだろ?
だーら
えーもん
ここは、「くだすれDelphi(超初心者用)その50」
早速nortonが自作プログラムを検出した
ワロエナイ
>>248 レスありがとうございました。
やってみます。
動的配列って、同じインスタンスを複数のスレッドからアクセスしても大丈夫なんでしょうか?
つまり、スレッドセーフってやつでしたっけ?
最近のDelphiのヘルプファイル見ても、まともにそこらへんの説明が見つかりません。
動的配列って、参照数とか書き込んでいるはずですよね?
別スレッドを使うクセが身に付いているのだろう
誰が下手なことを言えと言ったwwwww
つか、文字列と動的配列はスレッドセーフだとおもったんだがなあ。
俺の勘違いですかね。
>>263 参照カウントの増減はちゃんとマルチスレッドを考慮してるから、
SetLengthや書き込み以外は何も考えずに使える
スレッドにすれっと
threadvarなんて便利なものがあるとは知らなかった…。
>>260に感謝。
267 :
デフォルトの名無しさん:2009/08/21(金) 13:33:23
Delphiを狙うウィルスが猛威、作成したソフトすべてに感染と聞きました
もう終わりでしょうか?
C++Builderもダメでしょうか?
Del5〜7なんてもう誰も使ってねーよな
旧IDEのDel持ってたらヘルプのために一つ入れとくだろ常考
あるコンポーネントが作ったサブスレッドからそのコンポーネントのイベントハンドラを呼び出す
サンプルってどこかにないですか?
おれdel7
delphiって8からは買っても使ってない。
良くなって嬉しいことより、むかつくことの方が多い。
277 :
デフォルトの名無しさん:2009/08/22(土) 00:25:51
Delphi使うとウイルスに感染するって本当ですか?
>>277 PC使うとウイルスに感染する、が正しいです
なので今すぐ窓から投げ捨てましょう
dcu感染するウイルスって今頃出てきたのか
dcu感染(笑)
282 :
デフォルトの名無しさん:2009/08/22(土) 12:25:13
Delphiの4〜7が対象のウィルスって、バージョンアップさせるためにバラまいたのか?
>>269 まだ出荷している製品にDelphi 2.0のものがひとつだけありまして
こんどマイナーチェンジ版を出すところですよ orz
印刷処理をQuickReportという付属のライブラリに依存しているのですが
これがDelphi 3になったときに互換性がなくなってしまったので移行できないのです。
最近のものはTurbo Delphi Explorerで書いています。
QRの移植はそんなに手間じゃなかった記憶が・・・・
まぁ、量にもよるんでしょうけど。
TurboC++でコンパイルすればいいじゃん
初心者以前ですが
VB.netの遅さに嫌気がさしているんですが
Delphi,C++,C#,VB.netでどのくらいちがうのでしょう
例えばVBを100とした場合50なら半分の時間、みたいな
(体感的なもので)
C++>Delphi>C#=VB.net
>>287 うーん、順番はまあそうなんでしょうが
要は「早く、ならC++一択」とか「C++のが早いけど手間考えたら」
あう、失敗
Del」とか「今から覚えなおす程のアドバンテージ無し」
とかのあたりの見極めがしたくて…
覚え直すアドバンテージからするとドットネットから出る必要なし
そんなんに金かけるくらいならハードを速くしたほうがずっと安い
C++さえ理解してしまえば
delphiもC丼も数日で理解できる。
言語仕様は書き方が違うだけなので、1つの言語理解すればさほど他の言語を覚えるのは
難しくない。問題なのはクラスライブラリを使いこなせるようになるほうが大変。
.netってJITでネイティブコードに変換されるんだよね?
なのになんで.netの方が遅いってことになるの?
DirectDrow使った4方向スクロールでも
Delphi+QD3 より C++で作った方が見た目で3倍くらい処理が早かった
昔のVBより3倍ほど早かったが・・・中で何無駄なことしてんの?と思った
>>295 やっぱC++一択なのね…
C++って覚えられそうになかったからDelで何とかならんかなーと
思ったのだけど
現行のDirectXのヘッダを取り込んで既存の古いDel向けラッパーは使わなけりゃ
そこまでの差は出ないはずだがな
>>295 謎のライブラリDirectDrowを使ったせいじゃないの?w
そもそもQD3はDirectDrawのラッパーでもDirectDrowのラッパーでもないし
DirectDrawとDirect3Dの速度差調べる作業お疲れとしか
QuadlepleDは使わないからウンコだと知らなかったw
他アプリのポップアップメニューを直接叩くにはどうすればいいんですか?
アクティブにしてキーボードイベントとかなしで
Quadruple Dは3D使ってで2D描画してるってこと?
InternetOpenUrlやInternetReadFileで、ページのソースを取得したいのですが、
URLをブラウザで見た時のソースと、プログラムで取得した時のソースが違います。
プログラムで取得したソースを見るとスクリプトの記述があります。
このような場合、CGIなりスクリプトなりの処理後のソースを取得したい場合はどうすればいいでしょうか?
よろしくお願いします。
WinInetで七転八倒してないでIndy使ったら
俺、Indyスレの1みたいな人間なんですよ。(´・ω・`)
Indyスレ見てきます。
なんかよくわからんが、基本的にはCGIの処理前のソースなんてものは取得不可能な訳で
基本的に同じ物のハズ。
ブラウザ経由で取得するソースは、ブラウザが勝手に整形しているから
オリジナルソースとは、違う。
大文字小文字の違い、改行位置の違いなどはある。でもこれ以外の違いってあるのかね?
User Agentを見てるとか?
DirectDrow
フォームが表示される前か後かがわかるフラグってない?
あるよ
Visible?
WH_CBT
いまさら Delphi2009 に移行したんだが
Memo1.Lines.Add(Format('%8s |', ['test']));
Memo1.Lines.Add(Format('%8s |', ['てす']));
こんな感じに書くと、今までは AnsiString だったから
%8s がきっちり半角8文字で収まってくれたのが、
Delphi 2009 では UnicodeString 扱いされて
test+半角スペース4つ
てす+半角スペース6つ
とかいう出力になって使い物にならないんだが、
何か対処法ないものかな。
非アクティブ状態でキーボードのキーが押されたのを取得するのはどうすればいいのでしょうか。
非アクティブだからOnKeyDownも使えないし・・・
GetAsyncKeyStateだったか、そんなAPIあるだろ
>>314 Key押しを通知されないのが非アクティブなんだよ。
by Hook
SetWindowsHookEx()とかでhookするのが一般的かね。
Delphi2009から導入されたビルド設定を使ってみたいと思っています。
これはたとえば、デバッグならコードの中で{$IFDEF DEBUG}みたいに書いたら
いいのですか?
というのも$IFDEFと$ELSEを使っても、うまく実行できていないようなのです。
プリプロセッサシンボルはともにデフォルトのままです(DEBUGとRELEASE)。
もしかして全くもって検討違いな事をやってますか・・?
319 :
318:2009/08/26(水) 12:54:35
自己レスです。
ビルドするのを忘れていただけでした・・・。 orz
例外の発生箇所を特定するために
-Fオプションにてビルドを行ったのですが
下記のエラーメッセージが出力され特定することができませんでした。
エラーコード:LA73は何を意味していますか?
具具っても、マニュアルにも記載されていません。
なにか定義が必要なのでしょうか?
(例外からキャスト異常のようなのですが、コマンドにて特定するKnowHowが欲しいです)
【環境】
dcc (Borland Delphi for Linux) 14.5
Borland Delphi for Linux Version 14.5
【実行コマンド】
dcc -FXXXXXX ZZZZZZ.dpr
【コマンド実行結果】
致命的エラー: 内部エラー : LA73
スタティックリンクできてsjis対応の正規表現ライブラリでよさげなの教えてください。
CSVファイルの一行目にある「,」の数を調べたいんですけど、
どうやればいいのでしょうか?
sl := TStringList.create;
sl.CommaText := 'aaa,bbb,ccc';
sl.Count-1 ==> 2
と思ったけどCommaTextはCSVじゃないから駄目だ。
頑張ってCSVファイルのデータを正しくばらす関数を書かないといけない。
aaa bbb,"ccc,ddd",eee
なんかで挙動が変わる。
手で書いても大した手間じゃないけどな
キーボード右側のAltとCtrlの間にあるキーで普通はコンテキストメニューが出るけど
Delphiアプリではそれが利かない。
どうやれば有効になるんだろ。
delアプリでTListView上で、そのキーを押してみたけど
普通にコンテキストメニューが表示されたけど。
俺のアプリでも出た
俺も俺も
じゃあ俺も
>>328 Shft + F10でも同じことができるぞ
メニューをつけずにOnMouseDownでPopup(x,y)
Delphi2009を使っています。
TTreeViewのToolTipsをTrueにすると以前のDelphiでは
表示しきれない項目に対してツールチップヒントが表示
されていたのですが、Delphi2009では表示されません。
不具合であれば回避方法はありませんか。
また、Delphi2010では直っているんでしょうか。
ウィンドウハンドルからそのウィンドウのプレビューイメージを
取得してCanvasに描画するのってどうやるの?
342 :
341:2009/09/01(火) 19:15:10
ちなみに
「この問題を解決するには、行11548からのようにし、余分な出口を削除します」だと思ったので
(PToolTipTextW(NMHdr)^.uFlags and TTF_IDISHWND = 0) then Exit;
を
(PToolTipTextW(NMHdr)^.uFlags and TTF_IDISHWND = 0) then// Exit;
にしてから再構築したが変わらず
ひゃぁ〜
344 :
341:2009/09/01(火) 19:52:36
出来ました
_ComCtrls.dcuにリネームしてからプロジェクト上でコンパイルしました
TShellListViewを使って簡単なファイラーを作っています
右ドラッグドロップで「ここにコピー」や「WinRAR..」などのシステムメニューが出したいので
ttp://melander.dk/articles/dragdropsnapshot200902/#more-80 のThe Drag and Drop Component Suiteを使ってみたのですが使い方がよく分かりません
TDropFileSourceをDragTypes = [dtCopy, dtMove, dtLink]で置けばエクスプローラへの
右ドラッグドロップが出来るようになったのですが、受け取る側のTDropFileTargetは
どのように扱えばいいのでしょうか?
或いはどこか日本語で説明されているところはありませんでしょうか?
Delphiは2009です
以上、よろしくお願いいたします
オリジナルのフォントを使いたいのですが、設定しても
MSPゴシックになってしまいます。そこで実験として
下記のようなことをしてみましたが、やはりフォントは
MSPゴシックのままでした。
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Font.Name := 'Arial Black';
Label1.Font.Size := 36;
end;
ボタンを押すと、フォントは変わらず、サイズだけが変わります。
どうしたらフォントを変更できるでしょうか?
Windows XP SP1、Delphi 6 Professional build 6.163です。
font.charset := ansi_charsetしてから
348 :
346:2009/09/01(火) 21:41:50
できました。何時間も詰まっていたので助かりました。
ありがとうございました。
>>345 Demoが付いてるんだからソース見れば良いと思うんだけど
350 :
338:2009/09/02(水) 00:23:48
Del7から最新のに変えた場合、フリーのコンポとかってインストールできるんでしょうか?
Unicodeだから簡単にはいかないだろ
>>353 何言ってんの?文字列使ってないコンポだって山ほどあるだろ
文字列使ってたら全滅か
そうでもない
質問してる人に直接答えればいいのに
いつも回答の言葉尻とらえてうだうだやってるよねここ。
放置すればいいのにそうやってわざわざ噛みつく馬鹿もすぐ出てくるよねここ。
オマエモナー
以下、ループ
放置すればいいのにそうやってわざわざ噛みつく馬鹿もすぐ出てくるよねここ
アプリ実行中にフォームにTLabelやTEditを動的に追加してマウスでドラッグして
自由に配置したりサイズの変更をするにはどうしたらいいですか。
また追加したコンポーネントを次回アプリ起動時に復元したいのですがどうすればいいですか
環境はD7です。
Memoのカーソルがあるところに文字列を追加したいのです。
複数行なのでTStringListを使うんですけど、どうやってカーソルのあるところにAddすればいいんでしょうか?
>>362 好きなコントロールを動的生成してそれのLeftやWidth等を弄れば位置もサイズも変わる
それらのプロパティをiniでもレジストリでも好きなところに保存して次回起動時に読み込めばいいだけ
>>363 SelText
365 :
351:2009/09/04(金) 10:56:31
皆さん、レス有り難うございました。
難しそうですね。
フリーコンポで有名だった人達って今でも作ってくれてるんですかね。
ほかに行っちゃったのかな。
C#にいっちゃったよ
>365
具体的にコンポーネント名を挙げたほうがまともなレスがつくと思うけど。というかどこをひっくりかえしたら
難しいですね、なんて結論になるんだ?
368 :
351:2009/09/04(金) 21:32:34
俺のレベルからするとってこと
今までの環境をそのまま使いたいけど自分は何もしたくない!
おれも!
へえ
>>364 ありがとうございます!
できました。
しかし他の問題が発生しまして・・・
メモがたくさんあるんですけど
Memo[i].SelText:='aaaaa';
とやったら未宣言の識別子エラーが出てしまいました。
コンポーネントを変数で指定する方法は無いのでしょうか?
>>372 先にメモの配列を宣言して、それに引き当てとけば。
var
Memo:array[0..10] of TMemo;
begin
Memo[0]:=Memo1;
オブジェクト指向がわからないやつがデルファイやるとかwwww
>>373 うーんエラーが出てしまいます。
var
Form3: TForm3;
Memo:array[0..10] of TMemo;
am:Integer;
procedure TForm3.Button1Click(Sender: TObject);
begin
Memo[1]:=Form1.Memo1;
Form1.Memo[am].SelText:='あああああ';
end;
-----
[Pascal エラー] Unit3.pas(1206): E2003 未定義の識別子 : 'Memo'
何が悪いんでしょう・・・
なんで代入したMemo[1]を使わないの?
378 :
376:2009/09/05(土) 19:54:09
ごめんなさい今気付きました。
ありがとうございました。
配列変数Memoにしても変数amにしても
Form3(TForm3)の中でしか使わないなら
グローバル変数ではなくてTForm3のフィールド変数にしましょう。
TForm3 = class(TForm)
private
Memo: array [0..10] of TMemo;
am: integer;
(以下略)
外に出すといつの間にか書き換えられて不具合が起きる元です。
見たところフィールド変数とグローバル変数の違いがよく分かってない人にそんな細かい指摘して何になるの?
自己満足のためにどうしても指摘せずにはいられない嫌な性格なんだろうけど、少しは相手に合わせることも考えたら?
って前も同じようなこと言われてなかった?学習しないの?
あんたもたいがい気持ち悪いよ
Turbo Delphi Exprolerで、TIdHttpでGetしたテキスト(EUC)の一部だけが文字化けするのですが、
回避方法はありますでしょうか?
ググってみても、一部だけの文字化けというのが分かりません。
上の補足ですが、
例えば、「ありません」の「ありませ」はちゃんと表示されるのですが、「ん」が化けます。
>>383 元のテキストがどうなってるか分からないと分からないと思う
まあ、一般的な対策は変換に使ってるコンポで
不正なバイトの並びを不正文字として処理するとかだけど
バイナリレベルで受信してるはずの(Wiresharkかなんかでキャプチャした)データと、
受信バッファに入ってるデータと表示されてるデータを比べてみるべし。原因もわからず
回避する方法なんてわかるわけないでしょ。
文字コードの変換に失敗してるんじゃないの
原因が、TIdHttpのGetなのか
それとも
EUC-->SJIS変換のバグなのかを切り分けるのが先だろ。
EUC-->SJIS変換のバグに100万ペリカ
388 :
382:2009/09/07(月) 23:13:58
>>384-387 レスありがとうございます。
EUC-->SJIS変換にjconvert.pasを使うことで解決しました。お騒がせしました。
>>380 関連する情報は一カ所にまとめて必要な情報以外は外にさらさないというのは
カプセル化やブラックボックス化の第一歩で
わかりやすいプログラム、バグの起きにくいプログラムを書く上では重要なことではないかと考えたのと
理屈の理解は難しくてもやってみるだけなら難しくはないはずなので
あえて指摘しておく方がよいのではないかと考えました。
(ちなみに質問の書き込みを見たときはまだ解決する前で
指摘の前に問題を解決しないと混乱すると考えて
問題解決のためだけのレスを書いて先に投稿しようとしたのですが
リロードしたら既に解決していたので没になりました)
へたぐらまも歳とって、切れ味鈍く、くどくどしくなったな・・
Delphi2009のコードエディタ部のフリーカーソルを無効にしたいんですけど方法ありますか?
有名なフリーカーソル無効化アドインをやってみたのですが、起動時にエラーが出てしまい2009には非対応のようです。
TTreeNodes.AddChildObjectFirst(nil,"test",ぱす:ptr)
Treeノードにパスの情報を入れたいんですがどのようにすればいいのかわからないので教えてください
開放の仕方もよければお願いします。
すいませんポインタ 代入で調べたらそれらしい解説が出てきたので質問取り下げます
教えていただきたいのですが、Delphiでワードアートみたいな
3Dの文字を使うにはどうやればいいのでしょうか?
パスとか。DelphiでっていうよりはWin32APIで、だけど。詳しくは中村センセーの本あたり。
>>389 初心者相手に知識自慢でもしてるようになってきたな。年寄りにありがちな現象だけど
「理屈の理解は難しくても」とか書いてるけど、
>>379では方法だけ示して理屈一切書いてないし、
初心者があのレス見たら、グローバルにするとランダムにメモリが書き換えられるようにも取れるw
以前にも回答者の揚げ足取って煙たがられてたことあったな
もうへたに汚名被る前にコテ引退した方がいいんじゃないの?
398 :
sage:2009/09/09(水) 13:27:08
フリーカーソル無効化アドイン
パッケージ再構築して、PAS追加、Requiresにdesignide追加。
Delphi2010でも確認。
399 :
391:2009/09/09(水) 16:20:24
>>398 出来ました。ありがとうございます。正常に動作しております。
今までDLLの使用のみでD7とD2007をやっていたのでソースからの使用は盲点でした(汗
申し訳ございません。また、情報ありがとうございます。
Delphi使いも高齢化して老害が現れるようになってきたか
今さらですがそもそも質問者は基本的に問題が解決したら帰っちゃうんですね。
ここはお悩み相談所であって講演会会場じゃない。
そりゃ、どんなに頑張って相談の答え以上のことを書き込んでもダメなわけだわ。
私のせいでスレを汚しまくってしまい、すいませんでした。
>>396 それはぶっちゃけ「やっときゃ役に立つんだから理屈はいいから、やりやがれ!」という意図だったのですが
これもまあ、無茶苦茶でした。納得しなきゃ、やらないよね。
「どんなに頑張って相談の答え以上のことを書き込んでも」ってのは
ちょっと嫌味に感じるけど、何でもアリな状況のくだすれでいちいち
レスに反応してちゃ疲れるだけですぜ。
ココで聞いて解決したヤッホーイありがとん!って人が今度は教えてる
ケースもあるから(ワタシ)
403 :
デフォルトの名無しさん:2009/09/11(金) 00:21:07
同じ関数名で、引数が同じで、戻り値の型だけ違う関数って作れますか?
イメージとしては、下記のような感じです。
function GetValue(s: string): integer; overload;
function GetValue(s: string): string; overload;
※引数が同じで、型が違うため、実際にはoverloadできない
次のような使い道を想定しています。
var
s: string;
i: integer;
begin
s := hoge.GetValue('name'); // →function GetValue(s: string): string; が呼ばれる
i := hoge.GetValue('price');// →function GetValue(s: string): integer;が呼ばれる
end;
多態、委譲などを使えばできるのかもと思ったのですが、初心者なもので・・・
>>403 それができないのは、関数は戻り値を取得せずに呼ぶこともできるから
s := hoge.GetValue('name')とせずに、hoge.GetValue('name')とだけ書いたらどっちか分からないでしょ?
逆に素直に別名にするのでは何が問題なの?
procedure GetValue(const s: string; var r: string); overload;
procedure GetValue(const s: string; var r: integer); overload;
素直に別名にした方が良いと思うけど
procedure foo(a: integer); overload;
procedure foo(a: string); overload;
function bar: integer; overload;
function bar: string; overload;
foo(bar);
の曖昧さが解決できないから無理。
FileListBoxのDirectoryを指定するとファイル一覧が表示されるじゃないですか。
あれをボタンを押したらDirectoryを変更してファイル一覧を表示することってできないんですかね。
要するにボタンを押したら違うディレクトリのファイル一覧を表示したいのです。
ボタンを押したら違うディレクトリを設定すればいいんじゃないの
>>409 違うディレクトリを設定しても変更が反映されないんですよ
procedure TformTest.button11Click(Sender: TObject);
begin
FileListBox.Directory := 'c:\';
end;
で普通に変更されたけど
412 :
403:2009/09/13(日) 04:04:30
>>404,406
出来ない理由がよく分かりました。ありがとうございました。
>>405 目的の動作ができました。ありがとうございました。
>>411 なぜか今日やったら反映されました・・・
お騒がせして申し訳ございません。
RadStudio2010のインストールって新規インストールだと必ずネットに接続しておかないとだめなんですか?
一度インストールした後削除してからまたインストールしようとするとファイルがないと言われます。
最初インストールするときにダウンロードしたファイルは消してません
サポートに聞いてください
416 :
デフォルトの名無しさん:2009/09/14(月) 17:49:38
情報を表示するだけのフォームアプリを起動したとき
フォーカスを奪わないようにする方法ないですか?
procedure TForm1.FormCreate(Sender: TObject);
var
PreWnd,
Wnd:THandle;
begin
PreWnd:=GetForegroundWindow;
Wnd:=FindWindow('Progman',nil);
Windows.SetParent(Handle,Wnd);
SetForegroundWindow(PreWnd);
Windows.SetParent(Handle,0);
end;
>>416 WS_EX_NOACTIVATEでググれ
Directxでフォームとは別のクラスを作ってそこでDirectxの処理をしてピクチャーボックスに表示したいんですがどうしたらいいんでしょうか。
今はDirectXのデバイスにピクチャーボックスのハンドルを入れたらいいのかなと思ってやってるんですが間違えてますか?
public Intptr GetHandle()
{
PHandle = PictureBox1.Handle;
}
デバイスにPHandleをいれる。
private bool InitializeGraphics()
device = new Device(0, DeviceType.Hardware, PHandle,・・・・・);
420 :
419:2009/09/15(火) 12:03:52
誤爆しましたorz
教えてください。
Dlphi6で作られたProjectを2007でコンパイルするとdprファイル内で
指定されている他の.pasファイルがコンパイルできないとエラーを吐きます。
原因が全く分からりません。
Turbo Delphi Explorer が見つからないよ〜
どこ?
>421
新しいプロジェクトを作ってそこに必要なユニットを追加するほうがいいみたい。
>422
2006のサポート終了に伴い配布は終了しますた。
2006はサポート終了じゃなくて販売終了じゃないの?
エンバカから来たメールよく見てないけど
422です。そうですか、配布終わりましたか。。。
どこかから探してきて入れるのはあまり行儀良くないでしょうかね。
使いたいんだけどなぁ。残念。
>>425 日経ソフトウェアから出てる本についてるけど、タダじゃないとダメなのかな。
「Turbo DelphiではじめるWindowsプログラミング」
>>426 それってまだ登録してない人でも使える?
Q. Delphiの無料バージョンねーの?
A. ねーよ
Delphi無料にしろよけちっ!
430 :
デフォルトの名無しさん:2009/09/16(水) 22:05:01
Q デルフィで、グローバール変数を各procedureで使うとき、
そのprocedureの( )の中に、使う引数を必ず書かなければ
ならないのですか?
ヘールプをよーめー。
var a: integer;
procedure foo;
begin
a := 30;
end;
てな感じで引数に書かなくても使える
>>432 そうなんですか。ありがとございます。
ヘルプを読めといわれても、よくわかんないんですよね。
delphiの教科書も手に入んないし・・
だからお兄さんたちが頼りなんですよ!また頼みますわ
このスレは、
くだすれDelphi(超初心者用)その50
です。
超初心者用
超初心者用
超初心者用
超初心者用
超初心者用
Delphi2010って使用者が一人で同時に使用しないという条件なら複数のPCにインストールしてもOKですか?
デルフィwwww
>>436 いや、こういう条件って前から一緒だろうから、知ってる人いないかと思って。
で、結局どうなん?
気にしない
エディションとかアカデミックじゃないんかとか書かないからまともに相手してもらえない
ともあれ、サポートに電話するが良いよ
443 :
435:2009/09/20(日) 17:32:27
じゃあ気にせずにインストールしてみますね
d6personal xp sp2
TerminateProcess()で終了されたときに何かメッセージは来ますか?
有無を言わさずに終了するのがTerminateProcessだろ?
TurboDelphiExplorerに添付のユニットソースをDelphi6で使うのはあかんですか?
ライセンスを理解したうえで自己責任で。
自分もいくつかバックポートして使ってる。
ユニットそのまま使えるのは少ないんじゃないの?言語仕様多少違うし
デルファイでProducer-Consumerパターン実装するにはどうかけばいいの?
ググってもサンプルソースみつからん
もしかしてdelphiってマルチスレッド系に弱い?
Suspend, Resume, WaitForあたりで普通にできると思うけど。
452 :
デフォルトの名無しさん:2009/09/23(水) 21:24:35
Variant配列の要素数ってどうやって取得するのですか?
VarArrayHighBoundとVarArrayLowBound使えば?
>>451 .netでいうmoniterクラスがないよ
だからサンプルないのかなぁ
455 :
デフォルトの名無しさん:2009/09/23(水) 21:38:24
>453
できました。ありがとう。
サンプル見ないと使えないってデザパタの意味ないだろw
×Delphiはマルチスレッドに弱い
○
>>450の頭が弱い
>>456 シングルスレッドのサンプルはdelphiでもあるじゃん
確か日本で有名なとこはSeventh Delphiかな
でもマルチスレッド系のサンプルは皆無
あってもJAVAとか.Netとかしかない
それは平たく言えば出来ないからでしょ
恥ずかしい奴だな
>>460 ないじゃん
んー、仕方ない
Delphiじゃ出来ないならC#で組むか
しかしまぁネット周りも未だにIndyだしICSは重いしもうちょい何とかならんもんかねぇ
Indyなんか使わないけどなw
>>461 そうだね、君にはC#が合ってると思いますよ
がんばってくださいね〜
さようなら^^ノシ
pcodeもdelphiはマルチスレッドに向いてないって言ってたの思い出したw
まぁそのパターンは現実出来ないけど
むしろスレッドが組み込まれてるのにできない言語なんて存在するのか?ってレベル
自分のスキルのなさを棚に上げてこれは酷い
言っちゃ悪いが、そのもののサンプルがないと理解できないコピペプログラマにDelphiは向かないと思うよ
せめて他言語のサンプル見て自力で移植できるスキルがないと
そこがまた楽しいところ何だよな
ここはいつ来ても上から目線だなw
ソース提示することなく初心者を馬鹿にするだけ
CでできることはDelphiでもできるんだから
DelphiじゃできないからC#でやる、ってのはおかしい。
だってC#はCで組まれてんだぜ?
>>469 あれ?いつからDelphiはOSやドライバ書けるようになったの?
Delphi1.0から
>450
>458
>461
475 :
デフォルトの名無しさん:2009/09/24(木) 23:36:31
delphi2日目です。
if-else文の書き方は下のとおりでよいですか?
begin endの使い方が{ }と少し違うようなので。
if (A=1) then begin
for i := 1 to imax do begin
Foo[i] :=1+i;
Too[i] :=2+i;
end;
end else if (A=2) then begin
for i := 1 to imax do begin
Foo[i] :=3+i;
Too[i] :=4+i;
end;
end else if (A=3) then begin
for i := 1 to imax do begin
Foo[i] := 5+i;
Too[i] := 6+i;
end;
end;
caseのほうがいい
>>472 Del厨って平気で捏造するんだね
本当はOSどころか命名規則の制限のせいでデバドラすら書けない糞言語なのに
>475
おk。
でも、beginは{とおなじで単独行、ifやforに位置をあわせるほうがいい(異論は認めるけど
この書き方が一般的)、ifで単独の条件のときは()は不要(これも異論は認める)。
if A=1 then
begin
for i := 1 to ;imax do
begin
Foo[i] := 1 + i;
Too[i] := 2 + i;
end;
end
else if A=2 then
begin
...
あとまぁこの場合は>476の指摘のとおりif-elseifではなくcase(Cのswitchに相当)のほうがいいかな。
>>477 超初心者スレにまで来るのかYO!
Delphiに相当な恨みがあるようだが、なんで俺よりDelphi詳しいの?
うざい
>>475 1 + ((A - 1) * 2) + i
2 + ((A - 1) * 2) + i
みたいに出来れば良いんだけどね
>>480 本当はDelphiが好きで好きでたまらないからさ
>>477 DelphiでOSを作り、それ用のドライバなら書けないか?w
なんで命名規則でドライバが書けないのでしょうか?
勉強のために教えてほしいです、よろしくお願いします。
Win32向けのちんけなバイナリしか作れないコンパイラでOS作れるんですかwwwwww
すごいwwwですねwwwwwww
>>476 >>478 わかりました。
先輩方がおっしゃるならbegin行頭派
になれるようがんぱります。
>>486 Win32上で動くOSを作ればいいのさww
捏造発見
「Win32向けのちんけなバイナリしか作れないコンパイラ」
>>489 え??
元レスの言葉は悪いだろうけど、実際にそれ以外に何か作れるの?
コンソールアプリもDLLも.Netアプリも作れますですw
あと彼女も作れます
こっちが何も言わなくてもDel厨自ら馬鹿なことを次々書いてくれるんで助かりますwwwww
Delphiとかマイナーすぎてみんな知らないから何書いても嘘か本当か分からないしなwwwwwww
おいっ!w
>Win32向けじゃないすかw
>Win32向けじゃないすかw
>Win32向けじゃないすかw
delphiで1億円当たりました
OSやドライバを書けないからと糞言語なんて言ってたら、ここ以外でも赤っ恥レベル
あぁ、日本語がおかしかった^^;
最近はネタにマジレスが流行なのか?
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。
OSとドライバ書けるのってC/C++以外になにあるの?
503 :
デフォルトの名無しさん:2009/09/25(金) 07:05:38
fortranで普通に動いていたプログラムをdelphiに
移植したら、結果が全く異なり、値も10倍以上の
差がでました。
こういうことは普通にあるのでしょうか?
また、そのような原因としては何が考えられますか?
ちなみに変数はReal8をExtendedに置き換えてます。
教えてくださいdelphiの達人
そりゃあるでしょ。数値計算ものは移植して結果、速度を維持するのは意外に難しい。
だからこそ今でもFortranが使われるわけで。
達人以外のは断ります
プロセスIDからスレッド数の取得する方法はありますか?
使用メモリは
var
mInfo: PROCESS_MEMORY_COUNTERS;
hProcess: THandle;
GetProcessMemoryInfo(hProcess, @mInfo, sizeof(mInfo));で出来るんですけど。
なお、プロセスIDのみわかっている状況でです。
訂正
× プロセスIDからスレッド数の取得する方法はありますか?
○ プロセスIDからスレッド数を取得する方法はありますか?
>>505 達人ですがお答えするので先払いで50000円振り込んで下さい
513 :
508:2009/09/25(金) 12:54:26
>>510 早速どうもです。
不細工だけどできました。
function GetProcessThreads(PID: DWORD): integer;
var
hSnapShot: THandle;
ThInfo: TThreadEntry32;
begin
Result:= 0;
hSnapShot:= CreateToolHelp32Snapshot(TH32CS_SNAPTHREAD, 0);
if hSnapShot <> INVALID_HANDLE_VALUE then
begin
ThInfo.dwSize:= SizeOf(ThInfo);
if (Thread32First(hSnapshot, ThInfo)) then
begin
if (ThInfo.th32OwnerProcessID = PID) then inc(Result);
while (Thread32Next(hSnapshot, ThInfo)) do
if (ThInfo.th32OwnerProcessID = PID) then inc(Result);
end;
CloseHandle(hSnapshot);
end;
end;
514 :
デフォルトの名無しさん:2009/09/25(金) 13:25:57
馬鹿ばっかり
Win32とは、
Microsoft社のWindows 95/98/Me/NT/2000/XPがアプリケーションソフトに標準で提供している機能のセット(API)
三日ぶりにウンコが出ました。
おれは三日連続でてるけどな
俺も出た
たっぷりと
つまりDelphiはウンコなんですね
ウンコ2010が出たわけですね
Delphian World や FDelphiは、お亡くなりになってしまったのか
もったいないなあ
Delphian Worldが無くなったのは悪いことだけではない
サイトはあるのに著作者側が連絡つけようがない状態になってたし
もうDelphiなんて使う人いないからね
そんなのあっても意味ないから
>524
マイノリティーがあってもいいやん。何でそんなにむきになるの?
あなたがメジャーどころの中の人ならおおらかになろうぜ。
そういう話はくだスレじゃなくをっちゃスレでやれ。
Win32向けのちんけなバイナリしか作れないコンパイラ
Win32向けのちんけなバイナリしか作れないコンパイラ
Win32向けのちんけなバイナリしか作れないコンパイラ
Win32向けのちんけなバイナリしか作れないコンパイラ
Win32向けのちんけなバイナリしか作れないコンパイラ
Win32向けのちんけなバイナリがわりと要求されている気がするけどねぇ。
Win32では最強ともいえる気がする
馬鹿はC++をやればいいよwwww
C++なんてとっくの昔に見切りをつけますた
C/C++は殆どのプログラマが使えるからね、それ以外だとC#,Javaあたりまでは常識的に使えないといけないレベル
DelphiはWin32アプリでは一番生産性が高いから覚えておいて損はないな
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。
とても他では書き込めなかったのでこちらで質問します。
何故Delphiという糞な開発環境が存在し得るのですか?
よろしくお願いします。
Delphiは糞ではないからです
終了
>>536 あからさますぎて恥ずかしくないですか?
Delphi使ってる方が恥ずかしくないですか?
540 :
デフォルトの名無しさん:2009/09/27(日) 09:01:23
まぁ、恥ずかしいな、このごろは。
何も恥ずかしくないけど?
Delphiしか使わない訳じゃないしwww
Win32じゃあDelphiしかツカワネ(ツカエネ)けど恥かしくね。
どーでも良い。ご利用者様に満足いただけるか、それだけだろ
543 :
デフォルトの名無しさん:2009/09/27(日) 20:39:30
Indyに変わるコンポって今は何がある?
もしかしてDelphiの最新バージョンだとIndyに変わるコンポがあったりする?
ない
Winsock2で組んじゃえYO
Synapse
使えないんじゃなくて使わないだけですよ^^糞だから^^
必死に叩かなきゃならないほど気になるなら使えば?
どうせ使えないのさwwwこの程度の言語もwww
とDelphi使ったこと無いけど言ってみる。
彼氏がDelphiつかってた。別れたい…
Delphiだとデル厨とか呼ばれてVB厨並みに恥ずかしいww
下向いちゃうしww
彼にはせめてC++使って欲しい・・・
友達とかに彼のこときかれたら・・・・もう最悪ww
せめて普通にC#やJavaぐらいは使って欲しい。
常識的に考えて欲しいだけなんです!
彼がデル厨だとばれた時の恥ずかしさとか分かる?
あのね?たとえば週末10〜20人ぐらいでバーベキューとか行くでしょ?
それぞれ彼氏と一緒来るわけじゃない?
みんなの彼氏たちは普通に医者だとか弁護士だとか商社マンとかなわけでしょ?
デル厨と一緒だと大恥かくでしょうがww
ケツの穴から火が…
まで読んだ。
大恥かくでしょうがwwまで読んだ。
医者や弁護士との比較ならSEかPGだな。
でなければ医者じゃなくメス厨とか駐車中とか。
改変コピペにマジレスしちゃう時点でDel厨のレベルの低さが分かりますな
マジレスには見えないんだけどw
はいはい^^
>>557 そうです^^悔しかったです^^
これでいいですか?^^
寒い
そうなの?^^顔真っ赤なのに?^^
今日はいい天気だな
気持ちの良い朝だ
開発日和だな
んだな
しかしこの言語も出来ない事が増えてきたな
.Netに移行してれば64bit化も何も考えなくて済んだのにな
Delphi.netで解決
Delphi.NETは開発終了したけどw
後継のDelphi PrismもDelphiって名前がついてるだけで互換性ほとんどないし
だがDelphiであることに違いないし.netであることに違いない
言語も違うし、IDEも違う(VS上で動く)けどどうやって移行するの?
ソースのコンバータって以前のは付属してたよね?もしかしてPrismはないの?
C++からC#に移行するのとDelphiからDelphiPrismに移行するのとどっちが楽かね?
C#
アホか
今日も良い天気だな
_rッ-' ̄ `'‐、_
|.ノ゛ ┌、_\___、
/ . / _ . i .、 | ゙X .| 、⌒)
/ /. /| /|. .|| || |\ノ \/ ( )
/ ./_メ、|_| |__||___|.|_|. | | / )
. (⌒ _.| .| / |. | / |\ .| | | . ̄ ゙̄ ." テンション上がってキター!!
( /.| .| \./ / \ノ // | /__ ⌒)
(、 ).| ./ .///┌―┐/// ./ / / \ )
\\ ._/ .ノ / |゙ ( )"
レ.二シ―---―ツ __ノ、|\.し ゙"
/ \
>>570 仮に理論上の移行難易度が両者同程度だったとしても、
現実的には圧倒的にユーザーや資料、サンプルの多いC#に軍配が上がるでしょ
Prismの資料なんて英語ですらかなり少なく、日本語に限定したらほぼ皆無だし
リファレンスのような本に至っては一冊も存在しないんじゃない?
ただ、大元の
>>565にある「移行に関して何も考えずに済む」ということなら、
.NETなんかよりもLL系言語の方が適当だと思うが
今現在の時点でも.NETに比べてはるかに多くのプラットフォームで動作するし
Prismならちょっとした変更で移行できるわけだが
ちょっとしたアプリケーションならね
そしてそれはC#でも同じ
大規模になればなるほど細かい挙動の違い等を示すノウハウ的な資料が必要になるけど、
正直そういうのってPrismにはないでしょ
すみません、質問スレがないと思い、違うスレで質問してしまったのですが
こちらでも質問させてください。
現在TMP3playerが入手できるところはありますか?
コンパイルしたいソフトがあるんですが
TMP3playerがありませんとエラーを吐かれます。
GPLだったはずだから、それを使ってるソフトを公開してる作者のサイトからソースを落とせば入ってる
ソースがなかったらGPL違反だし、なくても連絡取ればくれるんじゃないの?
583 :
デフォルトの名無しさん:2009/10/01(木) 01:09:54
C++からC#への移行がが簡単にいくかよw
どんだけソース書き換え必要かwwww
はい、大丈夫ですけど
>>583 C++のソースをC++/CLIでコンパイル→C#に変換、で終了だけど
何も書き換えなくてもOKな場合すらある
Prismに移行する方が大変そうですね
無料版がないからちょっと試してみることも無理だし
アホばっかりだな、ここは
あのーここって質問してもまともな返事返ってきます?
なんかずっとみてるんですけど質問しても罵倒しかされないみたいなんですが・・・
今無料版ってあるの?
>>580 アドバイスありがとうございます。
いくつかソフトを見つけたのですがほぼサイト閉鎖か放置で
Dynamoというソフトだけはなんとかソースを入手できたのですが
TMP3playerは同梱されておらず作者様のサイトから入手してくださいというものでした。
ちなみにDynamoの作者のメールアドレスは使えなくなっていました。
なのでどなたかTMP3playerお持ちの方おられましたらどこかにうpしていただけないでしょうか。
indyで先頭にdotを含むクッキーを食べてくれないのですが何とかなりませんか?
ソース改変すれば行けるようですがどこをどうすればいいのかさっぱりです
>589
一部変な人がいますが、普通に質問してくれれば普通に答えますよ。MLとかフォーラムに
ふさわしければあっちのほうがS/Nがいいですが。くだらないことならこっちで。
今無料版ってあるの?
>>594 いただきました。
スレ違いということで諦めかけていたのですが
本当にありがとうございます。
それでは皆様スレ汚し失礼しました。
>596
現時点ではない。
599 :
デフォルトの名無しさん:2009/10/02(金) 23:22:14
ソフトの解析をしてるんだけど、実行FILE(.exe)が Delphi6 で
作られてるようなんです。HK_C_R に、MSInfoObjectというフォルダ
を作成して、毎回(起動時か終了時に)バイナリ値を書き換えている
ようなのですが、 Stirling で探しても見あたらないようです。
Reg : TRegistry HKEY_CLASSES_ROOT を探せばいいんですか?
それとも暗号化されて見えないとか・・・
>599
日本語でおk
つかインタープリタじゃねぇので、実行バイナリをみてもソースは入ってないよ。
>>601 PEiD に放り込んでみたら
Borland Delphi 6.0 - 7.0 [Overlay]になっていたので、
Delphi 6.0で作成したものかと思ってました。
で、Ollydbgに放り込んでみると
アセンブラ文法の命令
MOV,ADD,TEST,JMP,PUSH,POP,CALL,JE,JNE ・・・
が記述されているんですよ。
あまり詳しくないんだけど、コンパイラとインタプリタの両方が混在してる?
って事ですか?
>603
いやだからDelphiはインタープリタじゃねぇっての。んでなにしたいのよ?
実行時アセンブラが組み込んであるんじゃね?
インラインアセンブラ使えたっけ?
何が言いたいのかわからんな
つかえるよ
>605さん
実行時にインラインアセンブラの組込み可能なようなので、
それかも知れませんね。 もうちょっと調べてみます。
JAVA とか C の話になるともうね、、、駄目です。
昔、N88BASIC,QuickBASIC は、かじったんですけど・・・
>609
いやそうこっちゃねぇっての。Delphiのこととかじゃなく、プログラマとして必要な基本的なことが
全く理解できていないんだと思う。コンパイラ、リンカを通した実行ファイル(バイナリ)はいわゆる
マシン語の状態になっていて、CPUはそれを直接解釈して実行するようになっている。
インラインアセンブラとかはとりあえず忘れておけ。今の>609には理解できない話だから。
それよりも何をしたいのかを(ry
delphiの解析はollyじゃなくてdede使えよ
あるクラスの実行時にログをとりたいので、
TClassA = class
private
FErrOutput: TextFile;
public
procedure Execute;
public
property ErrOutput: TextFile read FErrOutput write FErrOutput;
end;
とし、
procedure TClassA.Execute;
begin
if TTextRec(FErrOuput).Handle <> 0 then // 割り当てられていれば?
WriteLn(FErrOutput, 'Start');
end;
とこんな感じにしたいのですが、利用する側で、
var
A: TextFile;
O: TClassA;
begin
AssignFile(A, 'ほげ');
C := TClassA.Create;
C.ErrOutput := A;
C.Free;
end;
とすると、C.ErrOutput := Aで「この型に指定した演算子は使えません。」とコンパイルエラーになります。
FErrOutputをTTextRecで宣言して
C.ErrOutput := TTextRec(A);
と無理やりキャストすればいけますが、これはありでしょうか?
コンパイルエラーが出る以上、こんな使い方は想定してないということで、やめるべき?
もしくは、もっとよい全く別の方法があれば、よろしくご教授お願いします。
TFileStreamつかえよ
Streamでよかったですね。ありがとうございました。
TIIBdatasetのプロパティにDeleteSQL,InsertSQL,ModifySQL,SelectSQLを全部書き込んでそれぞれ使い分けたいときに、
メソッドのDelete,Insert,Edit,Openというテーブル系のメソッド使えばいいってことですか?
クエリーコンポーネント使ってると、Exec,Openになるんで意外だったんだけども。。。
616 :
デフォルトの名無しさん:2009/10/06(火) 18:20:20
些細なことなんでしょうけど気になって前に進めずにいるので質問させてください
タイマーってのは
procedure TForm1.Timer1Timer(Sender: TObject);
のプロシージャ中で止めちゃってもいいんでしょうか
というか、これで止まるんでしょうか
begin
とある処理
if この処理が一定の仕事量に達したら then begin
処理を止める
タイマーインターバルをゼロにする
end;
end;
中の処理はもちろん止まるんですが、これはたぶん単に目標量に達したから止まるんで
タイマー止まったこととイコールではないですよね
何というか、タイマー継続中のプロシージャ中にタイマー止まれとか書くのは、
タコが自分の足食べてるような感じがして
なんら問題ない。TTimer はウィンドウズのタイマのラッパ。たんに一定間隔で
メッセージを投げてくるだけ。止めてもなんの問題もない。
>タイマーインターバルをゼロにする
タイマを止めるのは Enable を false にするんだよ。
>>617,
>>618 ありがとうございます
>>Enable を false
知りませんでした
ゼロか適当な数字かでOnOffしたつもりになってました
ヘルプくらい読もうね
> 0 を指定したときにはタイマーは OnTimer イベントを呼び出しません
別にそれでもいいんだけど Enable なら二値なので .Interval を触るより安全かと
とある処理が終わって、タイマー止めてるだけでしょ
えっ?
ジェネリクスの有用なサンプルって無いですか?
単なるGenerics.Collectionsの使い方みたいなのではなくて、
もっと効果的な使い方をしている例というか…抽象的な質問ですみません
あんなどうコンパイルされるか想像もつかんものの使用は控えるというのが有用だよ
>>624 Delphiのサンプル少ないならジェネリックスをサポートしてる他の言語での
サンプル探してみたら?考え方は同じだろうし。
627 :
619:2009/10/08(木) 16:11:45
>>ヘルプ
おっしゃるとおりでした
いや、いろんな意味で
TTimerのヘルプ中のExampleのひとつで、もろにタイマー止めてる
procedure TForm1.Timer1Timer(Sender: TObject);
がありました
>>503 CPUの命令は同じものしか用意されてないから、それぞれの言語でどれを使うか
>>625 想像がつかないなら実際に見てみればいいのでは?
そもそも今の時代にコードがどうマシン語に落ちるかを把握してる人間ってそんなにいないですし、必要も少ないでしょう
Delphiをはじめ高級言語はそういうことを意識せずに済むように用意されてるわけですし、時代錯誤も甚だしいと思います
>>626 ありがとうございます
他の言語のサンプルというのは仰るとおりで、検索すればたくさん見つかります
最近見たものでは、自身と同じ型の子リストを持つようなクラスは、
type TNodeList = class(TList<TNodeList>);
と書けば簡単につくれるというテクニックに感動しました
ただ、他言語よりDelphiでのジェネリクスの実装を活かしたサンプルが見てみたいのですが、
(機能的には同等でも、言語毎に実装の差異があったりして、その差異をうまく使ったサンプルがあればなと。
例えばC++のテンプレートではできないけどC#だとできるとか、その反対だとか)
過去ログなどを見てもジェネリクスの話題自体少ないようですし、まだまだ普及してないのですかね…
>>629 そもそも日本のユーザー少なすぎだから日本のサイト探しても無駄だと思う。
英語のサイト検索した方がよい。ジェネリックス使ってC#のNullable型の実装とか
前に見かけたし。DeHLとかジェネリックス使ったコレクションライブラリとかのソースとか
見てもいいと思うし。
つ DarkBASIC
>>629 不必要だから普及しないという考えはできない子なの?
634 :
デフォルトの名無しさん:2009/10/09(金) 23:13:03
TurboDelphiのライセンスキーを取得したいんですけど・・・
どうすればいいですかね?
あきらめて2010買う。
なぁ
なんでおまえらC#とかに移らないの?
ぶっちゃけdelphiというかpascalって使いにくいじゃん
これ→{
と
これ→}
が、どうしても受け入れられない。
IEとかのツールバーって途中で途切れると右端に矢印ボタンが出て
それをクリックすると残りはメニュー形式で表示されるじゃないですか?
あれをやりたいんですけど、どうしたらできますか?
環境はD7とXPです
僕はVistaとD6だよ
仲良くしようね!
ボクなんてXPとD6だよ!
よろしくね!
あは、
2kとD6だお。
C#なんてダッサイ言語使ってるやつって何なの
>>643 ありがとうございます、まさに探してたのそれです
Chevronっていうんですか、しかもIEの機能だったとは知りませんでした
取り合えず、参考ページのコードで動作確認できましたが、若干動作が
おかしいのでギコナビのソースなども参考にしてみたいと思います
ありがとうございました
645 :
デフォルトの名無しさん:2009/10/12(月) 05:14:39
リッチエディットで、文字列がペーストされた時に、
そのメッセージを受け取りたいのですが、
どのように実装したらいいのでしょうか?
目的は、「ペーストされた文字列のチェック」です。
数字以外の文字があったら全て削除、といったことをやりたいと思っています。
646 :
645:2009/10/12(月) 10:07:35
連投すみません。
>>645については自己解決しましたが、コピー&ペースト以外に、
ドラッグ&ドロップでも、リッチエディットにペースト出来てしまいます。
この時、ペーストされる内容を監視するには、どうすればよいでしょうか。
indyのidSMTP1.QuickSendでSMTPサーバーはどのように設定すればいいのでしょうか?
一応ヤフーのsmtp.mail.yahoo.co.jpを指定してみたのですが「Connection Closed Gracefully」例外がでます。
一応最初にDisConnectionとConnectionを実行しているのですが。
Wiresharkでパケットをキャプれ。ネットワークプログラミング(デバッギング)の基本中の基本だ。
その例外を無視するように設定するだけ
>>649 例外を無視するように設定しました。実行してもメッセージしか出なくなりました。
しかしメールが一向に送られてきません。
var
Form1: TForm1;
host,subject,mailto,from,body:string;
procedure TForm1.Button1Click(Sender: TObject);
begin
idSMTP1.DisConnect;
idSMTP1.Connect;
host := 'smtp.mail.yahoo.co.jp';
subject := 'sub'; //メールの件名
mailTo := '(送信先)';
from := 'fr';
body := 'test';
idSMTP1.QuickSend(host, subject, mailto, from, body);
idSMTP1.DisConnect;
end;
ちなみにConnect,DisConnectを記述しないとウィルスソフトが反応してから例外のメッセージを表示するので一応通信を試みてるようなのですが、記述するとウィルスソフトが反応しないのに例外のメッセージが出ます。
これも何か関係があるんですかね。
Delphi 6 Personalです。
>650
>648
>>650 ・普通のメーラーで送信できることは確認したか
・SMTPの認証(POP〜やAuthなど)が必要かどうか確認したか
・つまりプログラミング以前の問題である可能性は排除したか
>>648 すいません
見落としてました
早速インストールしてパケットをキャプチャーしたところ、エラーコードを読み取ることができました。
調べて見ると、どうやら
>>652のSMTPの認証が必要らしく、それを満たしていなかったのが原因のようでした。
とりあえず原因はわかったので解決しました。
ありがとうございました。
Delphi6からDelphi2010へアップデートしました。
同じソースでDelphi2010でexeを生成し起動してからフォームを閉じようとすると
とても終了が遅いです。数十秒かかります。
Delphi6ではそこまで遅くありません。
このような現象はよくあることなのでしょうか。
また、解決策等ありましたらご教示ください。お願いします。
655 :
デフォルトの名無しさん:2009/10/14(水) 11:52:09
みんなー
FastMMを4.94でつかってますか
今判明しました
FastMM 4.94以前のはマルチスレッドにバグがあります
報告だけです
>>654 実行ファイルのサイズはどれくらい増えた?
657 :
654:2009/10/14(水) 17:44:05
Delphi6 → 970KB
Delphi2010 → 1788KB
です。
よろしくお願いします。
・元のソースに旧メモリマネージャでは顕在しないバグがあった
・D6とD2010で互換性の無い部分(文字列周りなど)でバグが発生している
・Delphiのバージョンに依存するコードを書いていた(内部コードのフックなど)
・メモリマネージャ自体を差し替えてた(MemCheck.pasやHeapChecker.pasなどの使用含む)
そんな漠然とした質問で挙げられる可能性としてはこの辺りだと思うけど。
ソースを部分的にコメントアウトして再現するかどうか調べるとか、
ある程度原因箇所の特定をした上で再度質問して貰わないと誰も答えられないと思うが
それかソース一式うp
IdSMTP1.AuthenticationType:=atLogin;
これが未宣言識別子エラーになります。
でもネットで調べてみるとサンプルなどでもこのようになっています。
なんでなんでしょうか?
おいおい、ちゃんとソースを見て型宣言されてるか、調べろよ。
Ctrl押しながらAuthenticationTypeを左クリックなどして、どこに宣言されているか
辿ってくれ。
>>659 そのサンプルのIndyと同じバージョンかどうか位は当然チェックしたんだよな?
2010って64bit Windowsにインストールできるの?
663 :
654:2009/10/15(木) 10:59:48
>>658 回答ありがとうございました。
もう少し解析を続けたいと思います。
現段階でわかったことは、D6から移行した際にそのまま使っているコンポーネントに
問題がありそうな感じです。
664 :
デフォルトの名無しさん:2009/10/15(木) 19:34:32
>>662 トライアル版は Vista 64bitで動作した。
665 :
デフォルトの名無しさん:2009/10/15(木) 19:37:13
Delphi2010でもRijndaelによる暗号化は
DLLを使わないといけないのでしょうか?
今までC#使ってたから普通に暗号化できてたけど..
OS標準搭載されてるCryptoAPIの存在を知らないの?
もし「CryptoAPIを使う=DLLを使う」という意味なら、笑うしかないけど
.NETのCryptographyはあれのラッパーだし
Rijndaelも入ってるコンポくらいいくらでも落ちてるじゃん
すみません教えてください。
Delphi2010を購入して、”TurboDelphiで始めるWindowsプログラミング”
を教科書にして勉強しているのですが、
ちょっと書いてあるとおりに動かなくて困っています。
箇所は、17ページの
Label1.Caption := Combobox1.text;
Label1.Color := StringtoColor ( 'cl' + Combobox1.text);
で1行目までで処理が止まっているようで、
Labelオブジェクトに色の文字が表示されるだけで
色が変わりません。こういうものなのでしょうか?
>>668 オブジェクトインスペクタでLabel1のTransparentをFalseに。
>>669 変わりました。ありがとうございます。
どうしてもわかんなくて挫けそうでした。
勉強を進めたいと思います。
671 :
デフォルトの名無しさん:2009/10/16(金) 17:02:06
>>666 CryptoAPIはDelphi2010でも定義されてないらしく
使える状態にもっていくまでに手間がかかりますね。
672 :
デフォルトの名無しさん:2009/10/16(金) 17:21:20
>>671 「らしく」なんて伝聞の情報なのに手間がかかるとどうして判断できたんですか?
馬鹿なんですか?
日本語でOK
>671
JEDI Windows APIはどう?それかJCL/JVCLとか?このへんにありそうな…。
DEKO氏が確か入手できるアップデータ一覧まとめてたような
>>676 ありがとうございます。
一度確認してみます。
やっぱり使えませんでした。
Delphiはゴミですね。
ゴミには使えないの間違いでした
682 :
デフォルトの名無しさん:2009/10/18(日) 09:13:59
つかえねーやつほど
道具のせいにする
道具にも馬鹿にされて自己嫌悪に陥るな
まぁ、使えるやつはそれなりに道具選ぶしね。ここにはいないだろ。w
超初心者スレでなにをwwww
わかりました…
まぁ、出来る奴は言語なんかなんでもいいからな。
使える言語は多いに越したことはない。
その中でもDelphiは使えて損しない方
使えなくても損しないけどね。いまから入門するなら C# を勧める。
>>689 C,C++,C#は使えて当然
それ以外に何が使えるかの話だぞw
>689
使えないと大損
こんなに楽なの他にないわ
Perl とか Python とか Ruby とか Java とか、Delphi より使えて損しない
言語はいっぱいあるわな
Perl とか Python とか Ruby とか Java とかに比べれば遙かにDelphiじゃん
GUI コーダーですか? よかったですね。
>>691
697 :
デフォルトの名無しさん:2009/10/18(日) 17:47:57
Win32ネイティブでGUIアプリをDelphiより素早く作成できるのって他にあるの???
Delphi を使って GUI コーダになって、がっぽり稼ごう!
新しいキャッチフレーズができました!
超ウソ臭いけど・・w
「Win32ネイティブでGUIアプリをすばやくつくる」ことに、
いまどきたいした意味はないんだよ。
「Win32ネイティブでGUIアプリをすばやくつくる」ときにDelphiを使う
それ以外の時はそれ以外のを使う
それだけのこと
701 :
デフォルトの名無しさん:2009/10/18(日) 17:58:27
>>698-699 悔しいのはわかるけど「荒らし」行為とか「アンチ」活動とか恥ずかしいからもう来ない方が良いのでは?
ここはDelphiの初心者さん用のスレッドですよ?
日本語理解できますよね?
ネイティブアプリを作る意味が現状無い
これが理由でdelphiは廃れてきた
>>702 いまでもネイティブアプリを作る意味はありますよ
ヲチャスレが1000行ったからそこから屑以下の人間が溢れてきたんだよ
新スレも立ったしもう少ししたら収まるだろうから我慢しよう
ここで暴れてる連中なんざ
「Del厨にしか相手してもらえない」
レベルなのに偉そうだよねw
ここ意外じゃ相手にされないw
「Del厨は屑以下」はいまや定説だしね。
>>707 Del厨に屑扱いされてるおまえはなんだw
屑以下に屑扱いされても・・w 屑より上ってことだろううなぁ・・
>>709 同レベル確定w
俺Delphiなんか使わなねーしwww
wwwwww
709が(´・ω・) カワイソス
こりゃまたひどい流れだなぁ
ところで、
Win32ネイティブはDelphiでいいとして、
Win32ネイティブはこれから先も生き延びるの?
それとも、やはり.Netに入れ替わるの?
死滅することはないだろうけどね
あえて.Netにする理由がないときもあるし
コードギアに頑張ってDelphiを良くしてもらうより、Microsoftに.NETもっと
高速にしてもらってとっととコードギアとおさらばして、
MSに乗り換えたいのが本音。
どっちもが最高
.Netアプリで使ってるのPaint.NETしかないわ
>>694 Win32のGUIアプリ作らん奴がなぜこのスレに来るんだw
720 :
デフォルトの名無しさん:2009/10/18(日) 21:57:43
C#でネイティブアプリ作れるようになったら最高だけどね
現状はネイティブ化ツール 10万もするし・・。
722 :
デフォルトの名無しさん:2009/10/18(日) 22:57:19
>>720 10万ぽっちで済むならそっちの方が良いと思うんだが…
Delphi使えるならDelphiでいいじゃんw
724 :
デフォルトの名無しさん:2009/10/18(日) 23:07:02
>>722 Delphi2010買ってしまったし ;;
そのツールで変換したEXEはFramework入ってないXPでも動作する事
は確認しました。(トライアルで)
今日はずいぶん大暴れしたのねw
ちょっと現実で馬鹿にされたのでw
そしてここでも馬鹿にされるC#厨
みんなフレンドリーだよねw
みんな仲悪いフリを演じてるだけだからね
C#厨以外は
その後C++やるにしてもC#やるにしてもJAVAやるにしても、
Delphiってその中途半端な言語仕様のおかげで、それらの言語の学習導入用としては
かなり有用なのよな。
無料版が無くなったのでもうその用途に有用とは言えないけどね
まあ、アカデミック版はあるけど
>>724 それ、どのツール?
もしかしてProtectorの事?
何それw
.NET Linkerだろ
dllがいーっぱいくっつく
まぁILで固めりゃそれも気にならんけどな
今時ネイティブにこだわる馬鹿はdelphiしか出来ない馬鹿ぐらいだろ
Delphiしかできない奴に今まで会ったことがないんですけどw
いまどきC#はたいてい出来るわな
>>736 overloadすらまともに動かないなんて・・・
職場でdelphi使いがバグを大量に出す理由がわかったよ
バグになれっこで寛容だったんだね
>>738 イライラしすぎww
少し落ち着けて寝ろよww
こいつは伝説になりそうなC#厨だな
overloadがちゃんと動かないとかdelphiはどうなってんの?
動くよw
これ(
>>736)みると動いてないじゃん
あまりにも致命的過ぎる
基本動作すら怪しいとかどうなのよ
いや、動きますけど
そのブログの人も早々にC#に移行してればそんな目にあわなかったのにな
自分の技術のなさを言語のせいにし始めるとプログラマーとして終わり
>>736のバグってたいしたこと無いだろ
overloadがちゃんと動かなくても別名で、、っておいw
これ、別名で記載しても駄目じゃねぇかwwwwwwwwww
overloadどころじゃねぇwwwwwwww
まぁまぁ落ち着いてw
overloadとジェネリックと無名メソッドを使わなければ良いだけの話
OOP使わなくてもソフトは組める
それだけの事なのになにファビョってんだか┐(´ー`)┌
いや、バグはバグだから使わなければ良いというのはどうかと思う
修正されて終わりだろうけど
もう何年も経つのに修正されてない事実
てことは仕様なんじゃ?w
736みたいな記述なんて絶対しないけどw
普通にするだろ…
くだすれの初心者はしないかもしれないけどさ
しないね
どうみてもここの奴等より
>>736のブログを書いてる人の方がレベルが高い件
くだすれだから仕方がないのかもしれんが
何年も修正されないと言うことは修正する必要が無いと言うこと
つまり736はDelphiの記述として間違いである
だなwww
>755
いや、本人知ってるけどただのキチガイ
これがdelphi言語…
OOPの基本仕様すら無視するとは狂ってやがる…
おやすみ〜
無名メソッドはまぁ使うけど、ジェネリックって別になくても困らないしなぁ…
>>760 そうか?TList<T>やTDictionary<T>があるだけで記述量が全然違うと思うんだが
単に使いこなせてないだけじゃなくて?
そもそも無名メソッドだってTProc<>やTFunc<>がないといちいち宣言面倒だし
関数内関数みたいにコンパイルエラーにしときゃ良かったんだな
ジェネリックないと困るだろ
TListを包括したリストやらTList継承のクラスを書かなくて良いんだぞ
便利すぎて鼻血がでらぁ
736のブログにも
>Unit1に書かれたものをすべてProject1に移すと発生しなくなる
とあるように、バグは発生しなくなるね
仕様なのか?w
>>761 いやいや、自前のクラスで使うかって話だろ?
まぁバグであることには違いないんだから早く修正されると良いですねってだけ。
なにも2chで暴れる必要はないんだよw
overloadがまともに動かないのが仕様ねぇ
こりゃまたすげぇや
>>765 昔の出来ないCエンジニアのように一つのファイルに数万行書けって事かw
overloadは正常に動作してるだろ
この機能のこういう使い方はダメとかこの機能とこの機能の組み合わせはバグるとか
そういうDelphiでしか通用しねぇふざけたノウハウとでも呼ぶべきものを覚えるはめに。
>>736のブログがレベルが高いと書いてあったから読んでみたが
当たり前のようなことをあたかも自分が発見したかのように書いてるただの馬鹿じゃん
773 :
デフォルトの名無しさん:2009/10/19(月) 19:09:43
delphi使いの人の間じゃこういうバグは当たり前なのか…
774 :
デフォルトの名無しさん:2009/10/19(月) 19:16:04
>>732 Xenocode Postbuild 2009 for .NETのことです。
>>734 Postbuildは EXE一つだけです。
(Linkerも試したけどファイルだらけになるから価値なし;;)
サイズは少し上がりますけど。
ここは超初心者スレです。
無料版が廃止されて、超初心者なんか絶滅したよ。
初心者を装った吉害デル厨のやらせ質問ならあるかもな。
ここはDelphi超初心者スレです。
ここはDelphi超初心者スレです。
ここはDelphi超初心者スレです。
超初心者以外は書き込まないように。
WebBrowser1でプロキシーを使うにはどうすればいいのでしょうか?
まず、超初心者であることを証明してください。以上
>>781 回答したいのはやまやまですが、ここは超初心者以外には書き込めないそうなので、ごめんなさい
この書き込みも超初心者の人に代理で書き込んでもらっています
滑りまくりだな
ここはDelphi超初心者スレです。
超初心者以外は書き込まないように。
やらせ質問に自問自答は見苦しいのでやめてください。
いやです。
毎日よくがんばるなぁ
今日はお休みみたいですね
昨日あんまり相手してあげられなかったからなぁ
今まで相手してるの殆ど俺だしw
初心者&説明下手ですみません。
中村の里のサポートwebにあるテキストエフェクトのプログラムで、曲線や
文字数の半分のトコまで文字を大きくして、半分を過ぎたトコで小さくもとの大きさに戻す
ようなことをやりたいんですが、どうやればできるのでしょうか。
計算で、文字を操作しているようなのですが分かりませんorz
う〜む、確かに説明が…。全く質問の意図が理解できん。
>>792 あなたみたいな凄まじい説明ヘタクソな人は小学生に理解させるつもりで説明した方がいいですよ
例えば「中村の里のサポートweb」と書けば分かってもらえると思っていたのかも知れませんが、
回答者の手間を減らすために直接URLを載せるなどの配慮が完全に欠けています
ここはDelphi超初心者スレです。
超初心者以外は書き込まないように。 初心者はすれ違い
>>792
↑↑↑↑↑ここまで超初心者スレ↑↑↑↑↑
↓↓↓↓↓ここから初心者スレ↓↓↓↓↓
がんばるねぇw
どうせやるならもう少しおもしろい書き込みにしてほしいよ
799 :
デフォルトの名無しさん:2009/10/21(水) 02:54:41
Windows 7で64ビットに移行する予定なんだけど、delphiは64ビットで動きますか?
はい
>799
2010はOK。2007/2009はバイナリパッチしないとデバッガかなんかがうまく動作しないんだっけ?
Del2007で作ったプロジェクトを2010試用版&新しいPCで開き、
コンパイルするとMakeDirエラーとなる。
どうも前のプロジェクトのソースがあるDirやexeを出力する
ディレクトリ情報を引きずってるみたいなんだ。
ビルド構成とかDEBUGオプションを開いてそれらしいディレクトリ
設定を新しいPCのディレクトリに変えてもダメ…
どこを直したらいいんだろ?
超初心者ではないので回答も書き込めない
>>802 dprやpas等最低限のファイルだけ移行してみなさい
805 :
802:2009/10/21(水) 13:52:05
>>804 うまく行きました!
ありがとう。
今度はコンパイルすると、
[DCC エラー] E2161 Error: RLINK32: Unsupported 16bit resource in file "C:\Delphi\Program\src\main.dfm"
と出るのですが、これは16bitのアイコンかなにかに対応していないということ?
>>805 そのdfmはテキストエディタ等で読める形式になってる?
なってないなら該当のフォーム上で右クリックして、「テキスト形式」にチェック入れて上書き保存
その後コンパイルしたらどうなる?
807 :
802:2009/10/21(水) 15:56:05
>>806 メモ帳で読めるのでテキスト形式になってると思います
じゃあやっぱりエラーの文面通り16bitのリソースが含まれてるんじゃない?
809 :
802:2009/10/21(水) 16:09:41
16bitのリソースとは具体的にどのようなものでしょうか?
アイコンとかイメージ関係しか思いつかず、アイコンなどはすべて消しましたが…
やけにレスが増えたと思ったら阿呆が煽り合ってやんのw
今日は遅かったのね
813 :
802:2009/10/22(木) 10:24:19
>>810 顧客のアプリなのでうpはできません
いまだに問題になってる16bitのリソースがなんなのか分かりません…泣
DBテーブル項目Aの形式をDateTime型→Date型に変更しました。
それに伴いTTable1のAの宣言を
table1BDEDesigner1: TDateTimeField;
を
table1BDEDesigner1: TDateField;
に変更したのですが、オブジェクトインスペクタで見ると、
table1BDEDesigner1 TDateTimeField となったままです。
このまま実行すると「DateTime型が見つかりません」とエラーになってしまいます。
一度この項目を削除して登録し直すとTDate型になりますが、各プロパティを設定し
直さないとならないのと、Date型に変更したテーブル数が膨大であり登録し直しは
現実的ではありません。
簡単にソース上もTDate型に変更できる方法はありませんか?
Delphiが生成したコードを勝手にいじらない。
フォーム、データモジュール上にあるコンポーネントの型を変更するときは[ALT]+[F12]で
コード表示して、そこで対象のコンポーネントの型を修正し、再び[ALT]+[F12]で
プログラムコードに戻って上書き保存すると型が違うんで修正する?と聞かれるので
はいと答えればいい。
816 :
814:2009/10/22(木) 11:03:16
>>815 その方法でバッチリできました!
ありがとうございます。
817 :
デフォルトの名無しさん:2009/10/22(木) 11:10:49
>>802 16bitのリソースのファイルは特定できているんですか
特定したファイルをイメージエディタで開き
上書き保存してやれば多分いけたはずですが
大昔せれでやりました
819 :
802:2009/10/22(木) 15:47:44
>>817 2007や2010はイメージエディタが付属していないんです。
なにかフリーで良いイメージエディタがあったら教えて下さい。
でもテキストがイメージエディタで開けるんでしょうか?
820 :
デフォルトの名無しさん:2009/10/22(木) 16:06:35
821 :
デフォルトの名無しさん:2009/10/22(木) 16:19:46
無名メソッドを変数等に入れずそのまま実行する方法はありますか?
(procedure
begin
// 処理
end)();としてみましたがエラーが出て駄目でした。
要はJavaScriptでいう(function(){...})();がしたいと思っています。よろしくお願いします。
バージョンは2010です。
823 :
802:2009/10/23(金) 06:43:50
結果報告です。
16bitリソースの件、空のフォーム(D2010)に問題のあるフォーム(D2070)に張ってある
コンポを1つずつコピーしていったところ、IdSMTPを張ると16bitエラーになりました。
コピーせずに新規で張り直すとエラーになりません。
なんでだろ??
解決しましたがなんか気持ち悪いです。
824 :
802:2009/10/23(金) 06:46:32
↑ D2070→D2007
hotmailでメールを送信しようとすると「範囲チェックエラー」がでます。
Gmailでは問題無いのですがこれは何が悪いんでしょうか?
ブラウザの問題なのでスレ違いですね
そうじゃなければ最低限の情報も書かないただのバカですし
自己解決しました
初心者で悪いが、Synapse で接続タイムアウトの指定はどうすればいい?
830 :
825:2009/10/24(土) 10:48:40
ごめんなさい
indy10のIdSMTPを使って送信しようとしています。SSLの認証はGmailでは通ったので問題は無いと思います。
Turbo DelphiなのでそれぞれのコンポーネントをCreateしています。送信の設定と送信作業はスレッドを作って処理させています。
本文やfrom等はIdMessageをjconvert.pasを使ってコンバートして設定しています。
例外が発生して停止したところで呼び出し履歴を確認してそこまでの呼び出し経路に
問題がないかを確認。というかプログラマなら範囲チェックエラーとか書かずに例外の
種類を書け。あとネットワークものはWirecharkでキャプチャしてTCPパケットのやりとりの
確認も忘れずに。
833 :
デフォルトの名無しさん:2009/10/24(土) 12:53:35
2010でBalloonHintを置いてImageListを繋げたんだが、
バルーンヒントにイメージが出ない。
ImageListの何番目を表示するかのプロパティも見あたらないんだが…
>>833 CustomHintにセットして使う場合は対象コントロールのHintに書く
Hintの書式は、今までは「Hint|LongHint」だったが、これが拡張されて「Hint|LongHint|ImageIndex」になってる
例えば'保存|ファイルに保存します|2'のように
ShowHintメソッドを使って直接表示する場合は、TBaloonHint.ImageIndexを使う
835 :
833:2009/10/24(土) 19:36:24
836 :
デフォルトの名無しさん:2009/10/28(水) 18:36:28
Delphi6のプロジェクトをDelphi2010に移行してとりあえずコンパイルできるようにしようと思って
Char→AnsiChar string→AnsiStringで置換掛けてコンパイルしてみました。
ところが実行時にStrToIntでエラーが出ます。
処理するレコードは固定長レコードなのですがある項目が全角日本語だったり半角だったりするために
Ansiにしたことで変換対象のロケーションが以前と違っていることが判りました。
StrToIntの引数は固定長だしと直値で指定している箇所がたくさんあり、
全角半角を判定してとかはやりたくないのですがいい方法は無いでしょうか?
置換しなければいい
838 :
デフォルトの名無しさん:2009/10/28(水) 20:19:04
趣味でやってるんだったらわざわざいこうしなくてもいい
がんばるねw
>836
Ansi版のStrToIntが存在しないことが原因なら、自分で作ればいいんじゃない?
残念ながらAnsiStringsユニットにStrToIntがないので…。
>>836 >処理するレコードは固定長レコードなのですがある項目が全角日本語だったり半角だったりするために
>Ansiにしたことで変換対象のロケーションが以前と違っていることが判りました。
この辺が何言ってんのかよくわからん
具体的にどうなって、何が問題なの?
そもそもエラーって何だよ。ちゃんとした回答が欲しいならエラー内容も書こうよ
単にUnicodeになった事で文字の位置がずれてStrToIntに渡す
数字だけを想定した部分がずれたってことだろ。
TJvIPAddressの4つのEdit部に背景色付けられねー!
2日粘ったが無理だ
規制の影響すごいなw
マンセーがいなくなったところで、ここぞとばかりに思いっきりアンチでもするかな
そうはいかんざき
848 :
デフォルトの名無しさん:2009/11/03(火) 01:37:31
kylixってどうなったん?
849 :
デフォルトの名無しさん:2009/11/03(火) 02:06:17
>848
すべての開発は終了した。更新も無い。
末期には非公式パッチを突っ込まないとまともに動かないような
状態だった。
エンバガデロは存在していたことすら気にしていないだろ。
Paradox(BDE)をAbsoluteDatabaseに移行しようと思ってるんだけど
AbsoluteDatabaseって情報少ない…
どこかに日本語の情報ありませんか?
っつか使ってる人いるのかな…
いるよ
852 :
デフォルトの名無しさん:2009/11/04(水) 15:59:50
paradoxかぁ
なつかしいなw
恐ろしく壊れやすくてアプリに修復機能付けてたのは良い思い出w
お前のプログラミングミスを道具のせいにするなよw
854 :
デフォルトの名無しさん:2009/11/04(水) 23:32:09
paradoxじゃないけど昔のデータベースアプリなんかではよくあったよ
日本語の扱いがいい加減で修復するアプリ書いたりしてた
Delphiはバグだらけだから道具のせいにしてもOKだけどな
AbsoluteDatabaseってお金払ったらあのメッセージ消えると思うんだが、どこにレジスト情報を打てば良いの?
BlashfishSQLとかSQLite使えばいいんじゃないか。
Blashfishはないない
FireBirdにすれば?
サーバーを立てて大規模運用、ローカルのRDBMSとしても利用可能
なんか制約でもなければ俺は火の鳥お奨め
FireBirdって別途エンジンをインスト(配布)する必要あるのかな?
Absolute Databaseはエンジン不要なのでその点はメリット大きいかと…
>>860 よくわからんがどうしてDLLが1個増えるのがやなの?
インストする必要はないよ
>>861 なんでSQLiteとかの製品が出てきたか考えてみるとよろしい。
>>863 なんでfirebirdの話してんのにSQLLite?
firebird embeded 版の存在を知った上でのコメントだよね?
866 :
デフォルトの名無しさん:2009/11/08(日) 19:41:37
firebird embededはゴチャゴチャしすぎ
どんだけファイルを添付させる気だよ
>>866 Absolute Databaseの日本語法人かなんかを狙ってんの?
必死ですなw
deko乙。
Delユーザーしかいなさそうな
おまえら得意の製品の事知らないから無知っていわれてもなwww
すいませんあなたは無知ではないですね
スレタイも読めない馬鹿でした
無知と一緒にしたら無知に失礼ですね
超初心者です。
大学でDelphiを使ったプログラミングをしてるんですが、今までプログラミングなどやったことがなく、かなりの苦戦をしいられてますorz
はっきりいって全然解りません。
今は初歩的な(多分)関数、手続きをやっています。
何かコツを掴むきっかけ等あったらアドバイス下さい。
やはり数をこなすしかないのでしょうか。
872 :
デフォルトの名無しさん:2009/11/09(月) 03:11:41
Delphi 以外をやってみたら?
しばらく離れてから戻ってくると
色々発見があっていいよ
>>871 自分の書こうとしているプログラムと似たプログラムを探して
ソースを読んでみるといいんじゃまいか
また対処しようとしている問題は既に誰かが解決しているかもしれない
そういった問題に対する解決レシピを集めたのがデザパタなので
興味があるなら読んでみるといいかもしれない
BorlandはDelphi6無料版再配布してくれねーかな
Visual Studio 2008の無料版のC#とかいうクソ言語よりよっぽど便利だった
>>872 必修科目のプログラミングの授業なんだけど、Delphiしかやらないんだ。
>>873 そんな素晴らしいものがあるのか!ありがとう参考にしてみる。
>>875 Pascalは文法が厳しい方だからVBとかやる位ならDelphiの方が大分マシだな
しかしDel使えれば、他の開発環境にもすぐ対応出来るかというとこれが・・・w
>>866 FBembed使ってたけど、添付させるファイル多すぎだよね。
dll1個で済む&メジャーという理由で今ではすっかりSQLite使い。
こいつらはそもそもDBすら必要ないアプリにDB使ってる可能性が高そう
880 :
878:2009/11/10(火) 17:41:46
サーバー・クライアント形式の大掛かりなDBならFB使うべきだろうけど、
自前アプリのデータ保管用途が主だからSQLiteがちょうどいいだけ。
配布もしてるから、dll1つで済むのはかなり大きいよ。
その程度の用途ならDLLすらいらない他の代替手段がいくらでもあると思うけどw
SQLite便利だお
>>881 「その程度の用途」て一言で言うけど実際にはどの程度かは作る側じゃないとわからんわな
たとえば俺が使ってるJaneではログ管理の高速化のため?にsqlite.dll使ってるが
これがほんとに必要かどうかあんたに判断できるか?
w使うような馬鹿は相手にしない事!
>>883 「高速化のため?」とか、お前自身が理解できてないのに、
その答えを聞いたところで判断できるの?馬鹿なの?
>>884 つまり
>>884も相手にしてはいけませんね
>>883は
>「その程度の用途」て一言で言うけど実際にはどの程度かは作る側じゃないとわからんわな
って言ってるじゃんかよ。だから、彼もJaneの作る側じゃないから答えは知らないってことだろ。
>>885は日本語理解できない馬鹿なの?
>>886 無駄に改行打ってると必死に見えるからやめた方がいいよ
日本語理解できない馬鹿がまた来た
www
SelectDirectory関数について質問です。
2つあるoverload関数うち以下の定義の方
function SelectDirectory(var Directory: string; Options: TSelectDirOpts; HelpCtx: Longint): Boolean; overload;
でDirectory引数にフォルダを指定するとダイアログを開いたときに
そのフォルダを初期表示することができますが、
Cドライブ直下を指定したいときに'C:\'等を指定してもできません。
どのようにすればできるでしょうか?
それともできないのでしょうか??
Delphi4です。
よろしくお願いします。
c:\\
4w
893 :
890:2009/11/12(木) 15:20:17
>>893 俺Delphi4で試したけどDirectory := 'C:\\'でちゃんと出来たよ。
コードさらしてみたら?
895 :
890:2009/11/12(木) 17:36:03
>>864 procedure TForm1.Button5Click(Sender: TObject);
var
strDir: String;
begin
strDir:= 'C:\\';
SelectDirectory(strDir, [sdAllowCreate],0);
end;
exeのあるフォルダが開かれてしまいます。
'C:\work'とかならちゃんと開けます。
>>895 そのコードを貼って俺の環境ではちゃんと動くからもうお手上げ。
Delphi4は2回ほどアップデータがリリースされたと思ったけど、
それはちゃんとあててるのかな?
プロシージャで可変長の配列を持つ構造体の配列を確保したんですが、プロシージャから出る前にSetLengthで0を指定して明示的にメモリを解放する必要はありますか?
ローカル変数はプロシージャからでる際に自動で解放されるんですか?
あと可変長配列を持つ構造体の配列の場合、構造体の配列を0に設定すれば、構造体配列一つ一つが持つ配列も解放されるという考えで問題ないですか?
動的配列は自動的に解放される
動的配列に代入されたものは自分で解放する(値型以外は)
899 :
890:2009/11/14(土) 00:07:04
>>896 Client/Server Suite
Version4.0 Build 5.108 Update Pack 3
できないのでこの関数でやるのはあきらめます・・・
>>890 実行ファイルと同じドライブのルートは指定できないみたいだね。
ルートだとディレクトリリストボックスへの引数がnullになるから
カレントドライブだとカレントディレクトリを表示しちゃうっぽい。
実行ファイルを別のドライブに持ってったらちゃんとc:\が表示されたよw
Format関数について質問させてください。
数値の2を02というふうに出力するには
形式指定子をどのように指定すればよいのでしょうか。
よろしくお願いします。
精度指定子
%.2d
>>902 FormatFloat('00',2)
>>895 strDir:= 'C:\\......................................';
TStringGridについて教えてください。
セルに値を入力後、ENTERで確定、ESCでキャンセルしたいです。
また、確定したとき整形して表示させたいです。
これを実装するために使うイベントや関数があれば教えてください。
よろしくお願いします。
ざっと書いてみた。希望の動作と違う場合は改造してくれ。
整形はどうしたいのか分からんからしてないよ。
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
if (StringGrid1.Col <> 0) and (StringGrid1.Row <> 0) and (StringGrid1.Col < StringGrid1.ColCount - 1) then
StringGrid1.Col := StringGrid1.Col + 1;
if Key = #27 then
StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := '';
end;
>>907 それだと元々何か書いてあった場合は無条件で消去されね?
いや、それが希望の動作かもしれないけどさ
質問を勝手に自分の理解できる範囲の問題に解釈し直すのはいくない
SelectCellで該当のセルの中身を保存してキャンセルなら戻すってのはどうよ
そもそも入力中に隣のセルをのクリックした時とかキャンセル扱いなのか確定扱いなのかも決まってないようだし
もうちょっと仕様も考えたら?
>>909 文句言うだけの輩は帰れ
>>910 恐らくExcelと同じような動作にしたいんだろうと思うけどね
あれもEscでキャンセルになるし
OnSelectCell以外にもOnGetEditTextとOnSetEditTextも使えると思う
912 :
907:2009/11/19(木) 20:56:07
>>908, 909, 910, 911
ご返答ありがとうございます。
エクセルのような動作をさせたいのです。
ENTERで確定、ESCで元の値に戻す、矢印キーで確定後セル移動、などです。
さらに、値確定の前に適切な値かチェックしたり、確定後は値を指定した形式に整形して
表示させたりしたいです。
TStringGridには、こういう用途に必要なイベントが無いような気がしまして・・・
TStringGridって、こういう用途に使うものだと思っていたんですけど、違うのでしょうか?
あるいは、もっと適切なコントロールがあるのでしょうか?
StringGridはStringGridであってExcelではないからなぁ。Excel使えば?
あとはAdvStringGridとかFormula One ActiveX Componentとか。
>>913 ご返答ありがとうございます。
Excel使うと、ExcelがインストールされていないPCでは動作しませんからNGなのです。
不特定多数に使ってもらう場合、EXE1本で動作しないと面倒な事が多いので。
TStringGridは、セル内での編集をカスタマイズするのは難しい、ということでしょうね・・・
>>914 すっぴんの TStringGrid では難しい、ということです。ですから皆さん
10年前から TStringGrid などを継承して、色々と工夫しておられます…。
delphiってdatacontrolと自作クラスのバインドを簡単に出来る?
C#でいうDataBindingsクラスのようなものなんだけど…
StringGridかあ〜。ほとんどのイベント駆使してExcelライクな
インターフェースにしたっけな〜結構苦労したなー、ナツカシす。
>>916 簡単には出来ない
データを扱う処理は5年以上も進んでないから自分で色々しないと駄目
C#使えるならそっち使った方が生産性は100倍はいいよ
自演乙
DBと接続してどうのこうのは今でも現役(3層は結構使いやすい)
でもDelphiはオブジェクトのマッピングが簡単に出来ない等の理由があるからデータアクセスに関しては数年は遅れてるのよねぇ
なんでもかんでもDelphi使うわけでも無し
>>920 O/Rマッピングに関しては2010で簡単にできるようになったわけだが
公式ブログにサンプルもあるくらいだし
>>923 O/Rマップの事じゃない
オブジェクトその物とのマップの事
O/RマップにしてもC#でLINQが出てから数年後とか遅すぎでしょ
エディットとかコンボボックスでウォーターマークが表示できるコンポってありますか?
例えば、ブラウザとかの検索コンボの入力欄に薄く「検索」って文字が出て
フォーカスを持っていくと消えるみたいな奴です。
無かったらオーナードローでやってみようと思います。
D7です。
[3..15]のinteger配列(これは要素番号が確定しています)を
プログラム途中で不確定な要素数の二次元配列にするなんて無理ですか?
最初から動的配列
1次元から2次元への変更は単なる動的配列でOKなんだっけ?
Variantなら何でも入れられるので、1次元配列の要素に配列を入れられる。
メモリ食うわ重いわ型チェックゆるすぎだわでデメリットも多いけど。
>>928 TListはどう?
ただ、integerの値突っ込むのにNew()して、解放するときにDispose()する必要が出て、扱いが面倒。
なので、integerの値をフィールドとしてもつクラスを作り、TObjectListに入れると、解放処理で手を抜ける。
list := TObjectList.Create;
list.Add(THoge.Create(1));
Add()するときに、オブジェクトを生成する手間は省けないので、
TObjectListの派生クラス(or コンポジションでも可)を作って、ラッピングしてやれば、
その派生クラスの生成・破棄だけ気をつけておくだけで済む。
この場合、二次元配列を管理するクラスにし、コンストラクタで一次元配列受け取るようにすればいいかな?
ただ、元ソースのデータ数が大きすぎると、メモリ馬鹿食いになってしまうので、その時は別の方法を考えた方がいいでしょう。
#う〜ん。初心者向けの域を超えたか?
誰かAbsolute Database使ってない?
Del2010、TABSTableのプロパティ、MasterSourceを設定、そのあと
MasterFieldsプロパティ→Field Link DesignerでJoinedFieldを設定して
「OKボタン」を押すと必ず固まるんだ。
いくつかリンク先Tableを変えてみてもダメ。
>>931 ありがとうございます。
とりあえず、新規フォームにコンボとXPMan貼り付けて以下のコードで
やってみましたが、うまくいきませんでした。
どこかおかしいところあったら指摘して下さい。
const
EM_SETCUEBANNER = $1501;
EM_GETCUEBANNER = $1502;
procedure TForm1.FormCreate(Sender: TObject);
begin
SendMessage(ComboBox1.Handle, EM_SETCUEBANNER, 1, LParam(PChar('abcd')));
ComboBox1.Refresh;
end;
参考
ttp://homepage1.nifty.com/ht_deko/tech022.html
まずEditで。あとOnShowかButtonのOnClickで。
おっとLParamは"A pointer to a Unicode string that contains the text to display as the textual cue."だ。
Editやボタンクリック、WideStringは既に試してました。
う〜んどこがおかしいんだろ
あと、折角教えて頂いたんですが、XPだと日本語使えない様で実用にはならないみたいですね
"参考ページ" をリロードしてみて下さい。
おぉ、態々ありがとうございます
コンボボックスはVista以降なんですね
結局エディットでも機能しませんでしたが、XPだと駄目駄目みたいなんで
他の方法を模索します
>>929 Integer突っ込むだけならNewなんてしなくてもキャストだけでよくねえか?
>>938 後だしでスマン
後々、ほかの型を突っ込みたいとき(今ならジェネリックスか?)、
修正範囲を狭く出来るから。
TListのまま、integer型の値入れるのは、問題あり(修正箇所が散らばるという点で)だけど、
今回の例は、派生クラス作るので、キャストでも問題ないか...
|PANEL1|PANEL2|
となってるとき、間のSPLITTERでサイズを変えると
PANEL2の幅はそのままでPANEL1のサイズとClientWidthのサイズが変わるようにするのってどうやるの?
941 :
928:2009/11/22(日) 22:41:05
>>929 俺はTObjectListを多用する方だけど
プリミティブな型を入れるのにはTList系を使わないので
そういう発想はなかったわ。
今回はIntegerだったり配列だったりするので、
言われるとおりクラスを作っちゃうのもいいかもね。
>>940 MinWidthとMaxWidthをWidthと同じにする
例えば拡張子.aaaをクリックすると自作アプリが起動し、
その.aaaファイルに記載されている情報を
自作アプリに反映させたいのですが、どのような方法がありますか?
関連付けして、ParamStr(1)を読む。
>>941 バージョンは?ジェネリクス使えるならそっちでいいと思うけど
946 :
928:2009/11/23(月) 19:59:28
俺
>>926じゃないよ。
ちなみに知識はD7で止まってる。
今って無料で公式が作ってるDelphiを手に入れる方法って書籍のCDROMくらいでしょうか。
VSExpressとかが出揃ってるのに、こんなに出し渋ってるとユーザー離れが進むだけだと思うのですが
何かいいことってあるんですかね…
無料の時代は終わりました。
今世紀中に、フリーペーパーはおろか、フリーソフトやフリスビーもこの世から消えるでしょう。
無料でばらまいて手広くやるよりは単価を上げて企業向けに特化したということだろう。
ホビーグラマは素直にC#とかに行った方がいい。
残念な話ではあるけどもうどうにもならないだろう。
個人ユーザーの裾野が広がったら金かかるだろ
>>949 C#って.net framework上じゃないと動かないですよね
Javaもランタイムが必要だし
今は移植性を重視してこういう言語が流行ってるのかな?
デルヒみたいにexeですぐ実行ってプログラム作りたいなら、やっぱC++とかを勉強しないとダメかな?
デルヒのスレで聞くのもあれですが。
D7使いの俺はどうしたらいい?
>>951 今時数千円くらいのエントリCPUでもそんなに重くないし
ランタイムがどーたらというのはあまり意味のない拘りに思えるけどね。
デコンパイルを嫌がる人にとってはでかい制約かもしれないけど。
なんにしろネイティブコンパイルしたいって明確な目的があるならまだDelphiも悪くないよ。
処理系はオークションあたりでまだ手に入るんじゃないの。
ところでデルヒとはなんですか?
>>953 確かに、性能向上により、Javaが遅いとかは戯言だとは思うのですが
われわれが自分の環境で実行するならともかく、いろんなレベルの人に幅広く使ってもらうには
コンパイルされたものだけを実行すれば良いという方が理想ですよね
しかも.net frameworkで作ったソフトはオープンソースとまで揶揄されてますよね…
実行環境は私は持っています ありがとうございます
ユーザー離れっていうか無料ユーザ抱えてもデメリットしかないしな
サポート対象外とは言ったってパッチ出したり実質サポートの手間が発生するし
>>949 FreePascalあるじゃん
>>953 最近じゃオークションで手に入れるのはまず不可能に近い気がする
かなり粘れば出るかもしれないけど、まず見かけない
アマゾンの横流し野郎が出してるの位しか見たこと無いわ
リンクリストみたいなのにEnumerator実装してfor-in-doでループ書きたいんですが、
下記のコードでは変数が2つ必要な辺りが無駄っぽいですし、もう少しシンプルに書く方法ってありますか?
type
TLinkedListEnumerator = class
private
FCurrent, FNode: TNode;
public
constructor Create(AList: TLinkedList);
function MoveNext: Boolean;
property Current: TNode read FCurrent;
end;
constructor TLinkedListEnumerator.Create(AList: TLinkedList);
begin
inherited Create;
FNode := AList.First;
end;
function TTreeNodeEnumerator.MoveNext: Boolean;
begin
FCurrent := FNode;
Result := FCurrent <> nil;
if Result then
FNode := FNode.Next;
end;
MoveNext実装部のクラス名が変ですが気にしないで下さいorz
959 :
デフォルトの名無しさん:2009/11/24(火) 22:34:46
D7から2010への乗換えを検討してます
とりあえず体験版を入れて既存のプロジェクトをコンパイルしてみたんですがエラーがいっぱい出ました
予備知識ゼロなんですが、乗り換えに際して変更点とか注意点とか纏めてるページってありませんか?
纏める程注意点なんてない
なんのためのエラーなのかと
D7で当然コンパイル通るのがエラーって言われるから困ってるんだけど馬鹿ですか?
仕様変更について知らなければエラーの意味さえ分からないし、ソース見れないから原因追求も困難
じゃあもうそんな糞ソフトアンインストールした方が良いな。
ここのウンチ・・・じゃなくてアンチはがんばるなぁ〜
そんなどうでもいいレスする時間があるならその1/10でもいいから時間を使ってググった方が速いよ
馬鹿だから無理かもしれないけど
まあ、ここは超初心者スレな訳だけど
こんなエラーが出て、回避策がわからないとか
何故、エラーなのかわからないとかって感じの
具体的な質問ならちゃんとしたレスが返るだろうけど
ただ、唐突に、エラーが出る。なんとかすれ・・・って感じだから、バカだねというレスしか付かないわなぁ。
コンパイラのバージョンUPでエラーが出るのは、とくに珍しいことじゃない。ごくごく普通。
下位完全互換なんて謳っているコンパイラなど存在していない。
質問内容的には超初心者を受け入れるってことだけど
常識性が劣悪超初心者的な質問は、結局こうなるよねぇ。
釣られんなよ
アンチの工作質問なんだから
967 :
デフォルトの名無しさん:2009/11/25(水) 06:15:27
delphi6personalのインストールCDは持っているのですが、ライセンスキーがありません
今でも正規のライセンスを得る事は出来ないのでしょうか?
>959
> 予備知識ゼロなんですが、
初心者なんですが、っていうのと同じくらいダメな質問だと思うんだが。2009/2010は2007および
それ以前のバージョンとは断絶がある。きちんと変更点を調べて、その上で事に当たるのが望ましい。
従来のコードが通らない最大のポイントは文字/文字列のUnicode(UTF-16)化で文字列の
各要素であるCharが16bitになったことと、サロゲートや結合文字などを除き1文字がChar1つで
表されるようになったこと、これらに伴ってRTL/VCLのライブラリ関数が変更になったことだ。
おまいら質問にちゃんと答えろ。
>>959は纏めてるページってありませんか?って訊いてるんだから
無い!でいいだろ。
Excelのある範囲(仮にA1〜B10とします)の値を、一度で二次元配列に取得したいのですが、
どのようにすればいいのでしょうか?
下記のソースだと、for ix := Low(aryDt) to High(aryDt) do の行で
「互換性の無い型です」のエラーとなりコンパイルが通りません。
使用しているのは、Turbo Delphiです。
よろしくお願いします。
procedure TF_Main.B_ExcelClick(Sender: TObject);
var
E_Excel : Variant;
E_Application : Variant;
E_WorkBook : Variant;
E_WorkSheet : Variant;
aryDt : Variant;
ix,iy : Integer;
TotalAmt : Integer;
begin
// Excelをオープン
(中略)
// A1〜B10の値を一度に取得
aryDt := E_WorkSheet.Range['A1:B10'].Value;
TotalAmt := 0;
for ix := Low(aryDt) to High(aryDt) do // 互換性の無い型?
begin
for iy := Low(aryDt[ix]) to High(aryDt[ix]) do
begin
TotalAmt := TotalAmt + aryDt[ix][iy]; // A1〜B10の値を合計する。
end;
end;
end;
バリアント配列はVarArrayLowBound,VarArrayHighBound使うんじゃ?
>>957程度の質問にも答えられないなんて、Delphiスレはレベルが低いですね
それにC#ならこんなのもっと簡単に書けるのに(笑)
煽っても何も出てきませんよw
出てこないんじゃなくて無理なんでしょ?
馬鹿だからDelphiみたいな糞言語に必死でしがみついてるわけだし
その馬鹿に必死に噛み付く人間もいるんだわ
大変だね
978 :
デフォルトの名無しさん:2009/11/27(金) 20:55:03
天才言語DELPHIができる人ってすごいですねー
できない人よりはすごいかもな
980 :
デフォルトの名無しさん:2009/11/27(金) 21:39:28
希少言語、日本語できるひと凄いかも
お前は上手に扱えてないみたいだしな