string kopyalama sorunu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
string kopyalama sorunu
memo alanimda asagidaki gibi 1500 adet kelime var alt alta bunlari nasil 400 er 400 er farkli string veya stringliste kopyalarim atarim. toplamda 4 tane string veya stringliste kopyalama yapacagim.
elma
armut
portakal
elma
armut
portakal
Re: string kopyalama sorunu
döngü içinde yapabilitsiniz. string'e atarsanır birleşmiş olacaklardır. stringliste atmanız daha kolay görünüyor. önce string gridlerinizi tanımlayın daha sonra stringlist.add diyerek döngü içerisinde ekleyin. her stringlist için bir döngü kullanın.
Re: string kopyalama sorunu
tesekkür ederim.
fakat döngüyü yapamadim.
memo1 deki kelimeleri 400 er 400 er paylastirmak, ayirmak istiyorum strignlist1, strignlist2,strignlist3, strignlist4 e
ornek yaparsaniz sevinirim.
fakat döngüyü yapamadim.
memo1 deki kelimeleri 400 er 400 er paylastirmak, ayirmak istiyorum strignlist1, strignlist2,strignlist3, strignlist4 e
ornek yaparsaniz sevinirim.
Re: string kopyalama sorunu
en azından ne yaptığınızı ve nerede nasıl bir sıkıntı yaşadığınızı yazsanız....
örneği sizin yazdığınızı düzenleyerek oluşturmuş oluruz belki...
örneği sizin yazdığınızı düzenleyerek oluşturmuş oluruz belki...
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
Re: string kopyalama sorunu
soyle bir sey yaptim olmadi.
burda yapmaya calisitigim 200 den sonrasının memo2 ye kopyalanmasiydi.
esas istedigim 1500 kayiti 200 er 200 er memo1, memo2 ..... veya stringliste tasimak ayri ayri
for I := 0 to memo1.Lines.count -1 do
Begin
if I mod 200 = 0 then
Memo2.Lines.Add(memo1.Lines);
burda yapmaya calisitigim 200 den sonrasının memo2 ye kopyalanmasiydi.
esas istedigim 1500 kayiti 200 er 200 er memo1, memo2 ..... veya stringliste tasimak ayri ayri
for I := 0 to memo1.Lines.count -1 do
Begin
if I mod 200 = 0 then
Memo2.Lines.Add(memo1.Lines);
Re: string kopyalama sorunu
mod işlemi bölümden kalanı verir ve yazdığınız kodla i 200ün tam katıysa demiş oluyorsunuz, yani 200.,400.,600. satırları aktarmış olursunuz...
* her 200lük kopyalama için ayrı ayrı döngü kurabilirsiniz
* yada mesela şu şekilde bir metod tanımlayıp,döngüyü metod içinde oluşturarak bu işi daha genel şekilde çözerbilirsiniz
* her 200lük kopyalama için ayrı ayrı döngü kurabilirsiniz
Kod: Tümünü seç
for i:=0 to 200 do
.....
for i:=200 to 400 do
.....
Kod: Tümünü seç
procedure ListeKopyala(kimi,nereye:TstringList;baslangic,adet:integer);
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...
Re: string kopyalama sorunu
unicorn64 tesekkur ederim. cok yardimci oldun.
bu 200 er bolmemin sebebi sizin daha onceki konu da verdiginiz ornekte cok yavasladigi icin bolmek zorunda kaldim. asagidaki gibi kullandim. ve stringkontrol deki harfler neredeyse 70 kadar. ve cok yavas calisiyor.
simdi ise sorun kilitlenme yapiyor asagidaki gibi yaptim.
for j:=0 to 200 do
Begin
st.Add(memo1.Lines[j]);
for I := 0 to st.Count - 1 do
begin
.......
un
bu 200 er bolmemin sebebi sizin daha onceki konu da verdiginiz ornekte cok yavasladigi icin bolmek zorunda kaldim. asagidaki gibi kullandim. ve stringkontrol deki harfler neredeyse 70 kadar. ve cok yavas calisiyor.
simdi ise sorun kilitlenme yapiyor asagidaki gibi yaptim.
for j:=0 to 200 do
Begin
st.Add(memo1.Lines[j]);
for I := 0 to st.Count - 1 do
begin
.......
un
unicorn64 yazdı:mod işlemi bölümden kalanı verir ve yazdığınız kodla i 200ün tam katıysa demiş oluyorsunuz, yani 200.,400.,600. satırları aktarmış olursunuz...
* her 200lük kopyalama için ayrı ayrı döngü kurabilirsiniz* yada mesela şu şekilde bir metod tanımlayıp,döngüyü metod içinde oluşturarak bu işi daha genel şekilde çözerbilirsinizKod: Tümünü seç
for i:=0 to 200 do ..... for i:=200 to 400 do .....
Kod: Tümünü seç
procedure ListeKopyala(kimi,nereye:TstringList;baslangic,adet:integer);
En son sr1111 tarafından 21 Mar 2012 11:09 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Re: string kopyalama sorunu
TMemo ve TStringList işlemlerinde "BeginUpdate" ve "EndUpdate" kullanırsanız hızlanma sağlarsınız.
Örnek kod:
Örnek kod:
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
begin
Memo1.Lines.BeginUpdate;
try
for I := 0 to 100000 - 1 do Memo1.Lines.Add(FormatFloat('0000000000000', I));
finally
Memo1.Lines.EndUpdate;
end;
end;