"Veritabanları ve veritabanı yönetim sistemleri" disiplini üzerine bir eğitim bloğunun geliştirilmesi. Bir grafik kullanıcı arabirimi IS'nin geliştirilmesi için gereksinimler

  • 29.07.2019

09 Temmuz 2003

Çeşitli görsel uygulama geliştirme araçlarının ortaya çıkmasıyla birlikte, grafik program arayüzleri yazmak bir tür çocuk oyunu haline geldi. Fareyle dürttüm - bir kalıp çıktı, ikinci kez dürttüm - düğme çizildi. Bana öyle geliyor ki, pek çoğu artık grafiksel bir ortamda farklı bir programlama yolu düşünmüyor. Tabii ki ilerlemeye karşı çıkamazsınız, büyük projeler yazarken tüm bu kolaylıklar çok faydalıdır. Ama konuşma bununla ilgili değil. Bazen saçmalık noktasına geliyor, MFC, VCL vb. kullanılarak ilkel bir uygulama yazılıyor. Bu tür programlar, termitler gibi hafızayı yer ve şişman gövdeleriyle fazladan disk alanı kaplar. Kural olarak, MFC/VCL analogları, saf API ile yazılmış programlardan on ila yirmi kat daha fazla "ağırlıklıdır". Peki ya msvbvmXX.dll ile Visual Basic (Tanrı beni affetsin)? Evet ve sistem kaynakları çok daha fazla tüketilir (birkaç kez). Zavallı kullanıcılar, kendilerini biradan mahrum ederek, yeni donanım satın almak için banknot biriktiriyorlar. Zavallılara yazık değil mi? Sadece programcılar bira içmiyor mu? API kodlamasında bir olumlu an daha var, programcı işletim sistemine daha yakın hale geliyor. Buna göre, onu daha iyi anlar ve kontrol eder. Ve evet, sadece çok eğlenceli. Tekrar ediyorum, yukarıdakilerin tümü özellikle küçük, basit programlar için geçerlidir, büyük projelerde her şey tamamen farklıdır.

Umarım seni ikna etmişimdir. Gitmek.

Minimal işlevselliğe sahip basit bir pencereli arayüz oluşturmaya bakacağız. İki giriş alanı ve iki düğme ile basit bir pencere olacaktır. "Kopyala" düğmesine tıkladığınızda, ilk giriş alanındaki metin ikinciye kopyalanacaktır. "Kapat" butonuna tıkladığınızda program işini bitirecektir. Gelecekte, diğer, daha karmaşık uygulamaları yazmak için bir şablon görevi görebilir. Delphi'yi de rahatsız etmeyeceğiz, ancak C / C ++ ile iletişim kuracağız. Genel prensip aynıdır, sadece sözdizimi farklıdır. Sistem mesajları ve API işlevleriyle çalışmak için projenize başlık dosyaları eklemeniz gerekir; C/C++'da windows.h, Delphi'de pencereler ve mesaj modülleridir.

Herhangi bir Windows programı üç ana bölümden oluşur: bir ana işlev, bir mesaj döngüsü ve pencereye gönderilen tüm mesajları işleyen bir pencere işlevi.

Programımız WinMain() fonksiyonu ile başlamaktadır. Bu ana işlevdir. WinMain() işlevi genellikle aşağıdaki görevleri gerçekleştirir:

  • Pencere sınıfını belirtir. OOP sınıfı ile karıştırılmamalıdır.
  • Bu sınıfı sisteme kaydeder.
  • Uygulamanın ana penceresini ve diğer kontrolleri oluşturur.
  • Ekranda bir pencere görüntüler.
  • Bir mesaj döngüsü başlatır.
  • Bu şekilde bildirilir: int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) Parametrelerle ilgilenelim:
    • hInstance, geçerli uygulama örneğinin tanıtıcısıdır.
    • hPrevInstance - Çalışıyorsa, uygulamanın önceki örneğine yönelik bir tanıtıcı.
    • lpCmdLine - başlangıçta programa iletilen parametreleri içeren bir dizeye işaretçi.
    • nCmdShow - pencerenin nasıl görüntüleneceğini belirleyen bir sabit. (Bkz. SW_ sabitleri).

Delphi'de böyle bir resim görmeyeceğiz, bu geliştirme ortamında asıl fonksiyon derleyici tarafından programcıdan gizlenmiştir. Tabii ki, son kodda mevcut olmasına rağmen. Bir pencere sınıfını kaydetmek için WNDCLASS tipi yapısının (Delphi TWNDCLASS'ta) alanlarını doldurmak gerekir. Bunun için wcl değişkenini bildirdik. wcl.hÖrnek = hÖrnek; Geçerli uygulama örneğinin tanıtıcısı olan hInstance değişkeni, WinMain() işlevi tarafından başlatılır. Delphi'de örtük olarak başlatılır. wcl.lpszClassName = szWinName; Sınıf adı. szWinName string değişkenini önceden yarattık ve başlattık. wcl.lpfnWndProc = WindowFunc; Bir pencere işlevine işaretçi. wcl stili = 0; Pencerenin stilini belirten bir sabit. Bunun için CS_ flagları kullanılıyor, ben sadece onları sıfırladım. Bitsel "veya" işlemini kullanarak bir bayrak kombinasyonu belirtebilirsiniz. wcl.hIcon = LoadIcon(NULL, IDI_ASTERISK); LoadIcon() işlevi tarafından döndürüldüğü şekliyle uygulamanın simgesinin tanıtıcısı. Varsayılan simgeyi yükledim. IDI_ sabitlerine bakın. wcl.hCursor = LoadCursor(NULL,IDC_ARROW); LoadCursor() işlevi tarafından döndürülen uygulama imlecini ele alın. Standart bir ok yükledim. IDC_ sabitlerine bakın. wcl.lpszMenuName = NULL; Bu pencere sınıfı için menü kaynağının adını belirten bir dizeye işaretçi. Menü yok, işaretçi yok. wcl.cbClsExtra = 0; ayrılmış alan. Sıfırlıyoruz. wcl.cbWndExtra = 0; ayrılmış alan. Sıfırlıyoruz. wcl.hbrBackground = (HBRUSH)COLOR_WINDOW; Pencere rengi. COLOR_WINDOW sabiti HBRUSH türüne dönüştürülür (Delphi'de yayınlamaya gerek yoktur). Ayrıca GetStockObject() işlevini kullanarak pencere fırçası rengini veya arka plan görüntüsünü ayarlayabilirsiniz. Şimdi, cesurca pencere sınıfını kaydedin.

