cMyVar = [Hallo Welt]
_cliptext = cMyVar
Mit einer Tabelle (oder einem Cursor) funktioniert dies allerdings nicht.
Um eine Datenmenge, unabhängig davon ob sie als Tabelle oder als Cursor vorliegt, in die Zwischenablage zu bekommen könnte man nun meinen, dass mühevoll per Schleifenverarbeitung jedes einzelne Feld per TRANSFORM in einen String kopiert werden muss. Dem ist jedoch nicht so.
Visual Foxpro verfügt über ein Applikationobjekt, das auf die aktuelle VFP Ínstanz verweist. Ansprechbar ist es über die Systemvariable _VFP. Geben wir bspw. im Befehlsfenster _VFP. ein, so erhalten wir über Intellisense eine Übersicht der verfügbaren Eigenschaften und Methoden. Eine davon lautet DataToClip. Um nun unsere Daten in die Zwischenablage zu kopieren genügt der folgende Code:
* Felder getrennt durch Leerzeichen _VFP.DataToClip([myCursor],RECCOUNT([myCursor]),1) * Felder getrennt durch
Tabulatoren _VFP.DataToClip([myCursor],RECCOUNT([myCursor]),3)
Hierbei stehen in der ersten Zeile des in die Zwischenablage kopierten Textes die Feldnamen. Im Anschluss folgen mit je einer Zeile pro Datensatz die Feldinhalte.
Keine Kommentare:
Kommentar veröffentlichen