İçindekiler. Jaws Başlangıç. Hazırlayan: Latif Kürşad ÇAKIR



Benzer belgeler
İçindekiler. Jaws Başlangıç

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları

Braillino Başvuru Kitapçığı Sürüm 4.0 Lütfen bu başvuru kitapçığıyla birlikte paketinizde bulunan kullanıcı kılavuzunu da gözden geçirin.

Program Tercihleri. Bölüm 5 Tercihler

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

ACCESS DERS Tablolarda Düzenleme

Donatlar-NotePad DONATILAR

Açılan programın pencere görünümü aşağıdaki gibidir. 2. Araç Çubuğundan kaydet düğmesi ile

1. MİCROSOFT EXCEL 2010 A GİRİŞ

MİCROSOFT WORD. Araç çubukları: menü çubuğundan yapabileceğimiz işlemleri daha kısa zamanda araç çubukları ile yapabiliriz.

T.C. istanbul ÜNiVERSiTESi ÖĞRENCi BiLGi SiSTEMi. ÖĞRETiM ELEMANI KULLANIM KILAVUZU

KELİME İŞLEMCİ MİCROSOFT OFFİCE WORD KULLANIMI

EĞİTİM-ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ 6. SINIF 2. DÖNEM 2. SINAV ÇALIŞMA NOTLARI

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

MS POWERPOINT Şekil 111 Powerpoint 2010 Programını Başlatmak

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

KLAVYEDE TUŞLAR İMLEÇ NEDİR?

düğmesine ile bir sayfa yukarıya, düğmesi ile bir sayfa aşağı gidebilirsiniz.


TEMEL BİLGİSAYAR. Ders Notları. Yrd. Doç. Dr. Seyit Okan KARA

5.Slayt ana hat görünümü 6.Görev bölmesi penceresi 7.Not alanı 8.Durum çubuğu

Gidilen sayfadan bir önceki sayfaya geçilir. Şekil Git İşlemi diyalog kutusu

Bu Hafta Öğreneceklerimiz

YEDEKLEME PROGRAMI KURULUM VE KULLANIMI

HSancak Nesne Tabanlı Programlama I Ders Notları

a. Giriş sekmesi: 1. Paragraf bölümünde Madde İşaretleri veya Numaralandırma seçeneklerinden istediğinize tıklayın.

Braille Star 80 Başvuru Kitapçığı

Hizalama Word dokümanlarınızda oluşturduğunuz veya oluşturacağınız metinlerin hizalamasını yapabilirsiniz. Bu işlem için:

HESAP MAKİNASI YAPIMI

"Her zaman düzeltme öner" seçeneği işaretliyse solda bulunan pencerenin "Öneriler" bölümünde düzeltme önerir.

Bilgisayar. Bilgisayarın Özellikleri. Giriş İşleme Çıkış. Bilgisayar Nedir? Bilgisayarın Çalışma Prensibi

Usta Aritmetik Bayi Kontrol Programı Kullanım Kılavuzu (V.1.3.0)

2000 de Programlarla Çalışmalar

WORD KULLANIMI

Resim 7.20: Yeni bir ileti oluşturma

Android Ders Notları

Luca NET Kobi Ticari Yazılımında ilk yapılacaklar

U y g u l a m a A i l e s i (Abakus 360, T-Panel, T-CRM) Tarayıcı Ayarları. IPera İletişim Teknolojileri

C Programlama Dilininin Basit Yapıları

NAZMİYE DEMİREL ORTAOKULU BİLİŞİM TEKNOLOJİLERİ DERSİ 1. DÖNEM 6. SINIFLAR DERS NOTU EXCEL 2007 DERS NOTLARI

SQL Uyarı Programı Kurulum ve Kullanımı

TEMEL BİLGİ TEKNOLOJİLERİ WORD DE METİNLERLE ÇALIŞMAK VE KLAVYEDEKİ TUŞLAR

EXCEL de her bir çalışma alanı bir sayfa olarak adlandırılırken, birden fazla sayfa ise kitap olarak adlandırılır.

İşletme Fakültesi Bil. Kullanımı Ders notları 2

Ecat 8. Hakbim Bilgi İşlem A.Ş. Versiyon

Microsoft PowerPoint

ELEKTRONİK BELGE YÖNETİM SİSTEMİ (EBYS)

Kantar Otomasyonu Özellikler Kullanım Satış Kamyon Hareketleri Ağırlık Bilgisi... 9

Ecza Depolarına Ait E-Fatura Aktarım Modülü

BİLGİSAYAR PROGRAMLAMA

.docx veya.doc (2007 ve üzeri sürümlerde.docx iken sürümlerinde.doc tur.) 1.Belge Başlığı

KLAVYE TUŞLARI VE GÖREVLERİ

SAB 103 TEMEL BİLGİSAYAR KULLANIMI

MICROSOFT OFFICE WORD 2010 ÖRNEK TEST SORULARI

SIMAN KULLANIM KILAVUZU

SAVİOR OTOMASYON TEKNİK DESTEK BİRİMİ

İçindekiler. Akıllı Tahta Uygulaması (ATU) Kullanma Kılavuzu. İçindekiler. Bölüm 1: Uygulama Hakkında Genel bilgi 2

GIDA MÜHENDİSLİĞİ BİLGİSAYAR UYGULAMALARI. Microsoft Excel 2010 Uygulamaları Doç. Dr. Ali GÜNDOĞDU

KELİME İŞLEMCİ MİCROSOFT OFFİCE WORD KULLANIMI

POLİKLİNİK DEFTERİ. Amacı;

Avrasya Üniversitesi. Tuncay AYDEMİR


MEBWEB OKUL/KURUM WEB SİTELERİ KULLANIM KLAVUZU TEMEL İŞLEMLER

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

WORD KULLANIMI

HESAP PLANI DEĞİŞİKLİĞİ

Açılan penceren gerekli ayarlamalar yapılarak sayfa numaraları görüntülenir.

Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır.

1. Mutabakat.zip dosyası açılır. 2. Mutabakat klasörü içindeki Mutabakat.exe dosyası çalıştırılır.

Microsoft Word 2010 ara yüzündeki bölümler aşağıda gösterilmiştir.

BİLGİ TEKNOLOJİLERİ SMO HAFTA KELİME İŞLEMCİ PROGRAMI (MİCROSOFT WORD)

Bu sayfa şifre hatırlatma sayfasıdır. Öğrenci numarası ve ön kayıt başvurusu sırasında girdiğiniz e- posta ile şifrenizi isteyebilirsiniz.

Kişisel Bilgisayarın Parçaları

LABORATUVAR ÇALIŞMASI 1 - Python a Giriş

POWER POİNT 2007 DERS NOTLARI

KELİME İŞLEMCİLERE GİRİŞ 5.SINIF BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ ÇALIŞMA KÂĞIDI

4 Front Page Sayfası Özellikleri

NB Macro Kullanımı Hakkında Genel Bilgiler

Metin İşlemleri, Semboller

