5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

くだすれDelphi(超初心者用)その52

1 :デフォルトの名無しさん:2010/07/19(月) 11:31:07
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。

<前スレ>
くだすれDelphi(超初心者用)その51
http://pc12.2ch.net/test/read.cgi/tech/1259667697/

<過去スレ>
DelWiki避難所(Delphi 関連の過去スレッド)
http://delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89


2 :デフォルトの名無しさん:2010/07/19(月) 11:31:54
<関連スレ>
【Delphi】 Indyコンポーネント 【C++Builder】
http://pc11.2ch.net/test/read.cgi/tech/1093654251/
Delphi初心者のための寺子屋
http://pc11.2ch.net/test/read.cgi/tech/1132756268/
delphiで作った有名ソフトって何があるの?
http://pc11.2ch.net/test/read.cgi/tech/1135654787/
Delphi持ってるならGLSceneを使え
http://pc11.2ch.net/test/read.cgi/tech/1163269079/
【Delphi互換!?】FreePascal【GPL】
http://pc11.2ch.net/test/read.cgi/tech/1137051510/

【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】
http://pc11.2ch.net/test/read.cgi/gamedev/1097836469/
Delphiでアクションゲームが作りたい!! Part2
http://pc11.2ch.net/test/read.cgi/gamedev/1027482533/
ネットワークゲーム作成のお勉強(Delphi専用スレ)
http://pc11.2ch.net/test/read.cgi/gamedev/1028278884/
delphiでMMO
http://pc11.2ch.net/test/read.cgi/gamedev/1072515100/

【CodeGear】Embarcaderoオッチャ その22【Delphi】
http://pc12.2ch.net/test/read.cgi/tech/1269010332/

では質問どうぞ。


3 :デフォルトの名無しさん:2010/07/19(月) 20:05:22
>>1乙ぺたぺた
ttp://www.turbomirror.com/
ttp://www.soft32.com/

4 :デフォルトの名無しさん:2010/07/22(木) 01:36:41
前スレ落ちたな

5 :長くてごめんなさい:2010/07/22(木) 14:28:20
BSMTP.dllを使っている人がいたら教えてください。
いくつかのサイトを参考に、以下のコードで、メールを受信と中身取り出しには成功しました。
var
Ret: integer;
ST1, ST2: TPBSMTPStatus;
WKSTR: array[0..80]of Char;
i, j: integer;
strML: string;
begin
New(ST1);
Ret:=BPOP3(PChar(Edit3.Text), PChar(Edit0.Text), PChar(Edit2.Text), PChar('SAVEALLD'), PChar('Files1'), ST1, WKSTR);
if Ret<1 then begin
BFreeArray(ST1);
Showmessage(WKSTR);
exit;
end;
New(ST2);
for i:=0 to ST1.Counter - 1 do begin
Ret:=BMIME('GET', PChar(ST1.Status[i]), PChar('Files2'), ST2, WKSTR);
if Ret>=1 then begin
strML:='';
for j:=0 to ST2.Counter-1 do begin
strML:=strML + ST2.Status[j] + Chr(13) + Chr(10);
end; {ここでstrML文字列から、「送った人」、「件名」をどうにか}
end;
end;
BFreeArray(ST1);
BFreeArray(ST2);
end;
取り出したメールの中身から、まずは「送った人」と「件名」だけStringGridのようなものに表示させたいと考えているのですが、
そのためには'From: 'とか'Subject: 'あたりを取っ掛かりに、文字列を操作する苦しいコードを書かなきゃならないのでしょうか。
それとも何か一発で出来るようなうまい方法があるのでしょうか。

6 :長くてごめんなさい:2010/07/22(木) 19:03:28
何か質問の仕方がよくなかったですね。
もしかしたらこれはBMSTP.dllのことは関係なかったのかもしれません。
取り出されたメールの中身ってのはたぶん、あれです。
OutlookExpressなんかで(というかこれしかつかったことないんですが)、メール右クリックで
出てくるプロパティのうち「ソース」ってやつ。

あの記号の羅列の中から、'件名'と'送り主'だけを引っ張り出す手っ取り早い方法があったら
知りたいです(ダメならあきらめて文字列相手にカッコ悪いコードいっぱい書きます)。

7 :デフォルトの名無しさん:2010/07/23(金) 02:26:27
正規表現使えば素敵やん

8 :デフォルトの名無しさん:2010/07/23(金) 02:52:50
「苦しいコード」とか「カッコ悪いコード」とかがどういうモノを指してるのか
よく分からないけど、要するに「面倒くさい」ってことなら
いますぐプログラミングなんてやめた方がいい
プログラミングとは総じて面倒くさいモノだから(キリッ)

9 :デフォルトの名無しさん:2010/07/23(金) 13:29:19
面倒くさがるのはプログラマに向いた性格とされてますけど

10 :デフォルトの名無しさん:2010/07/23(金) 13:40:19
>>5
TIdMessageを使うのはどう?
TIdMessage.LoadFromStream()で読み込んで、
SubjectプロパティやSenderプロパティを参照してみる。

11 :5です:2010/07/23(金) 17:41:35
いろいろありがとうございます。
とりあえずは七転八倒状態で長々と文字列操作のコードを書き、
望む動作は得られましたけど、完成を急がなきゃならないわけでもないので
「正規表現」と「TIdMessage」について調べてみます。

(vbsをちょっとだけかじったことがあり、正規表現って言葉には見覚えが
あるような気が)


12 :デフォルトの名無しさん:2010/07/26(月) 15:49:51
長らく D6 で時が止まっていたものですが、文字コードが厳しくなってきているようなので、久々にアップデート考えています。
お布施を怠ったせいで、Del2010 のアップデート対象から外されてしまいましたが、通常版なんざとても購入できません。
対象外になったといわれてるだけで、実は購入すれば問題なく使用できたりするんでしょうか。
ダメなら Del2009 の購入を考えています。

13 :デフォルトの名無しさん:2010/07/26(月) 18:27:16
たぶん登録できない
とりあえずまだ買えるDelphi 2007オヌヌメ

14 :デフォルトの名無しさん:2010/07/26(月) 19:53:56
>>13
2009ではなく2007をオヌヌメする理由を教えてくだされ
ひょっとして2009はバギー?


15 :13:2010/07/26(月) 20:08:51
D7以下からの移行を考えるならまずD2007(最後のANSI版)に移行してUnicode以外の問題を
全て解決し、それから必要に応じて2010(あるいは2011)に、という2段階で進むのが現実的、という話。
Delphi 2009/2010はEmbarcaderoも認めてる通り、今までのバージョンアップと違ってbreaking changeなので。

16 :デフォルトの名無しさん:2010/07/26(月) 20:11:05
あ、あと2007から2010は優待が効くので。2007は最後のチャンスかもしれん。
個人的にはあと5年とはいわないけど2-3年は2007を併売して欲しいが。

17 :デフォルトの名無しさん:2010/07/26(月) 20:14:46
>>15
Unicode以外の問題って何?
D7から直接2010に移行したけど文字コード以外の問題って特になかったけど…
(DB周りの)コンポのバージョンや種類のこと言ってるなら、
2007挟むと逆に余計な手間が増えるだけで意味ないだろ

18 :デフォルトの名無しさん:2010/07/26(月) 20:47:02
問題があるかどうかは人やプロジェクトによって違うでしょ。そこは自分の判断で。

19 :デフォルトの名無しさん:2010/07/26(月) 21:38:28
ん〜、じゃあ2010買っても良いわけか

まぁもっとも、2007は最後のANSI版というポイントもあるよね?

20 :デフォルトの名無しさん:2010/07/26(月) 22:16:05
Unicode化を急ぐのか?(それもどの程度か)で変わってくる部分もあるので。たとえば後2月待てるなら
2011も視野に入ってくるし、待てないなら2010だし、年単位で考えればいいなら2007だし。
ANSIに全く未練がないなら2007は考えなくてもいいけど…。

21 :デフォルトの名無しさん:2010/07/26(月) 23:41:03
結局、よ〜わからんっ!!!!orz w

22 :デフォルトの名無しさん:2010/07/27(火) 00:54:07
2011はどう考えてもバギーだから考えなくていいよ
Unicode化した2009もバグだらけで2010でやっと使い物になったし、
2011が出てもパッチが出るまではヘタしたら既存コードのコンパイルすら通らない可能性がある
2011ではコンパイラを一から書き直してるらしいから

23 :12:2010/07/27(火) 11:04:04
いろんな意見ありがとうございます。
とりあえず個人的な用途がほとんどなんで、買うなら 2009 にしたいと思ったんですが、
バグだらけですか。困りましたねえ。

とりあえず次のアップデート権を買うぐらいの気持ちの方がいいのかな。
どうせ日本語しか使わないだろうから、入出力で変換カマして D6 使い続けるのも手かと
思ったんですが、そんな時代に沿わない手間かけるのもいやだし。

24 :デフォルトの名無しさん:2010/07/27(火) 13:38:11
個人用途なら全然D6でいいと思う

