NCURSES ile Yazılım Geliştirme NASIL
Önceki VI. Oylum - Yazılım Geliştirme Sonraki

NCURSES ile Yazılım Geliştirme NASIL

Yazan: Pradeep Padala
Çeviren: Oğuz Yarımtepe
Yasal Açıklamalar
Bu belgenin, NCURSES ile Yazılım Geliştirme NASIL çevirisinin 1.0 sürümünün telif hakkı © 2005 Oğuz Yarımtepe'ye, özgün İngilizce sürümünün telif hakkı © 2001-2004 Pradeep Padala'ya aittir.
Bu yazılımın bir kopyasını ve beraberindeki belgelendirmeleri edinen herhangi birine sınırlama olmaksızın kullanma, kopyalama, değiştirme, birleştirme, yayınlama, dağıtma, değiştirerek dağıtma, alt lisanslar oluşturma ve/veya yazılımın kopyalarını satma ve bu yazılıma sahip olanlara da aynı hakları sağlayacak şekilde yazılım ile ilgilenme izni bedelsiz olarak aşağıdaki durumlar altında sağlanmıştır:
Yukarıdaki telif hakkı ve bu izin uyarısı bu belgenin tüm kopyalarında ve yazılımın esas bölümlerinde belirtilmelidir.
BU BELGE “ÜCRETSİZ” OLARAK RUHSATLANDIĞI İÇİN, İÇERDİĞİ BİLGİLER İÇİN İLGİLİ KANUNLARIN İZİN VERDİĞİ ÖLÇÜDE HERHANGİ BİR GARANTİ VERİLMEMEKTEDİR. AKSİ YAZILI OLARAK BELİRTİLMEDİĞİ MÜDDETÇE TELİF HAKKI SAHİPLERİ VE/VEYA BAŞKA ŞAHISLAR BELGEYİ “OLDUĞU GİBİ”, AŞİKAR VEYA ZIMNEN, SATILABİLİRLİĞİ VEYA HERHANGİ BİR AMACA UYGUNLUĞU DA DAHİL OLMAK ÜZERE HİÇBİR GARANTİ VERMEKSİZİN DAĞITMAKTADIRLAR. BİLGİNİN KALİTESİ İLE İLGİLİ TÜM SORUNLAR SİZE AİTTİR. HERHANGİ BİR HATALI BİLGİDEN DOLAYI DOĞABİLECEK OLAN BÜTÜN SERVİS, TAMİR VEYA DÜZELTME MASRAFLARI SİZE AİTTİR.
İLGİLİ KANUNUN İCBAR ETTİĞİ DURUMLAR VEYA YAZILI ANLAŞMA HARİCİNDE HERHANGİ BİR ŞEKİLDE TELİF HAKKI SAHİBİ VEYA YUKARIDA İZİN VERİLDİĞİ ŞEKİLDE BELGEYİ DEĞİŞTİREN VEYA YENİDEN DAĞITAN HERHANGİ BİR KİŞİ, BİLGİNİN KULLANIMI VEYA KULLANILAMAMASI (VEYA VERİ KAYBI OLUŞMASI, VERİNİN YANLIŞ HALE GELMESİ, SİZİN VEYA ÜÇÜNCÜ ŞAHISLARIN ZARARA UĞRAMASI VEYA BİLGİLERİN BAŞKA BİLGİLERLE UYUMSUZ OLMASI) YÜZÜNDEN OLUŞAN GENEL, ÖZEL, DOĞRUDAN YA DA DOLAYLI HERHANGİ BİR ZARARDAN, BÖYLE BİR TAZMİNAT TALEBİ TELİF HAKKI SAHİBİ VEYA İLGİLİ KİŞİYE BİLDİRİLMİŞ OLSA DAHİ, SORUMLU DEĞİLDİR.
Tüm telif hakları aksi özellikle belirtilmediği sürece sahibine aittir. Belge içinde geçen herhangi bir terim, bir ticari isim ya da kuruma itibar kazandırma olarak algılanmamalıdır. Bir ürün ya da markanın kullanılmış olması ona onay verildiği anlamında görülmemelidir.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, distribute with modifications, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name(s) of the above copyright holders shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization.
Ekim 2005
v1.9, 2005-06-20
Bu çevirinin sürüm bilgileri:
Sürüm 1.0Aralık 2005OY
İlk çeviri
Özgün belgenin sürüm bilgileri:
Sürüm 1.92005-06-20ppadala
Lisans NCURSES tarafından kullanılan MIT-türü lisansa dönüştürüldü. Program da bunun altında tekrar lisanslandırıldı.
 
