Pytanie : DBGrid's zawartość w email

Cześć,

I mieć jeden dataset z dane na mój forma tworzyć the następujący sposób:
->a DBGrid1 na myform z majątkowy DataSource ustawiać DataSource1.
->a DataSource1 z majątkowy DataSet ustawiać ClientDataset1
->a ClientDataSet z majątkowy ProviderName ustawiać XMLTransformProvider1.
i majątkowy Aktywny True.
->a XMLTransformProvider1 z the majątkowy FileName ustawiać xml-filename.
->and DBNavigator z the propery DataSource ustawiać DataSource1.
->and I ustawiać the 3 kolumna: "dt", "tm" i "val" (dt=date, tm=time, i val=value)
jako persistend pole w the DBGrid.

Now I robić guzik który otwierać standardowy email klient. Że I mieć put
in the kodować-section. Ale I potrzebować the dbgrid's zawartość kopiować the ciało-section
of the email. Kto znać the odpowiedź i być kto?

Greetings, Peter Kiers
(1):
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TMainForm.Button1Click (Nadawca: TObject);
var
  strEmail, strSubject, strBody, Param: sznurek;
zaczynać
  strEmail: = "[email protected]";
  strSubject: = "Twój Temat";
  strBody: = "Twój Wiadomość Tekst";

  Param: = "mailto:' + strEmail +"? subject=' + strSubject +
           "&Body=" + strBody;

  ShellExecute (MainForm.Handle, "otwierać", PChar (Param), zero, zero, SW_SHOWNORMAL);
końcówka;

Odpowiedź : DBGrid's zawartość w email

ty móc Geert_Gruwez's lub Epasquier's funkcja, ale I zgadywać ono nie udać się na ShellExecute funkcja, przez zbyt dużo charakter i dodatek specjalny charakter.

Tak daleko jak I znać ty instalować JCL - > ty móc swój JclMAPI jednostka jak móc:

uses
  JclMAPI;

procedura TForm1.Button1Click (Nadawca: TObject);
var
  strEmail, strSubject: sznurek;
  s: sznurek;
  i: Integer;
zaczynać
  strEmail: = "[email protected]";
  strSubject: = "Twój Temat";

  // use Geert_Gruwez's funkcja lub Epasquier's funkcja ciało
  s: = '';
  dla I: = (0). Fields.Count-1
    s: = s + Format ("%20: 20s", [stół. Fields.Fields [I]. Podpis]);
  s: = s + #13#10 + DupeString ("-", 21*table. Fields.Count) + #13#10;
  podczas gdy nie stół. Eof
  zaczynać
    dla I: = (0). Fields.Count-1
      s: = s + Format ("%20: 20s", [table.fields. Odpowiadać [I] .AsString]);
    s: = s + #13#10;
    stół. Następnie;
  końcówka;

  JclSimpleSendMail (strEmail, '', strSubject, s);
końcówka;
Inne rozwiązania  
 
programming4us programming4us