Ben böyle bir şey lezim. Şimdi böyle bir kelime var diyelim 659/325 .
Yapmak istediğim " / " işaretinden önce ve sonra yazılan kelimeyi (her neyse)
ayrı-ayrı integer tipli alanlara aktarmak. Bu işlemi aslında Copy funksiyonu ile yapmaya çalışdım olmadı.
Bilgisi olan arkadaşlara rica ediyorum yardım etsinler.
Kelime paçalama.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Kıdemli Üye
- Mesajlar: 489
- Kayıt: 13 Eyl 2003 09:10
- Konum: istanbul
- İletişim:
Re: Kelime paçalama.
pos komutu işini görür forumda cok defa aynı işlem yapılmıstır.
forumda arayın fazlasını bulacaksınız....
search.php?keywords=pos&terms=all&autho ... bmit=Arama
basarılar....
forumda arayın fazlasını bulacaksınız....
search.php?keywords=pos&terms=all&autho ... bmit=Arama
basarılar....
Re: Kelime paçalama.
function AnsiPos(text: String; SubStr: String;): integer;
Text'in içerisinde SubStr'yi arar. Bulduğu karakterin yerini sonuç olarak gönderir.
// sonuc 5..
Text'in içerisinde SubStr'yi arar. Bulduğu karakterin yerini sonuç olarak gönderir.
Kod: Tümünü seç
var
text,substr: String;
sonuc: Integer;
begin
Text:='Merhaba Dünya';
Substr:='aba';
sonuc:=AnsiPos(text,substr)
...
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: Kelime paçalama.
Ben kodlamayı yapa bildim. Kodları Buraya koyuyorum belki kulanmak isteyen olur.
Şimdi ben kodları 2 tane apdım. Bu arada ben bu kodları Uzaktan fare kontrol proqramı için yapdım.
Kod1 / işaretinden enceki ve sonarkı kelimeleri alıyor.
Kod2 Bu kod da önceki koddan bir az farkli. Yani burda kelimeyi 3-yere bölüyoruz. Mes: 1215/1245\Sol .
Burada \ karakterinden sonra mutlaka 3 karakter olmalı. Daha fazla ve dah az olursa doru çalışmaz.
Ancak küçük değişiklikle karakter sayısını artıra biliriz.
Şimdi Gelelim en sonda \ işaretinden sonra karakter sayına.
Bu kod satrını inceleyelim Delete(Y,A,4); buradakı 4 rakamının anlama en sonda
3 karakter olmasını gerektiğini bildiriyor. \ işaretinden sonrakı karakter sayı 7 ise kodakı 4 rakamının yerine 8 yazılmalı.
Yani 1 ise 2, 2 ise 3 yazıyoruz. Bu kadar.
Ayrıca belki bu kodları daha kisa keçilde yazmak olurdu ancak ben yapamadım. Bu arada yapdığım programı forumun Pakte Programlar bölümünden indire bilirsiniz.
Şimdi ben kodları 2 tane apdım. Bu arada ben bu kodları Uzaktan fare kontrol proqramı için yapdım.
Kod1 / işaretinden enceki ve sonarkı kelimeleri alıyor.
Kod: Tümünü seç
procedure TForm1.Button4Click(Sender: TObject);
var
Yer: Integer;
Metin: String;
begin
Metin:=Edit1.Text; /// Edit1 içine bunu yaza bilirsini 12121/45454 deneme için.
Yer:=Pos('/',Metin);
Edit2.Text:=StrToInt(LeftStr(Metin,Yer-1));
Edit3.Text:=StrToInt (MidStr(Metin, Yer+1,Length(Metin)+Yer));
end;
Kod2 Bu kod da önceki koddan bir az farkli. Yani burda kelimeyi 3-yere bölüyoruz. Mes: 1215/1245\Sol .
Burada \ karakterinden sonra mutlaka 3 karakter olmalı. Daha fazla ve dah az olursa doru çalışmaz.
Ancak küçük değişiklikle karakter sayısını artıra biliriz.
Kod: Tümünü seç
procedure TForm1.Button2Click(Sender: TObject);
var
Kordinat,X,Y,Tik:String;
Yer1,Yer2,A:Integer;
B:String;
begin
Kordinat:=Edit1.Text;
Yer1:=Pos('/',Kordinat);
Yer2:=Pos('\',Kordinat);
X:=LeftStr(Kordinat,Yer1-1);
Y:=Copy(Kordinat,Yer1+1,Yer2-1);
A:=Pos('\',Y);
Delete(Y,A,4);
Tik:=MidStr(Kordinat,Yer2+1,Length(Kordinat)+Yer2);
Edit2.Text:=X;
Edit3.Text:=Y;
Edit4.Text:=Tik;
end;
Bu kod satrını inceleyelim Delete(Y,A,4); buradakı 4 rakamının anlama en sonda
3 karakter olmasını gerektiğini bildiriyor. \ işaretinden sonrakı karakter sayı 7 ise kodakı 4 rakamının yerine 8 yazılmalı.
Yani 1 ise 2, 2 ise 3 yazıyoruz. Bu kadar.
Ayrıca belki bu kodları daha kisa keçilde yazmak olurdu ancak ben yapamadım. Bu arada yapdığım programı forumun Pakte Programlar bölümünden indire bilirsiniz.
< The Best Boy >
Re: Kelime paçalama.
parçalanacak değer string ise (yada stringe çevirdikten sonra) idglobal unitinde bulunan Fetch fonksiyonunu kullanabilirsiniz...
Fetch fonksiyonu parametre olarak verilen stringden, ayraç parametresinde verilen kadar kısmı geri döndürür ve parametre olarak gönderilen stringde de ayraçtan sonrası kalır...
Fetch fonksiyonu parametre olarak verilen stringden, ayraç parametresinde verilen kadar kısmı geri döndürür ve parametre olarak gönderilen stringde de ayraçtan sonrası kalır...
Kod: Tümünü seç
uses idGlobal;
var
s1,s2:string;
s1:='659/325';
s2:=Fetch(s1,'/');
//fetch işleminden sonra
//s2->659 s1->325 olur...
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: Kelime paçalama.
Çok güzel bu benim kodan az. Bunu kulanırım artık. Teşekürler ederim.
< The Best Boy >