Sürüm 1.82005-06-17ppadala
Pekçok güncelleme yapıldı. Referanslar ve perl örnekleri eklendi. Pekçok dil bilgisi ve stil değişikliği içeriğe eklendi. NCURSES tarihçesinde değişiklik yapıldı.
 
Sürüm 1.7.12002-06-25ppadala
Kaynak koddan kurulum için README dosyası ve talimatlar eklendi.
 
Sürüm 1.72002-06-25ppadala
"Diğer biçimler" kısmı eklendi ve programda pekçok hoş görünümlü değişiklik yapıldı. Satır içi programlar çıkarıldı.
 
Sürüm 1.6.12002-02-24ppadala
Eski Değişiklik Kaydı (Changelog) kısmı çıkarıldı, programı oluşturmak için kullanılan dosyalar (makefiles) temizlendi.
 
Sürüm 1.62002-02-16ppadala
Pekçok yazım hatası düzeltildi, ACS değişkenleri eklendi
 
Sürüm 1.52002-01-05ppadala
Yapı şu anki uygun TOC (İçerik Tablosu) yapısına dönüştürüldü
 
Sürüm 1.3.12001-07-26ppadala
Paket yapımcılarıyla ilgili paragraf düzeltildi, kararlı sürüm numarası düzeltildi.
 
Sürüm 1.32001-07-24ppadala
Ana belgeye (LDP lisansı) ve programalara (GPL lisansı) lisans bilgisi eklendi, printw_ örneği düzeltildi.
 
Sürüm 1.22001-06-05ppadala
Ravi'nin daha çok giriş, menu, form ve sadece eğlenmek için ile ilgili değiklikleri uygulandı.
 
Sürüm 1.12001-05-22ppadala
"pencere hakkında bir çift söz" kısmı eklendi, scanw_ örneği eklendi.
Özet
Bu belge ncurses ve kardeş kütüphaneleriyle yazılım geliştirmek için "Herşey Dahil" bir kılavuz olmayı hedeflemektedir. Basit bir "Merhaba Dünya" programından başlayıp daha karmaşık yapılara doğru giden bir anlatım kullandık. Ncurses ile ilgili herhangi bir ön deneyim gerekli değildir.
Yorumlarınızı adresine yollayınız.

