Frage : DBGrids Inhalt in eMail

Hallo, haben

I einen Datensatz mit Daten bezüglich meiner Form verursachte die folgende Weise:
->a DBGrid1 auf myform mit Eigentum Datenquellesatz zu DataSource1.
->a DataSource1 mit Eigentum Datensatzsatz ClientDataset1 zum
->a ClientDataSet mit Eigentum ProviderName Satz zu XMLTransformProvider1.
und Eigentum Active zu True.
->a XMLTransformProvider1 mit dem Eigentum Dateinamesatz zu einem xml-filename.
->and ein DBNavigator mit dem propery Datenquellesatz zu DataSource1.
->and habe ich die 3 Spalten eingestellt: „Papierlösekorotron“, „TM“ und „val“ (dt=date, tm=time und val=value)
als persistend Felder im DBGrid.

Now habe ich einen Knopf hergestellt, der einen Standard-eMail-Klienten öffnet. Dass ich put
in der Codeabschnitt habe. Aber ich benötige den Inhalt der dbgrids, der zum Körper-section
of die eMail kopiert wird. Wer weiß, dass die Antwort und bereit ist, mir zu helfen?

Greetings, Peter Kiers
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TMainForm.Button1Click (Absender: TObject);
var
  strEmail, strSubject, strBody, Param: Schnur;
anfangen
  strEmail: = „[email protected]“;
  strSubject: = „Ihr Thema“;
  strBody: = „Ihr Mitteilung-Text“;

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

  ShellExecute (MainForm.Handle, „öffnen sich“, PChar (Param), Null, Null, SW_SHOWNORMAL);
Ende;

Antwort : DBGrids Inhalt in eMail

Sie können Geert_Gruwezs oder Epasquiers Funktionen verwenden, aber ich schätze, dass es auf ShellExecute Funktion, wegen zu vielen Buchstabens und Sonderzeichen ausfällt.

Insoweit ich weiß, angebracht Sie JCL t - > können Sie seine JclMAPI Maßeinheit so benutzen:

Gebrauch
  JclMAPI;

Verfahren TForm1.Button1Click (Absender: TObject);
var
  strEmail, strSubject: Schnur;
  s: Schnur;
  I: Ganze Zahl;
anfangen
  strEmail: = „[email protected]“;
  strSubject: = „Ihr Thema“;

  //-Gebrauch Geert_Gruwezs Funktion oder Epasquiers Funktion, zum des Körpers zu erzeugen
  s: = '';
  für I: = tun 0 zum Tabelle. Fields.Count-1
    s: = s + Format („%20: 20s“, [Tabelle. Fields.Fields [I]. Untertitel]);
  s: = s + #13#10 + DupeString („-“, 21*table. Fields.Count) + #13#10;
  während nicht Tabelle. EOF tun
  anfangen
    für I: = tun 0 zum Tabelle. Fields.Count-1
      s: = s + Format („%20: 20s“, [table.fields. Auffängt [I] .AsString]);
    s: = s + #13#10;
    Tabelle. Zunächst;
  Ende;

  JclSimpleSendMail (strEmail, '', strSubject, s);
Ende;
Weitere Lösungen  
 
programming4us programming4us