Grafiksel bir kullanıcı arayüzü tasarlama. "Veritabanları ve veritabanı yönetim sistemleri" disiplini üzerine bir eğitim bloğunun geliştirilmesi

  • 29.07.2019

BELGE YAPISI

4.1. Görsel programlama teknolojisi

4.1.2. Visual Studio ana penceresi

4.1.3. VS ana menü ve araç çubuğu

4.1.4. Visual Studio Panel Pencereleri

4.1.5... VS Geliştirme Ortamı Ayarlarını Yapılandırma

4.1.6. Test görevleri

4.1.7. VS .NET Geliştirme Ortamı Laboratuvarı

4.1. Görsel programlama teknolojisi
ve temel kavramlar

Önceki nesil programlama dilleriyle karşılaştırıldığında, dil üst düzey programlama- Visual Basic .Net (VB) bir dizi temel farklılığa sahiptir. MS Windows için uygulamaları hızlı ve verimli bir şekilde oluşturmanıza olanak tanıyan güçlü, profesyonel bir programlama sistemidir. . Sistem olduğundan « görsel», programcı MS Windows uygulamasının görünen kısmını oluşturabilir , neredeyse tek satır kod yazmadan. Bu görünür kısım, kullanıcı arayüzünün temelidir. « yazılım projesi - kullanıcı », kullanıcının yazılım projesi ile etkileşime girdiği yardımı ile. Hem sınıfların program kodunun hem de sorunu çözme yöntemlerinin geliştirilmesi ve uygulamanın program arayüzü ilkeler üzerinde gerçekleştirilir. nesne yönelimli yaklaşım , Visual Studio .Net'te (VS) uygulandı . MS Windows altında çalışan uygulamalar (projeler) Entegre Geliştirme Ortamı (IDE).

IDE ile oluşturulan uygulamalar için, karakteristik bir özellik, herhangi bir zamanda birçok nesnenin ekranda bulunmasıdır: formlar, pencereler, düğmeler, menüler, metin ve iletişim kutuları, kaydırma çubukları, vb. Kullanıcı, bu nesnelerin kullanımıyla ilgili olarak (çözülmekte olan problemin algoritmasına bağlı olarak) belirli bir seçim özgürlüğüne sahiptir. O yapabilir Tıklayın fare düğmesini kullanarak nesneyi sürükleyin, pencereye veri girin, vb. Çoğu durumda, önceden tanımlanmış bir eylem dizisi varsayılmaz. Genellikle geliştirici yazılım(Yazılım) bir yazılım projesi oluşturmak, uygulama kullanıcısının eylemlerini kısıtlamamalıdır. Herhangi bir kullanıcı eylemine, hatta yanlış bile olsa, yeterince yanıt veren bir yazılım geliştirmelidir (iyi bir programda istenmeyen eylemler olmamalıdır). Bu nedenle, ekrandaki her nesne için bir dizi olası olay vardır. Bazıları kullanıcı tarafından yapılır: bir fare düğmesine tıklamak veya çift tıklamak, bir nesneyi sürüklemek, bir klavye tuşuna basmak, bir pencereye metin girmek, vb. diğer olaylar, diğer olayların bir sonucu olarak meydana gelir: örneğin, bir pencere açılır veya kapanır, bir kontrol etkinleşir (kullanılabilir) veya etkinliğini kaybeder. Ayrıca her olay, yazılım projesinin belirli eylemlerinde (yanıtlar, tepkiler, davranışlar) kendini gösterir. Bu eylemler iki gruba ayrılabilir.



Birincisi, nesnenin özelliklerinin bir sonucudur. Bu özellikler, yazılım geliştiricisi tarafından programlama sistemi ve/veya MS Windows'un kendisi tarafından belirlenen belirli bir standart özellik listesinden belirlenir. . Bu tür eylemlere bir örnek, düğmeye tıkladıktan sonra pencereyi simge durumuna küçültmektir. Yıkılmak. Bu gibi durumlarda programcı bir nesnenin davranışını değiştiremez. Ancak çoğu durumda, belirli özellikleri ayarlayarak bir nesnenin bir olaya (metin, yazı tipi, renk, boyut, ekran alanı vb.) yanıtını değiştirme olasılığı vardır.

Olaylara verilen ikinci eylem grubu (yanıt) tamamen yazılım geliştiricisi tarafından belirlenir. Bu, her olası olay için bir VB prosedürü belirleme yeteneği ile sağlanır. Başlangıçta, bu tür her prosedür boştur, prosedür gövdesi yoktur ve bu nedenle bir olay meydana geldiğinde hiçbir şey olmaz. Teoride, herhangi bir olay için bir prosedür oluşturmak mümkündür, ancak pratikte, programcı sadece ilgilenilen olaylar için prosedürleri program koduyla doldurur.

Böylece VB, kullanıcıya olaya dayalı nesne yönelimli bir programlama ortamı sağlar. Basitçe ifade etmek gerekirse, bu ortamda bir yazılım projesi geliştirme süreci, bir dizi nesneyi ve özelliklerini seçmeye, bunların işlenmesi için olaylar ve prosedürler ayarlamaya ve sorunu çözmek için birlikte yazılımın işleyişini sağlayan yazılım oluşturmaya indirgenir. oluşturulan uygulama

Yukarıda bahsedildiği gibi görsel programlamanın ana terimleri şunlardır: bir obje, form, özellik, sınıf, olay, prosedür, yöntem Dr., herhangi bir görsel uygulama geliştirme ortamında aynı anlama sahip olan.

NesneÖzel özelliklerde, davranışta, uygulamanın diğer nesneleriyle etkileşimde diğer varlıklardan farklı olan bir tür ayrı varlıktır. Nesne yönelimli yaklaşımda, herhangi bir uygulama, uygulama için gerekli işlevsel gereksinimleri uygulayan birbirine bağlı nesneler kümesidir. Bir nesne her zaman somuttur ve formda (kontroller olarak) veya uygulamada (sınıf örnekleri olarak) fiilen bulunur.

Nesne yönelimli programlamadaki temel birim, hem kendisini tanımlayan verileri (özellikler) hem de bu verileri işleme araçlarını (yöntemleri) birleştiren bir program nesnesidir. Yani yazılım nesnelerinin özellikleri vardır, yöntemleri kullanabilir ve olaylara yanıt verebilir.

Görsel programlamanın ana nesneleri form ve kontrolleridir.

Form (Form ) Kontrollerin yerleştirildiği bir pencereyi temsil eden bir nesnedir, örneğin bir Düğme (Buton); Etiket (Etiket); Metin alanı (Metin kutusu); onay kutusu (Onay Kutusu); Liste (Liste kutusu); Açılır liste (Açılan kutu); Değiştirmek (Radyo düğmesi)ve benzeri .

Görsel programlama ortamı, uygulamanın tasarım aşamasında nesneleri ekranda görmenizi sağlar, nesnelerin konumlarını, boyutlarını ve diğer özelliklerini değiştirerek özelleştirmeyi mümkün kılar. form kapsayıcı nesneleri, ve aynı zamanda kendisi de bir nesnedir. Forma bir nesne yerleştirirken, nesnenin ana parametreleri yürütülebilir program koduna kaydedilir. Bu durumda, nesneler ayrıca tasarlanan projenin (uygulamanın) "birleştirildiği" program blokları veya program kodunun (sınıflar, prosedürler, yöntemler, modüller) parçalarıdır.

nesne özelliği Bir nesne tarafından depolanan bir değer veya özelliktir. Aynı zamanda, bir nesnenin özellikleri kümesi onun durumunu belirler. Örneğin, Metin ( Metin ) veya Renk ( Arka plan rengi ) şekil, yol Metin hizalama ( hizalama ) veya Karakter rengi (Ön renk ) metin kutusunun özellikleridir. Programda, nesneye erişilir nesne adına göre ... Nesne özellikleri pencerede ayarlanabilir Özellikler ve program kodundaki nesnelerin özelliklerini değiştirin.

Program kodunda, bir özelliği ayarlamak için belirli kurallar (belirli biçim) vardır - nokta gösterimi kurallarına göre nesne adı ve özellik adı bir nokta ile ayrılır .

Sınıf Ortak özelliklere ve davranışlara sahip nesneler topluluğudur. Örneğin, Buton 1( Buton 1 ) üzerinde Form1(Form1 ) tüm özel özellikleri ve eylemi ile sınıfın bir nesnesidir Buton . Sınıf, nesne yönelimli programlamanın aşağıdaki gibi temel kavramlarıyla karakterize edilir:

· miras - bir sınıf nesnesi, sınıfın tüm özelliklerine, yöntemlerine ve olaylarına sahiptir;

· kapsülleme - nesnenin eyleminin karmaşık mekanizmasını gizlemek;

· polimorfizm - farklı sınıflardaki nesneler, farklı nesneler için farklı şekilde çalışan aynı ada sahip yöntemleri kullanabilir.

Nesnelerin toplanması Ortak bir adla birleştirilmiş bir nesneler kümesidir ve mutlaka aynı sınıftan nesneler değildir. Bir koleksiyon örneği, aşağıdakileri içeren VB'de yerleşik koleksiyonlardır:

· Formlar(Formlar) - birçok yüklü başvuru formu;

· Kontroller(Kontroller) - Bir formdaki tüm kontrollerin kümesi.

ad alanı gibi benzersiz adlar altında düzenlenen hiyerarşik bir sınıf kitaplığıdır. Sistem.Windows veya Sistem.Matematik . Ad alanına dahil edilen sınıflara ve bunlara dayalı nesnelere erişmek için operatör, program kodunun başına yerleştirilebilir. ithalat . VS'deki her proje ayrıca bir kök ad alanı içerir. VS belgelerindeki ad alanı da denir sınıf kitaplıkları .

Etkinlik Nesnelerin birbirleriyle etkileşim aracıdır. Olay, kullanıcı tarafından oluşturulabilir veya diğer yazılım nesnelerinin etkisinin bir sonucu olarak ortaya çıkabilir. Nesneler, belirtilen olaylara yanıt olarak olaylar oluşturabilir ve eylemler gerçekleştirebilir. Olay örnekleri -şekil , Tıklamak ( Tıklamak ) fareyi nesnenin üzerine getirin, DblClick ( Çift tıklama ) fare ve diğerleri . Olaylara tepki olarak, nesnenin özelliklerini değiştirebilen bir olay prosedürü çağrılır, onu çağırır.

VB dilinde , MS Windows için uygulama yazmak için tasarlanmış diğer birçok programlama dilinde olduğu gibi , tarafından kullanılan
olay güdümlü programlama modeli. Bu, hiçbir uygulamanın diğer uygulamalarla ve işletim sistemiyle etkileşime girmeden kendi başına çalışamayacağı anlamına gelir. Örneğin, klavyede bir tuşa basılarak bir komut belirtildiğinde en basit durumu ele alalım. Herhangi bir uygulamayı doğrudan etkileyemez ve bu durumda MS Windows aracı görevi görür. Tuşa basmayla ilişkili olayı algıladıktan sonra, işletim sistemi olay işlemenin nereye geçeceğine karar verir. Tuş vuruşu mesajı daha sonra uygulamaya gönderilir. Uygulama, klavye girişini analiz ederek bunu işler ve örneğin aktif bir metin kutusunda bir mesaj görüntüler.

tarafından oluşturulan uygulamalar ile birlikte VB kullanarak , aynı prensip nedeniyle çalışır. Aynı zamanda, VB bir tür dahili çalışma gerçekleştirir. Örneğin, uygulamada bir düğmeye tıklandığında bir olay meydana gelir - VB, ilgili MS Windows mesajını yakalar ve olayı başlatır Tıklamak nesne Buton .

Olay güdümlü programlarda, baştan sona çalışan sürekli bir program kodu yoktur. Bu, programı başlattıktan sonra kullanıcının algoritma yürütmenin belirli yolu hakkında net bir fikri olmadığı anlamına gelir. Yani, istediğiniz zaman uygulamadaki herhangi bir düğmeye tıklayabilir veya örneğin bir alana metin girme işlemini gerçekleştirebilir veya isterseniz işlemeyi durdurabilirsiniz. Bu nedenle, uygulamanın bu olaylardan biri gerçekleşene kadar beklemesi gerekir ve ancak bundan sonra belirtilen program kodunu yürütür. Böylece, program kodunu yürütmeye başlamak için her zaman bir olay gerekir MS Windows ortamında uygulama oluşturmak için en önemli kurallardan biridir. .

Olaylara yanıt bir çağrıdır olay prosedürü , daha önce bir yazılım geliştiricisi tarafından oluşturulmuş olan. Böyle bir prosedürün anlamı, programlanmış eylemlerin yürütülmesidir: bir nesnenin özelliklerini değiştirmek, yöntemleri çağırmak, belirli bir algoritmaya göre hesaplamalar yapmak, sonucun uygulamadaki belirli yerlere çıktısı vb. kullanıcı bir düğmeye basar, ardından yanıt olarak, belirtilen algoritmaya göre olay prosedüründe belirli bir eylem dizisi gerçekleştirilir.

Olay prosedürlerine ek olarak, kullanıcı genel prosedürler (kullanıcı prosedürleri) oluşturabilir.

Kullanıcı prosedürüÇözülmekte olan problem için ayrı bir algoritma uygulayan eksiksiz bir program kodudur. Ancak böyle bir işleme, herhangi bir olayın sonucu olarak değil, bu işlemin adıyla anılır.

Yöntem Bir nesne ile mümkün olan eylemleri uygulayan bir prosedürdür. Bu eylemlerin bir sonucu olarak, nesnede bir şeyler değişir. VB, kullanıcıya kullanıma hazır çok sayıda yerleşik kitaplık rutini sağlar. Bu rutinler, sınıf kitaplığının ayrılmaz bir parçasıdır, yani .NET Framework'ün sınıf yöntemleridir.

Prosedürel programlama araçları (prosedürler), modern programlama paradigmasının ana parçalarından biri olan herhangi bir üst düzey programlama dilinin ayrılmaz bir parçasıdır. Ancak, yalnızca nesne yönelimli programlamayı destekleyen dillerin ortaya çıkmasıyla birlikte, özel türde yerleşik prosedürler tanıtıldı. yöntemler . yöntemler "Çalışır" prosedürler gibidir, ancak bunlar tıpkı özellikler gibi belirli nesnelere aittir. Program kodunda, yönteme özellik ile aynı şekilde başvurabilirsiniz. nokta gösterimi kullanarak.

VB ortamında oluşturabilirsiniz sahip olmak prosedürler, yazılım geliştiricisi tarafından oluşturulan .

VB aracılığıyla yazılmış bir projenin herhangi bir program kodunun bir dizi prosedürden oluştuğunu, yani tüm program kodunun bir dizi alt program prosedürü ve fonksiyon prosedürü içinde olduğunu ve prosedürlerin kendilerinin bir dizi içinde olduğunu lütfen unutmayın. sınıf (modül).

Alt program rutinleri bir anahtar kelime ile başlar Alt Alt Bitiş, ve işlev prosedürleri anahtar kelimeyle başlar İşlev ve anahtar kelimelerle bitirin Bitiş İşlevi , arasına bu prosedürün program kodunun yerleştirildiği. Her prosedürün program kodu, VB programlama dilinin bir veya daha fazla operatöründen oluşur.

Olay işleme yöntemi Ayrı bir algoritma uygulayan eksiksiz bir program kodudur. Her olay için, bir yanıt programlayabilirsiniz, yani nesnenin meydana gelen bir olaya verdiği yanıt, sonuç olarak belirli bir eylem dizisi gerçekleştirilecektir - olay işleme yöntemi.

Bir olay prosedürünün adı üç bölümden oluşur (bir alt çizgi dahil): NesneAdı_OlayAdı.

Bu şekilde, bir olaya yanıt olarak yürütülmesi gereken kodu her yazdığınızda, ilgili olay gerçekleştiğinde (örneğin bir düğmeye tıklandığında) otomatik olarak çağrılan bir olay prosedürü oluşturursunuz.

Şebeke Bir veya daha fazlasını belirten bir programlama dili yapısıdır. operasyonlar , üzerinde üretilen işlenenler . İşlenenler sabitler, değişkenler, ifadeler, fonksiyonlar vb. olabilir. Herhangi bir operatör, programlama dilinin sözdizimsel kurallarına uygun olarak yazılır. Örneğin, atama operatöründe “işareti” = "Okumak" ve "işaretin sağındaki ifadenin değerine eşit bir değer anlamına gelir" = ". Örneğin, çizgi

Form4.1.Text = "Resimli form" adlı bellekte anlamına gelir Form4.1.Metin değer yazılır - metin "Resimli form" ve çizgi P = A + B + C bir programda bir ifadenin değerini hesaplamak ve onu bir değişkene atamak için kullanılır r .