ELEKTRONİK BELGE YÖNETİM SİSTEMİ KULLANICI GİRİŞ VE E-İMZA İŞLEMLERİ KLAVUZU

TÜRKİYE NOTERLER BİRLİĞİ

FATURA Fatura kayıtları sekmesinden Alış Faturası- Satış Faturası- Alış İade Faturası- Satış İade Faturası ve Hızlı Satış Faturasını girebilirsiniz.

2. Belgeye Metin Ekleme

Zoru Kolay Yapmak İçin...

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

Bloglar için en çok tercih edilen düzen 1.düzendir. Yani En son yazılarımın listesi. Sizlerde ödeviniz için bu düzeni seçebilirsiniz.

Kelime işlemcilerin işlevlerini öğrenmek. Başlıca kelime işlemcileri tanımak. Microsoft Word 2010 programı hakkında temel bilgileri öğrenmek.

TÜRK DİLİ VE EDEBİYATI BÖLÜMÜ Ali ATALAY a ait ders notları. TEMEL BİLGİ TEKNOLOJİLERİNİN DEVAMI ---WORD NOTLARI

TÜRKİYE NOTERLER BİRLİĞİ

Windows XP Professional Kurulumu

BİL 810 İnşaat Mühendisliğinde Bilgisayar Uygulamaları

Yazdır Menüsü. Yazdır menüsü resimli anlatım. Yazdır Menüsü. Baskı Önizleme Gerçekleştirmek

5. HAFTA MS OFFICE EXCEL 2016 ÇUKUROVA ÜNİVERSİTESİ BİLGİSAYARDA VERİ ANALİZİ VE RAPORLAMA

JLR EPC. Hızlı Başlangıç Kılavuzu. İçidekiler. Turkish Version 2.0. Adım Adım Kılavuz Ekran Kılavuzu

Öztiryakiler B2B Kullanıcı Klavuzu

1. ÇALIŞMA ALANI hücre çalışma sayfası kitap Başlık çubuğu Formül çubuğu Aktif hücre Sekmeler Adres çubuğu Kaydırma çubukları Kılavuz çizgileri

MEKAN TAKİP UYGULAMASI

SUPERVISOR (YETKİLİ KULLANICI) KAMPANYA YÖNETİMİ EĞİTİM DOKÜMANI

Temel Bilgisayar (Basic Computer) Word e Giriş (Introduction to Word)

Temel Bilgisayar Dersi

Transkript:

İçindekiler Jaws Başlangıç... 1 Yapılandırma Yöneticisi nedir?... 1 Klavye Yöneticisi nedir?... 1 Jaws Script Dosyalarının Özellikleri... 2 Yapılandırma yöneticisi kısayolları.... 2 Yazım Kuralları:... 2 DEĞİŞKENLER VE SABİTLER.... 5 IF li ifadeler (Koşullu ifadeler)... 7 While döngüsü... 9 Mesaj dosyaları (jsm uzantılı dosyalar)... 10 AutoStartEvent() scripti... 12 Virtual viewer (Sanal Ekran)... 13 Fonksiyonlar... 16 Jaws Başlangıç Jaws programı windows ortamında çalışan freedom scientific firmasının geliştirdiği bir ekran okuyucu programıdır. Ekran okuyucu program nedir önce biraz onu açıklayalım. Görme engelli bilgisayar kullanıcıları ekrandaki yazıları, grafikleri, tabloları, internet sayfalarındaki bağlantıları, başlıkları, paragrafları yani tüm yazıları bu programa okutarak bilgisayarı kullanırlar. Bu iş için kısayolları kullanırlar. Ayrıca bir de konuşmacı kişiyi ifade eden sentezleyici programlar vardır. En yaygın kurulumu kolay olan sentezleyici aynı firmanın geliştirdiği Aylin sentezleyicisidir. Daha başka acapela firmasının geliştirdiği İpek sesi kullanılabilir, yine yerli bir firma olan Teknoses in geliştirdiği Gül, Levent ve Ersin sesleri mevcuttur. Sentezleyiciler konuşma motoru diye de adlandırılabilirler. Bunların içinde en başarılı bulduğum ses ipek sesidir. Jaws programı dünyada en çok kullanılan ekran okuyucu programdır. Bu sitede anlatılan Jaws script konuları hazırlanırken Braille Teknik firmasında eğitmen olan Engin Yılmaz ın hazırladığı eğitimden faydalanılmıştır. Bu yazılı dokümanı hazırlayan: Kürşad ÇAKIR. Mehmet Akif Ersoy Görme Engelliler Okulu Bilgisayar Öğretmeni Yapılandırma Yöneticisi nedir? Yapılandırma yöneticisi Jaws Script komutlarının yazıldığı ve derlendiği ayar penceresidir. Ulaşmak için İNS+0 veya İNS+F2 ye basıp ardından listeden yapılandırma yöneticisi üzerine gelip ENTER ile açılır. Klavye Yöneticisi nedir? Bu bölüm jaws ın her programda farklı olan kısayollarının ayarlandığı bölümdür. Klavye yöneticisini açmak için İNS+F2 tuşlarına basarak ayar yöneticisini açalım, daha sonra gelen listeden klavye yöneticisini açalım. Klavye yöneticisi ekranı iki sütundan oluşur. Soldaki sütunda programların isimleri listelenir, sağdaki sütunda ise seçili programın jaws tarafından kullanılan kısayolları görülür. Bir kısayolu değiştirmek için sağdaki listede CTRL+F ile arama kutusunu çağıralım ve aradığımız tuş kombinasyonuna basıp ENTER yapalım. Aradığımız tuş kombinasyonuna geldiysek CTRL+H yapalım ve yeni tuş kombinasyonuna basalım. CTRL+D üzerinde bulunduğumuz tuş kombinasyonu hakkında bize detaylı bilgi verir. CTRL+SHİFT+D Default.jss dosyasını yükler. Yeni script yazabilmek için CTRL+E tuşlarına bastığımızda yeni yapılandırma iletişim kutusu gelir. 1

