(Gast)
n/a Beiträge
|
Inhalt von Memo (CopyToClipboard) wird nicht in Zwischenabl.
2. Apr 2003, 17:16
Hallo Leute,
hab da ein kleines Problem:
Ich hab ne Form mit zwei Memos und nem Bild.
Beim klicken auf das Bild wird der Inhalt der
Zwischenablage in Memo1 kopiert. Das klappt soweit.
Nun werden einige Sachen in Memo eins geändert und
in Memo2 gespeichert. Das klappt auch noch.
Wenn ich jetzt den Inhalt von Memo2 in die
Zwischenablage kopieren will, tut sich abba nix.
Kann mir jemand helfen?
(Delphi Version 6) Unit Clipbrd habe ich vorsorglich auch
mal probiert. Hier der Quelltext:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, Clipbrd;
const
MaxUmlaute = 89;
Entities : array [0..MaxUmlaute] of string[10] =
(' &',' &',' &',' &',' &',' &Ccdil;',' &',' Ñ'
,
' &',' Þ',' &',' Ý',' &',' &',' &'
,
' Æ',' Á',' Â',' À',' Å',' Ã',' Ä'
,
' &',' &',' &',' &',' &',' &',' &'
, ' Ð',' É',' Ê',' È',' Ë',' &',' &',
' &',' &',' &',' Í',' Î',' Ì',' Ï',
' &',' &',' &',' &',' Ó',' Ô',
' Ò',' Ø',' Õ',' Ö',' &',' &',
' &',' &',' &',' &',' Ú',' Û',
' Ù',' Ü',' &',' &',' &',' &',' &',
' &',' &',' &',' &',' &',' &',' &',
' &',' ¼',' ½',' ¾',' ¹',' ²',' ³',
' &',' &',' &',' &',' &',' &',' ',
' ');
Umlaute : array [0..MaxUmlaute] of char =
(' <',' >',' &',' "',' =',' Ç',' ç',' Ñ',' ñ',' Þ',' þ',' Ý',' ý',' ÿ',' ß',' Æ',' Á',
' Â',' À',' Å',' Ã',' Ä',' æ',' á',' â',' à',' å',' ã',' ä',' Ð',' É',' Ê',' È',' Ë',
' ð',' é',' ê',' è',' ë',' Í',' Î',' Ì',' Ï',' í',' î',' ì',' ï',' Ó',' Ô',' Ò',' Ø',
' Õ',' Ö',' ó',' ô',' ò',' ø',' õ',' ö',' Ú',' Û',' Ù',' Ü',' ú',' û',' ù',' ü',' ®',
' ©',' ±',' µ',' ¶',' ·',' ¢',' £',' ¥',' ¼',' ½',' ¾',' ¹',' ²',' ³',' ¿',' °',' ¦',
' §',' «',' »',' "',' "');
type
TForm1 = class(TForm)
Label3: TLabel;
Memo2: TMemo;
Memo1: TMemo;
Image1: TImage;
procedure Image1Click(Sender: TObject);
private
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function SonderzeichenErsetzen(Zeile: string): string;
var j : integer;
Ent : string;
function Entity(Umlaut: string): string;
var i : integer;
begin
i:=0;
Result:=Umlaut;
while (Result=Umlaut) and (i<MaxUmlaute) do begin
if Umlaute[i]=Umlaut then
Result:=Entities[i];
inc(i);
end;
end; {Entity}
begin
j:=1;
while j<=length(Zeile) do begin
if ord(Zeile[j])>127 then begin
Ent:=Entity(Zeile[j]);
delete(Zeile,j,1);
insert(Ent,Zeile,j);
end;
inc(j);
end;
Result:=Zeile;
end;
procedure TForm1.Image1Click(Sender: TObject);
var
I: Integer;
begin
Memo1.Clear;
Memo1.PasteFromClipboard;
Memo2.Clear;
for I:=0 to Memo1.Lines.Count-1 do begin
Memo2.Lines.Add(SonderzeichenErsetzen(Memo1.Lines[I]));
end;
Memo2.CopyToClipboard;
end;
end.
|