Merhaba arkadaşlar uzun bir aradan sonra yine garip ama işe yarar bir programla karşı karşıyayız.
Program uzun zamandır aklımdaydı ancak yazmak konusunda zaman sıkıntım vardı. Bugun biraz uğraştım ve bu kısacık kodlu yazılımı yaptım.
programın adı PannO
Program sorunsuz çalışıyor gibi ama bi sorun olursa yoruma yazarsanız sevinirim
Programı Buradan indirebilirsiniz
programın amacı şu aslında
elimizde word yada herhangi bir belge var ve biz bu belgeden bazı kısımları kopyalamak istiyor ama sistem şu şekilde çalışıyor
kopyalanan metin->clipboard-> yeni metin dosyasına aktar
kopyalanan metin->clipboard-> yeni metin dosyasına aktar
ama yazdığım bu programı açık bırakın ve kopyalamaya başlayın
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
PannO yukardaki işlemlerin tamamında clipboard a alınan tüm verileri (yalnızca şimdilik text) kendi hafızasına alıyor ve sonrasında siz PannO üzerindeki butonlarla ister tüm kopyalananları alın isterseniz arada işinize yarayacak olanları alın ve diğer dosyanıza yapıştırın.. :)
Kod yazarken ve ödev yaparken benim çok işime yarayacak bir dosya :)
sizinde işinize yararsa sevinirim.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Clipbrd, StdCtrls, sListBox, sSkinManager, sButton, sMemo;
type
TForm1 = class(TForm)
hafiza: TsListBox;
sSkinManager1: TsSkinManager;
Label1: TLabel;
sButton1: TsButton;
sButton2: TsButton;
sButton3: TsButton;
sButton4: TsButton;
sButton5: TsButton;
sMemo1: TsMemo;
sButton6: TsButton;
procedure WMDrawClipboard(var Msg: TMessage); message WM_DRAWCLIPBOARD;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure sButton1Click(Sender: TObject);
procedure sButton2Click(Sender: TObject);
procedure sButton3Click(Sender: TObject);
procedure sButton4Click(Sender: TObject);
procedure sButton5Click(Sender: TObject);
procedure sButton6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
SinemaKoltugu : THandle;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.WMDrawClipboard(var Msg:TMessage);
begin
if Clipboard.HasFormat(CF_TEXT) then // Uses Clipbrd
begin
hafiza.Items.Add(Clipboard.AsText);
sMemo1.lines.Clear;
smemo1.Lines.Add(clipboard.AsText);
/// form2.sMemo1.Lines.Add(clipboard.AsText);
end;
if not assigned(form2) then
begin
end
else
begin
form2.smemo1.lines.add(hafiza.Items[0]);
form2.sMemo1.Lines.Add(clipboard.AsText);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//- "İzlemek üzere sıra numaramızı aldık ve başladık" anlamında
SinemaKoltugu := SetClipboardViewer(Handle);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
// - "İzlemeyi sona erdirdik" anlamında...
ChangeClipboardChain(Handle, SinemaKoltugu);
end;
procedure TForm1.sButton1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to hafiza.Items.Count - 1 do
begin
hafiza.Items.Clear;
end;
end;
procedure TForm1.sButton2Click(Sender: TObject);
begin
if hafiza.ItemIndex=-1 then
showmessage('öncelikle listeden bir satır seçiniz')
else
begin
Clipboard.AsText:=hafiza.Items[hafiza.ItemIndex];
hafiza.Items.Delete(hafiza.Items.Count-1);
end;
end;
procedure TForm1.sButton3Click(Sender: TObject);
begin
hafiza.Items.Delete(hafiza.Itemindex);
end;
procedure TForm1.sButton4Click(Sender: TObject);
begin
if hafiza.ItemIndex=-1 then
showmessage('öncelikle listeden bir satır seçiniz')
else
showmessage(hafiza.Items[hafiza.ItemIndex]);
end;
procedure TForm1.sButton5Click(Sender: TObject);
begin
showmessage(Clipboard.AsText);
end;
procedure TForm1.sButton6Click(Sender: TObject);
var
k:integer;
begin
form2.show;
//for k := 0 to hafiza.Items.Count - 1 do
//begin
// form2.sMemo1.Lines.Add(hafiza.Items[k])
//end;
end;
end.
Form2 için
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, sMemo;
type
TForm2 = class(TForm)
sMemo1: TsMemo;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
end.
Program uzun zamandır aklımdaydı ancak yazmak konusunda zaman sıkıntım vardı. Bugun biraz uğraştım ve bu kısacık kodlu yazılımı yaptım.
programın adı PannO
Program sorunsuz çalışıyor gibi ama bi sorun olursa yoruma yazarsanız sevinirim
Programı Buradan indirebilirsiniz
programın amacı şu aslında
elimizde word yada herhangi bir belge var ve biz bu belgeden bazı kısımları kopyalamak istiyor ama sistem şu şekilde çalışıyor
kopyalanan metin->clipboard-> yeni metin dosyasına aktar
kopyalanan metin->clipboard-> yeni metin dosyasına aktar
kopyalanan metin->clipboard-> yeni metin dosyasına aktar
kopyalanan metin->clipboard-> yeni metin dosyasına aktar
kopyalanan metin->clipboard-> yeni metin dosyasına aktar
kopyalanan metin->clipboard-> yeni metin dosyasına aktar
yukarıdaki işlemi yaparken 11 kez programlar arası geçiş yapmak gerekiyor.
ama yazdığım bu programı açık bırakın ve kopyalamaya başlayın
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
kopyalanan metin->clipboard
PannO yukardaki işlemlerin tamamında clipboard a alınan tüm verileri (yalnızca şimdilik text) kendi hafızasına alıyor ve sonrasında siz PannO üzerindeki butonlarla ister tüm kopyalananları alın isterseniz arada işinize yarayacak olanları alın ve diğer dosyanıza yapıştırın.. :)
Kod yazarken ve ödev yaparken benim çok işime yarayacak bir dosya :)
sizinde işinize yararsa sevinirim.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Clipbrd, StdCtrls, sListBox, sSkinManager, sButton, sMemo;
type
TForm1 = class(TForm)
hafiza: TsListBox;
sSkinManager1: TsSkinManager;
Label1: TLabel;
sButton1: TsButton;
sButton2: TsButton;
sButton3: TsButton;
sButton4: TsButton;
sButton5: TsButton;
sMemo1: TsMemo;
sButton6: TsButton;
procedure WMDrawClipboard(var Msg: TMessage); message WM_DRAWCLIPBOARD;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure sButton1Click(Sender: TObject);
procedure sButton2Click(Sender: TObject);
procedure sButton3Click(Sender: TObject);
procedure sButton4Click(Sender: TObject);
procedure sButton5Click(Sender: TObject);
procedure sButton6Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
SinemaKoltugu : THandle;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.WMDrawClipboard(var Msg:TMessage);
begin
if Clipboard.HasFormat(CF_TEXT) then // Uses Clipbrd
begin
hafiza.Items.Add(Clipboard.AsText);
sMemo1.lines.Clear;
smemo1.Lines.Add(clipboard.AsText);
/// form2.sMemo1.Lines.Add(clipboard.AsText);
end;
if not assigned(form2) then
begin
end
else
begin
form2.smemo1.lines.add(hafiza.Items[0]);
form2.sMemo1.Lines.Add(clipboard.AsText);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//- "İzlemek üzere sıra numaramızı aldık ve başladık" anlamında
SinemaKoltugu := SetClipboardViewer(Handle);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
// - "İzlemeyi sona erdirdik" anlamında...
ChangeClipboardChain(Handle, SinemaKoltugu);
end;
procedure TForm1.sButton1Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to hafiza.Items.Count - 1 do
begin
hafiza.Items.Clear;
end;
end;
procedure TForm1.sButton2Click(Sender: TObject);
begin
if hafiza.ItemIndex=-1 then
showmessage('öncelikle listeden bir satır seçiniz')
else
begin
Clipboard.AsText:=hafiza.Items[hafiza.ItemIndex];
hafiza.Items.Delete(hafiza.Items.Count-1);
end;
end;
procedure TForm1.sButton3Click(Sender: TObject);
begin
hafiza.Items.Delete(hafiza.Itemindex);
end;
procedure TForm1.sButton4Click(Sender: TObject);
begin
if hafiza.ItemIndex=-1 then
showmessage('öncelikle listeden bir satır seçiniz')
else
showmessage(hafiza.Items[hafiza.ItemIndex]);
end;
procedure TForm1.sButton5Click(Sender: TObject);
begin
showmessage(Clipboard.AsText);
end;
procedure TForm1.sButton6Click(Sender: TObject);
var
k:integer;
begin
form2.show;
//for k := 0 to hafiza.Items.Count - 1 do
//begin
// form2.sMemo1.Lines.Add(hafiza.Items[k])
//end;
end;
end.
Form2 için
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, sMemo;
type
TForm2 = class(TForm)
sMemo1: TsMemo;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
end.
Yorumlar
Yorum Gönder