Jaws Script Dosyalarının Özellikleri *.jkm (JAWS KEY MAPFILE): Jaws klavye kısayol dosyası, tuş vuruşları, tüm programların jaws kısayolları burada saklanır. *.jss (JAWS SCRIPT SOURCE): Jaws script kaynak dosyası. Scriptin saklandığı dosyadır. Tekrar açılarak script üzerinde değişiklik yapılabilir. Değişikliğin geçerli olabilmesi için tekrar derlenmesi gerekir. *.jsd (JAWS SCRIPT DOCUNMENTATION): Jaws script dokümantasyon dosyası. Bu dosyada tüm komutların açıklayıcı bilgileri saklanır. Script Manager (Yapılandırma yöneticisi) ile script oluştururken yazdığımız açıklayıcı bilgiler bu dosya içinde saklanır. *.jsh (JAWS SCRIPT HEADER): Bu dosyada scriptler içinde kullanılan sabitler ve değişkenler saklanır. *.jsm (JAWS SCRIPT MESSAGES): Scriptlerin içinde kullanılan sesli mesajlar bu dosyalarda saklanır. Her mesaj numaralanmıştır. *.jsb (JAWS SCRIPT BINNARY): jaws binary script dosyası. Jss dosyası derlendiğinde jsb dosyası oluşturulur. Bu dosya içeriği düzenlenemez. Genel Script dosyalarının saklandığı klasöre erişmek için Başlat menüsü> JAWS12> Explore JAWS> Explore Shared Settings Kişiselleştirilmiş Script dosyalarının saklandığı klasöre erişmek için Başlat menüsü> JAWS12> Explore JAWS> Explore My Settings kısayollarına bakabilirsiniz. Yapılandırma yöneticisi kısayolları. F2, shift+f2 - fonksiyonlar arasında dolaşım sağlar. Sonraki fonksiyon, önceki fonksiyon. Ctrl+L - scriptleri liste halinde verir. Ctrl+E - Yeni bir script yazabilimemiz için iletişim kutusu açar. Ctrl+I - fonksiyonları seçerek ekleyebileceğimiz bir iletişim kutusu açar. Ctrl+D - İmlecin üzerinde bulunduğu script fonsiyonunun bilgilerini iletişim kutusunda ekrana getirir. Ctrl+Del - İmlecin üzerinde bulunduğu scripti siler kalıcı olması için Ctrl+S ile kaydedip derlenmesini sağlamalıyız. Yazım Kuralları: Scripleri yazarken dikkat etmemiz gereken yazım kuralları bulunmaktadır. Yapılandırma adı olarak nokta veya boşluk kullanamazsınız. Ayrıca türkçede olup ingilizcede olmayan karakterler yani ç, ğ, küçük ı, büyük İ, ö, ş,ü karakterlerini kullanamayız. Sadece ingilizcede yer alan alfnumerik karakterleri yapılnadırma adı olarak kullanabiliriz. Genelde script adları kelimelerin ilkharfler büyük olacak şekilde bitişik yazılır. Eğer boşluk veya nokta kullanırsanız bip sesi ile uyarılırsınız. ;Örnek script Script Dene () ;yapılandırma adı SayString ("merhaba deneme skripti") ;mesajı oku ;scripti sonlandır. Yukarıdaki script çalıştığında "merhaba deneme scripti" mesajı verecektir. Scriptimizin her ortamda çalışmasını istersek, default.jss dosyasının içine yazmamız gerekmektedir. Örnek satırları default.jss dosyasının sonuna ekleyelim. Scriptin üzerinde iken Ctrl+D tuşlarına basarak script yapılandırma bilgisini açalım. tab tuşuna basarak bir tuşa bağla seçim kutusunu işaretleyelim, tab tuşuna basarak kısa ve detaylı açıklama kısımlarını dolduralım (açıklamalarda boşluk ve türkçe karakter kullanabilirsiniz), tab tuşuna basarak atanacak kutusuna bir kısayol atayalım ve Ctrl+S ile kaydedip derleyelim. Atadığımız kısayola basarak scriptimizin her programda çalışabildiğini görebilirsiniz. Daha önce oluşturduğumuz scripti bulup silmek için; CTRL+L ile scriptleri liste halinde çağırın. Yukarı aşağı tuşları ile scripti bulduktan sonra scripte gidin. F2 ve Shift+F2 tuşları ile silinecek scripte gidip Ctrl+L ile silinecek scripti seçebilirsiniz. Herhangi bir tuşa bastığımızda script silinecektir. 2

İlk scriptimizi yazıyoruz; Eylem: İnternet explorer programında durum çubuğunu okutan script. Şimdi scriptin nasıl yazıldığına geçiyoruz. 1- İnternet Explorer açık iken ins+0 tuşlarına basarak yapılandırma yöneticisini açalım. 2- Ctrl+E ile yeni script diyalog penceresini çağıralım. 3- Yapılandırma adı scriptin adı olacak. Sayı veya türkçe karakter kullanılamaz. Genelde kelimeler arasında boşluk bırakılmadan, baş harfleri büyük olarak yazılır. örn "YeniScript" gibi yazılır, tab tuşuna basılır. 4- bir tuşa bağla onay kutusu boşluk tuşu ile seçilir ve tab tuşuna basılır. kısa ve detaylı açıklamalar kısımlarına gerekli açıklamalar yazılır. tab yapılıp kategoriyi geçin. Atanacak kutusuna geldikten sonra Ctrl+Shift+ F2 tuşalrına baılarak kısayol ataması yapılır. enter ile iletişim kutusu kapatılır. 5- Ekrana; Script YeniScript() satırları gelir. Script - satırları arasına komut ve fonksiyonları ekleyerek scripti tamamlayacağız. 5- Ctrl+I ile fonksiyon seçim iletişim kutusunu çağıralım. JawsCursor(); jaws kürsörünü etkinleştirir. RouteJawsToPc(); Jaws imlecini pc imlecine taşır. JawsBottomOfFile(); imleci ekranın en altına taşır. JAWSHome(); İmleç satırın başına gider. SayLine(); İmlecin üzerinde bulunduğu satırı okur. PcCursor(); Pc imlecine geçer. yukarıdaki fonksiyonları ekleyerek Ctrl+S ile kaydedip derliyoruz. Eğer hata ile karşılaşmazsak scriptimiz çalışacaktır. Scripti derlemeden kaydetmek için Ctrl+W kısayolunu kullanabilirsiniz. scriptimizin bitmeden kaydedilmesi gerektiği durumlarda kullanılır. Açıklama satırları başına ";" eklenerek yazılır. bu satırlar derlenmeyecektir. Eğer komut satırının sonuna açıklama yazılmak istenirse, komut bittikten sonra ";" konulup komutun açıklaması yazılabilir. Güzel bir örnek; Eylem: Jaws programını çalıştırdığımızda karşılama mesajı söyleten script. Scriptin yazılışı: Ins+0 tuşlarına basarak yapılandırma yöneticisini açalım. Ctrl+Shift+D kısayolu ile Default.jss dosyasını yükleyelim. scriptimiz bu dosya üzerinde yer alacak. Default.jss dosyası herhangi bir programa ait olmayan scriptlerin barındırıldığı dosyadır. Buradaki scriptler her programda çalışacaktır. Ctrl+L kısayoluna basarak scriptlerin bulunduğu liste kutusunu açalım, buradan "AutoStartEvent" fonksiyonunu bulalım ve entera basark fonksiyona gidelim. Fonksiyonun sonuna gitmek için F2 tuşuna basarak sonraki fonksiyona atlayalım ve iki satır yukarı giderek az önceki fonksiyonun EndFunction satırının üstüne aşağıdaki satırları ekleyelim. SayString("kürşad hoşgeldin,") SayString("jaws 13.0 programı çalıştı") SayString("Bugün...") Say(SysGetDate(),ot_string) Say(SysGetTime(),ot_string) satırlarını yazdıktan sonra Ctrl+S kısayoluna basarak kaydedip derleyelim. Şimdi jaws programını kapatıp tekrar başlatarak scriptimizi deneyebiliriz. Örnek; Eylem: Kısayol tuşuna basıldığında word programında en son açılan programın adını okuyan script. Scriptin yazılışı: Word programı açık iken Ins+0 ile yapılandırma yöneticisini açalım. Dosaya menüsünü açmak için ALT tuşuna basmamız gerekmekte, bunun için klavye tuşlarının kayıtlı olduğu "common.jsm" mesaj dosyasını açalım ve Ctrl+F ile bul iletişim kutusunu çağırarak "keystrokes" yazıp enter ve ardından ESC yapalım. değişken="klavye tuşu" şeklinde tanımlamalar bulacaksınız. cksalt="alt" sabitini bulup ardından Ctrl+Tab yaparak Word.jss dosyasına geçelim. Ctrl+E ile yeni yapılandırma iletişim kutusunu 3