Proje Geliştirilmiş bir uygulamadır (uygulama programı kodu) - bu uygulamada kullanılan tüm yazılım bileşenleri hakkında bilgi depolayan bir dizi dosya. VB'den beri , bir yandan öyle nesne yönelimli görsel programlama sistemi, bu dilde programlama algoritmalarına izin verdiği için ve diğer yandan bu sistem yazılım tasarım ortamı, Programlama ve tasarım süreçlerinin sonucu, programlama kodunu ve grafik arayüzü birleştiren bir projedir. Bu nedenle diske yazmak veya diskten herhangi bir yazılım projesi yüklemek için tüm bileşenleri (dosyaları) içeren projeyi yakmak veya yüklemek gerekir. Tipik olarak, bir VB uygulaması, uzantılı bir proje dosyası da dahil olmak üzere birçok dosyadan oluşur. .vbproj . Bir proje dosyası, bir yazılım göreviyle ilgili bilgileri içerir - bir uygulama.

Proje aynı zamanda bir derleme birimidir. Projenin derlenmesi bir montajla sonuçlanır. Her proje bir veya daha fazla ad alanı içerir. Bir proje oluşturmanın ilk aşamasında belirli bir proje türü otomatik olarak oluşturulur proje çerçevesi kütüphanede yer alan sınıfların mirasçısı olan sınıflardan oluşan FCL(Framework Sınıf Kitaplığı) - .NET Framework sınıf kitaplıkları. Bu nedenle, geliştirici, " türünde bir proje oluşturacağını belirtirse, " Windows Formları Uygulaması", O zaman nesne varsayılan olarak proje çerçevesine dahil edilecektir. Form1- kütüphane sınıfının varisi Biçim... Yazılım projesinin geliştiricisi, oluşturulan formu kontrollerle - ilgili sınıfların nesneleri ile tamamlayacak ve böylece varsayılan formun yeteneklerini genişletecektir.

Her proje, bir montaj oluşturmak için gereken tüm bilgileri içerir. Proje, proje oluşturma sırasında otomatik olarak oluşturulan sınıflı tüm dosyaları ve sınıflı dosyaları içerir, tarafından yaratıldı proje geliştiricisi. Proje ayrıca şunları içerir: kurulumlar ve kaynaklar iş için gerekli. Montaj açıklamasını (bildiri) içeren dosya da projenin bir parçasıdır.

Seçilen tipe bağlı olarak proje yürütülebilir veya uygulanamaz... Devam eden projeler, örneğin aşağıdaki türden projeleri içerir: Konsol uygulaması veya Windows Formları Uygulaması... Çalışan bir projenin iskeletini oluştururken, adında statik bir prosedür içeren bir sınıf içerir. Ana ()... Böyle bir projenin derlenmesi sonucunda, PE-file - uzantılı yürütülebilir taşınabilir dosya .exe... Çok PE-file yalnızca kurulu olduğu bilgisayarlarda yürütülebilir Çerçeve .Net yönetilen bir kod dosyası olduğu için.

Yürütülebilir olmayan projeler, örneğin, aşağıdaki gibi projeleri içerir:
Sınıf Kitaplığı (DLL) hangi uzantıya sahiptir. dll, ve bir dinamik olarak bağlantılı kitaplık, onlar. bu projelerin diğer projelere dahil edilmesi (bağlantılı) olması amaçlanmaktadır. Gibi bir projenin derlenmesi sonucunda
sınıf kitaplığı derleme, uzantılı bir dosya içerecektir .dll... Bu tür projeler (montajlar) doğrudan bir bilgisayarda yürütülemez. Yürütülebilir olmayan projede bulunan sınıfların yöntemlerinin çağrıldığı yürütülebilir derlemelere eklenirler ( DLL).

En basit projelerin uygulama aşamaları- birkaç adıma ayrılabilir:

· Projenin çalışması sırasında projenin kullanıcı ile etkileşimini sağlaması gereken bir projenin grafik arayüzünün (kullanıcı arayüzü) oluşturulması;

· Grafik arayüzünün nesnelerinin özelliklerinin değerlerinin ayarlanması;

· Projenin program kodunun oluşturulması, düzenlenmesi ve hatalarının ayıklanması;

· Projeyi ileride kullanmak üzere kaydetmek;

· proje uygulaması.

Çözüm Dosyaları genellikle ortak bir temayla ilgili bir veya daha fazla proje hakkında bilgi içeren geliştirilmekte olan bir uygulamadır. Çözüm dosyası, birbirine bağlı birkaç projeyi yönetmek için kullanılır ve uzantıya sahiptir. .sln. Ayrıca, VS'de oluşturulan her proje, adı verilen bir kabuğa yerleştirilir. Karar.

Yeni bir proje oluşturulduğunda, mevcut bir projeye yerleştirilebilir. Çözüm veya yeni bir tane oluşturulabilir Çözüm projeyi içeriyor.

Bu nedenle, aşağıdakilere tekrar dikkat edin:

Sınıf Nesne yönelimli programlamanın merkezi kavramıdır. VB proje geliştiricisi, kitaplıktan standart sınıfları kullanır FCL ve kendi sınıflarını oluşturur. Ayrıca, sınıf iki farklı rol gerçekleştirir:

· Sınıf - ilk olarak, bir modüldür - modüler olarak bir proje inşa etmek için mimari bir birimdir. Büyük bir projenin karmaşıklığıyla başa çıkmak, ancak onu modüllere bölerek mümkündür - bağımsız geliştirmeye ve daha sonra büyük bir sisteme entegrasyona izin veren nispeten küçük birimler.

· Sınıf - ikincisi, bir veri türüdür, yani sınıf örnekleri adı verilen bir dizi nesnenin özelliklerini ve davranışını tanımlayan anlamsal bir birimdir. Sözdizimsel olarak, bir sınıf adı verilen verilerin bir tanımını temsil eder. sınıf alanları, tanım sınıf yöntemleri ve açıklama sınıf etkinlikleri ... Veri türü olarak kabul edilen bir sınıf için alanlar, nesnelerin durumunu, yöntemleri - nesnelerin davranışını tanımlar. Olaylar, bir nesnenin içinde olabileceği ve sınıfın dışındaki olay işleyicileri tarafından işlenebilecek bazı özel durumlardır. Örneğin, sınıfın bir nesnesi İNSAN bir olay olabilir" Doğum günü"Ve bu etkinliğin işleyicilerinin her biri, bu vesileyle nesneye tebriklerini iletebilir.

Tipik olarak, sınıflar her iki rolü de oynar. Ancak VB'de yalnızca modül rolü oynayan sınıflar tanımlayabilirsiniz. o modüller nesneler yaratmanın imkansız olduğu.

İyi programlama stili, her sınıfın, sınıfla aynı ada sahip ayrı bir dosyaya kaydedilmesini gerektirir. Bu, pratikte karşılanamayan bir stil gereksinimidir. Örneklerimizde bu tarzı korumaya çalışacağız.

Proje geliştiricisi bir sınıf tanımlayarak dinamik olarak sınıf nesneleri oluşturabilir. Nesne stilinde yeni olan programcıların nesne ve sınıf kavramlarını birbirine karıştırması yaygın bir hatadır. Farkı en başından anlamanız gerekir. Geliştirici tarafından oluşturulan bir nesne sınıfı, bir dizi nesnenin statik bir tanımını temsil eder. Bir nesne dinamik bir kavramdır, bir yazılım sisteminin yürütülmesi sırasında oluşturulur, aslında bilgisayar belleğinde bulunur ve genellikle proje yürütmesinin sonunda kaybolur. Bir proje geliştiricisi, iki veya üç sınıf içeren bir yazılım sistemi oluşturabilir, ancak böyle bir sistemin çalışması sırasında, birbiriyle karmaşık bir şekilde etkileşime giren yüzlerce nesne dinamik olarak görünebilir.

VS ana penceresi

VS ortamında basit bir uygulama oluşturma sürecinin bir sonraki bölümde ayrıntılı olarak açıklanacağını unutmayın. Konu 4.2 yanı sıra laboratuvar çalışmalarında Konu 4.1."Visual Studio .NET Entegre Geliştirme Ortamı". Şimdi kendinizi VS ortamının arayüzüne alıştırın.

Çalıştırmak MS Visual Studio.

Ekran görüntülenecek başlangıç ​​sayfası- MS VS ( pilav. 4.1.2-1).

Bu pencerede birkaç ana panel vardır: Standart menü, pencere Standart araç çubuğu, pencere Başlangıç ​​sayfası anitz a, pencere Çözüm Gezgini, pencere Öğeler paneli.