RegisterClass(&wcl); wcl yapısına bir işaretçi, RegisterClass işlevine parametre olarak geçirilir.

Sonraki satır ile penceremizi oluşturuyoruz.

hMainWnd = CreateWindow(szWinName, "API üzerinde basit bir pencere.", WS_OVERLAPPEDWINDOW ^ WS_THICKFRAME ^ S_MAXIMIZEBOX, CW_USEDEFAULT, CW_USEDEFAULT, 300, 170, HWND_DESKTOP, NULL, hInstance, NULL);
  • İlk parametre pencere sınıfının adıdır.
  • İkinci parametre pencerenin başlığıdır.
  • Üçüncü parametre pencere stilidir. Standart WS_OVERLAPPEDWINDOW'dan xor işlemini kullanarak pencereyi ölçekleme özelliğini kaldırdım ve büyütme düğmesini devre dışı bıraktım.
  • Dördüncü ve beşinci - pencerenin ekranın sol, üst köşesinden konumu. CW_USEDEFAULT'a sahibim, bu değerle sistem pencerenin konumunu otomatik olarak seçer.
  • Altıncı ve yedinci parametreler sırasıyla pencerenin genişliği ve yüksekliğidir.
  • Sekizinci parametre sahip penceresidir. Ana pencerede, sahip masaüstü (0)'dır. Kontroller ana pencereye sahiptir.
  • Dokuzuncu, menü tanıtıcısının bir işaretçisidir. Menü yok, işaretçi yok.
  • Onuncu parametre, geçerli uygulama örneğinin tanıtıcısıdır.
  • Onbirinci - MDI arabirimiyle uygulamalar oluştururken kullanılır. İhtiyacımız yok.
İşlev, oluşturulan pencereye hMainWnd değişkeninde depolanan bir tanıtıcı döndürür.
Pencere tutamacı, sistemdeki bir pencereyi veya denetimi tanımlayan benzersiz bir sayıdır.

Ardından gerekli kontrolleri oluşturacağız. Tüm kontroller aynı pencerelerdir, sadece farklı bir sınıf adına sahiptirler. Kontrol sınıflarının kaydedilmesine gerek yoktur, bunlar sistemde önceden tanımlanmıştır. Düğme - sınıf düğmesi. Giriş alanı - sınıfı düzenleyin. Yazıt ststic sınıfıdır. Standart kontrollere karşılık gelen birçok sınıf vardır. Tanıdık CreateWindow() işlevini ve tanıdık olmayan CreateWindowEx() işlevini kullanarak denetimler oluşturuyoruz. CreateWindowEx(), genişletilmiş bir stile sahip bir pencere oluşturmanıza izin verir. Giriş alanları oluşturmak için kullanıyoruz. Bu fonksiyonda, bu çok genişletilmiş stili ayarlayan ilk parametre eklenmiştir, kalan parametreler CreateWindow () ile aynıdır. Kontroller alt pencerelerdir, sahipleri ana penceredir.

Kontrolleri oluştururken, fonksiyon parametrelerinde ana pencere tanımlayıcısını ve ayrıca WS_CHILD pencere stilini belirtmelisiniz. Kontrollerin görünümü ve işlevselliği şu bayraklar kullanılarak değiştirilebilir: WS_, ES_, BS_, SS_, bunları bitsel "veya" işlemiyle birleştirerek. Kontrolleri oluştururken, CreateWindow() ve CreateWindowEx() fonksiyonları tarafından döndürülen tutamaçlarıyla karşılık gelen değişkenleri başlatırız. Kontrollerle daha fazla çalışmak için bu tanımlayıcılara ihtiyacımız olacak. Oluşturduğumuz pencereyi ekranda görüntüleyip yeniden çiziyoruz.

