İki memo var birinde ne yaparsam diğerinde de aynısı olsun
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
İki memo var birinde ne yaparsam diğerinde de aynısı olsun
Merhaba arkadaşlar,
bir formda iki adet memo var (memo1 ve memo2) memo1. de tuş bazında
yaptığım her hareketin aynı anda memo2 de de gerçekleşmesini istiyorum.
Örneğin;
Memo1 de enter'e bastıysam memo2 de entere basılmış olmalı.
memo1 de Delphiturkiye yazdıysam aynı anda her bir harfine basmış gibi
memo2 de bunlar oluşmalı.
bu tür bir işlemi nasıl gerçekleştirebiliriz.
memo2.lines:=memo1.lines; gibi tümünü eşitlemek yada satır bazında eşitlemek gibi çözümler istediğim şekilde bir çözüm değil. Ben karakter bazında işlem yapabilmek istiyorum.
iyi çalışmalar.
bir formda iki adet memo var (memo1 ve memo2) memo1. de tuş bazında
yaptığım her hareketin aynı anda memo2 de de gerçekleşmesini istiyorum.
Örneğin;
Memo1 de enter'e bastıysam memo2 de entere basılmış olmalı.
memo1 de Delphiturkiye yazdıysam aynı anda her bir harfine basmış gibi
memo2 de bunlar oluşmalı.
bu tür bir işlemi nasıl gerçekleştirebiliriz.
memo2.lines:=memo1.lines; gibi tümünü eşitlemek yada satır bazında eşitlemek gibi çözümler istediğim şekilde bir çözüm değil. Ben karakter bazında işlem yapabilmek istiyorum.
iyi çalışmalar.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Memonun onChange Eventinde yapıtığın her işlemi atıyabilirsin.
Kolay Gelsin...
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
@mussimsek sanırım konuyu detaylı anlatmadığım için yanlış anlaşıldım.
"herşey birbirinin aynı olacaksa ikinci Memo'ya ne gerek var???
OnKeyUp olayında iki memo'nun satırlarını eşitlersen olur bence. Bir denemek lazım. "
bu tür bir cevap geleceğini tahmin ettiğim için özellikle,
" memo2.lines:=memo1.lines; gibi tümünü eşitlemek yada satır bazında eşitlemek gibi çözümler istediğim şekilde bir çözüm değil. Ben karakter bazında işlem yapabilmek istiyorum. "
bunu belirtmiştim.
Bunu yan yana iki memo gibi düşünmeyin client server çalışan bir chat programı gibi düşünün. Ben olayı basitleştirmek için yana yana iki memo demek istemiştim.
Aynı anda aynı metin üzerinden iki kişi çalışıyor. gibi düşünelim.
@husonet , konuyu biraz daha açabilirmisiniz.
mesajlar için teşekkür ederim.
"herşey birbirinin aynı olacaksa ikinci Memo'ya ne gerek var???
OnKeyUp olayında iki memo'nun satırlarını eşitlersen olur bence. Bir denemek lazım. "
bu tür bir cevap geleceğini tahmin ettiğim için özellikle,
" memo2.lines:=memo1.lines; gibi tümünü eşitlemek yada satır bazında eşitlemek gibi çözümler istediğim şekilde bir çözüm değil. Ben karakter bazında işlem yapabilmek istiyorum. "
bunu belirtmiştim.
Bunu yan yana iki memo gibi düşünmeyin client server çalışan bir chat programı gibi düşünün. Ben olayı basitleştirmek için yana yana iki memo demek istemiştim.
Aynı anda aynı metin üzerinden iki kişi çalışıyor. gibi düşünelim.
@husonet , konuyu biraz daha açabilirmisiniz.
mesajlar için teşekkür ederim.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
onChange olmaz! olmaz sanırım
Chat programı gibiyse aradığın şu tip bir şeymi
Kolay Gelsin...
Chat programı gibiyse aradığın şu tip bir şeymi
Kod: Tümünü seç
procedure TForm1.Memo2KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
Begin
Memo1.Lines.Add(Memo2.Lines.Text);
End;
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Burda enter la birlikte memo1 , memo2 ye eşitleniyor. Benim istediğimhusonet yazdı:onChange olmaz! olmaz sanırım
Chat programı gibiyse aradığın şu tip bir şeymi
Kolay Gelsin...Kod: Tümünü seç
procedure TForm1.Memo2KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then Begin Memo1.Lines.Add(Memo2.Lines.Text); End;
Memo1 de bir tuşa bastığımda mesela "A" harfine memo1 de kaçıncı karaktere denk geliyorsa memo2 de de ordaki karakterin "A" olmasını istiyorum. Bu işlem aynı anda ters de olabilir yani memo2 ye girdiğimde aynı anda memo1 de de ilgili karakter değişebilmeli.
Karakter bazında çalışmam gerekiyor.
Gönderdiğiniz procedure'ü
1- ilk etapda memo1 de bir karakter girildiğinde, Bu 13. karakterdir. ve "A" girildi dedirtebilirmiyiz.
2- Bu elde ettiğimiz bilgiyi memo2 de 13. karaktere "A" olarak yazdırabilirmiyiz.
tşk.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Selamlar
Code unda bir dene memo1 yazdığın herşey memo2 ye gidiyor. Belki işine yarar. Ama socket lerle alakalı bişeyse biraz daha farklı yapman gerekir bence.
Kod: Tümünü seç
procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
Memo2.Lines.Assign (Memo1.Lines)
end;
I love my car.
Blog Yaptık
Blog Yaptık
Anşalamadığımız bir konu var arkadaşlar.P206 yazdı:SelamlarCode unda bir dene memo1 yazdığın herşey memo2 ye gidiyor. Belki işine yarar. Ama socket lerle alakalı bişeyse biraz daha farklı yapman gerekir bence.Kod: Tümünü seç
procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin Memo2.Lines.Assign (Memo1.Lines) end;
Ben yazdığım herşeyim memo2 ye gitmesini istiyorum ama yazdığım anda sadece yazdığım şeyin gitmesini istiyorum.
Diyelimki memo2 de memo1 de olamayan bazı yazılar var
ben memo1 in tamamını memo2 ye aktarırsam bunlar kaybolur.
ama ben memo1 de sadece 37. karakterde yağtığım değişliklği memo2 nin 37. karakteri ile değiştirisem o zaman herşey istediğim gibi olur.
tşk.
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Kod: Tümünü seç
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
VAR
Hand:HWND;
begin
Hand := memo2.Handle;
PostMessage(hand,WM_KEYDOWN,Key,0);
end;
memo2 de yapılan değişikliğin memo1 tarafından gelen bilgiden mi yoksa
memo2 den biri direkt bilgi mi girdi bunu nasıl ayırabilieriz.
Bunu yapmak istememin sebebi. Memo2 de değişiklik olduğunda aynı anda memo1 e de etki etmesini istiyorum.
Bu procedure ü memo2 ye uyarladığımda memo1 de bir değişiklik yaptığımda memo2 ye etki ediyor. aynı anda memo2 de değişiklik yapdığı düşünülerek memo1 e gönderiliyor ve süreki bir döngü oluşuyor.
teşekkür
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
Şu şekilde var olanları değişiklikleri diğer memoya yolluot enter ve diğer kodları gönderilen memonun dolu olup olmadığı kontrol edilip bişeyler yapılabilir.
Şu adna zamanım olmadığı için yarım kaldı. bu methotla bişeyler yapılabilir gibi geldi.,
Kolay gelsin
Kod: Tümünü seç
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
var
i,line,column:integer;
a:string;
begin
With Memo1 do begin
Line := Perform(EM_LINEFROMCHAR,SelStart, 0);
Column := SelStart - Perform(EM_LINEINDEX, Line, 0);
end;
Caption:=(IntToStr(line)+' '+IntToStr (column) );
a:=Memo2.Lines[line];
a[column+1]:=char(key);
Memo2.Lines[line]:=a;
end;
Kolay gelsin
I love my car.
Blog Yaptık
Blog Yaptık
Sender ile dene
Kod: Tümünü seç
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
VAR
Hand:HWND;
begin
if sender = Memo1 ////////// gibi göndereni ayırt edebilirsin.
begin
Hand := memo2.Handle;
PostMessage(hand,WM_KEYDOWN,Key,0);
end;