4 haneli yazı mantığı?

Başlatan uardal, 01 Haziran 2008, 18:32:53

uardal

merhaba herkese kolay gelsin

arkadaşlar ben tuş takımım kullanarak keypad den girilen 4 haneli sayıyı nasıl bir değişkene atarım? bi türlü çözemedim, mesela sırayla 1354 sayılarına basacam ve bunu pic te bi değişkende kullanıcam, ama çözemedim, yardımlarınızı bekliyorum.

Klein

array kullanacaksın. Her tuşa basışta index değerini bir artıracaksın.
örneğin :

char key,keyindex,keypress=0;
char keyarray[4];

if (keypress) {
         keypress=0;
         keyarray[keyindex]=key;
         keyindex++;
}

ilker_32

Orhan Altınbaşak'ın Pic basic pro kitabında iki örnek var. O kitabı alabilirsin. Gayet iyi açıkamış. Keypad için özel bir kod yok. Kodları yazacaktım fakat uzunlar.

uardal

teşekkürler ama basic te kısa bi örnek bulabilirsem benim için yeterli olacak,

ete

Girilecek sayı 65535 den küçük olacak ise; tek bir word değişkeninde toplayabilirsin girilen bu 4 haneli sayıyı. Örnekle açıklayayım.
Tuş takımından her seferinde basılan sayı TUS (byte) isimli değişkene verilmiş olsun. 4 haneli sayımız için kullanacağımız değişkende SAYI olsun.
Gireceğimiz sayı 4358 olsun. Önce 4 sayısı ardından 3 sayısı, ardından 5 sayısı ve en sonda 8 sayısı girilecektir. Bu sıraya göre;
SAYI VAR WORD
TUS  VAR BYTE

BASLA:
           SAYI=0
           GOSUB TUSAL 'burada tuş takımından bir tuşa basılması istenecek ve basılan rakam TUS isimli değişkende geri dönecek. basılan tus=4
            GOSUB HESAPLA  'Burada sayı değeri hesaplanacak Sayı=4
            GOSUB TUSAL  'tus=3
            GOSUB HESAPLA 'sayı=43
            GOSUB TUSAL    'TUS=5
            GOSUB HESAPLA   'SAYI=435
            GOSUB TUSAL      'TUS=8
            GOSUB HESAPLA  'SAYI=4358
.....
....
.....
           goto basla

'-------------alt program------------------------
HESAPLA:
               SAYI=SAYI*10+TUS
                RETURN

end

  


Basılan tuşun ekrana verilmesi aynı zamanda elde edilen sayı nın ekranda gösterilmesi işini arada yapabilirsin. Onlarıda anlatmama gerek yok sanırım.

Ete
Bilgi hazinedir paylaştıkça büyür.            http://etepic.com