GetMessage işlevi, uygulamanın mesaj kuyruğundan bir sonraki mesajı seçer ve pencereye gönderir.
  • İlk parametre MSG türünde bir yapıdır (Delphi'de TMSG yazın)
  • İkinci parametre, mesajın amaçlandığı pencere tanıtıcısıdır. NULL veya 0 ise, tüm uygulama pencereleri.
  • Üçüncü ve dördüncü - alınan mesajların aralığını ayarlamanıza izin verir. 0 ise, tüm mesajlar pencereye yönlendirilir.
GetMessage - Bir WM_QUIT mesajı göründüğünde, bu durumda döngüden çıkar ve uygulamadan çıkar. TranslateMessage - sanal anahtar kodlarını klavye mesajlarına çevirir. DispatchMessage - İşlenecek bir pencere işlevine bir mesaj gönderir.

Bir pencere işlevi, sistem mesajlarını işleyerek program işlevselliği sağlar. Pencere işlevi bir CALLBACK işlevidir, yani. gelen yeni bir mesaja yanıt olarak işletim sistemi tarafından çağrılır. Pencere işlevi şu şekilde bildirilir:

LRESULT CALLBACK WindowFunc(HWND hMainWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)

  • HMainWnd - ana pencereye gidin.
  • iMsg - mesaj numarası. WM_ sabitlerine bakın.
  • lParam ve wParam mesaj parametreleridir.

Bir mesaj göründüğünde, iMsg parametresini WM_ sabitlerinden biriyle karşılaştırabilir ve programın uygun tepkisini programlayabiliriz.

Örneğin: Mouse imleci bir pencerenin client alanı üzerindeyken sol mouse butonuna basıldığında WM_LBUTTONDOWN olayı tetiklenir. Pencere fonksiyonu çağrılır, iMsg parametresine WM_LBUTTONDOWN sabitinin değeri girilir, durumu kontrol edebilir ve ihtiyacımız olan program reaksiyonunu programlayabiliriz.

Pencere işlevinin içinde, yukarıdaki görevi gerçekleştiren bir seçim ifadesi bulunur. Seçim ifadesi, DefWindowProc(hMainWnd, iMsg, wParam, lParam);

Bu yapılmazsa programımız ölecek ve hayata geçmeyecektir. Birçok mesaj sistemin kendisi tarafından işlenir, örneğin: pencereyi yeniden boyutlandırma, pencereyi küçültme / büyütme, sistem menüsünü çağırma vb. DefWindowProc() bunun içindir.

Pencere denetimleriyle çalışırken, sahip penceresine bir WM_COMMAND iletisi gönderilir; burada lParam, denetimin tutamağını içerir ve wParam parametresinin yüksek baytı, denetimde oluşturulan olayın tanımlayıcısıdır. Örneğin: - BN_CLICKED düğmesine tıklandığında. BN_, WM_ sabitlerine bakın. PostQuitMessage(0) fonksiyonunu kullanarak programı kapatabiliriz. Bu fonksiyon, pencereye bir WM_QUIT mesajı gönderir.

Delphi'de bu tür programların nasıl yazılacağı hakkında birkaç söz. Yeni bir proje oluşturuyoruz, Proje Yöneticisini çalıştırıyoruz, Form ile birlikte Unit1'i siliyoruz. Ctrl + F12 tuşlarına basın ve proje dosyasını açın. Form modülünü kullanımlardan kaldırıyoruz, oraya pencereler ve mesajlar ekliyoruz. Başlangıç ​​ve bitiş arasındaki her şeyi silin. Hazırlık hazır. Kodlayabilirsiniz. Her zaman elinizin altında olması gereken, yardım almadan saf bir API üzerinde programlar yazmak imkansızdır. Gates'in kendisi olsaydınız, her şeyi hatırlayamazsınız. Ben tavsiye ediyorum:

  • her şeyden önce - MSDN;
  • Delphi yardım sistemi (MSTOOLS.HLP dosyası);
  • http://www.soobcha.ru/rushelp, Win32 API'sinde Rusça yardıma sahiptir.
Bu kadar.
İyi şanlar.

Bobachenko Maksimİndirmek: CreateWnd.zip(2.6K)
arşiv windows.cpp ve windows.dpr dosyalarını içerir

GUI standardı.

Bilgisayar endüstrisindeki en önemli değişikliklerden biri, grafik kullanıcı arayüzünün görünümü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 var. 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 birinde bir dosyayı nasıl açacağınızı, kaydedeceğinizi, yazdıracağınızı, kapatacağınızı ve kopyalayacağınızı 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 geliştirme için yedi genel ilke vardır. Bunları öğrenip takip ederseniz, uygulama tasarımınız iyi olacaktır.

GUI geliştirmenin yedi ilkesi.

Yedi Genel GUI Tasarım İlkesi, Microsoft Windows Arabirim Kılavuzundan alınmıştır. Kendi standartlarınızı oluşturabileceğiniz planı oluştururlar. 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, 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. Uygulamalarınızı basit ve anlaşılır hale getirin.

5. Uyum için çabalayın.

6. Kullanıcı geri bildirimi sağlayın.

7. Hoşgörülü 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 kullanıcı yeni bir müşteri eklemek istiyor.Örnekte kullanıcı HESAPLAR ALABİLİR modülüne gitmeli ve oradan yeni bir müşteri eklemelidir. Ne yapacağını nereden biliyor? Muhtemelen bu uygulamayla olan deneyimimden. Ve GUI dünyasında, kullanıcı menüden Yeni komutunu, ardından Şekil 2'de gösterildiği gibi Müşteri'yi seçer. Bu modern sistemde Dosya menüsünden yeni bir müşteri, satıcı veya envanter girişi ekleyebilirsiniz. Bu, satıcı 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 Prensip: Nesne/eylem paradigmasını takip edin.

Nesne/eylem paradigması, sistemdeki tüm nesneler üzerinde herhangi bir işlemin gerçekleştirilebileceğini belirtir. En basit ve en belirgin örnek müşteri tabanı destek ekranıdır (Şekil). Ekranda bir dizi düğme bulunur ve düğmelerin 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 olmalı veya mevcut olmamalıdır. Örneğin, bir müşteri kaydı düzenleme modundayken Sil ve Yeni düğmeleri devre dışı bırakılmalıdır.

Üçüncü ilke: 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). Tutarlılığınız sayesinde, kullanıcılar Yeni komutunu gördükleri her yerde yeni bir girdi eklemek için kullanabileceklerini bileceklerdir.

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