açalım. Yapılandırma adına boşluk bırakmadan "SonDosya" yazalım. Bir tuşa bağla onay kutusunu işaretleyip kısa ve detaylı açıklama kısımlarını dolduralım. Atanacak kısmına "Ctrl+2" kısayolunu atayalım ve enter ile iletişim kutusunu kapatalım. Word 2007 de son açılan dosyanın adını okuyan script aşağıdadır. Script SonDosya() ;yapılandırma adı SpeechOff(true) ;konuşmayı durdur TypeKey(cksAlt) ;alt tuşuna bas {D} ;D tuşuna bas TypeKey(cksRightArrow) ; sağ yön tuşuna bas TypeKey(cksUpArrow) ;yukarı tuşuna bas SayLine() ;satırı oku ;scripti bitir şimdi de office 2003 word programında aynı işi yapan scripti yazalım; ;word programında açılan son dosyayı okur Script SonDosya() SpeechOff () TypeKey (cksalt) {D} SpeechOn () SayToBottom () TypeKey (cksalt) Ödev; Yukarıda kod sadece son açılan dosyayı okuyor. Bir de son açılan dört tane dosyanın adlarını okuyan scripti yazalım. Çözüm; SayLine() satırından sonra NextLine() SayLine() NextLine() SayLine() NextLine() SayLine() satırlarını eklersek son açılan dört programı okur. En sona da TypeKey(cksAlt) komutu ekleyerek menüyü kapatabiliriz. 4

Son açılan dosyaların kaç tane olduğunu bilmiyorsak SaytoBottom() komutu ile aşağıya doğru okumaya devam ettirerek çıkış komutunu da seslendirerek orada durdurmuş oluruz. DEĞİŞKENLER VE SABİTLER. Değişken var(variable) integer string handle object integer değişkeni tamsayı tipinde sayı barındırabilir. 10, 100 gibi string değişkeni sayı, Büyük veya küçük harf, noktalama işareti, boşluk karakterini barındırabilir. handle Her pencerenin bir tutacağı vardır. Jaws her pencereye bir numara verir. Bu numarayı öğrenmek için Ctrl+Ins+F1 tuşlarına basmamız gerekir. Object Grafik, resim gibi objelerin tanımlanmış haline. Ctrl+Ins+F1 tuşlarına bastığımızda Control Id Class Handle şeklinde pencere bilgileri gelir. Sabit const(constant) sabit tipinde veri tipleridir. değişkenlerden farkı sabitler bir kere tanımlanır, programın sonuna kadar değerleri değişmez. Const True = 1, False = 0, On = 1, Off = 0 5

örnek: Word programında hangi sayfada, hangi satırda olduğumu söyleyen bir script yazacağım. çözüm: word programı açık iken yapılandırma yöneticisini açalım. Ctrl+E kısayolu ile yeni script diyalog formunu açalım. Yapılandırma adına "SatırveSayfa" yaz. Kısa ve detaylı açıklama kısımlarını doldur. Atanacak kısmına script kısayolu olarak Ctrl+Shift+Pagedown tuşlarını ata. Tamam diyerek diyaog penceresini kapatalım. Aşağıda kodların açıklaması vardır. ;sayfa numarası ve satır numarasını okur Script SatirVeSayfa () JAWSCursor () ;Jaws imlecini etkinleştir RouteJAWSToPc () ;Jaws imlecini pc ye taşı JAWSPageDown () ;imleci durum çubuğunu okumak için pencerenin altına taşı JAWSHome () ;imleci satırın başına taşı SayWord () ;imlecin üzerindeki sözcüğü oku (sayfa sayısını oku) NextWord () ;imleci sonraki sözcüğe atlat SayWord () ;sayfa numarasını oku NextWord () ;sonraki sözcüğe git NextWord () ;sonraki sözcüğe git NextWord () ;sonraki sözcüğe git NextWord () NextWord () NextWord () NextWord () NextWord () SayFormattedMessage (ot_no_disable, "satır no") ;"satır no" metnini okut SayWord () ;satır numarasını söyle PCCursor () ;pc kürsöre geç ;scripti bitir. SayFormattedMessage (ot_no_disable, "satır no") komutu jaws hangi modda olursa olsun (başlangıç, orta, ileri) bu mesajı yine de söyler. jaws kullanıcı düzeyi değiştiğinde bazı mesajları kısa okur, SayFormattedMessage komutunun üçüncü parametresine kısa okunacak mesajı yazabilirsiniz. bu konuda ilerde açıklama yapılacaktır. örnek: Not defterinin pencere kontrol düğmelerinden ekranı kapla düğmesine basmak. çözüm: not defteri programı açık iken yapılandırma yöneticisini aç ve ctrl+e yap. yapılandırma adına "EkraniKapla" yaz. Kısa ve detaylı açıklamaları yazdıktan sonra atanacak kısmına ctrl+shift+enter kısayolunu ata. Script EkraniKapla() JAWSCursor () RouteJAWSToPc () JAWSPageUp () JAWSEnd () PriorWord () LeftMouseButton () SayFormattedMessage (ot_no_disable, "ekran kaplandı","kaplandı") 6

IF li ifadeler (Koşullu ifadeler) Eğer yazdığımız script hiçbir koşula bakmadan adım adım işletiliyor ise buna squential(ardışık) script denir. Bir de koşullu scriptler vardır. bu scriptlerde if komutu kullanılır. script xxx() if (koşul) koşul doğru ise buradaki komutlar çalışır. endif endscript GetWord komutu ile imlecin üzerinde bulunduğu sözcüğü alır karşılaştırmak amacı ile kullanabiliriz. GetLine komutu ile de imlecin üzerinde bulunduğu satırı alabiliriz. Logical operators (mantıksal operatorler) == eşit!= eşit değil < küçüktür > büyüktür <= küçük eşit >= büyük eşit SayFormattedMessage(parametre,"uzun mesaj","kısa mesaj") Bu komut mesajı formatlı şekilde okur. Yani jaws ayarları başlangıç seviyesinde ayrı ileri kullanıcı seviyesinde ayrı mesaj okur. Parametre olarak ; ot_help mesajımız yardım mesajı olarak okunur. ot_no_disable mesajımızın her durumda okunmasını sağlar bu parametreler hjconst.jsh dosyasında saklanan değişkenlerdir. örnek: Kısayola basıldığında ekranı kapla düğmesini kontrol eden. Düğme aktif ise ekranı kaplayan ve sesli mesaj veren, düğme pasif ise "ekran zaten kaplı" mesajı verip sonlanan script. çözüm: ; ekranı kapla butonu aktif ise ekranı kaplayan ve mesaj veren ;pasif ise hiç birşey yapmayan script ;tek koşullu Script EkraniKaplaKosullu () JAWSCursor () RouteJAWSToPc () JAWSPageUp () JAWSEnd () PriorWord () IF GetWord()=="Maximize Symbol" Then LeftMouseButton () SayFormattedMessage (ot_no_disable, "ekran kaplandı","kaplandı") ENDIF örnek: ikiden fazla koşulumuz var ise. Mesela; scriptin başında imleci kontrol etsin. Jaws imlecinde isek jaws imlecine, Pc imlecinde isek Pc imlecine, hiç birinde değil isek scriptin sonunda Pc imlecine geçsin. 7