Pirinç. 4.1.2-1. Başlangıç ​​sayfası -Microsoft Visual Studio

VS IDE'de VB ile çalışırken, hem standart araç çubuğundaki düğmeleri hem de ekranın üst kısmında yer alan ana menü öğelerini kullanabileceğinize dikkat edilmelidir.

VS, kullanıcıya çeşitli araç çubukları sağlar. Bu araç çubukları, işlevleri belirli araç çubuğunun işlevselliğine bağlı olan düğmeler içerir.

pencere başlangıç ​​sayfası son kullanılan projeleri açmanıza, örnek aramanıza, VS ile çalışırken yardımcı olabilecek sitelere çeşitli bağlantılar içerir. . Bir projeyle çalışma sürecine ek olarak, başlangıç ​​sayfası yerine çeşitli pencereler, örneğin bir pencere görüntülenecektir. Form oluşturucu, pencere Kod düzenleyici ve benzeri.

Pencerede Çözüm Gezgini mevcut çözümün (projelerin) dosyaları görüntülenir. Bu pencere nesneler hakkında detaylı bilgi almak için kullanılır. . Öğeleri, özelliklerini, yöntemlerini, projelerde yer alan olayları ve bunlara yapılan referansları aramanıza ve keşfetmenize olanak tanır.

Uygulama geliştirmeyi kolaylaştırmak için tasarlanmış araçlar ayrıca bir pencere içerir. araç kutusu, VB projelerinde kullanılan kontrollerin görüntülenmesi .

Yeni bir proje oluşturmak için iletişim kutusunu kullanın
Proje oluştur(şekil 4.1.2-2). Açmak için aşağıdakilerden birini yapmanız gerekir:

Komutu çalıştır Proje oluştur ana menü öğesinden - Dosya;

düğmesine basın Proje oluştur, standart araç çubuğunda bulunur.

Pirinç. 4.1.2-2. iletişim penceresi Proje oluştur

VB'de çeşitli şablonlara göre uygulamalar oluşturabilirsiniz. Bu eğitimde sadece şablonu kullanacağız Windows Forms uygulaması.

Bu uygulama, kullanıcı arayüzü MS Windows Forms kullanılarak tasarlanan geleneksel Windows uygulamaları oluşturmak için tasarlanmıştır. Ayrıca, bu şablonun formu için belirli özellikleri ayarlayabilir ve üzerine çeşitli kontroller yerleştirebilirsiniz.

Bir proje oluşturmak için gereken temel adımların bir örneğine bakalım. Windows Formları Uygulaması.

Örnek 4.1.2-1. Örnek 4.1.2-1 adında bir proje ve bir buton ve bir metin alanı içeren bir formdan oluşan bir grafik arayüz oluşturun. Düğmeye bastığınızda, "Merhaba, MTUSI!" görünmelidir.

proje formu Örnek-4.1.2-1Şekil l'deki gibi görünebilir. 4.1.2-3.

Pirinç. 4.1.2-3. Proje GUI'si (Form)Örnek 4.1.2-1

Projeyi uygulamak için Örnek 4.1.2-1 aşağıdaki adımlar gereklidir:

1) VS'yi başlatın.

2) Yeni bir proje oluşturun:

Dosya ve sonra komutu yürütün Bir proje oluşturun;

Bir proje şablonu seçin Windows Formları Uygulaması .

Sonuç olarak, bir pencere açılacaktır. Form1.vb [Yapıcı]Form oluşturucu(ilgili sekmede belirtildiği gibi), uygulamanın grafik arayüzünü uygulamanıza izin verir.

Ana menünün bir öğesini seçin Dosya ve sonra komutu yürütün Hepsini kaydet ;

bu bir iletişim kutusu açacak Projeyi kaydet;

Alana girin İsim projenin adı Örnek-4.1.2-1(varsayılan olarak, VB, WindowsApplication1 adını verir ve ardından Konum dizini adı projenin nerede bulunacağını veya butonunu kullanın genel bakış gerekli dizini aramak için (Şekil 4.1.2-4);

düğmesine tıklayın Kaydetmek ;

sonuç olarak, geliştirme ortamı Şekil 1'deki gibi görünecektir. 4.1.2-5.

Pirinç. 4.1.2-5. Geliştirme ortamı

Visual Studio Panel Pencereleri

Panel penceresi başlangıç ​​sayfası(Şek. 4.1.1-1) son kullanılan projeleri görüntülemenize, hem Yardım'dan hem de İnternet'ten örnek programlar aramanıza ve ayrıca VS ürünüyle ilgili haberleri içeren sitelerin bağlantılarını görüntülemenize olanak tanır. , belgeler, öğreticiler.

Pirinç. 4.1.4-1 Panel PenceresiForm oluşturucu ve bağlam menüsü

VS başladığında başlangıç ​​sayfası otomatik olarak açılır . eğer pencere başlangıç ​​sayfası görünmedi, komut kullanılarak çağrılabilir başlangıç ​​sayfası ana menü öğesi Görüş.

Panel penceresi Form1.vb[Yapıcı] (Form yapıcısı)
Ana pencere
bir Ana çalışma penceresi , uygulamanın görsel tasarımının yapıldığı (Şekil 4.1.4-1). Bu pencere, sekmeye tıklanarak ekranda görüntülenebilir. Form1.vb[Yapıcı] veya penceredeki formun adına çift tıklayarak Çözüm Gezgini.

Pencerede Form oluşturucu uygulamanın tüm formları, geliştirme ortamının araç takımı kullanılarak görsel olarak oluşturulur. Bir penceredeki bir formdaki nesneleri doğru bir şekilde konumlandırmak için bir ızgara kullanabilirsiniz.

Penceredeki formun boyutu, form seçim tutamaçları ve fare kullanılarak değiştirilebilir. Formu yeniden boyutlandırmak için, fare işaretçisini işaretçinin üzerine getirin ve çift başlı bir ok haline geldiğinde istediğiniz boyuta taşıyın.

Bir pencerede çalışmak için Form1.vb[Yapıcı] bağlam menüsünü kullanabilirsiniz (Şekil 4.1.4-1).

Pirinç. 4.1-2. Panel penceresiKod düzenleyicive onun ve bağlam menüsü

Panel penceresi Form1.vb (Kod düzenleyici) Program kodu oluşturmak ve hata ayıklamak için ana programcının aracı olan birçok olasılığa sahip güçlü bir metin editörüdür. Ayrıca konumlandırılabilir Ana çalışma penceresi(şek. 4.1-2) .

Panel penceresi Çözüm Gezgini ve bağlam menüsü Şekil 2'de gösterilmektedir. 4.1.4-3.

Pirinç. 4.1.4-3. Panel penceresiÇözüm Gezgini ve bağlam menüsü

Panel Kontrol elemanları bölümlere göre gruplandırılmış
(Şekil 4.1.4-4). Fayda formları oluşturmak için bir ana bölüme ihtiyacınız var Standart kontroller ( pilav. 4.1.4-5).

Panel penceresi Özellikler form ve içine yerleştirilen nesneler de dahil olmak üzere proje nesnelerinin özelliklerini görüntülemek ve ayarlamak için tasarlanmıştır. Bu pencere, örneğin, seçilen nesnenin formdaki konum, yükseklik, genişlik, renk ve diğerleri gibi özelliklerini içerir (Şekil 4.1.4-6).

Bir iletişim kutusu açmak için Özellikler aşağıdakilerden birini yapın:

Ana menü öğesinde görüş takım seç Özellikler Penceresi;

Standartta bulunan Özellikler penceresi düğmesine tıklayın.
araç çubukları;

Bir takım seçin Özellikler seçilen nesnenin bağlam menüsü;

Bir klavye tuşuna basın .

Pirinç. 4.1.4-4. Araç kutusu penceresi 4.1.4-5. Panel

bölüme göre gruplandırılmış kontroller (Standart Öğeler)

Pirinç. 4.1.4-6. Panel penceresiÖzellikler

Form ve denetimlerin her biri kendi içinde nesneler olduğundan, bu penceredeki özellikler kümesi seçilen nesneye göre değişir. düğmeleri kullanma alfabe sırasına göre ve
Kategoriye göre nesne özellikleri sırasıyla alfabetik olarak veya grup (kategori) ile görüntülenebilir.

Pencerenin altında, seçilen nesne özelliğinin amacını açıklayan bir araç ipucu görünür. Yardım sisteminde daha ayrıntılı bir açıklama bulunabilir. Pencerede istediğiniz bölümü seçerek dinamik yardımı da kullanabilirsiniz. Dinamik yardım.

Bir iletişim kutusu kullanma Özellikler, nesnelerin varsayılan özelliklerini değiştirebilirsiniz. Bir nesnenin boyut ve konum gibi bazı özellikleri, form tasarımcısında nesneyi hareket ettirerek ve fare ile yeniden boyutlandırarak ayarlanabilir. Özellikler penceresinde ayarlanan özellikler, kod düzenleyici ile oluşturduğunuz prosedürlerde uygun kodlar yazılarak çalışma zamanında değiştirilebilir.

Tipik olarak, bir form birçok nesne içerir. Aynı anda birden fazla nesne seçerseniz, özellikler penceresinde bu nesneler için ortak olan özellikleri görebilirsiniz.

4.1.5. Entegre parametrelerinin ayarlanması
geliştirme ortamları

VS geliştirme ortamının araç pencereleri, yardım sistemi, derleyici seçenekleri kolay ve özelleştirmek için çok esnektir.

Aşağıdaki adımlar, en iyi uygulama yönergelerine göre VB geliştirme ortamı ayarlarını nasıl değiştireceğinizi gösterir:

1) Ana menü öğesinde Hizmet Komutu çalıştır Parametrelerin içe ve dışa aktarılması... Ortam ayarlarınızı başka bir bilgisayarda kullanmak üzere kaydetmek, ayarları başka bir bilgisayardan yüklemek veya ayarları sıfırlamak için görünen sihirbazı kullanabilirsiniz - şimdi seçmek istediğiniz seçenek.

2) Seçme Tüm ayarları sıfırlamak ve ardından düğmesine tıklayın Daha öte... VS, yapılandırmadan önce mevcut ayarları bir dosyaya kaydetmenin gerekli olup olmadığını soracaktır. Yeni ayarların "uygunsuz" olduğu ortaya çıkarsa, bunlara geri dönebilmek için her zaman mevcut ayarlarınızı yedeklemelisiniz.

3) Bir seçeneğin seçili olduğunu kontrol edin Evet VS'nin bu ayarları kaydedeceği dosya ve klasörlerin adına dikkat edin.

4) Bu ayarlara geri dönmeniz gerekirse, bunları geri yüklemek için aynı sihirbaz ve seçenek kullanılır. İçe aktarmak seçilen ortam ayarları

5) VS için kullanılan varsayılan seçeneklerin bir listesini görmek için düğmesine tıklayın Daha öte.

6) Tıklamak VB geliştirme seçenekleri ve ardından düğmesine tıklayın Hazır.

7) Sihirbaz, menü komutları, araç çubukları ve bazı iletişim kutuları, pencereler için ayarlar dahil olmak üzere IDE seçeneklerini değiştirir. Enstrümanlar ve Kod düzenleyici.

8) Mevcut ayarlarınızı sıfırlamanız gerektiğinde (örneğin, ayarlarda bir hata yaptıysanız) veya VS'yi farklı bir programlama aracı kullanacak şekilde yapılandırmanız gerektiğinde bu yapılandırma işlemini tekrarlayabilirsiniz.

9) Sihirbazı kapatmak için düğmesine tıklayın Kapat.

VB ile çalışmak için ortam parametreleri yapılandırılmışsa, görevleri gerçekleştirebilirsiniz. Ancak bunlar değiştirilmişse, projeler ve VB derleyicisi ile ilgili ayarların uygulamada kullanılanlarla eşleştiğini doğrulamak için aşağıdaki adımlar izlenmelidir. Proje ve derleyici ayarlarını kontrol etmek için şu adımları izleyin:

1) Komuta tıklayın Seçenekler menü seçeneği Hizmet ve bir iletişim kutusu açın Seçenekler.

2) iletişim penceresi Seçenekler VS Ayarlama Seçeneklerinin çoğunu içeren penceredir. Değiştirilebilecek tüm parametreleri görmek için onay kutusuna tıklayın Tüm seçenekleri göster iletişim kutusunun sol alt köşesinde bulunur.

3) iletişim kutusunda Seçenekler kategorilere tıklayın Projeler ve çözümler ve sonra bölümde Genel. Bu onay kutuları ve seçenekler grubu, VS projeleri ve çözümleri için ayarları yapılandırır. Yazılımın bu öğreticide kullanılan ayarlarla eşleşmesi için yapılandırmanız ve

Dipnot: Grafik kullanıcı arayüzünü oluşturan görsel unsurlar, bunların yerleşimi, boyutlandırma politikası, sinyal-slot bağlantıları, grafik arayüz elemanları ve kullanımları incelenmiştir.

13.1 Widget'lar

Widget'lar, grafiksel kullanıcı arayüzünü oluşturan görsel öğelerdir.

Widget örnekleri:

  • Düğme (QPushButton sınıfı);
  • Etiket (QLabel sınıfı);
  • Giriş alanı (QLineEdit sınıfı);
  • Sayısal sayaç alanı (QSpinBox sınıfı);
  • Kaydırma çubuğu (QScrollBar sınıfı).

Qt, kullanıma hazır yaklaşık 50 hazır grafik öğe sınıfına sahiptir. Tüm parçacıklar için ana sınıf, QWidget sınıfıdır. Görsel öğelerin tüm ana özellikleri, dikkatle ele alacağımız ondan miras alınır. Grafik arayüzlü programlar geliştirmenin yollarını araştırmaya bir örnekle başlayalım.

Boş bir proje dosyası oluşturalım. Proje sihirbazını başlatın ve Projeler bölümündeki öğeyi seçin Diğer Proje... Ardından, proje türünü seçin Boş Qt Projesi... Proje dosyasına içerik ekleyin:

TEMPLATE = app # Qt modüllerini kullanacağız QT + = widgets # Widget'larla çalışmak için widget modülü ekle (Qt5 için gerekli). TARGET = widget # Yürütülebilir dosya adı SOURCES + = \ main.cpp

Şimdi yazıtları görüntüleyeceğimiz pencereli basit bir program oluşturalım. Pencerenin boyutunu ve başlığının metnini ve ayrıca başlık için yazı tipini belirleyelim. Bunu yapmak için aşağıdaki içeriğe sahip bir main.cpp dosyası oluşturun:

#Dahil etmek #Dahil etmek int main (int lArgc, char * lArgv) (// Pencere programını başlatan ve yapılandıran bir QApplication nesnesi oluşturun, // QApplication olay döngüsü lApplication (lArgc, lArgv); QLabel lLabel; // Bir QLabel oluşturun widget - etiket lLabel.setText ("Ben widget'ım!"); // lLabel.setGeometry (200, 200, 300, 150) etiketi için metni ayarlayın; // Boyutları ayarlayın - konum (x, y) genişliği ve Hizalama metnini ayarlayın lLabel.setAlignment (Qt :: AlignHCenter | Qt :: AlignVCenter); // QFont sınıfı, yazı tipi ayarlarını yapmak için kullanılır. // Arial Black yazı tipi ailesini ve 12 boyutunu seçin. Arial Black", 12); lLabel. setFont (lBlackFont); // Etiket için yazı tipini ayarlayın lLabel.show (); // etiketi ekranda göstermek için show () yöntemini çağırın.return lApplication.exec () ; // Programı çalıştır exec () // döngü olay işlemeyi yürütür, program kullanıcı eylemlerini bekler ve bunları işler.)

Gördüğünüz gibi, Qt'de arayüzleri oluşturan öğelerin kendi konumları ve boyutları vardır - sözde "geometri" - ve bu nedenle ekranda karşılık gelen dikdörtgen alanı kaplar (bkz. Şekil 13.1). Ayrıca, öğelerin her birinin davranışını ve görünümünü belirleyen ayarları vardır.


Pirinç. 13.1.

Yapı oluşturmak için, widget'lar parça-bütün temelinde bir hiyerarşi halinde düzenlenir. Widget'ların her biri başka widget'lar içerebilir. Böyle bir görsel öğe, içerdiği öğelerin "üst öğesi" (ana pencere öğesi) haline gelir. Böyle bir ilişkinin, bir programdaki sınıflar arasındaki ilişki olan C++'daki kalıtımla karıştırılmaması gerektiğini unutmayın. Widget'lar arasındaki ilişkiler, nesneler arasındaki ilişkilerdir. Bu ilişkinin birkaç sonucu vardır:

  • üst öğe, alt öğenin silinmesinden sorumlu olacaktır: ana pencere öğesi silinirse, tüm alt öğeleri otomatik olarak siler;
  • ana pencere öğesi, alt pencere öğelerini kendi içine yerleştirir, alt pencere öğelerinin üst öğenin ötesine geçen kısımları görünmez olur;
  • ana pencere öğesinin durumunun bir kısmı çocuğa iletilir - bu, görsel öğeye uygulanan bazı özellikler (görünürlük, etkinlik) ve stiller ile ilgilidir.

Bir ebeveyni olmayan widget'lar (üst düzey widget'lar) programda ayrı pencereler gibi görünür. Bir örneğe bakalım. Yeni projeye ParentExample diyelim. Proje dosyası, bir GUI projesi için olağan ayarları içerecektir:

TEMPLATE = uygulama HEDEFİ = ParentExample QT + = widget'lar

Ana pencere olarak kullanacağımız widget için yeni bir sınıf oluşturacağız. Bunun için kategoride Dosyalar ve Sınıflar C++ bölümünü seçin ve C++ Sınıfını seçin (bkz. Şekil 13.2).

Bir sonraki adım, pencerede birkaç öğe oluşturmaktır. Bunu yapmak için parentwidget.cpp dosyasını açın ve sınıf kurucu kodunu değiştirin. Öğeleri görüntülemek için, bunları sınıf yapıcısında oluşturmanız ve ParentWidget'ı onlar için baba olarak ayarlamanız yeterlidir. parentwidget.cpp kodu şöyle görünür:

#include "parentwidget.h" #include #Dahil etmek #Dahil etmek ParentWidget :: ParentWidget (QWidget * parent): QWidget (parent) (// Ebeveyn parçacığını belirten bir etiket oluşturun - bu, yani ParentWidget sınıfının bir örneğidir.QLabel * lLabel = yeni QLabel (bu); // Konum üst öğenin sol üst köşesine göre lLabel -> setGeometry (50, 0, 100, 30); lLabel -> setText ("TextLabel"); // Etiket üzerindeki metin. // Bir düğme oluştur, bir üst öğe ayarla, geometri ve metin QPushButton * lPushButton = new QPushButton (bu); lPushButton-> setGeometry (50, 50, 100, 30); lPushButton-> setText ("PushButton"); // Bir giriş alanı oluşturun, bir ebeveyn, geometri ayarlayın ve metin QLineEdit * lLineEdit = new QLineEdit ( bu); lLineEdit -> setGeometry (50, 100, 100, 30); lLineEdit -> setText ("LineEdit"); lLineEdit -> selectAll (); // Girişteki metni seçin field (sadece örneğin) // Son olarak ana widget'ın boyutunu değiştirin setGeometry (x (), y (), 300, 150); // ve pencere başlığını ayarlayın setWindowTitle ("üst widgetExample");)

Ebeveyn ParentWidget olduğundan, etiket (QLabel), düğme (QPushButton) ve metin kutusu (QLineEdit) bunun içindedir. Alt öğelerin konumu, babanın sol üst köşesine göredir. Programımızın penceresinin boyutunu ve konumunu değiştirerek bunu doğrulamak kolaydır. Yeni operatörü kullanarak kullanıcı arabirimi öğelerini yığın halinde nasıl oluşturduğumuza dikkat edin. Bu, ParentWidget oluşturucusu tamamlandıktan sonra hiçbir öğenin kaldırılmamasını sağlar.

GUI standardı.

Bilgisayar endüstrisindeki en önemli değişikliklerden biri grafik arayüzün ortaya çıkmasıdır. Yani Windows uygulamalarının nasıl görünmesi gerektiğini tanımlayan GUI standartlarını benimsemeye ihtiyaç var mıydı? Macintosh, vb. Satıcıların uygulamalarını Windows rozetini alacak şekilde uyarladığı sertifika programları bile vardır. Bu, birkaç nedenden dolayı yapılır.

Windows veya Mac'in avantajlarından biri standart görünümleridir. Bunlardan birinde çalışmayı öğrendiğinizde, geri kalanının size ait olduğunu düşünün. Çoğu Windows uygulaması aynı kuralları kullanır, böylece herhangi birinden dosya açmayı, kaydetmeyi, yazdırmayı, kapatmayı ve kopyalamayı bilirsiniz. Standart arayüz çok kullanıcı dostudur. Uygulamalarınızı, kullanıcıların çalışmayı öğrenmiş olduğu diğer Windows uygulamalarına benzetmeye çalışmanız gerekir. GUI tasarımı için yedi genel ilke vardır. Onları inceler ve takip ederseniz, uygulama tasarımınız iyi olacaktır.

GUI geliştirmenin yedi ilkesi.

GUI geliştirmenin yedi genel ilkesi, Micrisoft Windows Arabirim Kılavuzundan alınmıştır. Kendi standartlarınızı oluşturabileceğiniz bir çerçeve sağlarlar. Bu şema, geliştiricilere ve kullanıcılara iki önemli fayda sağlar. İlk olarak, uygulamalar profesyonel görünüyor. İkincisi, işlevseldirler, diğer uygulamalarla tutarlıdırlar ve kullanıcıların öğrenmesi kolaydır.

Tabii ki, bir uygulamanın başarılı olması için iyi yazılmış ve kullanışlı olması gerekir - bu temel gereksinimdir. Bahsettiğimiz ilkeler sadece geliştiriciye düşünmesi için yiyecek verir.

1. Kullanıcının uygulamayı kontrol etmesine izin verin.

2. Nesne/eylem paradigmasını takip edin.

3. Tutarlı olun.

4. Uygulamalarla çalışmayı basit ve anlaşılır hale getirin.

5. Uyum için çabalayın.

6. Kullanıcıya geri bildirim sağlayın.

7. Küçümseyici olun

Birinci ilke: Kullanıcının uygulamayı kontrol etmesine izin verin.

Kullanıcı, uygulamayı yönetmeli, yani uygulamanın her modülüne başka herhangi bir modülden erişebilmelidir. Daha önce bu erişim için hiyerarşik bir menü kullanılıyordu.


Diyelim ki bir kullanıcı yeni bir müşteri eklemek istiyor.Örnekte, kullanıcı HESAPLAR ALABİLİR modülüne gitmeli ve ardından yeni bir müşteri eklemelidir. Ne yapacağını nereden biliyor? Muhtemelen bu uygulamayla olan deneyimimden. Ve GUI dünyasında, kullanıcı Şekil 4-2'de gösterildiği gibi menüden Yeni'yi ve ardından Müşteri'yi seçer. Bu modern sistemde Dosya menüsünden yeni müşteri, satış elemanı veya stok girişi ekleyebilirsiniz. Bu, satış görevlisi ekranındayken müşteri kaydını değiştirmenize ve bunun tersini yapmanıza olanak tanır. Kullanıcının artık karmaşık ve kafa karıştırıcı hiyerarşik menüyü anlaması gerekmiyor.

İkinci ilke: nesne/eylem paradigmasını takip edin.

Nesne/eylem paradigması, sistemdeki tüm nesneler üzerinde bir işlem yapılabileceğini belirtir. En basit ve en bariz örnek müşteri tabanı destek ekranıdır (şekil). Ekranda bir dizi düğme bulunur ve alt kısımların her biri, seçilen istemciyle ilgili bilgiler üzerinde bazı eylemler gerçekleştirmenize olanak tanır. Silebilir, düzenleyebilir, yazdırabilir vb. Belirli bir istemci üzerinde gerçekleştirilebilecek eylemler, uygun zamanlarda mevcut veya kullanılamıyor olmalıdır. Örneğin bir müşteri kaydı düzenleme modundayken Sil ve Yeni düğmeleri devre dışı bırakılmalıdır.

Üçüncü Prensip: Tutarlı Olun.

Tutarlılık, GUI geliştirmenin en önemli ilkelerinden biridir. GUI - Kullanıcıların eski programlardan daha fazla uygulamayı keşfetmesine izin verir. Ve tüm bunlar tutarlılık ilkesi sayesinde. Bir kullanıcı yeni bir uygulamayla karşılaştığında, temel komutlara zaten aşinadır: dosyaları açma, yazdırma ve kaydetme. Bu platformlarda geliştirilen uygulamalar genellikle birbiriyle tutarlıdır.

Bu nedenle, yeni uygulamalar oluştururken tutarlı olun. Yeni bir girdi eklemek için Yeni komutunu kullandıysanız, her yerde kullanın. Bu kelimeyi başkalarıyla değiştirmemelisiniz - örneğin, Add 9 add kelimesi). Sıralamanızla, kullanıcılar New komutuyla karşılaştıkları her yerde yeni bir kayıt eklemek için kullanılabileceklerini bileceklerdir.