Bu düşünceyi şu şekilde ifade edebilirsiniz: jargon kullanmayın. İki düğmeli bir ekran var. Biri “Veritabanını paketle” diyor, diğeri “Silinmek üzere işaretlenmiş kayıtları kaldır” diyor. İkinci giriş kesinlikle 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. Şek. Aynı ekran renk açısından oldukça dengeli görünüyor.

Windows, milyonlarca renk kombinasyonunu aktarabilir. Bu, hepsinin kullanılması gerektiği anlamına mı geliyor? Tabii ki hayır. Basit, sakin renkler seçmeli ve nedense bazı programcıları seven rastgele karıştırılmalarından 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 boyunca ekranda şuna benzer bir mesaj görüntüleyebilirsiniz: "Program çalışıyor, lütfen bekleyin." Uygun çözüm; ancak kullanıcı, askıda kalmadığını nereden biliyor? Bu nedenle, programla her şey yoluna girecek olsa da, uygulamaya “üç parmakla selam” (Ctrl + Alt + Del) vermesi çok muhtemeldir.

Kullanıcıya sürecin hangi bölümünün yapıldığını göstermek daha iyidir. O zaman programı gereksiz yere kesintiye uğratmayacak, işin ne kadar ilerlediğini değerlendirebilecek ve süreç tamamlanana kadar başka şeyler yapabilecektir. Böylece kullanıcı 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 girişten 10'u işlendi" veya "%40 tamamlandı" gibi mesajlar görüntülenir. Daha da iyisi, hem işlenen kayıt sayısını hem de yüzdelerini gösterin.”

Yedinci Prensip: Hoşgörülü 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 yapılan işlemleri iptal etme fırsatı bırakın. Bir işlem uzun sürüyorsa, büyük miktarda veriyi değiştiriyorsa veya kullanıcının bir işlem yapmadan önce veri yedeklemesini gerektiriyorsa uygun bir uyarı verilmelidir.İki kez onay isteyen ve ardından şifre isteyen uygulamalar gördüm. 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 Standardında Sözleşmelerin Önemi.

Gördüğünüz gibi, GUI tasarım ilkeleri çok basittir ve ekranlar oluşturulurken kullanılmalıdır. Ancak ekranı tasarlamadan önce nasıl görüneceğini belirlemeniz gerekiyor. Boyutlarını, yazı tiplerini, renklerini, mesaj stillerini vb. seçin. Bu soruları önceden çözerek, işinizi önemli ölçüde hızlandıracaksınız. Daha sonra yazı tipi veya mesaj stili söz konusu olduğunda, standarda bakmanız yeterlidir.

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 IDE Seçeneklerini Ayarlama

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 yüksek seviye programlama– Visual Basic .Net (VB) bir dizi temel farklılığa sahiptir. Bu, 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 bir program kodu satırı 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 projesiyle etkileşime girdiği. Hem sınıfların program kodunun hem de görevi çözme yöntemlerinin geliştirilmesi ve uygulama programlama arayüzü ilkeler üzerinde gerçekleştirilir. nesne yönelimli yaklaşım , Visual Studio .Net'te (VS) uygulandı . Uygulamalar (projeler), MS Windows altında çalıştırılır. Entegre Geliştirme Ortamı (IDE).

IDE kullanılarak oluşturulan uygulamalar için, karakteristik bir özellik, herhangi bir zamanda çok sayıda 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üğmesi, bir nesneyi sürükleyin, bir pencereye veri girin, vb. Çoğu durumda, önceden belirlenmiş bir eylem sırası yoktur. Genellikle geliştirici yazılım(Yazılım), bir yazılım projesi oluştururken, uygulama kullanıcısının eylemlerini sınırlamamalıdır. Herhangi bir kullanıcı eylemine, 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 gerçekleştirilir: 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, meydana gelen 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 devre dışı kalır. Ayrıca, her olay, yazılım projesinin belirli eylemlerinde (yanıtlar, tepkiler, davranış) 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 belirtilen bazı standart özellikler listesinden belirlenir. . Bu tür eylemlere bir örnek, bir düğmeye tıklandıktan sonra bir pencereyi simge durumuna küçültmektir. Yıkılmak. Programcı bu gibi durumlarda nesnenin davranışını değiştiremez. Bununla birlikte, çoğu durumda, belirli özellikleri ayarlayarak nesnenin bir olaya (metin, yazı tipi, renk, boyut, ekran alanı vb.) yanıtını değiştirme olasılığı vardır.

Olaylara yönelik ikinci eylem grubu (yanıtlar) tamamen yazılım geliştiricisi tarafından belirlenir. Bu, her olası olay için bir VB prosedürü tanımlama 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. Teorik olarak herhangi bir olay için bir prosedür oluşturabilirsiniz, ancak pratikte programcı program kodunu sadece ilgilenilen olaylar için prosedürlerle doldurur.

Böylece VB, kullanıcıya nesne yönelimli, olay tabanlı bir programlama ortamı sağlar. Basitçe söylemek 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ürleri ayarlamaya ve birlikte uygulamanın çalışmasını sağlayan bir sorunu çözmek için yazılım oluşturmaya gelir. oluşturuldu.

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 vb., herhangi bir görsel uygulama geliştirme ortamında aynı anlama sahip olan.

Nesne- bu, özel özelliklerde, davranışta, diğer uygulama nesneleriyle etkileşimde diğer varlıklardan farklı olan bir tür ayrı varlıktır. Nesne yönelimli bir yaklaşımla, herhangi bir uygulama, uygulama için gerekli işlevsel gereksinimleri uygulayan birbiriyle ilişkili 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öntemler) birleştiren bir program nesnesidir. Yani program nesnelerinin özellikleri vardır, yöntemleri kullanabilir ve olaylara yanıt verebilir.

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

Biçim ) 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. şekil nesne kapsayıcısı, ve aynı zamanda kendisi de bir nesnedir. Bir forma bir nesne yerleştirirken, nesnenin ana parametreleri yürütülebilir program kodunda saklanır. Bu durumda, nesneler ayrıca tasarlanan projenin (uygulamanın) “birleştirildiği” yazılım blokları veya program kodunun (sınıflar, prosedürler, yöntemler, modüller) parçalarıdır.

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

Program kodunda, bir özelliği ayarlamak için belirli kurallar (belirli format) vardır - nokta gösterimi kurallarına göre nesnenin adı ve özelliğin 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 bir sınıfın 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ın gizlenmesi;

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

Nesnelerin toplanması ortak bir adla birleştirilen nesneler kümesidir ve bunların mutlaka aynı sınıftan nesneler olmaları gerekmez. VB'de yerleşik koleksiyonlar, aşağıdakileri içeren koleksiyon örnekleridir:

· Formlar(Formlar) – bir dizi yüklü başvuru formu;

· Kontroller(kontroller) - 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ının parçası olan sınıflara ve 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şime girmesinin bir yoludur. Bir olay, kullanıcı tarafından oluşturulabilir veya diğer program nesneleri tarafından tetiklenebilir. Nesneler olaylar yayabilir ve belirtilen olaylara yanıt olarak eylemler gerçekleştirebilir. Etkinlik örnekleri - formlar , Tıklamak ( Tıklamak ) bir nesnenin üzerine fare DblClick ( çift ​​tıklama ) fare ve diğerleri . Olaylara yanıt olarak, bir nesnenin özelliklerini değiştirebilen, onu çağırabilen bir olay prosedürü çağrılır.

VB dilinde , MS Windows için uygulama yazmak için tasarlanmış diğer birçok programlama dilinde olduğu gibi , Kullanılmış
olay güdümlü programlama modeli. Aslında 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 verildiğinde en basit durumu ele alalım. Herhangi bir uygulamayı doğrudan etkileyemez ve bu durumda MS Windows bir aracı görevi görür. Bir tuşa basılmasıyla ilişkili olayı aldıktan sonra, işletim sistemi bu olayın işlenmesinin nereye aktarılacağına karar verir. Tuş vuruşu mesajı daha sonra uygulamaya gönderilir. Uygulama, klavye girişini ayrıştırarak işler ve mesajı örneğin aktif bir metin alanında görüntüler.

Uygulamalar oluşturuldu İle birlikte VB kullanarak , aynı prensipte çalışın. Bu durumda, VB, olduğu gibi dahili çalışma gerçekleştirir. Örneğin, bir 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 katı bir kod yoktur. Bu, programı çalıştırdıktan sonra kullanıcının algoritmayı yürütmek için belirli yol hakkında net bir fikri olmadığı anlamına gelir. Yani uygulama içerisinde istediğiniz zaman herhangi bir butona tıklayabilir veya örneğin bir alana metin girme işlemini gerçekleştirebilir veya dilerseniz işlemeyi durdurabilirsiniz. Bu nedenle, uygulama bu olaylardan biri gerçekleşene kadar beklemeye zorlanır ve ancak o zaman verilen program kodunu yürütür. Böylece, program kodunu yürütmeye başlamak için her zaman bir olay gerekir - bu, 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 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 belirtilen algoritmaya göre olay prosedüründe tanımlanan bir yanıt olarak 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 nesneyle 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 kütüphanede bulunan ve kullanıma hazır çok sayıda yerleşik prosedür sağlar. Bu yordamlar, sınıf kitaplığının ayrılmaz bir parçasıdır, yani sınıfların yöntemleri olan Framework .NET'tir.

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, adı verilen özel yerleşik prosedür türleri vardı. yöntemler . yöntemler prosedürler gibi "çalışır", ancak özellikler gibi belirli nesnelere aittir. Program kodunda, bir özellik ile aynı şekilde bir metoda erişebilirsiniz. nokta gösterimi kullanarak.

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

VB araçları kullanılarak 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 bulunduğunu ve prosedürlerin kendilerinin içinde olduğunu lütfen unutmayın. bir sınıf (modül).

Prosedürler-alt rutinler bir anahtar kelime ile başlar Alt son alt, ve işlev prosedürleri anahtar sözcükle başlar işlev ve anahtar kelimelerle bitirin bitiş iş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 ifadesinden oluşur.

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

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

Böylece, bir olaya yanıt olarak yürütülmesi gereken her kodu yazdığınızda, ilgili olay meydana geldiğinde (örneğin, bir düğme tıklaması) otomatik olarak çağrılan bir olay prosedürü yaratırsınız.

Şebeke bir veya daha fazlasını tanımlayan bir programlama dili yapısıdır. operasyonlar , üzerinde üretilen işlenenler . Operandlar sabitler, değişkenler, ifadeler, fonksiyonlar vb. olabilir. Herhangi bir operatör, programlama dilinin sözdizimi kurallarına göre yazılır. Örneğin, atama operatöründe " = "atamak" okur ve bilgisayarın belleğine, işaretinin sağındaki ifadenin değerine eşit bir değerin yazıldığı anlamına gelir. = ". Örneğin, çizgi

Form4.1.Text = "Resimli form" adı ile hafızada olduğu 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- bu, geliştirilmekte olan bir uygulamadır (uygulama programı kodu) - bu uygulamada kullanılan tüm yazılım bileşenleri hakkında bilgi depolayan bir dizi dosya. çünkü VB , bir yandan o 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ı, daha sonra programlama ve tasarım süreçlerinin sonucu, program kodunu ve grafik arayüzü birleştiren bir projedir. Bu nedenle, bir diskten herhangi bir yazılım projesini yazmak veya yüklemek için, tüm bileşenleri (dosyaları) içeren bir projeyi yakmanız veya yüklemeniz 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 program görevi - bir uygulama ile ilgili bilgileri içerir.

Proje aynı zamanda bir derleme birimidir. Bir proje derlemenin sonucu bir derlemedir. Her proje bir veya daha fazla ad alanı içerir. Bir proje oluşturmanın ilk aşamasında verilen proje türü otomatik olarak inşa proje çerçevesi , kütüphanenin bir parçası olan sınıfların soyundan gelen sınıflardan oluşur FCL(Çerçeve Sınıf Kitaplığı) - .NET Framework'ün sınıf kitaplıkları. Yani geliştirici şöyle bir proje oluşturacağını belirtirse " Windows Form Uygulaması”, daha sonra varsayılan olarak proje çerçevesi nesneyi içerecektir 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 olarak oluşturulan formun yeteneklerini genişletecektir.

Her proje, montajı oluşturmak için gereken tüm bilgileri içerir. Proje, proje oluşturma sırasında otomatik olarak oluşturulan sınıflara sahip tüm dosyaları ve sınıflara sahip dosyaları içerir. yaratıldı proje geliştiricisi. Proje ayrıca şunları içerir: kurulumlar ve kaynaklar iş için gerekli. Projenin bir bölümü, aynı zamanda, derlemenin (manifest) tanımını içeren bir dosyadır.

Seçilen tipe bağlı olarak proje gerçekleştirilen veya imkansız. Devam eden projeler, örneğin aşağıdaki türden projeleri içerir: Konsol uygulaması veya Windows Form 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ısı olan taşınabilir yürütülebilir dosya .exe. Çok PE-dosya sadece kurulu olduğu bilgisayarlarda çalıştırılabilir Çerçeve .Netçünkü bu yönetilen bir kod dosyasıdır.

Yürütülebilir olmayan projeler, örneğin aşağıdaki türden projeleri içerir:
Sınıf Kitaplığı (DLL) uzantısına sahip olan . dll, ve bir dinamik bağlantı kitaplığı, şunlar. bu projeler diğer projelere dahil edilmek (bağlanmak) içindir. 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ülmeyen projede bulunan sınıf yöntemlerinin çağrıldığı çalışan derlemelere eklenirler ( DLL).

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

Proje çalışırken 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 daha fazla kullanım için 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. Birden çok ilgili projeyi yönetmek için bir çözüm dosyası kullanılır ve dosya uzantısına 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 olanın içine yerleştirilebilir. Çözüm veya yeni bir tane oluşturulabilir Çözüm Projeyi içeren A.

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 bir prensibe göre bir proje inşa etmek için mimari bir birimdir. Büyük bir projenin karmaşıklığı, ancak onu bağımsız olarak geliştirilebilen ve daha sonra daha büyük bir sistemde birleştirilebilen nispeten küçük birimler olan modüllere bölerek ele alınabilir.

· 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öntemler ise 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 getirebilir.

Tipik olarak, sınıflar her iki rolü de oynar. Ancak VB'de yalnızca modül rolü oynayan sınıflar tanımlayabilirsiniz. BT modüller , bunun için nesneler oluşturulamaz.

İyi programlama stili, her sınıfın, sınıf adıyla aynı ada sahip ayrı bir dosyada saklanmasını gerektirir. Bu, pratikte sürdürülemeyecek bir stil gereksinimidir. Örneklerimizde bu tarzı korumaya çalışacağız.

Proje geliştiricisi bir sınıf tanımlayarak sınıfın nesnelerini dinamik olarak oluşturabilir. Nesne stilinde başlayan programcılar için yaygın bir hata, nesne ve sınıf kavramlarını karıştırmaktır. Farkı en başından anlamanız gerekir. Bir geliştirici tarafından oluşturulan bir nesne sınıfı, bir dizi nesnenin statik bir tanımını temsil eder. Nesne dinamik bir kavramdır; bir yazılım sisteminin yürütülmesi sırasında oluşturulur, aslında bilgisayarın belleğinde bulunur ve genellikle proje tamamlandığında kaybolur. Bir proje geliştiricisi, iki veya üç sınıf içeren bir yazılım sistemi oluşturabilir, ancak böyle bir sistem sırasında, birbiriyle karmaşık şekillerde etkileşime giren yüzlerce nesne dinamik olarak görünebilir.

VS ana penceresi

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

Koşmak MS Visual Studio.

Ekran gösterilecek 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 entegre geliştirme ortamında VB ile çalışırken, hem standart araç çubuğunun düğmelerini hem de ekranın üst kısmında yer alan ana menü öğelerini kullanabilirsiniz.

VS, kullanıcıya bir dizi çeşitli araç çubuğu sağlar. Bu araç çubukları, amacı 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 size yardımcı olabilecek sitelere çeşitli bağlantılar içerir. . Ek olarak, proje ile çalışma sürecinde, ilk sayfa yerine çeşitli pencereler görüntülenecektir, örneğin pencere Form oluşturucu, pencere Program kodu düzenleyicisi 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.

Uygulamaların geliştirilmesini kolaylaştırmak için tasarlanan araçlar ayrıca pencereyi de içerir. Öğeler Paneli, VB projelerinde kullanılan kontrollerin görüntülenmesi .

İletişim kutusu yeni bir proje oluşturmak için kullanılır.
Proje oluştur(Şekil 4.1.2-2). Açmak için aşağıdakilerden birini yapın:

Bir komut yürütün Proje oluştur ana menü öğesinden - Dosya;

butona bas Proje oluştur, standart araç çubuğunda bulunur.

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

VB'de çeşitli şablonlardan uygulamalar oluşturabilirsiniz. Bu eğitimde sadece şablonu kullanacağız Windows Formu 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ımlara bir örnek verelim Windows Form Uygulaması.

Örnek 4.1.2-1. Bir düğme ve bir metin alanı içeren bir formdan oluşan bir GUI ile Örnek 4.1.2-1 adlı bir proje oluşturun. Düğmeye bastığınızda "Merhaba, MTUCI!" görünmelidir.

proje formu Örnek-4.1.2-1Şekildeki gibi görünebilir. 4.1.2-3.

Pirinç. 4.1.2-3 Projenin grafik arayüzü (Formu)Örnek 4.1.2-1

Proje uygulaması 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 çalıştırın Bir proje oluşturun;

bir proje şablonu seçin Windows Form Uygulaması .

Bu bir pencere açacak Form1.vb[Oluşturucu]Form Oluşturucu(ilgili sekme ile belirtilir), uygulamanın grafik arayüzünü uygulamanıza izin verir.

ana menüde bir öğe seçin Dosya ve sonra komutu çalıştırın hepsini kaydet ;

sonuç olarak, bir iletişim kutusu açılacaktır Projeyi kaydet;

alana gir İsim projenin adı Örnek-4.1.2-1(varsayılan olarak, VB, WindowsApplication1) adını verir ve ardından alana girin Konum dizini adı projenin nerede bulunacağını veya düğmesini kullanın Gözden geçirmek gerekli dizini aramak için (Şekil 4.1.2-4);

· düğmeye 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ımdan hem de İnternet'ten örnek programlar aramanıza ve 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 Tasarımcısı)
ana pencere
dır-dir Ana çalışma penceresi , uygulamanın görsel tasarımının yapıldığı (Şekil 4.1.4-1). sekmesine tıklayarak bu pencereyi ekranda görüntüleyebilirsiniz. Form1.vb[Yapıcı] veya penceredeki form adına çift tıklayarak Çözüm Gezgini.

Pencerede Form Oluşturucu uygulamanın tüm formları, geliştirme ortamı araçları kullanılarak görsel olarak oluşturulur. Penceredeki formdaki nesnelerin tam olarak konumlandırılması için ızgarayı kullanabilirsiniz.

Penceredeki şekil, şekil seçme tutamaçları ve fare kullanılarak yeniden boyutlandırılabilir. Formun boyutunu değiştirmek için fare işaretçisini işaretçinin üzerine getirin ve çift başlı ok şeklini aldığında 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) programcının program kodu oluşturmak ve hata ayıklamak için ana aracı olan birçok özelliğe sahip güçlü bir metin düzenleyicidir. Ayrıca şurada yer alabilir: 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 Kontroller bölümlere göre gruplandırılmış
(Şekil 4.1.4-4). Fayda formları oluşturmak için esas olarak bir bölüme ihtiyacınız var standart kontroller ( pilav. 4.1.4-5).

Panel penceresi Özellikleri 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 Özellikleri aşağıdakilerden birini yapın:

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

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

bir takım seç Özellikleri seçilen nesnenin bağlam menüsü;

bir klavye tuşuna basın .

Pirinç. 4.1.4-4. Öğeler paneli penceresi 4.1.4-5. Panel

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

Pirinç. 4.1.4-6. Panel penceresiÖzellikleri

Form ve kontrollerin her biri kendi içinde nesneler olduğundan, bu penceredeki özellikler kümesi seçilen nesneye göre değişir. Düğmeler alfabe sırasına göre ve
Kategoriye göre nesne özellikleri sırasıyla alfabetik sırayla veya gruplara (kategoriler) göre 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.

İletişim Kutusunu Kullanma Özellikleri, nesnelerin varsayılan özelliklerini değiştirebilirsiniz. Boyutlar ve konum gibi bir nesnenin özelliklerinin bir kısmı, form tasarımcısında nesneyi fare ile hareket ettirerek ve yeniden boyutlandırarak ayarlanabilir. Özellikler penceresinde ayarlanan özellikler, kod düzenleyici kullanılarak oluşturulan 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 çok esnek bir şekilde yapılandırılır.

Aşağıdaki adımlar, uygulamalı kullanım için önerilen şekilde VB geliştirme ortamı ayarlarının nasıl değiştirileceğini gösterir:

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

