Döngü
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Döngü
Arkadaşlar Merhaba
Bir Döngü kurmam gerektiğini biliyorum. Ama bir çok denememe rağmen başaramadım. Umarım yardımcı olursunuz.
A--------------C-----------B--------------------D-------------------E
Döngü 'A' dan başlayarak 'B' ye kadar okumalı. 'B' den tekrar başa (A) dönerek 'C' ye kadar okumalı. 'C-B' arasını okumadan, 'B' ye atlamalı. B-D arasını tekrarlayarak ve D-E arasını da tekrarlayarak sonlanmalı. Bu döngü Richeditte çalışmalı.
Selam ve dua ile...
Bir Döngü kurmam gerektiğini biliyorum. Ama bir çok denememe rağmen başaramadım. Umarım yardımcı olursunuz.
A--------------C-----------B--------------------D-------------------E
Döngü 'A' dan başlayarak 'B' ye kadar okumalı. 'B' den tekrar başa (A) dönerek 'C' ye kadar okumalı. 'C-B' arasını okumadan, 'B' ye atlamalı. B-D arasını tekrarlayarak ve D-E arasını da tekrarlayarak sonlanmalı. Bu döngü Richeditte çalışmalı.
Selam ve dua ile...
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Re: Döngü
s.a.
ne yapmak istediğini anlayamadım.
daha açıklayıcı bi şekilde anlatırsan iyi olur.
amacın nedir önce onu söyle.
kolay gelsin.
ne yapmak istediğini anlayamadım.
daha açıklayıcı bi şekilde anlatırsan iyi olur.
amacın nedir önce onu söyle.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Döngü
Selamlar
Program Türkçe harfleri okuma programı. A-B harfleri iki farklı işarettir. Richeditte 1. A-B arasındaki harfleri okuduktan sonra, tekrar 1. B'den A'ya atlayarak C'ye kadar okumalı. 1. C-B arasını okumadan atlamalı. Diğer kısımlarıda (2,3) atlamadan tekrarlayarak sonlanmalı.
1. A--------C>------<B 2. A---------<>-----------B 3. A-------<>---------B Son
Selam ve dua ile...
Program Türkçe harfleri okuma programı. A-B harfleri iki farklı işarettir. Richeditte 1. A-B arasındaki harfleri okuduktan sonra, tekrar 1. B'den A'ya atlayarak C'ye kadar okumalı. 1. C-B arasını okumadan atlamalı. Diğer kısımlarıda (2,3) atlamadan tekrarlayarak sonlanmalı.
1. A--------C>------<B 2. A---------<>-----------B 3. A-------<>---------B Son
Selam ve dua ile...
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Re: Döngü
yapmaya çalıştığın richeditteki semboller arasındaki bilgilerle isim adres gibi tanımlı alanlaları değiştirip form yapmak değilmi ?Laz61 yazdı:Selamlar
Program Türkçe harfleri okuma programı. A-B harfleri iki farklı işarettir. Richeditte 1. A-B arasındaki harfleri okuduktan sonra, tekrar 1. B'den A'ya atlayarak C'ye kadar okumalı. 1. C-B arasını okumadan atlamalı. Diğer kısımlarıda (2,3) atlamadan tekrarlayarak sonlanmalı.
1. A--------C>------<B 2. A---------<>-----------B 3. A-------<>---------B Son
Selam ve dua ile...
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Re: Döngü
Selamlar
Önce ilginizden doalayı teşekkür ederim...
Cümleleri kurarken anlaşılır olmasına çok dikkat ediyorum ve yazdıklarımı defalarca okuyorum. Ama algılamalar yine de faklı olabiliyor. Özür... Yapmak istediğim şu:
A1234567(C)8910B***A69rtyhuj1257893B***A'^%+&()/%?=B Son
Richeditte bir satıra yazılmış A-B harfleri arasındaki sayıları birden başlayarak 10' kadar sesli okumalı. 10 rakamını okuduktan sonra tekrar başa dönmeli. Yani, tekrar 1den başlayarak 1,2,3,4,5,6,7'ye kadar okumalı. 8,9,10 numaraları okumadan atlayarak diğer kısımları okumalı. Diğer kısımlar atlanmadan ikişer defa okunarak sonlanmalı. A-B harfleri burada statik, hiç değişmiyor. Değişen A-B harfleri arasındaki harfler. İkinci ve üçüncü şıkdakiler gibi.
Selam ve dua ile...
Önce ilginizden doalayı teşekkür ederim...
Cümleleri kurarken anlaşılır olmasına çok dikkat ediyorum ve yazdıklarımı defalarca okuyorum. Ama algılamalar yine de faklı olabiliyor. Özür... Yapmak istediğim şu:
A1234567(C)8910B***A69rtyhuj1257893B***A'^%+&()/%?=B Son
Richeditte bir satıra yazılmış A-B harfleri arasındaki sayıları birden başlayarak 10' kadar sesli okumalı. 10 rakamını okuduktan sonra tekrar başa dönmeli. Yani, tekrar 1den başlayarak 1,2,3,4,5,6,7'ye kadar okumalı. 8,9,10 numaraları okumadan atlayarak diğer kısımları okumalı. Diğer kısımlar atlanmadan ikişer defa okunarak sonlanmalı. A-B harfleri burada statik, hiç değişmiyor. Değişen A-B harfleri arasındaki harfler. İkinci ve üçüncü şıkdakiler gibi.
Selam ve dua ile...
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Re: Döngü
S.A:
Anladıklarıma göre şöyle bir fonksiyon yaptım.
Belki üzerinde değişiklik yaparak kullanabilirsin.
Kolay gelsin.
Anladıklarıma göre şöyle bir fonksiyon yaptım.
Belki üzerinde değişiklik yaparak kullanabilirsin.
Kolay gelsin.
Kod: Tümünü seç
function TForm1.isle(v:string):String;
var
karakterno1,karakterno2,karakterno3,j:integer;
s,sb:string;
procedure karakterkullan(ch:Char);
begin
Result:=Result+ch;
end;
begin
Result:='';
s:=v;
karakterno1:=-1;
while true do
begin
karakterno1:=Pos('A',s);
if karakterno1<1 then break;
karakterno2:=Pos('B',s);
if karakterno2<=karakterno1 then break;
sb:=copy(s,karakterno1+1,karakterno2-karakterno1-1);
for j := 1 to length(sb) do
karakterkullan(sb[j]);
karakterno3:=Pos('C',sb);
if karakterno3>0 then
Begin
sb:=Copy(sb,1,karakterno3-1);
for j := 1 to length(sb) do
karakterkullan(sb[j]);
end;
Delete(s,1,KarakterNo2);
end;
end;
Re: Döngü
okumak derken bilgisayarın seslendirmesinden mi bahsediyoruz??
microsoft sam amca yani
microsoft sam amca yani

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: Döngü
Selamlar
Önce ilgi ve emekleriniz için teşekkür...
Okuma derken şunu kasdediyorum:
if RichEdit1.Text[RichEdit1.SelStart-1+1] = '1' then
PlaySound('c:\1E.wav',0,snd_Async);
.....
.....
if RichEdit1.Text[RichEdit1.SelStart-1+1] = 'A' then
Richedit1.selstart:=0;
Selam ve dua ile...
Önce ilgi ve emekleriniz için teşekkür...
Okuma derken şunu kasdediyorum:
if RichEdit1.Text[RichEdit1.SelStart-1+1] = '1' then
PlaySound('c:\1E.wav',0,snd_Async);
.....
.....
if RichEdit1.Text[RichEdit1.SelStart-1+1] = 'A' then
Richedit1.selstart:=0;
Selam ve dua ile...
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Re: Döngü
Merhabalar
akdatilla, fonksiyon için teşekkürler. Fonksiyonlarla aram iyi olduğu söylenemez. Çalıştırdım, ama ne yaptığını anlayamadım. Mantık olarak koddan bazı çıkarımlar yaptım.
Kodla küçük bir örneklendirme yaparsanız sevinirim.
Selam ve Dua ile...
akdatilla, fonksiyon için teşekkürler. Fonksiyonlarla aram iyi olduğu söylenemez. Çalıştırdım, ama ne yaptığını anlayamadım. Mantık olarak koddan bazı çıkarımlar yaptım.
Kodla küçük bir örneklendirme yaparsanız sevinirim.
Selam ve Dua ile...
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Re: Döngü
Ben sizin yazınızda geçen "okuma" ifadesini anlayamamıştım.
Bir ses olarak okunacakmış demek.
Benim yaptığım örnek şu işi yapıyor:
Fonksiyonun bir v parametresi var. Bu parametreye rich edit nesnesinin Lines.Text bilgisini gönderebilirsiniz.
Fonksiyon v parametresinden aldığı string bilgiden, sürekli olarak A..B karakterleri arası değerleri okuyarak parçalar halinde işliyor.
Örnek bir Text ifade:
A1234567(C)8910B***A69rtyhuj1257893B***A'^%+&()/%?=B Son
işlem:
1) ilk "A".."B" karakterlerinin arasında "1234567(C)8910" bilgisini çıktıya ekler.
2) ilk "A".."B" karakterler arasındaki bilginin içinde "C" karakterine kadar olan bilgiyi çıktıya ekler.
3) ikinci "A".."B" karakterlerinin arasında bulunan "'^%+&()/%?=" karakterlerini çıktıya ekler.
4) ikinci "A".."B" karakterlerinin arasındaki bilginin içinde "C" karakterini arar. "C" bulunmadığı için sonraki adıma geçer.
5) üçüncü "A".."B" karakter aralığını bulmaya çalışır. Bulamadığı için fonksiyon sonlanır.
Fonksiyon Sonucu:
1234567(C)89101234567(69rtyhuj1257893'^%+&()/%?=
Fonksiyon çıktı eklerken "karakterkullan" isimli bir prosedür çağırıyor. Sanırım bu prosedürün içeriğini karakteri ekrana yazdırma değil de
karakteri okuma PlaySound(karakter) gibi bir prosedür şeklinde değiştirirsen istediğin sonuca yaklaşmış olursun.
Yalnız karakterlerin tek tek okunması ile kelimeler çıkartmak o kadar kolay olmasa gerek. Yapmak istediğin sadece rakamları tek tek okutmak ise
belki bu şekilde kullanabilirsin.
Bir ses olarak okunacakmış demek.
Benim yaptığım örnek şu işi yapıyor:
Fonksiyonun bir v parametresi var. Bu parametreye rich edit nesnesinin Lines.Text bilgisini gönderebilirsiniz.
Fonksiyon v parametresinden aldığı string bilgiden, sürekli olarak A..B karakterleri arası değerleri okuyarak parçalar halinde işliyor.
Örnek bir Text ifade:
A1234567(C)8910B***A69rtyhuj1257893B***A'^%+&()/%?=B Son
işlem:
1) ilk "A".."B" karakterlerinin arasında "1234567(C)8910" bilgisini çıktıya ekler.
2) ilk "A".."B" karakterler arasındaki bilginin içinde "C" karakterine kadar olan bilgiyi çıktıya ekler.
3) ikinci "A".."B" karakterlerinin arasında bulunan "'^%+&()/%?=" karakterlerini çıktıya ekler.
4) ikinci "A".."B" karakterlerinin arasındaki bilginin içinde "C" karakterini arar. "C" bulunmadığı için sonraki adıma geçer.
5) üçüncü "A".."B" karakter aralığını bulmaya çalışır. Bulamadığı için fonksiyon sonlanır.
Fonksiyon Sonucu:
1234567(C)89101234567(69rtyhuj1257893'^%+&()/%?=
Fonksiyon çıktı eklerken "karakterkullan" isimli bir prosedür çağırıyor. Sanırım bu prosedürün içeriğini karakteri ekrana yazdırma değil de
karakteri okuma PlaySound(karakter) gibi bir prosedür şeklinde değiştirirsen istediğin sonuca yaklaşmış olursun.
Yalnız karakterlerin tek tek okunması ile kelimeler çıkartmak o kadar kolay olmasa gerek. Yapmak istediğin sadece rakamları tek tek okutmak ise
belki bu şekilde kullanabilirsin.
Re: Döngü
Selamlar
Meramımı anlatamadım, tavsiyelerden hareketlede çözemedim. Kodla meramımı anlatacağımı sanıyorum.
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
const
i:integer=0;
begin
i:=i+1;
Form1.caption:=inttostr(i);
if Richedit1.text[Richedit1.selstart-1+1] =#58 then
Richedit1.selstart:=0;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Richedit1.selstart:=0;
Richedit1.Focused;
end;
end.
Bu kod sağ yön tuşuna basıldığında, '':'' dan sonra başa dönerek bu kısmı devamlı tekrarlıyor. Ben ikinci tekrardan sonra, tekrar başa dönmeden, diğer kısma atlamasını istiyorum. Yani: imleç ikinci sefer '':'' noktayı gördüğünde başa dönmeden devam etmeli. Şayet iki nokta yoksa Richeditteki satırın sonuna kadar tekrarlamadan devam etmeli. Tekrarlar A-B harfleri arasında olmalı.
Selam ve Dua ile...
Meramımı anlatamadım, tavsiyelerden hareketlede çözemedim. Kodla meramımı anlatacağımı sanıyorum.
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
const
i:integer=0;
begin
i:=i+1;
Form1.caption:=inttostr(i);
if Richedit1.text[Richedit1.selstart-1+1] =#58 then
Richedit1.selstart:=0;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Richedit1.selstart:=0;
Richedit1.Focused;
end;
end.
Bu kod sağ yön tuşuna basıldığında, '':'' dan sonra başa dönerek bu kısmı devamlı tekrarlıyor. Ben ikinci tekrardan sonra, tekrar başa dönmeden, diğer kısma atlamasını istiyorum. Yani: imleç ikinci sefer '':'' noktayı gördüğünde başa dönmeden devam etmeli. Şayet iki nokta yoksa Richeditteki satırın sonuna kadar tekrarlamadan devam etmeli. Tekrarlar A-B harfleri arasında olmalı.
Selam ve Dua ile...
Hayat tüm olumsuzluklara rağmen yaşamaya değer.
Re: Döngü
Merhaba arkadaş birde şunu dene bakam:
İyi çalışmalar.
Kod: Tümünü seç
var
Form1: TForm1;
i,x:integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Richedit1.selstart:=0;
Richedit1.Focused;
i := 0; x := 0;
end;
procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
Form1.caption:=inttostr(i);
i:=i+1;
if (Richedit1.text[Richedit1.selstart-1+1] =#58)and(x=0) then begin
Richedit1.selstart:=0; x := x + 1;
end;
end;
"Şu deredeki su,kaç kere değişti,yıldızların akisleri hep yerinde."
Re: Döngü
Selamlar
recepuncu eline, gönlüne sağlık. Buna benzer bir kodu ben de yapmıştım. Ama satırdaki diğer tekrarları başaramamıştım. Çünkü satırdaki cümlelerin yapsına göre birçok tekrar olabiliyor.
Meramımı anladığına göre, satırdaki diğer tekrarları nasıl tekrarlattırabilirim. Mesale 1. A......B arası birinci tekrar, 2. A....b arası ikinci tekrar, 3. A.......B arası üçüncü tekrar vs. Programın kontrolü hiç değişmeyen A-B lerle olmalı. Umarım sıkmıyorumdur...
Selam ve Dua ile...
recepuncu eline, gönlüne sağlık. Buna benzer bir kodu ben de yapmıştım. Ama satırdaki diğer tekrarları başaramamıştım. Çünkü satırdaki cümlelerin yapsına göre birçok tekrar olabiliyor.
Meramımı anladığına göre, satırdaki diğer tekrarları nasıl tekrarlattırabilirim. Mesale 1. A......B arası birinci tekrar, 2. A....b arası ikinci tekrar, 3. A.......B arası üçüncü tekrar vs. Programın kontrolü hiç değişmeyen A-B lerle olmalı. Umarım sıkmıyorumdur...
Selam ve Dua ile...
Hayat tüm olumsuzluklara rağmen yaşamaya değer.