çözüm: ;imlecin durumunu bir değişkende saklayan ekranı kapla butonu aktif ise ekranı kaplayan ve mesaj veren ;pasif ise ekran zaten kaplı mesajı verip imleci başlangıçtaki durumuna döndüren script ;çok koşullu script Script EkraniKaplaKosullu () var int ietkinimlec ;ietkinimlec adında integer değişken tanımladık let ietkinimlec=getactivecursor () ;imlecin durumunu oluşturduğumuz değişkene atıyoruz. JAWSCursor () ;jaws imlecini etkinleştirdik RouteJAWSToPc () ;jaws imlecini pc imlecine taşıdık JAWSPageUp () ;imleci pencerenin üst tarafına taşıdık JAWSEnd () ;imleci pencerenin sonuna taşıdık PriorWord () ;imleci bir sözcük geriye taşıdık IF GetWord()=="Maximize Symbol" Then ;imlecin bulunduğu yer "ekranı kapla" düğmesi ise LeftMouseButton () ;farenin sol düğmesine tıkla SayFormattedMessage (ot_no_disable, "ekran kaplandı","kaplandı") ;"ekran kaplandı mesajı ver" ELSE SayFormattedMessage (ot_no_disable, "ekran zaten kaplı", "kaplanmış") ;değilse "zaten kaplı" mesajı ENDIF ; koşulu bitir IF ietkinimlec==cursor_jaws ;değişkenimizin değeri "Jaws imleci" ise JAWSCursor () ;jaws imlecini etkinleştir SayString ("jaws imleci") ;mesajı oku ELIF ietkinimlec==cursor_pc ;yukarıdaki koşul gerçekleşmedi, değişkenimizin değeri "pc imleci" mi? PCCursor () ;pc imlecini etkinleştir SayString ("pisi imleci") ;mesajı oku ELIF ietkinimlec==cursor_invisible ;iki koşulda gerçekleşmedi, değişkenimizin değeri "görünmez imleç" mi? InvisibleCursor () ;görünmez imleci etkinleştir SayString ("görünmez imleç") ;mesajı oku ELSE ;değişkenimizin değeri üç imlece de eşit değil ise PCCursor () ;pc imlecini etkinleştir ENDIF ;ietkinimlec değişkenini kontrol eden koşulu bitir ;scripti bitir CURSOR_JAWS, CURSOR_PC, CURSOR_INVISIBLE sabitleri HJconst.jsh dosyasında tanımlıdır. 8

While döngüsü Bazen bir komutun birden fazla tekraralanması gerekebilir. bu durumlarda döngü kullanmamız gerekmektedir. while komutu bize bir kod bloğunda birden fazla komutu tekrarlama imkanı sağlar. Var int itekrar Let itekrar = 1 While itekrar < 5; Bu kod bloğu 4 defa tekrarlanacaktır ;tekrarlanacak kodlarımızı bu aralığa yazarız. Let itekrar=itekrar +1; itekrar değişkenimizin değeri her seferinde 1 arttırılır. Değeri 5 olduğunda döngü kırılır. EndWhile örnek: daha önce yaptığımız örnekteki son açılan word belgesinin adını okutmak için while komutunu kullanalım. (office 1003 programı için düzenlenmiştir) çözüm: ; dosya menüsünde bulunan son açılan belgeninadını okur. while komutu ile. Script SonDosyaWhile () SpeechOff () TypeKey (cksalt) {D} while GetLine ()!="özellikler" endwhile SpeechOn () SayLine () TypeKey (cksalt) Bu da aynı örneğin değişik hali. ; dosya menüsünde bulunan son açılan belgelerin hepsinin adını okur ve çıkışa gelince durur. Script SonDosyaWhile () SpeechOff () TypeKey (cksalt) {D} while GetLine ()!="özellikler" endwhile SpeechOn () while GetLine ()!="Çıkış" SayLine () EndWhile TypeKey (cksalt) 9

Mesaj dosyaları (jsm uzantılı dosyalar) Yeni bir mesaj dosyası oluşturup dosyaya konuşma mesajları ekleyeceğiz. Yapılandırma yöneticisi açık iken Ctrl+N ile yeni dosya oluştur deyip, dosya türü olarak "mesajlar" seçeneğini seçerek jsm uzantılı bir dosya oluşturuyoruz. Ctrl+S kısayolu ile kaydet dedikten sonra dosyamıza Notepad adını vererek kaydediyoruz. ;not defteri sesli mesaj dosyası Messages ;mesaj yazmaya başlamadan önce yazıyoruz. @msgadimisoyle adım %1 beni %1 %2 diye çağırabilirsiniz @@ @msgdeneme_l bu bir deneme mesajı. başlangıç seviyesinde okunur. @@ @msgdeneme_s deneme mesaj @@ ;kısa ve uzun mesaj sonu EndMessages ;mesajlarımız bitince bu komutu yazıyoruz. Mesaj dosyamızı CTRL+S ile kaydediyoruz. Şimdi Notepad.jss dosyamızı açalım, ilk satırına include "notepad.jsm" komutunu ekleyelim. dosyanın sonuna gidip Ctrl+E ile yeni yapılandırma iletişim kutusunu açalım. Yapılnadırma adı olarak "DenemeMesaji" adını verip bir tuşa bağla seçeneğini seçelim kısa ve detaylı açıklama yazalım. kısayol olarak. Ctrl+Shift+N kısayolunu atayalım. Diyalogu kapatıp scriptimizi yazmaya başlayabiliriz. Ctrl+I ile SayFormattedMessage fonksiyonunu çağıralım. İlk kutuya ot_no_disable, ikinci kutuya msgdeneme_l, üçüncü kutuya msgdeneme_s yazalım ve komutu sonlandıralım. Ctrl+s ile komutu kaydedip derleyelim. Notdefteri programına dönüp Ctrl+Shift+N kısayoluna basarak scripti çalıştıralım. Jaws kullanıcı düzeyi ayarlarını başlangıç ve ileri düzey olarak değiştirip scripti çalıştırdımızda mesajların arasındaki farkı görebilirsiniz. include "HJConst.jsh" include "common.jsm" include "Notepad.jsm" Script DenemeMesaji () SayFormattedMessage (ot_no_disable, msgdeneme_l, msgdeneme_s) sriptimiz yukarıdaki gibi olacaktır. 10