Dördüncü ilke: Başvurunuzu basit ve anlaşılır hale getirin.

Bunu şu şekilde ifade edebilirsiniz: jargon kullanmayın. İki düğmeli bir ekran var. Biri "Veritabanını Paketle", diğeri "Silme için işaretlenmiş kayıtları kaldır" diyor. İkinci giriş muhtemelen kullanıcı için daha anlaşılır olacaktır.

Uygulamalar geliştirirken, arayüzde programlama argosu kullanmak genellikle cezbedicidir. Mümkün olduğunda bundan kaçınmaya çalışın.

Beşinci Prensip: Uyum İçin Çalışın

Siyah beyazda bile, bu ekranın önemli bir estetik dezavantajı var: beyaz bir arka plan ve üzerinde zıt nesneler. İncirde. Aynı ekran renk açısından oldukça dengeli görünüyor.

Windows'a aktarılabilecek milyonlarca renk kombinasyonu vardır. Bu, hepsinin kullanılması gerektiği anlamına mı geliyor? Tabii ki hayır. Basit, sakin renkler seçmeli ve bazı programcıları nedense memnun eden dağınık karıştırmalardan kaçınmalısınız.

Altıncı ilke. Kullanıcı geri bildirimi sağlayın.

Başvurunuzun tamamlanması uzun süren bir süreç olduğunu hayal edin. Bu süre zarfında ekranda aşağıdakine benzer bir mesaj görüntülenebilir: "Program çalışıyor, lütfen bekleyin". Uygun çözüm; ama kullanıcı donmadığını nereden biliyor? Bu nedenle, program iyi olsa da uygulamaya üç parmak selamı vermesi (Ctrl + Alt + Del) yüksek ihtimal.

Kullanıcıya sürecin hangi bölümünün yapıldığını göstermek daha iyidir. O zaman boş yere programı yarıda kesmeyecek, işin ne kadar ilerlediğini değerlendirebilecek ve süreç tamamlanana kadar başka şeyler yapabilecektir. Böylece kullanıcının verimliliği yaklaşık yüzde 25 oranında artacaktır. Bu sonuç, sayacın ekranda görüntülenmesiyle elde edilebilir. Tipik olarak, "100 kayıttan 10'u işlendi" veya "%40 tamamlandı" gibi mesajlar görüntülenir. Daha da iyisi, hem işlenen kayıtların sayısını hem de yüzdelerini gösterin "

Yedinci Prensip: Affedici Olun

Her birimiz bazen yanlışlıkla yanlış düğmeye basarak bir kaydı silmişizdir. Bu nedenle, kullanıcıya fikrini değiştirme veya az önce gerçekleştirdiği eylemleri iptal etme fırsatı bırakın. İşlem uzun sürüyorsa, büyük miktarda veriyi değiştiriyorsa veya işlemi gerçekleştirmeden önce kullanıcının verilerin yedek kopyasını oluşturmasını gerektiriyorsa, ilgili uyarı verilmesi gerekir. Onay gerektiren uygulamaları iki kez gördüm, ve ardından ayrıca bir şifre isteyin. Programlarınızın bu düzeyde korumaya ihtiyacı var mı? Belki. Geliştiricinin görevi, kullanıcının çalışmanın herhangi bir aşamasında bir hata yapması durumunda yardımcı olmaktır.

GUI sözleşmelerinin önemi.

Gördüğünüz gibi, GUI tasarımının ilkeleri çok basittir ve ekranlar oluşturulurken kullanılmalıdır. Ancak bir ekran tasarlamadan önce nasıl görüneceğini belirlemeniz gerekir. Boyutlarını, yazı tiplerini, renklerini, mesaj stillerini vb. seçin. Bu sorunları önceden çözerek, işinizi önemli ölçüde hızlandıracaksınız. Daha sonra mesajların yazı tipine veya stiline gelince, sadece standarda bakarsınız.

Bir grafik arayüzünün geliştirilmesi

Programla kullanıcı etkileşiminin temel aracı Grafik Kullanıcı Arayüzü'dür (GUI). Herhangi bir yazılım ürününün GUI'si, popülaritesindeki temel faktörlerden biridir.

Yetkili bir kullanıcı arayüzü oluşturmak, ayrıntılara azami dikkat gerektiren zahmetli bir süreçtir. Oluşturulan arayüz, programın yeteneklerini en üst düzeye çıkarmalıdır, ancak aynı zamanda kullanıcıyı çok sayıda menü, düğme, resim ve metinle aşırı yüklememelidir.

Pratikte, Windows uygulamalarını programlamak, çeşitli araç ve sihirbazların kapsamlı kullanımını içerir. Böylece, seçilen işletim sisteminin standartları göz önüne alındığında, araç pencereli bir arayüze sahip olacaktır. Bunun temel nedeni, pencerelerin Windows ailesinin işletim sistemlerinde (OS) grafik arayüzünün ana unsurları olmasıdır. Kendi ayarları, özellikleri ve türleri olan dikdörtgen alanlardır.

Eğitim bloğunun grafik kısmı dört tür pencere içerir:

Ana pencere - program navigasyonunun tüm öğelerini ve ayrıca PS ile çalışmanın rahatlığı için gerekli ek bilgileri içerir;

Bilgi bankası yönetim pencereleri - yazılım aracının bilgi bileşeni için tüm kontrolleri içerir. Testlerin, bilgilerin, yeni kullanıcıların ve yöneticilerin eklenmesini sağlar, yeni oluşturulan veya mevcut verilerin manipülasyonuna izin verir;

Yazılım yetenekleriyle çalışmak için Windows - testleri geçmek ve ders çalışmak gibi eğitim bloğunun temel işlevleriyle çalışmayı sağlar;

Bilgi ve istatistik görüntüleme pencereleri - çeşitli bilgilerin yanı sıra istatistik ve grafiklerin görüntülenmesine hizmet eder.

Ana program penceresi aşağıdaki kontrolleri ve bilgi çıktısını içerecektir:

Programın adını ve pencerenin amacını içeren pencere başlığı;

Programı yeniden boyutlandırmak, küçültmek ve kapatmaktan sorumlu olan sistem menü düğmeleri;

Tamamen dekorasyon işlevi olan ve genel tasarım kararına uymak için gerekli olan pencere başlığının alanı;

Karşılama alanı;

Haftanın gününü, geçerli tarihi ve saati görüntüleme alanı;

Programın ana işlevlerine erişmek için düğmeler içeren özel araç çubuğu;

Yönetim paneli, PS'nin yönetimsel kontrollerine erişmek için bir düğme içerir;

Programın tüm modları hakkında bilgi gösteren durum satırı.

Grafik arayüzünün ana penceresinin şeması (bir yönetim hesabı için pencere görünümü) Şekil 3.2'de gösterilmiştir.

Şekil 3.2 - Grafik arayüzünün ana penceresinin şeması: 1 - pencere başlığı; 2 - sistem menüsü düğmeleri; 3 - pencere başlık alanı; 4 - durum çubuğu; 5 - karşılama alanı; 6 - haftanın günü, tarih ve saati görüntülemek için alan; 7 - yönetim paneli; 8 - kullanıcı paneli; 9 - eğitim aşamasına erişim için düğme; 10 - test aşamasına erişmek için düğme; 11 - istatistikleri ve grafikleri görüntülemek için düğme; 12 - çıkış; 13 - uygulamanın yönetim bölümüne erişim için düğme

Geliştirilen yazılım aracının yönü dikkate alınarak uygulamaya daha fazla ilgi ve ilgi çekmek için standart dışı çeşitli grafik çözümleri geliştirilmiştir. Ek olarak, benzer konu ve odaklanma programlarının geri kalanı arasında bir tür bireysellik elde etmenizi sağlar.

Bu tür çözümlerden biri renkli olarak adlandırılabilir ve bu alanda benzeri olmayan benzersiz bir tasarım, arayüz öğeleri oluşturur. Flash animasyonuna dayalı animasyonlu ekler hakkında konuşuyoruz. Bunların yardımıyla, tüm ana işlevsel pencerelerin adlarının tasarımı, gezinme elemanları, kayıt ve yetkilendirme formunun arayüzü gerçekleştirilir. Bu geliştirmenin başlıca avantajları şunlardır: hoş ve arkadaşça bir arayüzün uygulanması; hem kullanıcı hem de yönetim düzeyinde programın kullanımının önemli ölçüde basitleştirilmesi.

