AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TMemo kopiergeschützt

Ein Thema von Muchacho · begonnen am 8. Dez 2009 · letzter Beitrag vom 10. Dez 2009
Antwort Antwort
Seite 1 von 3  1 23      
Muchacho

Registriert seit: 9. Okt 2009
60 Beiträge
 
Delphi 2010 Enterprise
 
#1

TMemo kopiergeschützt

  Alt 8. Dez 2009, 22:33
Hi

In meinem Delphi Programm werden gewisse Daten in einem TMemo Feld gezeigt.

Wie kann ich verhindert, dass diese Daten herauskopiert werden können?

Ich habe probiert mit Eigenschaft ReadOnly = true, aber diese verhindert nur schreiben

in einem Memo Feld.

Mit einer Maustaste kann man dort weiterhin Text markieren und herauskopieren.

Enabled = false kommt auch nicht in Frage, weil die ScrollBars weiter funktionieren müssen


Muchacho
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TMemo kopiergeschützt

  Alt 8. Dez 2009, 22:42
Wo kommt der Text denn her? Und was machst du, wenn du es doch schaffen solltest und jemand macht einen Screenshot? Oder schreibt es einfach ab?

Wenn du den Text wirklich vor Kopieren schützen willst, zeig ihn nicht an.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: TMemo kopiergeschützt

  Alt 8. Dez 2009, 22:48
Hallo,

man könnte auch ein eigenes Popup-Menü mit den gewünschten Funktionen hinterlegen, also alles außer kopieren...
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

Re: TMemo kopiergeschützt

  Alt 8. Dez 2009, 22:50
Per SendMessage kann man den Inhalt immernoch vom Memo abfragen
oder man kopiert den Text aus dem RAM oder wo er sonst noch gespeichert wurde.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.196 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: TMemo kopiergeschützt

  Alt 8. Dez 2009, 22:53
Zitat von Luckie:
Wo kommt der Text denn her? Und was machst du, wenn du es doch schaffen solltest und jemand macht einen Screenshot? Oder schreibt es einfach ab?

Wenn du den Text wirklich vor Kopieren schützen willst, zeig ihn nicht an.
Full Ack. Wenn der Text so sensibel ist mußt du verhindern das er Angezeigt wird wenn der User nicht berechtigt ist. Sobald er angezeigt wird kannst du ihn mit ca. 1. Mio verschiedener Programm "kopieren". Wenn es sein muß sogar gleich in ein fertiges PDF oder Word-Dokument.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Muchacho

Registriert seit: 9. Okt 2009
60 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: TMemo kopiergeschützt

  Alt 8. Dez 2009, 22:59
Hi

Screenshot ist egal.

Es handelt sich hier um umfangreiche verschiedene Listen die mit Mühe zusammen gestellt wurden.

Also die Sensibilität dieser Daten ist egal

Diese Daten sind fest im Programm verankert und betragen jedes mall mehrere hundert Zeilen.

Scheinbar sollte dies kein Problem sein solche Daten zu schützen.

Eigentlich kann man dieses Problem als Verhinderung einer Markierung in TMemo ansehen.


Muchacho

@Bernhard: „Full Ack“ Bernhard ist eine tief überlegte Antwort, danke.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: TMemo kopiergeschützt

  Alt 9. Dez 2009, 06:53
Hallo

Das Kopieren von Text kannst du durch Abfangen von WM_COPY verhindern.


Delphi-Quellcode:
 private
    FOldMemoProc: TWndMethod;
  protected
    procedure MemoWndProc(var Msg: TMessage);
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM} 

procedure TForm1.MemoWndProc(var Msg: TMessage);
begin
  if (Msg.Msg = WM_COPY) then
  begin
    Msg.Result := 1;
    ShowMessage('Kopieren nicht erlaubt ;)');
  end else
    FOldMemoProc(Msg);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  FOldMemoProc := Memo1.WindowProc;
  Memo1.WindowProc := MemoWndProc;
end;
Wenn auch Msg.Msg auf WM_GETTEXT überprüft wird, kann der Text auch nicht mehr von "außen" ausgelesen werden.
Musst nur überprüfen, ob dies keine anderen "Nebenwirkungen" mit sich bringt.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#8

Re: TMemo kopiergeschützt

  Alt 9. Dez 2009, 07:06
...oder ganz simpel. Legst du was transparentes drüber, da kann man gar nicht erst markieren.

  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#9

Re: TMemo kopiergeschützt

  Alt 9. Dez 2009, 09:56
Zitat von haentschman:
...oder ganz simpel. Legst du was transparentes drüber, da kann man gar nicht erst markieren.

:hi:
aber auch nicht mehr mit Tasten navigieren - oder sehe ich das falsch? Es soll ja noch Menschen geben, die Cursortasten und ähnliches Zeug benutzen.

Gruss Reinhard
  Mit Zitat antworten Zitat
Muchacho

Registriert seit: 9. Okt 2009
60 Beiträge
 
Delphi 2010 Enterprise
 
#10

Re: TMemo kopiergeschützt

  Alt 9. Dez 2009, 10:04
@haentschman: geht nicht, weil ich ScrollBars benutzen muss

@toms

Danke für Deine fachliche, zieleorientierte Hilfe (Klein aber Fein) !

Muchacho
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 02:22 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