25 :デフォルトの名無しさん:2010/07/28(水) 06:50:24
2009でUnicode化したが別に困ってないな
信用する前に具体例を聞いてみることだ

26 :デフォルトの名無しさん:2010/07/28(水) 12:48:15
2009で未修正のバグが2010では100件単位で直っておりますが
2009ではもう修正する予定はないそうですが

27 :デフォルトの名無しさん:2010/07/28(水) 15:51:17
よく考えたら、アップデート版二つで10万近く行くわけだから、
わざわざ不具合の多い 2009 を経由するぐらいなら
その分を次にまわした方がいいのか。
もうしばらく D6 でがんばるか。

28 :デフォルトの名無しさん:2010/07/28(水) 18:08:14
旧版のサポートが切れる前に出荷した分については
まだアップデート対象じゃなかったっけ>D6
在庫あればの話だが

29 :デフォルトの名無しさん:2010/07/28(水) 21:51:23
D6ってことは2009まではアップグレード可能だから、新規に2010/2011を買うのと、D6→2007→2010/2011と
アップグレードするのと、D6→2009→2010/2011とアップグレードするのは金額的に大差ない、ってことだな。
この中から選べっていわれたらD6→2007→2010/2011だよな、普通。

30 :デフォルトの名無しさん:2010/07/29(木) 10:53:04
ちょっと誰か教えてください。

D2010でコンポーネントを作っています。
例えばTStaticTextを継承してTMyStaticTextを作ります。
Captionに何も入れない状態で作成したいのでCreateにCapition=''を入れていますが、
ポトリするとCaptionにTMyStaticText1が入ってしまいます。
実行するとCaptionは''になるのですけどね。

何処に書けば、最初からCaptionが''のままポトリできるのでしょうか?



31 :デフォルトの名無しさん:2010/07/29(木) 13:11:08
ソースも晒さずに質問とな?

32 :デフォルトの名無しさん:2010/07/29(木) 18:23:18
>30
SetNameをoverrideする。詳しい動作はTControl.SetNameを見るべし。

33 :デフォルトの名無しさん:2010/07/29(木) 18:40:24
>>32さん

ありがとうございました。無事所望の動きが出来ました。
TWinControlまでは遡って見てたんですが、
TControlまで行ってませんでした。

ありがとうです。



34 :デフォルトの名無しさん:2010/07/29(木) 19:49:13
TreeViewとPageControlを連動させたいのですがどのようにすればいいでしょうか?

例としては
[TreeView]
親1━子1
┃ ┗子2
親2━子3
.  ┗子4

[PageControl]
TabSheet1 TabSheet2 TabSheet3 TabSheet4

このようなTreeViewとPageControlがあった場合に
子1をクリック→TabSheet1表示
子2をクリック→TabSheet2表示
子3をクリック→TabSheet3表示
子4をクリック→TabSheet4表示
このように連動させたいのです。


35 :デフォルトの名無しさん:2010/07/29(木) 20:41:53
クリックしたら TabSheet を操作すればいいんじゃないの?

36 :デフォルトの名無しさん:2010/07/29(木) 21:00:02
TreeViewの子に0〜3まで順にindexが振られてたらと思って
TreeView.Selected.Indexを試したのですが
子1→0
子2→1
子3→0
子4→1
となっていて選択された子を知る手段がわかりませんでした。

37 :デフォルトの名無しさん:2010/07/29(木) 21:02:21
JVCLにそんなコンポーネントがあったような希ガス
それぞれのノードのDataプロパティに対応するTabSheetを覚えさせておくといいのでは?

38 :デフォルトの名無しさん:2010/07/29(木) 21:17:56
>>37
TreeViewの「選択時のインデックス」のところにTabSheetのindexに対応するもの入れて
TreeView.Selected.SelectedIndexとすることで目的が達成されました!


皆さんありがとうございました。

39 :デフォルトの名無しさん:2010/07/30(金) 11:18:05
>>31
涙目


40 :デフォルトの名無しさん:2010/07/30(金) 13:28:57
>>39
無駄な改行入ってると必死に見えるからやめた方がいいよ

41 :デフォルトの名無しさん:2010/07/30(金) 16:47:12
ちょっと助けてくれ。
大学の講義でプログラミングしているのだが、まったくわからん。

ガンマ線計測によって得られたスペクトルデータを読もとり、データをテキストファイルに書き込んだり、グラフに表示することを各自プログラミングしてみよう。
以下、ヒント
Var
Chn:array of LongWord;
Real_Time,Live_Time:LongWord;
Second,Channels:Word;
DateTime:array[1..12] of Char;
FileName:String;

procedure ReadFile;
Var
InFile:File;
Dummy:array[1..6] of Char;
Result:Integer;
i:Word;
lw:LongWord;

次に続く。

42 :デフォルトの名無しさん:2010/07/30(金) 16:48:19
begin
AssignFile(InFile,FileName);
FileMode:=fmOpenRead;
Reset(InFile,1);
BlockRead(InFile,Dummy,6,Result);
BlockRead(Infile,Second,2,Result);
BlockRead(Infile,Real_Time,4,Result);
BlockRead(Infile,Live_Time,4,Result);
BlockRead(Infile,DateTime,12,Result);
BlockRead(InFile,Dummy,2,Result);
BlockRead(InFile,Channels,2,Result);
Setlength(Chn,Channels);
For i:=0 to Channels-1 do begin
BlockRead(InFile,lw,4,Result);
Chn[i]:=lw;
end;
CloseFile(InFile);
end;
 ファイルを読み込むときによくやる方法は、"TOpenDialog" コンポーネントを使い、Button コンポーネントをクリックしたときのイベントハンドラなどで、OpenDialog1.Executeを呼び出す。

グラフを書く前に、データをテキストファイルに書き出す練習をしてみよう。テキストファイルの型は、Fileではなく、TextFileを使いう。
データを書き込むファイルを指定する場合には、"TSaveDialog"コンポーネントを使う。SaveDialog1.Executeを呼び出す。書き込む前に、Rewriteを使ってファイルを開く。書き込むときには、Writeln(OutFile,Ch[i]);などのようにする。

プログラムの動きを点検するときは、次の通り
 F4キーを押すと、押されたプログラムの部分まで実行されたら、実行がストップする。F8キーで、次の行、F7キーを押すと、行内でよびだされている手続き・関数内に行って、ストップする(手続き、関数が無い場合には、F8キーと同じ)。

誰か無知な我にご加護を。

43 :デフォルトの名無しさん:2010/07/30(金) 17:01:45
Delphiインストールしてないや
具体的に何がわからないの?

44 :43:2010/07/30(金) 17:04:06
ごめん、別のスレと間違えてたw

45 :デフォルトの名無しさん:2010/07/30(金) 17:07:22
うぬb

46 :デフォルトの名無しさん:2010/07/30(金) 18:08:59
>>41-42
宿題はこっちのスレの方がいいかな
Pascalの宿題は俺にやらせろ!!Part3
http://pc12.2ch.net/test/read.cgi/tech/1260922392/

47 :デフォルトの名無しさん:2010/07/30(金) 18:32:33
>>41-42
自分で書いたのが3行だけで、あとはコピペのみってのがスゴイな。
何をしてほしいのかも書いてないし。
どんな環境で前提条件等詳しく書かないと誰も手をつけられないんじゃね?
とりあえず、
>誰か無知な我にご加護を。
神よ、このさまよえる子羊にお導きあれ。

48 :デフォルトの名無しさん:2010/07/30(金) 23:38:10
未だにDelphiを教材として使ってる大学があるというのが驚き
変な意味じゃなくてな

49 :デフォルトの名無しさん:2010/07/31(土) 00:48:09
Pascalは教育用だったんだっけか

50 :デフォルトの名無しさん:2010/07/31(土) 23:14:38
変数や関数の名づけ方が気持ち悪い・・・

51 :デフォルトの名無しさん:2010/07/31(土) 23:40:28
Delphiもせっかく無償版のおかげで盛り上がってたのに
どうして旧に舵をかえたの?

52 :デフォルトの名無しさん:2010/08/01(日) 04:44:33
リアルタイムとライブタイムの違いが分からんなw

53 :デフォルトの名無しさん:2010/08/02(月) 16:22:37
みな、迷惑かけてスマン。
>>46 ありがとう助かる。
>>47 それすらわからんのだ。教員に聞こうも、理解ができない・・・。それは、自分の理解のなさのせいだが・・・
>>48 少人数の講義でやっているから・・・。もはや、これが講義なのかもちょっとわからん。
>>50 自分に言われても出題がそうなっていたので、どうにもできない。すまない。
>>49 >>51-52 自分には理解できない言葉だ、すまない。返答ができない。

>>46の紹介してくれたスレにそのままコピペするが、許してくれ。

54 :デフォルトの名無しさん:2010/08/04(水) 07:58:53
CIDの文字コードをUTF16に変換する方法を教えてください。ペコリ

55 :デフォルトの名無しさん:2010/08/04(水) 12:32:53
その日本語はおかしい。CIDがすなわち文字コード。

17 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)