Formatlanmış mesajları daha esnek kullanmak için %1 ve %2 gibi ifadeleri mesajların içine yazarak kendi mesajlarımız ile sabit mesajları birleştirebiliriz. Mesajlara % sembolü koyup söyletme işine placeholder deniyor. Mesajımızı mesaj dosyasına (jsm), okutmak içinde scriptimize %1, %2 şeklinde tanımlayacağız. Yeni mesaj dosyası oluşturmak için Ctrl+N yeni dosya aç mesajlar jsm seçilir enter ile onaylanır. ;notepad mesaj dosyası Messages @msgadimisoyle adım %1 beni %1 %2 diye çağırabilirsiniz @@ EndMessages satırlarını yazdıktan sonra Ctrl+S ile mesaj dosyamızı kaydet deyip Notepad.jsm adını verelim. Notepad.jss dosyasını açıp ilk satıra include Notepad.jsm komutunu ekleyelim. Dosya sonuna gidip ctrl+e ile yeni scriptimizi oluşturmaya başlayalım. Yapılnadırma adına adsoyle, bir tuşa bağla seçeneğini seçelim, açıklamaları yazdıktan sonra atanacak kısmına Ctrl+Shift+A kısayolunu atayalım. Script adsoyle () var string smesaj let smesaj=formatstring (msgadimisoyle, "kürşad", "çakır") SayFormattedMessage (ot_no_disable, smesaj) Formatstring komutunu Ctrl+I fonksiyon ekleme komutu ile çağırabiliriz. Bu komut msgadimisoyle mesajını formatlayarak %1 ve %2 yerine gelecek stringleri mesaja ekler ve let komutu ile formatlanmış string mesajı smesaj adında bir değişkene atadık. SayFormattedMessage komutu ile de mesajı söylettik. örnek: Menü seçeneğinin pasif olduğu durumlarda yani jawsın unavailable veya geçersiz dediği durumlarda menü seçeneğini kontrol etmek için hjconst.jsh dosyasında yer alan bir sabiti kullanacağız. Control attribute identifier altındaki ctrl_grayed=0x0004 sabiti sayesinde bunu kontrol edeceğiz. include "HJConst.jsh" include "common.jsm" include "Notepad.jsm" Script maximizewindow () TypeKey (cksalt) TypeKey (cksspace) PriorLine () PriorLine () if GetControlAttributes ()==4 THEN SpeechOn () SayFormattedMessage (ot_no_disable, "ekran zaten kaplı") TypeKey (cksalt) ELSE EnterKey () SpeechOn () SayFormattedMessage (ot_no_disable, "ekran kaplandı") ENDIF 11

Inputbox komutu Bu komut scriptimizin bizden değer girmemizi istediği durumlarda kullanılır. bir örnek yapalım. örnek: Scriptimizi çalıştırdığımızda karşımıza bir metin kutusu gelecek ve admızı girmemizi isteyecek, admızı girip enter a bastığımızda soyadımızı girmemizi isteyecek, soyadımızı girip enter a bastığımızda ise mesaj dosyasındaki mesaj ile inputbox lara girdiğimiz verileri birleştirip sesli olarak okusun. ;aşağıdaki örneği inputbox kullanarak gerçekleştirdik. Script adsoyle () var string smesaj, ;birleştirilecek mesajları tutacak değişken tanımla string sad, ;string tipinde ad değişkeni tanımla string ssoyad ;string tipinde soyad değişkeni tanımla InputBox ("lütfen isminizi girin:", "ad girişi", sad) ;isminizi girin InputBox ("soy isminizi girin:", "soy isim girişi", ssoyad) ;soy isminizi girin let smesaj=formatstring (msgadimisoyle, sad, ssoyad) ;mesajları birleştir ;let smesaj=formatstring (msgadimisoyle, "kürşad", "çakır") SayFormattedMessage (ot_no_disable, smesaj) ;mesajı seslendir ;scripti sonlandır AutoStartEvent() scripti jaws başlatıldığında ilk çalışan scripttir. Bu script Default.jss dosyasının içerisinde yer alır. Bu script içerisine ekleyeceğimiz komutlar jaws her başaltıldığında otomatik çalışacaktır. Yapılandırma yöneticisini başlattıktan sonra Ctrl+Shift+D tuşlarına basarak Default.jss dosyasını açalım. Scripti bulmak için Ctrl+F ile veya Ctrl+L tuşlarına basarak scriptimizi bulalım. F2 ile sonraki scripte gidin ve daha sonra birkaç satır yukarı giderek istediğimiz scriptin satırının üzerine gidin. Buraya SayString("Merhaba Kürşad") fonksiyonunu yazalım ve Ctrl+S ile kaydedelim. Artık jaws her başlatıldığında bizi bu mesaj ile karşılayacak. Passing Keystrokes Normalde uygulamada var olan bir tuşa kısayol atamak için kullanılır. İnternet explorer programında bir sayfa açıp yapılandırma yöneticisini açalım. Normalde bir site adresini sık kullanılanlara eklerken Ctrl+D tuşlarına bastığımızda jaws bize bir mesaj vermez. Ctrl+D internet explorer programına ait bir kısayoldur. Yazacağımız script yapılan eylemin mesajını jawsa söyletecektir. Script FavoriEkle () TypeKey ("CTRL+D") ;burada kısa ve uzun mesaj yer almaktadır. SayFormattedMessage (ot_screen_message, "sık kullanılanlara eklendi", "eklendi") örnek: Default.jss dosyasına ekranı kaplama komutu ekleyip ekran kaplı ise sesli mesaj vererek ekran kaplı diyen bir script yazalım. Bu script bütün programlarda çalışacaktır. 12

çözüm: ; ekran kaplı değil ise kapla, kaplı ise mesaj ver. Script EkraniKapla () var string skisayol let skisayol="alt+space" InvisibleCursor () RouteInvisibleToPc () JAWSPageUp () JAWSEnd () PriorWord () if GetWord ()!="Restore Symbol" then SayFormattedMessage (ot_error, "ekran zaten kaplı") else TypeKey (skisayol) Delay (3) TypeKey ("e") SayFormattedMessage (ot_screen_message, "ekran kaplandı") endif Virtual viewer (Sanal Ekran) Jawsın bazı uzun mesajları söylemekle beraber aynı zamanda ekranda yazılı görüntülemesini isteyebiliriz. Bunu için sanal ekran kullanılır. Sanal ekran genelde kullanıcıyı bilgilendirme amaçlı mesajları ekranda göstermek amacıyla kullanılır. Örneğin Jaws kısayollarını gösteren Ins+H kısayolu ekrana kısayoların yazılı olduğu bir sanal ekran çağırır. Eğer Virtual Viewer penceresi ekranda ise yeni pencere açmadan bunu kapatmamız gerekmektedir. Bunun için Scriptin ilk satırlarına açık olup olmadığını kontrol eden açık ise kapatan komutları yazmamız gerekir. if UserBufferIsActive () UserBufferDeactivate () endif rutini bu işi yapar. Örnek: inputbox kullanarak yazdığımız AdSoyle scriptine ot_user_buffer ekleyerek söylenen mesajı ekranda virtualviewer penceresinde gösterebiliriz. Çözüm: Script merhaba () if UserBufferIsActive () ;bu satırlar sanal ekranı kontrol eder. UserBufferDeactivate () endif SayFormattedMessage (ot_user_buffer, smesaj) ;bu satır mesajımızı sanal ekrana taşır. 13

