2011-10-10 16 views
3

Rave Reportのtext1のような特定のテキストを、印刷するDelphiフォームの特定のEdit.textに設定する方法はありますかあなたのDelphiアプリケーションで。 各ブロックが単語の特定の文字を表すdelphiアプリケーションでアプリケーションフォームを作成したいとします。たとえば、Edit1.text:= Surname 私のRave Reportのtext1はEdit1.text [1](S )、text2はEdit1.text [2](u)...と表示されます。私はRave Reportでdatatext関数を使用する方法を知っています...しかし、それは私が各フィールドの各文字を別々に最初にデータベース列に保存しなければならないということを意味します... :( できれば助けてください...印刷時にDelphiフォームのEdit1.textに "TEXT"を設定する

答えて

3

これは私にとって非常に奇妙に思えるので、私はあなたのアプリケーションから直接あなたのTEdit.Textをあなたのアプリケーションから直接設定することを強く考えています。あなたが何であるかははっきりしていないからです。ここで尋ねると、私はレイヴレポートにText componentからかにテキストを取得または設定する方法をお見せしようとするでしょう。

のは、あなたがテキストコンポーネントText1という名前Page1Report1を持っているふりをしてみましょうどこかに置かれます。これはすべて、Rave ReportsのデザイナーがC:\YourRaveProject.ravファイルに保存したものです。次に、OnClickイベントハンドラと2つの編集ボックスのEdit1にあるText1コンポーネントのテキストとEdit2のテキストをロードして、Text1コンポーネントテキストを設定した次のコードを持つボタンをDelphiプロジェクトに持っているとします。

uses 
    RpRave, RpDefine, RpBase, RpSystem, RvCsStd; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
    RaveProject: TRvProject; 
begin 
    RaveProject := TRvProject.Create(nil); 
    RaveProject.ProjectFile := 'C:\YourRaveProject.rav'; 

    try 
    RaveProject.Open; 
    RaveProject.SelectReport('Report1', False); 
    // get the text from the Text1 component from the report 
    Edit1.Text := (RaveProject.ProjMan.FindRaveComponent('Page1.Text1', nil) as TRaveText).Text; 
    // set the text of the Text1 component on the report 
    (RaveProject.ProjMan.FindRaveComponent('Page1.Text1', nil) as TRaveText).Text := Edit2.Text; 
    // and execute the report for showing the result of setting the text 
    // note, this can be omitted of course if you want only to get the value 
    RaveProject.ExecuteReport('Report1'); 
    RaveProject.Close; 

    finally 
    RaveProject.Free; 
    end; 
end; 

私見それは、この時点でunanswerableだから、一例としてではなく、あなたの質問に本当の答えとしてこれを取ってください。正確な質問を指定すると、あなたの本当の問題をお手伝いすることができます。

Delphi 2009でRave Reports 7.6.2でテスト済みです。

+2

+1質問は理解できませんが、TLameの答えは正確で完全に明確でコメントになっています。 – HpTerm

関連する問題