モナーの *やさしい* Delphi質問スレ Ver.7
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001Delモナー ◆fPymXWHY
NGNG( ´∀`)<. Delモナーがどんな厨房疑問でもやさしく答えます。
( ) .| Delモナーは時に私であり、時には別の人。
| | | | 他のスレに書き込んで罵倒される前に、まずここで質問しよう。
(__)_) \_________________________
前スレ モナーの *やさしい* Delphi質問スレ Ver.6
http://pc.2ch.net/test/read.cgi/tech/1019134412/
前スレが埋まるまでは書き込まないで
(あるいはsage進行にして)ください。
>>2-10あたりに関連情報あり
○過去スレ >>2
○関連スレ >>3-5
○Delphi製品情報 >>6
○関連リンク >>7
○質問者へ・回答者へ >>7
○ソース置き場案内 >>8
0809デフォルトの名無しさん
NGNGC言語に必要な知識はほぼ身につくけど、いざ移行するとCのバルキーな
言語仕様に鬱になる罠。
C++には若干不足もあるけど、やっぱり役立つ。でもCの時と同じ罠が・・・
最近ではC#がいーみたいです。漏れは良く知らないけど。
まぁそんなこと心配してるよりDelphiの勉強を始めた方が良い事は確か。
杏より梅が安し、ってやつです。
0810当たって砕けろ
NGNG0811デフォルトの名無しさん
NGNGお前みたいなホームラン級のバカもいるしな(藁
0812傍観者
NGNG漢字読めるけど書けないのと同じかな?
0813デフォルトの名無しさん
NGNG単に必要がないからでしょ
必要になったら書けるよ
0814三村3
NGNGwith Form2 do
begin
BorderStyle:=bsNone;
Top:=0;
Left:=0;
Parent:=Self.TabSheet1;
Show;
end;
>>791 複合かよ!!
>>793 1chかよ!!
>>798 点数があんのかよ!!
>>799 押してーよ!! でも、押せねーよ!!みないな。
>>807 ぴゅー太かよ!!
>>808 空手バカかよ!!
>>809 果実かよ!!
>>810 本気かよ!!
>>811 ホームラン級かよ!!
>>812 漢字とは違うだろ!!
0815もじもじ
NGNGvar
L,S,T:Strings;
で、関数をいろいろ使用した後に
L := S+T;
とした時に
LにSの文字列しか入りません。
L := T+S;
とすると、今度は
LにTの文字列しか入りません。
これは、どのような可能性が
考えられるのでしょうか?
0816デフォルトの名無しさん
NGNGそもそもオブジェクトなのに足せるのか
0817もじもじ
NGNGL,S,T:Strings; 誤
L,S,T:String; 正
0818もじもじ
NGNG末尾にへんなものでも付いてる?
と思い
delete(t,length(t)-1,1);
L := t+s;
showmeseage(L);
としても、末尾の')'が'・'と表示され
ただけでした。
0820無責任だが
NGNGdelete(t,length(t)-1,1);
は t:='123' とすると結果は '13'が残るように思います
#0を消すには
S:=PChar(S);
T:=PChar(T);
L:=S+T;
としてみて下さい。
0821デフォルトの名無しさん
NGNGTData = class
Data : array[1..8,1..1100] of Integer;
procedure TForm1.button1Click(Sender: TObject);
begin
for i:=1 to n do Data[i]:=Data.create; //nは数百ぐらいの任意の数
// 処理
end;
procedure TForm1.button2Click(Sender: TObject);
begin
for i:=1 to n do Data[i].Free;
close;
end;
ヘルプなぞみてここまではできました.
処理はうまくいきます.
しかしアプリを終了するときにエラーが出てしまいます.
メモリーが開放されていないようなのです.
何が足りないのが教えてください.
0822もじもじ
NGNGできました。
ただ、何故この方法で、#0が
消えるのかが、まだ理解できて
ませんが・・・、
ありがとうございました。
deleteに関してはたしかにそうですね。
0823デフォルトの名無しさん
NGNG書き間違いが多くて判りません。 ちゃんと書きなおしてみて下され
Dataは整数の配列なの? それとも TDataの配列なの?
そして2次元配列ではないの? さらに、Data.Create はTData.Createの間違い?
0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG沢山DLできるページがあったら教えてください。
0826デフォルトの名無しさん
NGNG意味不明。
0827デフォルトの名無しさん
NGNG低レベルな質問ですいませんが、よろしくお願いします。
0828827
NGNG0829A
NGNGData : array[1..8,1..1100] of Integer;
と定義しているのだから、そもそも、
Data[i]:=Data.create;
なんていう代入は出来ないのでは?
てか、このままだと、コンパイルとおらないと思うから
実際に書いたのはこうじゃないはず・・・。
元のソースから、コピペで抜き出してみれ。
0830デフォルトの名無しさん
NGNGhttp://www.vector.co.jp/
0831デフォルトの名無しさん
NGNG自己解決してるのに何がありがたいんだYO!
0832821
NGNGすいません
type
TData = class
Data : array[1..8,1..1100] of Integer;
var data1: array of Tdata;
procedure TForm1.button1Click(Sender: TObject);
var i: intger;
begin
for i:=1 to n do Data[i]:=Data.create; //nは数百ぐらいの任意の数
// 代入
// 処理
// 保存
end;
procedure TForm1.button2Click(Sender: TObject);
var i: intger;
begin
for i:=1 to n do Data[i].Free;
close;
end;
です.
よろしくお願いします
0833821
NGNGTData = class
Data : array[1..8,1..1100] of Integer;
var data1: array of Tdata;
procedure TForm1.button1Click(Sender: TObject);
var i: intger;
begin
for i:=1 to n do Data1[i]:=Data.create; //nは数百ぐらいの任意の数
// 代入
// 処理
// 保存
end;
procedure TForm1.button2Click(Sender: TObject);
var i: intger;
begin
for i:=1 to n do Data1[i].Free;
close;
end;
また間違えてましたすいません
0834821
NGNG↓
for i:=1 to n do Data1[i]:=TData.create; //nは数百ぐらいの任意の数
----
の間違いでした
たびたびすいません
0835821
NGNGエラーは終了ボタンを押したときに以下のように出ます
”プロジェクト*.exeがEInvalidPointerクラスの例外を生成しました
無効なポインタ操作”
と出ます
どこがいけないのでしょうか?
厨房でスマソ
0836デフォルトの名無しさん
NGNGとりあえずData1の大きさをsetlengthで指定しる。
0837821
NGNG入れとくべきでした
0838Delフサギコ ◆zE1iiRdQ
NGNG∬ ∧,,∧ /
~━っミ ゚Д゚彡,, < ソース自体むちゃくちゃで
∀._(,,,~ ,,,~⊃_ \しかも小出しだしなー...
━┳┷ |. ,(~ヽ,,,ミ.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
┃...| ̄ ̄し'J.  ̄ ̄ ̄ しんどいぞ....
┻ ヽ ̄ ̄ ̄ ̄ ̄ ̄ ̄
最小限の再現ソースをかくといいかも。
>>それを書くことで自分の理解も深まって
結果的にバグが取れるかもね。
0839821
NGNG再現ソース書いてみます.
すれ汚してすまそ
0840デフォルトの名無しさん
NGNG0841821
NGNGはずかしいのですが・・・
以下のようにを書いて見ました
ボタン1を押してボタン2を押すだけでエラーが出ます.
エラーは835と一緒です.
どこがだめなのかヒントでも教えてください
お願いします
****************
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
TData= class
data: array[1..8,1..1100] of Integer;
end;
var
Form1: TForm1;
Data1 : Array of TData ;
n : integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
n:=120;
SetLength(Data1,n);
for i:=1 to n do Data1[i]:=TData.create;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i: integer;
begin
for i:=1 to n do Data1[i].Free;
close;
end;
end.
0842デフォルトの名無しさん
NGNG付属のもう1枚のCDに。
0843デフォルトの名無しさん
NGNGSetLengthした後で Low(Data1) と High(Data1) を見てみれ。
0844デフォルトの名無しさん
NGNGDelphi ヘルプより。
>動的配列の添字は常に整数であり,0 から始まります。
つまり Data1[n] にはアクセスしちゃ駄目ー
0845821
NGNGありがとうございます.
そんな基本的なことに気がつかないなんて・・・
これだから初心者から抜け出せないのですね.
精進します
0846デフォルトの名無しさん
NGNGつーか、このソースが動いたとして何がしたいの?
根本から何か間違っていると思うのはおれだけなのか?
0847デフォルトの名無しさん
NGNG0848805
NGNG0849デフォルトの名無しさん
NGNGって、他の掲示板でもexeがどーのこーのって質問してない?
0850デフォルトの名無しさん
NGNG>っていうか、WMとCMの違いってなんだ
>TFrom内にもWM_ACTIVATEとCM_ACTIVATEとあったりして
>わけわかんねー
0851デフォルトの名無しさん
NGNGCMはVCLが内部的に使ってる裏メッセージ。
0852Delフサギコ ◆zE1iiRdQ
NGNG@,,,ミ,,゚Д゚彡 < とりあえず>>841のソースでうごきますた。
⊂,,,,,,,,,つつ. \_
LowとHighあたりは間違いの元だけどね。
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNGDelphian World へ行って MIDI で検索する。
MIDI音源を制御するコンポーネントとかがあります。
0856デフォルトの名無しさん
NGNGTStringList.Objects[]使えばできる。
0857デフォルトの名無しさん
NGNG画面半分の大きさで表示されるんですけど
正しく表示させるにはどうすればいいですか?
0858デフォルトの名無しさん
NGNGhttp://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=051302
0860Delフサギコ ◆zE1iiRdQ
NGNG/:\._____\ /
|: ̄\ ミ,,゚Д゚ミ < こちらのに含まれているのを
|: :|: ̄U U ̄:| \使ってみるのはどうかしら。
マダ シゴトチウ..........
http://pc.2ch.net/test/read.cgi/tech/1022921598/63
0861デルファイマスター@一週間
NGNG0862デフォルトの名無しさん
NGNGそういう言い回し流行ってるの?
0864デフォルトの名無しさん
NGNG今年の年末です
0865デフォルトの名無しさん
NGNGいい子にしてたらサンタさんが(略)
0866デフォルトの名無しさん
NGNGDelphiを起動するときってかならずForm1とUnit1.pasが表示されますよね。
Delphiを起動したときに、コンソールアプリを作成するようにしたいんですが
いちいち新規作成→コンソールアプリケーションを選ぶのも面倒なので
起動直後からコンソールアプリを作成するにはどうしたらいいでしょうか?
あと
{ TODO -oUser -cConsole Main : ここにプログラムコードを書いてください }
ってのが激しくいらないんですが、消すことはできますか?やり方を教えてください
0867デフォルトの名無しさん
NGNGDCC32使えば?
0868デフォルトの名無しさん
NGNGメモ帳でも開けば?
0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNG「検索」って知ってる?
0871デフォルトの名無しさん
NGNG故に辞書も検索できない。
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNGコマンドラインコンパイラのこと。
0874デフォルトの名無しさん
NGNGあらかじめコンソールアプリの雛型をどこかに作っておいて
そのショートカットをスタートメニューに入れればいいんじゃない?
0875デフォルトの名無しさん
NGNGDelphiの次製品はコンパイラのバージョンのDelphi 15 にすればいいかも。
0876デフォルトの名無しさん
NGNG新規作成にコンソールアプリってのがなかった?
0877デフォルトの名無しさん
NGNGそれが面倒なんだと( ´∀`)
0878デフォルトの名無しさん
NGNGどっちもリポジトリ使ったらできた。でも、余計な作業も増えた。
0879デフォルトの名無しさん
NGNGP-RateだとかAthlonXPのほにゃらら+とかみたいで、
なんか嫌。
0880デフォルトの名無しさん
NGNG全体を表示させる方法はありませんか?
(スクロールさせても下のほうが切れてます)
0881デフォルトの名無しさん
NGNG0882デフォルトの名無しさん
NGNG電話がつかえなかったらインターネット中です。
0883デフォルトの名無しさん
NGNG0884881
NGNG(;´д⊂ イジワルしないで教えてください
0885デフォルトの名無しさん
NGNGどっかにpingしてみる。
(ルータ経由だと実際に通信してみるしか確実な方法は無い)
0886デフォルトの名無しさん
NGNGping先の鯖が落ちていたら確実じゃない罠
0887881
NGNGあまり確実だなくてもいいので、一般的にはどういうほうほうでネット接続を検知しているのでしょうか?
0888デフォルトの名無しさん
NGNGルータなしに限るなら(ダイアルアップなら)方法はあるが、ユーザーにあらかじめ
そうなのかを聞いておかないとね。
0889デフォルトの名無しさん
NGNGfunction IsInternetConnected: boolean;
var
ConnectType : DWORD;
begin
ConnectType := INTERNET_CONNECTION_MODEM + INTERNET_CONNECTION_LAN +
INTERNET_CONNECTION_PROXY;
Result := InternetGetConnectedState(@ConnectType, 0);
end;
0891デフォルトの名無しさん
NGNGBDEしか手段がないのですか?
BDEはEnterpriseかProfessionalには付属してるとのことなので
それを購入したらいいのかな・・・
DOAでも可能?
0892デフォルトの名無しさん
NGNGDAOのつもりなのかADOのつもりなのか…
0893名無し@891
NGNGあぁぁ・・・
すんませんすんませんすんません・・・
DOAなんてないんですね・・・
DAOとかADOってのもわかってないんですが
DAOってOraclとかのエンジン?
0894デフォルトの名無しさん
NGNGADOコンポーネントで可能。
BDEでもできるけど、AccessはメインじゃないからADOがよい。
ADOならAccessの入ってないパソコンでもMDBを操作できる。
0895デフォルトの名無しさん
NGNG0896デフォルトの名無しさん
NGNGどうすればよいですか?
機種はPC-G850Sです。
0897デフォルトの名無しさん
NGNGネタはマ板でやっとくれ。
0899デフォルトの名無しさん
NGNG0900名無し@891
NGNGMDBって・・・なんですか?(泣
0901デフォルトの名無しさん
NGNG0902894
NGNGここが本家サイトだから読むといいよ。
http://www.microsoft.com/japan/msdn/data/default.asp
簡単に言うと、マイクロソフトのデータベース戦略が「Universal Data Access」
これは、データベースに限らず、すべてのデータを一元管理しようという思想。
で、この思想を支える技術が「OLEDB」。データの種類ごとにCOMを用意して
すべてのデータにアクセス出来るようにしようとする技術。
で、このCOMを汎用的に操作できるクラスライブラリが「Active Database Objects」
すなわちADO。ActiveXだから、これに対応した開発環境ならばADOが使える。
我々が作る場合は、まず、どのデータを操作するか、適したOLEDBプロバイダを
選択する。んで、ADOのライブラリを使って操作する。
Delphiの場合は、ADOのライブラリも使えるけど、BDEやその他のDBコンポーネントと
互換性を持たせるためにTDataSetから派生させたADOコンポーネントを使う。
だから、Delphiで使う場合は、ADOのライブラリよりもTDataSetのプロパティや
メソッドを中心に使うとよい。Delphiとの親和性が高くなる。
0903名無し@891
NGNGあぁぁ
ありがとうございます
そっか(W
>>902
うわーい
ご丁寧にありがとうございます
とっかかりがわからなくてさんざん調べていたのですが
これだけ糸口をいただけるなら
しばらく勉強しつついろいろと調べてみます
VB6ならprofessionalがあるのですが
Delphiでやってみたくて 購入する版から苦悩ちうなんです
3文字やら4文字のアルファベットの羅列で
頭が混乱してるので とてもありがたいです
ありがとうございます
0904894
NGNGがんばってね。ADOだけならProfessionalで十分活用できるよ。
0906デフォルトの名無しさん
NGNGt項準・・・・lw"・・・・÷楳÷摩・・・Ha・・・ム逐・準・・BOSw"vibр盾翌唐les"・B
0907デフォルトの名無しさん
NGNGお名前と国籍を教えてください。
0908デフォルトの名無しさん
NGNGJapanese OK?
レス数が900を超えています。1000を超えると表示できなくなるよ。