Sanal Ekranda (Virtual Viewer) da görüntülenen mesajlara bağlantı (link) verme. Bunu için KeyFor(Script Adı) komutu kullanılır. Örnek: Şimdi Sanal ekranda görüntüleyeceğimiz mesaja bir başka scripti çalıştıracak bağlantı vereceğiz. Çözüm: ; sanal ekranda scriptleri listeleme ve bağlantı (link) verme. ;notepad.jsm mesaj dosyasında bir mesaj içerisine script açıklaması yazılır ve script bağlatıları KeyFor fonksiyonu ile çağrılır Script merhaba () if UserBufferIsActive () UserBufferDeactivate () endif SayFormattedMessage (ot_user_buffer, msgdeneme) komutları sanal ekran açıkmı kontrol eder açık ise kapatır. Sonra Notepad.jsm dosyasında yer alan msgdneme mesajının içinde içinde yazılı olan mesajı söyleyip sanal ekranda gösterir. Aşağıda notepad mesaj (Notepad.jsm) dosyasına eklediğimiz satırlarda mesajın yanına yazdığımız %KeyFor(Script adı) komutu sanal ekranda gösterilen mesajı bağlantı şeklinde gösterip bağlantıyı tıkladığımızda ilgili scripti çalıştırır. ;sanal ekranda bağlantı ekleme notepad.jsm dosyası @msgdeneme merhaba mesajını duymak için %KeyFor(merhaba) inputbox lı ad, soyad söyletmek için %KeyFor(adSoyle) @@ Findstring, stringcontain, findgraphic Findstring sayfada bir sözcüğü aramak için kullanılır. Stringcontain satırda bir kelime veya kelimede bir harf sözcük bulmak için kullanılır. Milliyet ana sayfasında atayacağımız kısayola bastığımızda imleci spor haberlerinin olduğu bölüme atlatan script. Findstring komutu aranan kelimenin bulunduğu satıra gider ve satırı baştan itibaren okutabiliriz. İnterner explorer programında script derse bile çalışmayabiliyor. Bu durumda explorer programını baştan başlatın. Komutumuzdan sonra satırı okutmak için SayAll() fonksiyonu kullanabilirsiniz. Bulunan sözcükten sonraki satırı okutmak için komuttan sonra nextline() komutu eklenebilir. ;findstring fonksiyonu Script sporhaber () var handle hwnd PCCursor () JAWSTopOfFile () FindString (hwnd, "sesli", s_next, s_restricted) ; SayAll () PCCursor () FindString (hwnd, "sesli", s_next, s_restricted) 14

hwnd ---> o an ekranda tutulduğu yer. s-next, s_prior, s_top, s_bottom s_restricted ---> o an içinde bulunduğumuz pencerede arar. s_unrestricted ---> o an jaws imleci ile gördüğümüz her yeri arar. Script sporhaber () var handle hwnd PCCursor () JAWSTopOfFile () if StringContains (GetLine (), "Word") then FindString (hwnd, "sesli", s_next, s_restricted) ; SayAll () PCCursor () else SayFormattedMessage (ot_screen_message, "spor sayfası değil") endif 15

örnek bazı jaws script fonksiyonları: SayString("selamlar") ; selamlar mesajını okur TypeString("Selamlar") ; selamlar mesajını ekrana yazar EnterKey() ; Enter tuşuna basar TypeKey("Ctrl+D") ; Ctrl+D kısayol tuşuna basar. Fonksiyonlar Fonksiyonlar script içerinde yazılan ve çağrıldığında çalışan kod bloklarıdır. Kısayol atanamazlar. Üç tip fonksiyon vardır. Bunlar; building, event, userdefined fonksiyon. Building (yapısal) fonksiyonlar. Jaws içerinde hazır olarak gelen SayString, JawsCursor, PcCursor gibi fonksiyonlardır. Bu fonksiyonları açıklamaları ile görmek için; Başlat>Tüm Programlar> jaws12> Explore Jaws> Explore shared settings Event (olay) fonksiyonlar. Javs ile gelen, görüp değiştirebildiğimiz fonksiyonlardır. Olan fonksiyonu değiştirebiliriz ama yeni oluşturamayız. Bu fonksiyonlardan ilki AutoStartEvent() fonksiyonudur. Bu script bir programa eklendiğinde ait olduğu program her çalıştırıldığında kendiliğinden çalışacaktır. Daha önce bu scripti Default.jss dosyasına eklemiştik. Program kapatıldığında çalışan fonksiyonumuz da AutoFinishEvent() fonksiyonudur. Eklendiği program kapatıldığında scriptimiz kendiliğinden çalışır. FocusChangeEvent() fonsiyonu da pencereden pencereye veya kontrolden kontrole geçtiğimizde çalışır. Örn. Alt+Tab. Bir de mesajların otomatik okunmasını sağlayan fonksiyonumuz NewTextEvent() fonksiyonumuz vardır. Ekrana herhangi yeni bir şey yazıldığında onun okunmasını sağlar. 16

örnek: Fonksiyon kullanarak bir selamlama mesajı yazdıralım. çözüm: aşağıdaki fonsiyonun kısayolu bulunmamaktadır. Bir başka script tarafından çağrılmak sureti ile çalışacaktır. Bu fonksiyonu oluştururken daha önce kullandığımız yöntemlerden farklı olarak fonksiyonun başlangıcını ve bitişini kendimiz yazacağız. Function selamlama () var string s_selamlama="merhaba, bugün script yazmak için güzel bir gün" ;mesajımızı değişkene atadık SayFormattedMessage (ot_screen_message,s_selamlama) ;değişkenimizi okuttuk TypeString (s_selamlama) ;değişkenimizin değerini ekrana yazdırdık EndFunction aşağıdaki scripti Ctrl+E kısayolu ile daha önceki script yazarken kullandığımız yöntemleri kullanarak yazacağız. Script selamlama () selamlama() ;burada fonksiyonumuzu çağırdık. örnek: Bir fonksiyona birden fazla parametre ekleme. Dosya başına include notepad.jsm mesaj dosyasını ekleyelim. Daha önce inputbox komutu ile ad soyad girişi yaptığımız örneği fonksiyonda parametre kullanarak yapacağız. Notepad.jsm dosyasında bulunacak "merhaba adım..." ve "herhangi bir isim giremediniz" şeklindeki mesajları girelim. çözüm: Messages @msgisim merhaba, adım %1,soy ismim %2. @@ @msgadyok herhangi isim girmediniz @@ @msgsoyadyok soyisim girmediniz @@ EndMessages ;Aşağıdaki fonksiyonu Notepad.jss dosyasına yazıyoruz. Bu fonksiyonu sonra scriptten çağıracağız. Void Function isimgiris (string sad, string ssoyad) var string smesaj if sad=="" then ;isim girişi yapılmadı ise SayFormattedMessage (ot_error, msgadyok); hata mesajı, isim alanı boş bırakılmış elif ssoyad=="" then SayFormattedMessage (ot_error, msgsoyadyok); hata mesajı, soyisim alanı boş bırakılmış else let smesaj=formatstring (msgisim, sad, ssoyad ); jsm dosyasındaki msgisim mesajını ad, soyad ile birleştirdik. SayFormattedMessage (ot_screen_message, smesaj); birleştirilmiş mesajımızı okuttuk. TypeString (smesaj) ; mesajımızı ekrana yazdırdık. endif EndFunction 17