İçindekiler
1. Giriş
1.1. NCURSES nedir?
1.2. NCURSES ile Ne Yapabiliriz?
1.3. Nereden Edinilebilir?
1.4. Belgenin Amacı/Kapsamı
1.5. Programlar Hakkında
1.6. Belgenin Diğer Biçimleri
1.6.1. tldp.org sayfasındaki kolayca erişilebilir dosya biçimleri:
1.6.2. Kaynaktan Kurmak
1.7. Katkıda Bulunanlar
1.8. İstek Listesi
2. Merhaba Dünya !!!
2.1. NCURSES Kütüphaneleriyle Derleme
2.2. İnceleme
2.2.1. initscr() hakkında
2.2.2. Gizemli refresh()
2.2.3. endwin() hakkında
3. Kanlı Ayrıntılar
4. İlklendirme
4.1. raw() ve cbreak()
4.2. echo() ve noecho()
4.3. keypad()
4.4. halfdelay()
4.5. Muhtelif İlklendirme İşlevleri
4.6. Bir Örnek
5. Pencereler Hakkında Bir Çift Söz
6. Çıktı işlevleri
6.1. addch() sınıfı işlevler
6.2. mvaddch(), waddch() ve mvwaddch()
6.3. printw() sınıfı işlevler
6.3.1. printw() ve mvprintw()
6.3.2. wprintw() ve mvwprintw()
6.3.3. vwprintw()
6.3.4. Basit bir printw örneği
6.4. addstr() sınıfı işlevler
6.5. Dikkat edilmesi gereken nokta
7. Girdi işlevleri
7.1. getch() sınıfı işlevler
7.2. scanw() sınıfı işlevler
7.2.1. scanw() ve mvscanw()
7.2.2. wscanw() ve mvwscanw()
7.2.3. vwscanw()
7.3. getstr() sınıfı işlevler
7.4. Bazı örnekler
8. Öznitelikler
8.1. Özniteliklerle ilgili ayrıntılar
8.2. attron()'a karşı attrset()
8.3. attr_get()
8.4. attr_ işlevleri
8.5. wattr işlevleri
8.6. chgat() işlevleri
9. Pencereler
9.1. Temel bilgiler
9.2. Bana bir Pencere göster !!!
9.3. Örneğin açıklaması
9.4. Örnekteki diğer kısımlar
9.5. Diğer Çerçeve işlevleri
10. Renkler
10.1. Temel bilgiler
10.2. Renk Tanımlamalarını Değiştirmek
10.3. Renk İçeriği
11. Klavye ile etkileşim
11.1. Temel bilgiler
11.2. Basit bir tuş kullanım örneği
12. Fare ile Etkileşim
12.1. Temel bilgiler
12.2. Olayları yakalamak
12.3. Hepsini Bir Araya Getirelim
12.4. Çeşitli İşlevler
13. Ekran Düzenleme
13.1. getyx() işlevleri
13.2. Ekran dökümünün alınması
13.3. Pencere dökümünün alınması
14. Çeşitli Özellikler
14.1. curs_set()
14.2. Curses Kipini Geçici Olarak Terk Etmek
14.3. ACS_ değişkenleri
15. Diğer Kütüphaneler
16. Panel Kütüphanesi
16.1. Temel Bilgiler
16.2. Panel Kütüphanesi ile derleme
16.3. Panel Penceresinde Gezinmek
16.4. Kullanıcı İşaretçilerini Kullanmak
16.5. Panelleri Hareket Ettirmek ve Boyutlandırmak
16.6. Panelleri Gizlemek ve Göstermek
16.7. panel_above() ve panel_below()
17. Menü Kütüphanesi
17.1. Temel Bilgiler
17.2. Menü Kütüphanesi ile derleme
17.3. menu_driver: Menü sisteminin dolap beygiri
17.4. Menü Pencereleri
17.5. Kaydırılabilen Menüler
17.6. Çok Sütunlu Menüler
17.7. Çok Değerli Menüler
17.8. Menü Seçenekleri
17.9. Faydalı Kullanıcı Göstericisi
18. Form Kütüphanesi
18.1. Temel Bilgiler
18.2. Form Kütüphanesi ile derleme
18.3. Alanlar ile Oynamak
18.3.1. Alan Konumunun ve Boyutununun Alınması
18.3.2. Alanı taşımak
18.3.3. Alan Hizalama
18.3.4. Alan Görüntüleme Öznitelikleri
18.3.5. Alan Seçenek Bitleri
18.3.6. Alan Durumu
18.3.7. Alan Kullanıcı Göstericisi
18.3.8. Değişken Boydaki Alanlar
18.4. Form Pencereleri
18.5. Alan Doğrulama
18.6. form_driver: Form sisteminin dolap beygiri
18.6.1. Sayfada Gezinti İstekleri
18.6.2. Alan İçi Gezinti İstekleri
18.6.3. Alan İçi Dahili Gezinti İstekleri
18.6.4. Kaydırma İstekleri
18.6.5. İstekleri Düzenlemek
18.6.6. Emir İstekleri
18.6.7. Uygulama Komutları
19. Araçlar ve Küçük Uygulama Kütüphaneleri
19.1. CDK Curses Geliştirme Kiti (Curses Development Kit)
19.1.1. Gereç Listesi
19.1.2. Bazı Çekici Özellikler
19.1.3. Sonuç
19.2. dialog hakkında
19.3. Perl Curses Modullleri: CURSES::FORM ve CURSES::WIDGETS
20. Sadece Eğlence İçin !!!
20.1. Hayat Oyunu
20.2. Sihirli Kare
20.3. Hanoi Kuleleri
20.4. Vezir Yerleştirme
20.5. Shuffle
20.6. Onparmak Eğitmeni
21. Kaynakça
Önceki Üst Ana Başlık Sonraki
Paket yükseltiminin doğrulanması Başlangıç Giriş
Bir Linux Kitaplığı Sayfası