2) Seçmek Bütün ayarları sıfırla ve ardından düğmesine tıklayın Daha öte. VS, kurmadan önce mevcut ayarları bir dosyaya kaydetmenin gerekli olup olmadığını soracaktır. Yeni ayarların "uygunsuz" olduğu ortaya çıkarsa, bunlara geri dönebilmeniz için her zaman mevcut ayarlarınızın yedek bir kopyasını tutmalısınız.

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

4) Bu ayarlara geri dönmeniz gerekirse, aynı sihirbazı ve bunları geri yükleme seçeneğini kullanırsınız. İç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. Aletler ve Kod düzenleyici.

8) Mevcut ayarlarınızı sıfırlamanız gerektiğinde (örneğin, ayarlarda bir hata yaparsanı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 ayarları yapılandırılmışsa, görevleri çalıştırabilirsiniz. Ancak bunlar değiştirilmişse, projeler ve VB derleyicisi ile ilgili ayarların pratik çalışmada kullanılanlara karşılık geldiğini doğrulamak için aşağıdaki adımları gerçekleştirmelisiniz. Proje ve derleyici ayarlarını kontrol etmek için aşağıdakileri yapmanız gerekir:

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 ayarlarının ç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 kategoriye 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 parametrelerle eşleşmesi için yapılandırmanız ve

Geleneksel grafik kullanıcı arabirimi yaklaşımı, etkileşimin yeniden oluşturulmuş bir grafik ekran ve bir ışıklı kalem kullanımına dayalı olduğu Sutherland, Newman ve diğerlerinin çalışmasıyla ilgilidir. Grafik diyaloğunun daha da geliştirilmesi, uluslararası standartlar biçiminde düzenlemeye yol açan etkileşimli bilgisayar grafik sistemleri alanındaki ilerleme ile bağlantılıdır.
GKS, ilk uluslararası grafik standardıdır. İlk kez, "iş istasyonları" ve mantıksal giriş cihazları (klavye, seçim, konumlandırıcı, değerleyici, işaretçi, bir koordinat dizisinin girişi) kavramları sabitlenmiştir. Maalesef vektör çizim paradigmasının egemenliği sırasında tasarlandı. Bu nedenle diyalog desteğinin zayıflığı: uygulama programından (grafik paketi kullanıcısı) bile yeni cihazlar girememe veya cihaz görüntüsünü değiştirememe, bu da bir diyalog düzenlerken çoğunlukla karakter girişi kullanma ihtiyacına yol açar. Diyaloğun GKS'de uygulanması, uygulama programının ayrıcalığıdır, ayrı tasarım olasılığı beklenmemektedir.
Grafiklerin ikinci yönü - raster grafikler, etkileşimli sistemlerin sonraki tüm gelişimi üzerinde son derece büyük bir etkiye sahipti. Modern iş istasyonlarındaki kullanıcı arabiriminin tüm temel özellikleri Xerox PARC'ın çalışmasından türetilmiştir: pencere yönetimi

  • nesneleri temsil etmek için grafik sembollerin ("simgeler") kullanılması
  • doğrudan manipülasyon adı verilen bir etkileşim tarzı
  • farenin ekran konumlandırma aygıtı olarak popülaritesi
  • nesne yönelimli programlama stili.
O zamandan beri, kullanıcı arayüzleri oluşturmak ve yönetmek için araçları sınıflandırma sistemi üç düzeyde değerlendirildi:
  1. pencere yönetim sistemleri (WMS - Pencere Yönetici Sistemi);
  2. özel araçlar;
    • normal (MacIntosh, SunView . . .)
    • nesne yönelimli (Smalltalk-80, Andrew, InterView)
  3. kullanıcı arayüzü yönetim sistemleri.
Aşağıdaki bölümler, bu seviyelerin her birinin kısa bir tanımını, durumunu ve işlevsel tanımını verecektir.

Pencere Yönetim Sistemleri (WMS)

Çoklu pencere teknolojisi, kullanıcının tek bir ekranla mümkün olandan daha fazla bilgiye erişmesini sağlar. Windows, çeşitli bilgi kaynaklarına erişim sağlar. Kullanıcı, çeşitli kaynaklardan gelen bilgileri birleştirebilir, bilgileri farklı ayrıntı seviyelerinde keşfedebilir. Çoklu program modunda, birkaç paralel görevi yönetmek mümkündür. Her görevin girdisi ve çıktısı ayrı pencerelerde görüntülenerek kullanıcının her göreve gerektiği gibi odaklanmasını sağlar.
Pencereyle ilgili bir yönetim kaynağı işletim ortamı olan WMS şunları destekler:

  • örtüşen pencereler (ekranın dikdörtgen alanları);
  • çeşitli giriş cihazları (dijital ve analog);
  • imleçler
  • yazı tipleri.
Operatör ve uygulama programı tarafındaki arayüz, pencereleri açma/yok etme, boyutlarını ve konumlarını değiştirme, yukarı kaldırma, pencereyi bir simgeye küçültme ve geri yükleme komutlarını içerir. Bir grafik çıktı kitaplığı (yalnızca temel temel öğeler) ve bir olay işleyicisi içerir. Bu nedenle, kullanıcı arayüzünü uygulamak için bazı mekanizmalar vardır.
İki tür WMS uygulaması mümkündür: bir makinede çalışan temel bir sistem (Çekirdek Sistemi) ve bir istemci-sunucu modeli temelinde uygulanan bir ağ (Ağ odaklı).

Kullanıcı Arayüzü Araç Seti