Jump to content

Input.gettext Ile Birden Fazla Değer Belirleme


PColik
 Share

Recommended Posts

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.

Link to comment
Share on other sites

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

 

  • Like 1
Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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. :)

Link to comment
Share on other sites

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

  • Like 1
Link to comment
Share on other sites

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. :)

Link to comment
Share on other sites

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

 

  • Like 1
Link to comment
Share on other sites

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ü.

Link to comment
Share on other sites

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. :)

Link to comment
Share on other sites

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

 

  • Like 1
Link to comment
Share on other sites

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 :)

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...