Script KimlikBilgisi () var :Burada değişkenlerimizi tanımlıyoruz. string skimlik, string ssoru, string sbaslik, string ssoyisim let ssoru="lütfen adınızı giriniz" ;ssoru değişkenine değer atadık let sbaslik="isim girişi" ;sbaslık değişkenine değer atadık InputBox (ssoru, sbaslik, skimlik) ;veri girişi için inputbox çağırdık. girilen değer skimlik değişkenine atandı let sbaslik="soy isim girişi" let ssoru="soy isminizi giriniz." InputBox (ssoru, sbaslik, ssoyisim) ; veri girişi için inputbox çağırdık. girilen değer ssoyisim değişkenine atandı. isimgiris (skimlik, ssoyisim) ;burada daha önce yukarıda oluşturduğumuz isimgiris fonksiyonuna değer göndererek çağırdık. ;aşağıdaki farklı kod seçeneklerini kullanarak fonksiyonu daha kolay çağırıp hata ayıklama yapabilirsiniz. ; isimgiris (skimlik) ;inputbox tan gelen skimlik değişkeni fonksiyon ile kontrol edildi ; isimgiris ("engin yılmaz") ;basit olarak parametre girerek fonksiyonu kontrol ediyoruz ; isimgiris ("") ;parametresi boş olarak girip fonksiyonu kontrol ediyoruz Fonksiyonlu bir script örneği. Insert+NUM5 e basıldığında kelimeyi okur. Insert+NUM5 e iki kere arka arkaya basıldığında kelimeyi harf harf okur. Bir kelimeyi harf harf okumaktan başka büyük harf ile yazılmış ise bize büyük harf bilgisi de veren bir script yazacağız. çözüm: Bir return function yazacağız. Eğer büyük harf yoksa fonksiyon geri dönüş yapmayacak, büyük harf var ise tümü büyük mesajı döndürecek bir fonksiyon oluşyuracağız. Değer döndürecek fonksiyonumuzu yazmak için Ctrl+E tuşlarına basarak oluşturmaya başlıyoruz. Yapılandırma adı olarak tumubuyukmu yazalım. Detaylı açıklamaya "tüm harfler büyükse bizi uyarır" yazalım. Fonksiyon dönüş türü olarak string yazıyoruz. Diğer seçenekler int, object, handle... seçilebilir. Parametreler sekmesine yeni parametre kutusuna "hangisozcuk" değişken adı girelim. Mevcut türler liste kutusundan string türünü seçerek ekle diyelim fonksiyon aşağıdaki gibi olacaktır. 18

sozcukabak scriptinin kullandığı fonksiyon kelimenin haften mi oluştuğunu ve harflerin büyük mü olduğunu bulan fonksiyon. tumubuyukmu fonksiyonu string türünde bir değer döndürür. Fonksiyon içinde kullanacağımız string türünde değişken olan hangisozcuk fonksiyonu string Function tumubuyukmu (string hangisozcuk) if GetWord ()<"a" GetWord ()>"z" then ;imlecin üzerindeki kelime "a" değerinden küçük "z" değerinden büyük ise fonksiyondan çıkar Return EndIf if StringContains (GetWord (), "a") ;kelime küçük harflerden birini içerir ise fonksiyondan çıkar StringContains (GetWord (), "b") StringContains (GetWord (), "c") StringContains (GetWord (), "ç") StringContains (GetWord (), "d") StringContains (GetWord (), "e") StringContains (GetWord (), "f") StringContains (GetWord (), "g") StringContains (GetWord (), "ğ") StringContains (GetWord (), "h") StringContains (GetWord (), "ı") StringContains (GetWord (), "i") StringContains (GetWord (), "j") StringContains (GetWord (), "k") StringContains (GetWord (), "l") StringContains (GetWord (), "m") StringContains (GetWord (), "n") StringContains (GetWord (), "o") StringContains (GetWord (), "ö") StringContains (GetWord (), "p") StringContains (GetWord (), "r") StringContains (GetWord (), "s") StringContains (GetWord (), "ş") StringContains (GetWord (), "t") StringContains (GetWord (), "u") StringContains (GetWord (), "ü") StringContains (GetWord (), "v") StringContains (GetWord (), "y") StringContains (GetWord (), "z") StringContains (GetWord (), "1") StringContains (GetWord (), "2") StringContains (GetWord (), "3") StringContains (GetWord (), "4") StringContains (GetWord (), "5") StringContains (GetWord (), "6") StringContains (GetWord (), "7") StringContains (GetWord (), "8") StringContains (GetWord (), "9") StringContains (GetWord (), "0") then Return EndIf return "tümü büyük" ; üstteki koşullardan hiçbiri gerçekleşmez ise fonksiyon büyük harflerden oluşuyor demektir ve "tümü büyük" değeri döndürür EndFunction 19

;imlecin üzerindeki kelimeyi harf harf okutan, harf yok ise "metin içinde değilsin" uyarısı veren, kelimenin tüm harfleri büyük ise "tümü büyük" uyarısı veren script Script sozcukabak () if GetWord ()=="" then ;imlecin bulunduğu yerde kelime veya harf yok ise koşul gerçekleşir. SayString ("metin içinde değilsin") else if tumubuyukmu (GetWord ())=="tümü büyük" then ;yukarıdaki tumubuyukmu fonksiyonuna imlecin üzerindeki kelimeyi gönderir fonksiyondan gelen değeri kontrol eder değer "tümü büyük" ise koşul gerçekleşir. SayString ("tümü büyük") endif if IsSameScript () then ; ctrl+shift+k tuşlarına arka arkaya basarak fonksiyon çağrıldığında. ;500 mili saniye içinde skripti ikinci kez çağırırsak koşul gerçekleşir. SpellWordPhonetic () ;script arka arkaya iki kez çağrılırsa kelimeyi şehir adlarına göre fonetik olarak kodlar. else SpellWord () ;script bir kere çağrılırsa kelimeyi harf harf kodlar endif EndIf 20