>>746 元々は白黒じゃなかったんだよね? だったらパレットが付いてないんじゃないの?
WordのマクロをDelphiで書いて、自動実行させようとしたら、Wordのマクロ見ると:=とかpascalっぽい記述。
こんなんどうしろっつーんじゃ!!
>>748 なんか面白そうな事やってるね。 もうちっと詳しく書いてくれたら皆んなも楽しめるかも
750 :
748:2007/02/28(水) 13:58:26
Wordで記録するとこんなマクロ。どうやってDelphiで記述すればいいのか・・。
しかも入力したとおりに記録されてないし。何これ。
Sub Macro1()
'
' Macro1 Macro
' 記録日 2007/02/28 記録者
'
Selection.TypeText Text:="こんにちは。"
Selection.TypeParagraph
Selection.TypeText Text:="こので。"
Selection.TypeParagraph
Selection.MoveUp Unit:=wdLine, Count:=2
Selection.Style = ActiveDocument.Styles("見出し 1")
End Sub
>>750 それはVBAじゃないのか? Delphiでどうしたいの?
752 :
750:2007/02/28(水) 14:15:21
この処理を、Delphiで書きたいだけだよ。
これで良いのだろうか?
const
wdLine = 5;
var
app, selection: Variant;
begin
app := CreateOLEObject('Word.Application');
app.visible := true;
app.Documents.Add;
selection := app.Selection;
selection.TypeText(Text := 'こんにちわ');
selection.TypeParagraph;
selection.TypeText(Text := 'こので。');
selection.TypeParagraph;
selection.MoveUp(Unit := wdLine, Count := 2);
selection.Style := '見出し 1';
end;
755 :
デフォルトの名無しさん:2007/03/01(木) 12:52:38
あの質問です。delphi6personalをインストールするときの、キーが分らないんです。
登録して、アンケート答えて、キーをメールで送信するってとこをクリックしてもページが見つかりませんとなってしまう。
どうすればいいですか??
インストールできません
>>755 ウェブサイトを弄っている途中みたい。
面倒だがボーランドに電話汁。
インストール番号はどうするのよ?
>>755 OS環境が許せばTurbo delphi (Explorer版)を使えば?
こっちも無料だよ
Turboはコンポ入れられないから糞
ある文字列をクリップボードにコピーしようと思ったのですが
一番最後に改行が入ってしまいます。
これはどうにもならないのでしょうか?
uses
Clipbrd;
....
var
Form1: TForm1;
clip: TClipboard;
tex: TStrings;
.....
procedure TForm1.FormCreate(Sender: TObject);
begin
clip:=TClipboard.Create;
tex:=TStringList.Create;
tex.Add('');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
clip.Free;
tex.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
tex[0] := CurrentDirectly;
clip.AsText := tex.Text;
end;
function chop(s: string): string;
begin
result := s;
whlie length(result) > 0) and (result[length(result)] in [#10, #13]) do
setlength(result, length(result)-1);
end;
...
clip.AsText := chop(tex.Text);
とかやっとけ。それからClipboardインスタンスは定義済みだから
create/freeは不要。
Clipboard.AsText := で桶
つーか、そもそも
procedure TForm1.Button1Click(Sender: TObject);
begin
Clipboard.AsText := CurrentDirectly;
end;
でいいんじゃ・・
766 :
デフォルトの名無しさん:2007/03/01(木) 18:22:56
TStringListを継承して独自のクラスをつくりたい… で、
Createしたときに一行目に予め注意書きみたいなのを入れるようにしたくて
TMyStringList = class(TStringList)
〜
public
constructor Create(note: String); overload;
で、実装部で
constructor Create(note: String); overload;
begin
inherited;
Append(note);
end;
で、なにも問題ないですか?
overrideつけないといけないようですが、引数なしのコンストラクタはoverrideする元がないようですし…
横から質問スマソ
TStringListって最初の行にstringを代入する時
addを使わずに
tex[0] := CurrentDirectly;
ってやってOKなの?
んなわけない
>>767 FormCreateのときに空文字をAddしてるから
tex[0]が使えてるだけです
length(result)て改行文字も含めた値が返るんですか?
かけあい漫才ですかwwwwww
お尋ねします。
Excelでは画面を更新する時に、ちらつきを抑えるために
ScreenUpdatingプロパティをFalseにすることで実現できるのですが
Delphiにもそういった機能はあるのでしょうか?
何について知りたいのかわからない
フォーム?
グラフィックの描画がちらつく場合は DoubleBufferedというのがある
774 :
771:2007/03/02(金) 09:02:50
771で質問した者です。
レスありがとうございます。
あまりにも質問が抽象的過ぎたので具体的に説明します。
エクスプローラーのようなものを作ろうとしております。
TreeViewをAlineプロパティを上下左右に変えることで
上下左右に移動できるような機能を兼ね備えたものです。
たとえばTreeViewのalineプロパティがalLeftの時にalTopに変えたら
TreeViewは左から上に移動しますが、この時デフォルトでは
alLeftの時の幅がalTopの時の高さになります。
しかしこのままでは、適切な高さにならない場合もあるので
強制的にプログラムで適切な高さになるように修正しているのですが、
修正しているさまがあまりにもバレバレでかっこ悪いのです。
ExcelVBAにはScreenUpdatingという機能があり、
これを使えば、見せたくないものに関しては途中の描画を見せずに
プログラム実行後の最終結果だけを見せることができます。
これに類似した事をDelphiで実現することは可能でしょうか?
beginupdate endupdate かな?
>>774 TApplicationのProcessMessagesメソッドは使ってみた?
>>774 LockWindowUpdate(Form1.Handle);
try
(処理)
finally
LockWindowsUpdate(0);
end;
>>766 オーバーライドは継承元のクラスのCreateメソッドが仮想メソッドか動的メソッドの場合にだけ関係しますので
ここでは気にしなくて結構です.
このクラスではパラメータ無しのCreateを記述することもできて実行すると継承元クラスのCreateが呼び出されますが
これは想定した仕様ですか?(もしそうなら問題ないと思います)
779 :
766:2007/03/02(金) 20:08:25
>>778 そうですね、パラメータ無しのCreateを呼んだときは何かデフォルトの文字が入ってるような感じにしてごまかそうかと思ってます。
無しのCreateにもoverloadつけてデフォの値をいれても(パラメータ、有り、無し2つのCreateを書いてしまっても)問題はありませんか?
オーバーロードする必要なんて無いような気がしてならない。
overrideとoverloadをごっちゃにしているような気がしてならない。
782 :
771:2007/03/02(金) 23:54:26
783 :
766:2007/03/03(土) 09:58:34
引数ありのCreateと無しのCreateではoverloadしなくちゃならないかな、と思っただけ。
overrideは継承した子クラスでの手続の振る舞いを変えるための上書きみたいなもんでそ?
うっふん♥
言われてみれば、コンストラクタはoverloadしなくて複数宣言出来るのは、勘違いしてもしょうがないな
overloadが導入される前からの設計だからしょうがないけど
横槍スマン
デストラクタはどうなの?
プログラムを起動したとき、ボタンでなくてエディタにフォーカスを
移すにはどうしたらいいですか?
edit1.setfocus;
ActiveControl
>>785 デストラクタは Destroy をオーバーライド一択だろ。
だよねぇ
>>786 setfocusはFormが既にアクティブじゃないと使えない
Formが最初に得るフォーカスを指定するときは
ActiveControlを使うべし
設計時にEdit1のTabOrderを0にするというのはあり?
Print Tools/32用のチェーンストア統一伝票各種のテンプレートどっかにないですか?
Visual dBASE まだ使ってるのか・・・・
Delphi2007のDMきたお。
Delphi−PHPのチラシも入ってたんだが、「英語版日本先行販売」ってのは「日本語版後行発売」と受け取っていいのか!?
PHP使いたいんだが、マニュアルやらサンプルやら全部英語だと滅入っちまう…
日本語環境では保証ありませんとか書いてるし。
>>日本語環境では保証ありませんとか書いてるし。
これかなり重要だよな
マルチバイト文字環境では動作不安定とかマジ日常茶飯事