Analog programlar arasında hem yazılım hem de grafik uygulamada ana avantajlardan bir diğeri, isteğe bağlı testleri geçme organizasyonudur. Bu tür bir testi geçmek için kullanıcının ayrı, bağımsız öğelerden SQL sorguları toplaması gerekir. Önerilen görevin koşullarına göre yapılması gereken talebin türüne bağlı olarak, montaj için belirli bir çokgen oluşturulur. Çokgen, ayrı bir bloktan fare ile kendilerine sürüklenen operatörlerin değiştirilmesi için alanlar ve tabloların, alanların ve koşulların adlarının girilmesi için alanlar içerir.

Kullanıcı istatistikleri, elde ettiği sonuçlara bağlı olarak oluşturulan grafikler şeklinde uygulanır. Her test için kendi dinamikleri oluşturulur. Grafikler gerekli tüm etiketleri içerir, TChart bileşeni kullanılarak uygulanır ve bu nedenle varsayılan olarak bileşende yerleşik olarak bulunan ve sonuç olarak uygulamada uygulanan birçok kontrole sahiptir.

Ayrıca, daha kolay bir görselleştirme için, varsayılan geliştirme ortamında uygulananlar yerine tablo başlıklarının stilleri değiştirildi.

Böylece, uygulanan grafik çözümleri, GUI tasarımı fikrinin öngördüğü sonuca ulaşmayı mümkün kıldı. Oluşturulan arayüz, programın yeteneklerini en üst düzeye çıkarır, ancak aynı zamanda kullanıcıyı çok sayıda menü, düğme, resim ve metinle aşırı yüklemez.

Uygulamaların genel yapısını ve akışını seçmek için grafik öğeleri yerleştirmek için gerekli olan süreçte bir grafik kullanıcı arayüzünün oluşturulması, programcıyı bir dereceye kadar bir sanatçı olmaya teşvik eder. Sunumlar oluşturmanıza, öğeleri yerleştirmenize ve yapıyı düzenlemenize yardımcı olacak standart kurallar yoktur. İyi bir grafik kullanıcı arayüzü bir sanat eseri olarak görülür. Arayüz oluşturma bir bilimden çok bir sanat olduğundan, bu alanda uyulması gereken katı ve hızlı kurallar yoktur. Uygulamanın, kullanıcıların ve bağlamın doğası gereği çok fazla parametre belirlenir.

Ancak, arayüz tasarımını kolaylaştırmak için geliştiricilerin izlemesi gereken bir dizi en iyi uygulama vardır.

¦ Farklı menüleri birbirine bağlamak için karmaşık yapılardan (ağaç gibi) kaçınılmalıdır. Her biri altıdan fazla seçenek içermeyecek olan bir menü çubuğuna altıdan fazla menü eklememek en iyisidir.

¦ Nesnelerin tutarlı bir anlamı olmalıdır. Örneğin, tüm simgeleri etkinleştirmek için çift tıklayın. Bazı modern arayüzler bu öneriyi karşılamaz ve yalnızca kullanıcı çektikten sonra etkili olan simgeler içerir.

onlara nesne. Kaydırma çubukları yalnızca kaydırma için kullanılmalıdır ve önceden oluşturulmuş kitaplık simgeleri kullanıyorsanız, örneğin yazıcı simgesinin her zaman yazdırma için kullanıldığından emin olmak için bunları dikkatlice kontrol etmelisiniz.

¦ Yukarıda belirtildiği gibi tüm simgeleri etkinleştirirken fareye çift tıklayın. Tek bir tıklama ile etkinleştirilen nesne simgeleri için de benzer bir sonuç elde etmek için çift tıklamanın da programlanması önerilir. Birçok seçenek, örneğin Denetim Masası menüsünden simgeler gibi görünür, ancak tek tıklatma nesneleridir. Bu tür nesnelerle çalışırken kullanıcıların olası davranışlarını göz önünde bulundurmalı (yani, fare ile üzerlerine çift tıklayacaklarını varsaymalı) ve istenen sonucu elde etmelerine yardımcı olmalısınız.

¦ Arayüz menüleri sistemin mevcut durumunu yansıtmalıdır. Çoğu GUI yaratıcısı tarafından takip edilen temel ilkelerden biri, kullanıcı etkileşiminden bağımsız olarak tüm arayüz araçlarına erişim sağlamaktır. Alt kural basit uygulamalarla iyi çalışır, ancak daha karmaşık olanlar için daha az kullanışlıdır.

¦ Farklı menülerde ortak olan öğeler tek bir yere yerleştirilmelidir. Örneğin, Tamam ve İptal düğmeleri her zaman birbirine göre aynı şekilde konumlandırılmalı ve farklı iletişim kutularında aynı yeri işgal etmelidir.

¦ Kullanıcıların görüşüne uymuyorsa, menü öğelerinin tutarlılığı için çaba sarf etmeyin. Örneğin kullanıcılar, bir dosyayı aynı cihazda bulunan bir klasörden diğerine sürüklemenin, dosyanın ikinci klasöre taşınmasına neden olduğuna inanırlar.

Ayrıca dosyayı başka bir cihaza sürüklemenin orijinalin bir kopyasını orada oluşturduğuna inanıyorlar. Bundan, çekme işlevinin uygulanmasının tutarsız olacağı, yani. farklı durumlarda farklıdır. Ancak bu, hesaba katılması gereken kullanıcıların isteğidir. Tutarlılık için çabalamak sadece bir kılavuzdur, zor ve hızlı bir kural değil.

Grafik kullanıcı arayüzleri için ergonomik gereksinimlerin, "multimedya" - durağan görüntüler ve hareketli video, hareketli bilgisayar grafikleri ve metin, konuşma ve yüksek kaliteli ses ile çalışmayı sağlayan etkileşimli sistemlerin geliştirilmesiyle yetersiz olduğu kanıtlanmıştır. Bu sistemlerin ergonomik araştırma ve geliştirmesi zorlu ve profesyonel olarak zorlayıcıdır.

Uygulama geliştirme proje yöneticilerinin çoğu, diyor B. Tognazzini, arayüzü başlatmak için projenin tamamlanmasını bekliyor. Binanın çerçevesi yapıldıktan sonra bir mimarın davet edilmesi bir ev inşa etmeye benzer. Tüm geliştiricilerin bir arayüz oluşturma sürecini organize etmek için farklı yaklaşımları vardır. Ancak, tüm geliştiricilerin uyması gereken genel noktalar vardır:

1) kullanıcılarla yakın iletişim kurarak, çalışma tarzlarını ve bireysel alışkanlıklarını daha iyi anlamak için genellikle tüm iş günlerini onlarla geçirerek yazılım ürününün amacını tüm ayrıntılarıyla anlamak;

2) bir arayüzün oluşturulması, yalnız bir kişinin işi değil, üç alanın temsilcilerinin işidir: arayüzün ana unsurları hakkında kullanıcıların görüşlerini bulan ve bunları tanımlayan bir uzman; arayüz geliştiricisi ve grafik yaratıcısı;

3) deneyimli bir çalışan, arayüz uzmanı ve çalışma grubu ile kullanıcılar arasında aracı olarak atanmalıdır;

4) Kontrol etme, düzen oluşturma ve tekrar kontrol etme, çünkü yazılım ürününün amacı tam olarak anlaşılsa bile, kullanıcıların tüm ihtiyaçlarını öngörmek imkansızdır.

D. Norman, geliştiricilerin programın ilkeleri hakkında çok fazla bilgi sahibi olduğu ve bu yalnızca arayüzün oluşturulmasını engellediği için, uygulamanın geliştirilmesinde yer almayan insanlar tarafından arayüzlerin oluşturulması gerektiğine inanıyor. Grafik kullanıcı arabiriminin erdemleri iyi bilinmektedir ve belki de
bu nedenle, ciddi bir analizin nesnesi haline gelmedi. Yazılım geliştiricinin, öğrenmenin basitliğinin, kullanıcının programın tüm yeteneklerini tam olarak kullanmasını engellediği geleneksel kuralı, grafik arayüz için de geçerlidir. Bir örnek, öğrenmesi çok kolay güzel bir arayüze sahip bir Macintosh sigorta uygulaması kullanan bir Amerikan sigorta şirketi için bir proje geliştirmesidir. Ancak, iki yıllık çalışmadan sonra, son kullanıcılar bu uygulamanın çeşitli özelliklerine o kadar aşina oldular ki, grafik kullanıcı arayüzü onları sadece yavaşlattı. Bir grafik arayüzünün seçimi, kullanıcının görevinin doğasına göre belirlenmelidir.