AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Inhalt von Memo (CopyToClipboard) wird nicht in Zwischenabl.
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt von Memo (CopyToClipboard) wird nicht in Zwischenabl.

Ein Thema von thebaer · begonnen am 2. Apr 2003 · letzter Beitrag vom 23. Aug 2006
Antwort Antwort
thebaer
(Gast)

n/a Beiträge
 
#1

Inhalt von Memo (CopyToClipboard) wird nicht in Zwischenabl.

  Alt 2. Apr 2003, 16: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.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#2
  Alt 2. Apr 2003, 16:52
Hallo,

probiere mal

Delphi-Quellcode:
TYPE
   TForm1 = CLASS(TForm)
      Button1: TButton;
      Memo1: TMemo;
      Memo2: TMemo;
      PROCEDURE Button1Click(Sender: TObject);
   PRIVATE
   Function SonderzeichenErsetzen(Zeile:string):string;
function TForm1.SonderzeichenErsetzen(Zeile:string):string; Deine Function un die TForm1 einbinden.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
thebaer
(Gast)

n/a Beiträge
 
#3
  Alt 3. Apr 2003, 16:24
Hilft leider nicht habe aber die Lösung entdeckt:

Man muss erst
Code:
Memo1.SelectAll;
machen dann tuts.
  Mit Zitat antworten Zitat
Benutzerbild von APP
APP

Registriert seit: 24. Feb 2003
Ort: Graz (A)
705 Beiträge
 
Delphi 7 Enterprise
 
#4
  Alt 3. Apr 2003, 16:38
Hallo,
komisch,
ich habe gestern Deinen Code wie Du ihn gepostet hast ausprobiert,
der Fehler war nachvollziehbar.
Danach habe ich die obigen Änderungen vorgenommen -und es hat funktioniert.

Einzige Änderung zu Deinem Code war, dass ich statt ImageClick ButtonClick benutzte.
Armin P. Pressler

BEGIN
...real programmers are using C/C++ - smart developers Delphi;
END;
  Mit Zitat antworten Zitat
netpilots

Registriert seit: 13. Nov 2004
Ort: Zürich
33 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: Inhalt von Memo (CopyToClipboard) wird nicht in Zwischen

  Alt 23. Aug 2006, 09:28
Ich sehe den Unterschied von ButtonClick zu ImageClick so, dass bei ImageClick gleich selektioniert ist wenn das Element den Focus erhält und die Eigenschaft auf AutoSelect true gesetzt ist. Dann würde sich SelectAll erübrigen. Beim ButtonClick geht aber ohne Select nichts.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz