Herkese Merhaba,
Delphi de yeni sayılırım.
15 karekterli bir string kelimeyi sorgulayıp sonundaki 4 karekteri bulup veren bir fonksiyon nasıl yapabilirim? yada kılavuz olabilecek bilgiye nasıl ulaşabilirim?
Yardımcı olan herkese şimdiden teşekkürler
15 karekterli bir string kelimenin...
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- sertkayasalih
- Üye
- Mesajlar: 178
- Kayıt: 12 Haz 2003 12:47
- Konum: Antalya
- İletişim:
15 karekterli bir string kelimenin...
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
Arkadaş yeni olduğu için biraz daha açmak istedim;
length(string) Uzunluğunu verir.
Copy(string,başlayacağı karakter sayısı,alınacak karakter sayısı)
Örnek: s:= 'delphi turkiye';
copy(s,8,7); //çıkacak sonuç turkiye
copy(s,8,length(s)); //8 nci karekterden sonraki tüm
harfler
length(string) Uzunluğunu verir.
Copy(string,başlayacağı karakter sayısı,alınacak karakter sayısı)
Örnek: s:= 'delphi turkiye';
copy(s,8,7); //çıkacak sonuç turkiye
copy(s,8,length(s)); //8 nci karekterden sonraki tüm
harfler
Başkasına Olan Saygımız.. Kendimize Olan saygıdır..
- sertkayasalih
- Üye
- Mesajlar: 178
- Kayıt: 12 Haz 2003 12:47
- Konum: Antalya
- İletişim:
Merhaba naile, Abrak, Programci,
Yanıtlarınız için çok teşekkür ederim
- Programımda DirectX sürümünü sorgulamasını DXInfo.DirectXVer; procedure ile string cinsinden 4.09.00.0900 olarak alıyorum.
Program açılırken AnaFormun OnCreate event ında, string değerin son 3 karekterini (900) integer e çevirip,
şeklinde bir sorgulama yaparak fdirX değeri 900 dan küçük olursa programın çalışmadan kapanmasını sağlamak.
- Sorgulama içinde programın kapanması için Application.Terminate kullanmak doğru mu?
- Kodu test etmeden yazdım. Hatalı veya eksik olan bir şeyler varsa lütfen yardımcı olun.
İnşallah sizlerden aldığım yönlendirici yardımınızla başarabilirim.
Bu sorgulama işleminin daha kısa, veya başka bir yolu var mı bilemiyorum.
Yardımlarınız için tekrar teşekkür ederim.
Yanıtlarınız için çok teşekkür ederim
Tam olarak yapmak istediğim:tam olarak niçin sorgulayacaksın. yazarsan daha iyi bir cevap alabilirsin.
- Programımda DirectX sürümünü sorgulamasını DXInfo.DirectXVer; procedure ile string cinsinden 4.09.00.0900 olarak alıyorum.
Program açılırken AnaFormun OnCreate event ında, string değerin son 3 karekterini (900) integer e çevirip,
Kod: Tümünü seç
[....]
var
s1, s2 : string;
fdirX : integer;
begin
s1 := DXInfo.DirectXVer; // DirectX sürümü - örnek s1 := 4.09.00.0900
s2 := Copy(s1,10,length(s1);// Önerdiğiniz komutla değeri '900' olarak alabilirim.
fdirX := StrToInt(s2);
if fdirX < 900 then
begin
ShowMessage('Program DirectX 9 dan aşağı sürümlerde çalışmaz!'
+#13+'Lütfen DirectX 9 veya üst sürümü yükleyiniz');
Application.Terminate;
end;
end;
- Sorgulama içinde programın kapanması için Application.Terminate kullanmak doğru mu?
- Kodu test etmeden yazdım. Hatalı veya eksik olan bir şeyler varsa lütfen yardımcı olun.
İnşallah sizlerden aldığım yönlendirici yardımınızla başarabilirim.
Bu sorgulama işleminin daha kısa, veya başka bir yolu var mı bilemiyorum.
Yardımlarınız için tekrar teşekkür ederim.
Bilgi; iki tarafı keskin kılıca benzer.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
İyi kullanılmazsa, ya karşıyı, ya da sahibini keser.
Kod: Tümünü seç
var
s1, s2 : string;
fdirX : integer;
a:byte;
begin
s1 := DXInfo.DirectXVer; // DirectX sürümü - örnek s1 := 4.09.00.0900
for a:=3 downto 0 do
s2:=s2+s1[length(s1)-a];
fdirX := StrToInt(s2);
if fdirX < 900 then
begin
ShowMessage('Program DirectX 9 dan aşağı sürümlerde çalışmaz!'
+#13+'Lütfen DirectX 9 veya üst sürümü yükleyiniz');
Application.Terminate;
end;
end;
- sertkayasalih
- Üye
- Mesajlar: 178
- Kayıt: 12 Haz 2003 12:47
- Konum: Antalya
- İletişim: