PColik Posted December 27, 2016 Share Posted December 27, 2016 Merhaba arkadaşlar. Sormak istediğim şey büyük ihtimal forumda daha önce sorulmuştur ama arayarak bir türlü bulamadım. Daha önce böyle bir konu açılmışsa yönetici arkadaşlardan özür dilerim. Basit bir şekilde sorucam. Mantığı anladıktan sonra kendim düzenlerim. Yapmak istediğim şey: Input1'de 10, 15, 20, 25 veya 30 yazıyorsa Input1'in arkaplan rengi yeşil, bu beş değerden farklı bir şey yazıyorsa arkaplan kırmızı olacak. Şimdiden yardımcı olacak arkadaşlara teşekkürler. Quote Link to comment Share on other sites More sharing options...
Dark_Angel Posted December 27, 2016 Share Posted December 27, 2016 local number = tonumber(Input.GetText("Input1")); if number == 10 or number == 15 or number == 20 or number == 25 or number == 30 then Input.SetProperties("Input1", { BackgroundColor = Math.RGBToNumber(0, 255, 0) }); else Input.SetProperties("Input1", { BackgroundColor = Math.RGBToNumber(255, 0, 0) }); end 1 Quote Link to comment Share on other sites More sharing options...
PColik Posted December 29, 2016 Author Share Posted December 29, 2016 Kardeş teşekkür ederim ama yapmak istediğim tam olarak bu değil. Bu kod sadece sayısal değerlerde doğru çalışıyor. Örneğin 10, 15, 20, 25, 30 yerine A, B, C, D, E yazınca çalışmıyor. Benim bahsettiğim beş adet değer, herhangi bir değer olabilir. Sayıda olabilir, harfte olabilir, ikisini de içerebilir, Aslında tam olarak bunu yapmak istiyorum. Bunu nasıl yapabileceğimi söyleyebilir misin? Quote Link to comment Share on other sites More sharing options...
Dark_Angel Posted January 5, 2017 Share Posted January 5, 2017 On 30.12.2016 at 00:21, PColik yazdı: Kardeş teşekkür ederim ama yapmak istediğim tam olarak bu değil. Bu kod sadece sayısal değerlerde doğru çalışıyor. Örneğin 10, 15, 20, 25, 30 yerine A, B, C, D, E yazınca çalışmıyor. Benim bahsettiğim beş adet değer, herhangi bir değer olabilir. Sayıda olabilir, harfte olabilir, ikisini de içerebilir, Aslında tam olarak bunu yapmak istiyorum. Bunu nasıl yapabileceğimi söyleyebilir misin? ama baştan öyle diyecektin numara yazmışsın bende numara olarak örnek verdim , ben tonumber() functionu ile inputu stringten number yani sayıya çeviriyorum ABCDE yazınca çalışmaz tabi çünki input dediğim gibi stringten sayıya çeviriyorum , eğer herhangi bir değer istiyorsan o zaman string:match() veya string:find() functionşarını kullanacaksın örneğin AB10CD yazıyor if Input.GetText("Input1"):match("CD") then bulundu else iptal end bu şekilde Quote Link to comment Share on other sites More sharing options...
PColik Posted January 5, 2017 Author Share Posted January 5, 2017 3 saat önce, Dark_Angel yazdı: ama baştan öyle diyecektin numara yazmışsın bende numara olarak örnek verdim , ben tonumber() functionu ile inputu stringten number yani sayıya çeviriyorum ABCDE yazınca çalışmaz tabi çünki input dediğim gibi stringten sayıya çeviriyorum , eğer herhangi bir değer istiyorsan o zaman string:match() veya string:find() functionşarını kullanacaksın örneğin AB10CD yazıyor if Input.GetText("Input1"):match("CD") then bulundu else iptal end bu şekilde Birden fazla değer belirtmemiz gerekiyorsa nasıl düzenlemeliyim. Bu konuda biraz acemiyim de. Mesela if Input.GetText("Input1"):match("CD","CD2") then yaptım. Olmadı, hata verdi. Quote Link to comment Share on other sites More sharing options...
Dark_Angel Posted January 6, 2017 Share Posted January 6, 2017 22 saat önce, PColik yazdı: Birden fazla değer belirtmemiz gerekiyorsa nasıl düzenlemeliyim. Bu konuda biraz acemiyim de. Mesela if Input.GetText("Input1"):match("CD","CD2") then yaptım. Olmadı, hata verdi. match("CD","CD2") diye bir function çağırısı yok , match(pattern) veya match("string/yazım/numara") gibi lua.org tan lua hakkında bilgi edinmenizi tavsiye ederim 1 Quote Link to comment Share on other sites More sharing options...
PColik Posted January 6, 2017 Author Share Posted January 6, 2017 2 saat önce, Dark_Angel yazdı: match("CD","CD2") diye bir function çağırısı yok , match(pattern) veya match("string/yazım/numara") gibi lua.org tan lua hakkında bilgi edinmenizi tavsiye ederim Peki burada benim yapmak istediğimle ilgili (CD, CD2) bir örnek verebilir misin? Senin verdiğin kodu incelersem olayı anlarım. Quote Link to comment Share on other sites More sharing options...
Dark_Angel Posted January 8, 2017 Share Posted January 8, 2017 On 06.01.2017 at 21:40, PColik yazdı: Peki burada benim yapmak istediğimle ilgili (CD, CD2) bir örnek verebilir misin? Senin verdiğin kodu incelersem olayı anlarım. bak şimdi basit bir şekilde anlatmaya çalışayım string.match(yazı veya numara karışık olabilir) misal inputa CDCD2 diye bir değer girildi burada sen diyelim ki CD2 girildiyse doğrulanmasını istiyorsun o zaman if Input.GetText("Input1"):match("CD2") then CD2 bulundu else hayır bulunamadı end gibi bu kadar basit bir işlem ayrıca pattern de kullanabilirsiniz 1 Quote Link to comment Share on other sites More sharing options...
PColik Posted January 8, 2017 Author Share Posted January 8, 2017 10 saat önce, Dark_Angel yazdı: bak şimdi basit bir şekilde anlatmaya çalışayım string.match(yazı veya numara karışık olabilir) misal inputa CDCD2 diye bir değer girildi burada sen diyelim ki CD2 girildiyse doğrulanmasını istiyorsun o zaman if Input.GetText("Input1"):match("CD2") then CD2 bulundu else hayır bulunamadı end gibi bu kadar basit bir işlem ayrıca pattern de kullanabilirsiniz Fakat benim istediğim şöyle. Input a CD, de yazsam, CD2 de yazsam, hatta CD3 te yazsam doğrulanmasını istiyorum. Bunu yapamadım bi türlü. Quote Link to comment Share on other sites More sharing options...
blackman12 Posted January 8, 2017 Share Posted January 8, 2017 Girilmesini istediğin değerleri bir arrayda topla, daha sonra input.gettext teki değer array içinde var mı kontrol et. 1 Quote Link to comment Share on other sites More sharing options...
PColik Posted January 8, 2017 Author Share Posted January 8, 2017 3 saat önce, blackman12 yazdı: Girilmesini istediğin değerleri bir arrayda topla, daha sonra input.gettext teki değer array içinde var mı kontrol et. Kardeşim sağolun yardım ettiğiniz için. Ama beni anlamadınız Daha doğrusu bu işten ne kadar anladığımı anlamadınız Şimdi şunu şöyle, bunu böyle yap, şunları topla, şunları kontrol ettir diyosun ama ben bunların nasıl yapıldığını falan bilmiyorum. Bana sadece direkt kopyala yapıştır yapabileceğim örnek bi kod lazım. Quote Link to comment Share on other sites More sharing options...
Dark_Angel Posted January 8, 2017 Share Posted January 8, 2017 7 saat önce, PColik yazdı: Kardeşim sağolun yardım ettiğiniz için. Ama beni anlamadınız Daha doğrusu bu işten ne kadar anladığımı anlamadınız Şimdi şunu şöyle, bunu böyle yap, şunları topla, şunları kontrol ettir diyosun ama ben bunların nasıl yapıldığını falan bilmiyorum. Bana sadece direkt kopyala yapıştır yapabileceğim örnek bi kod lazım. local myTable = { "CD1", "CD2", "CD3", "CD4", "CD5", "CD6", "CD7" }; function FindMyStr(table, string) local r; for index,str in pairs (table) do if str == string then r = true; end end return r; end local string = Input.GetText("Input1"); if FindMyStr(myTable, string) then Dialog.Message("", "OK"); else Dialog.Message("", "404 not found"); end 1 Quote Link to comment Share on other sites More sharing options...
PColik Posted January 11, 2017 Author Share Posted January 11, 2017 On 09.01.2017 at 01:59, Dark_Angel yazdı: local myTable = { "CD1", "CD2", "CD3", "CD4", "CD5", "CD6", "CD7" }; function FindMyStr(table, string) local r; for index,str in pairs (table) do if str == string then r = true; end end return r; end local string = Input.GetText("Input1"); if FindMyStr(myTable, string) then Dialog.Message("", "OK"); else Dialog.Message("", "404 not found"); end İşte aradığım buydu kardeşim. Çok sağol, senide baya uğraştırdım bu konuda. Hakkını helal et Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.