Programlama

Programlama

Programlama ya da diğer adıyla yazılım, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir.Diğer bir tanım verecek olursak programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir. Wikipedia

PIC Basic’de PORTA’yı çıkış olarak kullanmak

PIC16F877 üzerinde denemeler yaparken PORTA'yı her yazışımda sıfırlandığını gördüm. Örneğin aşağıdaki kod çalıştıktan sonra yanık kalan tek led PORTA.1'e bağlı olandı. PORTA'nın herhangi bir...

Java Masters 2006, Finalde bir Türk

BenQ ve Sun firmalarınca her yıl düzenlenen java uygulama geliştirme yarışmasında bu yıl bir Türk finale kalmayı başarmış. Milli takımımızın yarı finale kalması kadar...

Delphi’de access violation hatalarını gidermek

Access violation hatası belleğin işlem yapılan konumunun okunamamasından veya yazılamamasından kaynaklanır. Hata mesajında hataya neden olan kodun segment ve ofset adresleri bildirildiğinden programcının hatanın yerini tespit etmesi zordur. Benzer sorunlar sıfıra bölme (zero division) ve yığın taşması (stack overflow) gerçekleştiğinde de olur.

Delphi programlarında bu tür sorunlara neden olan kod satırlarını tespit münkündür. Bunun için Project->Options...->Linker ekranındaki Map file ayarı Detailed olarak ayarlanır. Bundan sonra her derleme işleminde uzantısı map olan bir bellek harita dosyası oluşturur.

Bu dosyada program  kod satırlarınıa karşılık gelen makina kodlarının ofset adresleri yer alır. Böylece hatanın oluştuğu bellek adresinin hangi kod satırına karşılık geldiği bulunabilir.


Hatalı kod satırını daha düzgün ve ayrıntılı olarak raporlayabilmek için uLkStackTrace class'ını kullanabiliriz. uLkStackTrace Mozilla lisansıyla dağıtılan bir SourceForge.net projesi.

uLkStackTrace sınıfınınkullanıldığı örnek proje dosyasını aşağıdaki bağlantı ile indirebilirsiniz:



UnhandledExceptions_DelphiSourceCode.rar (~241KB)<


Örnek projede de görüleceği üzere, sınıfın kullanılmasından kısaca bahsetmek  gerekirse;
  • Uses bloğuna uLkStackTrace unit ismini ekleyin.
  • İstisnaları ekrana veya bir dosyaya rapor edecek bir prosedür hazırlayın.
  • LkExceptionReporter yordamına bu prosedürü atayın.
  • Rapor prosedürünü Form.Create'in başına yazmayı unutmayın.

Tetris oyunu Pascal kaynak kodu

Teknik lise son sınıf  stajında boş zamanlarımda yazdığım Tetris oyunu hala oynamakta zevk aldığım bir oyun. Zorlaşan aşamalardan oluşuyor ve her aşamada puan topluyorsunuz....

Light-Bot ile programlama yeteneğinizi sınayın

Light-bot programcılık yeteneklerini sınamak veya geliştirmek isteyenlerin hoşuna gidecek bir oyun. Oyun 12 aşamadan oluşuyor, son seviyeler oldukça zorlu diyebilirim. Oyunun amacı verilen komutlar...

C++ dosya şifreleme programı

Üniversite zamanlarında (2002) ödev olarak yazdığım bir dosya şifreleme programı daha (Okocas Encoder)... O zamanlar ne çok seviyormuşum şifrelemeyi. Demek ki o zaman da...

Scratch: Programlama öğrenmenin zevkli ve kolay yolu

Özellikle meslek liselerinin ilk yılında verilmeye çalışılan programlama mantığını öğrenmek öğrenci açısından bazen zor olabiliyor. Scratch programı Türkiye'de henüz yaygın olmasa bile dünyada uzun zamandır...

Pardus Linux ile Paralel Port (LPT) kontrolü

Linux'da paralel port kontrolü diğer işletim sistemlerine göre oldukça kolay. Tek bir satır C kodu ile porta değer göndermek mümkün. Örneğin; outb((unsigned char)255, 0x378); outb komutu birinci...

Hour of Code: Kodlama Saati ile 4’ten 104’e Herkes için Programlama

Kodlama Saati 180'den fazla ülkede gerçekleşen 10 milyonlarca öğrenciye ulaşmış küresel bir harekettir. Herkes dünyanın herhangi bir yerinde herhangi bir Kodlama Saati etkinliğini organize...

Çizginin İki Yanı – Fatih NAR

"Çizginin İki Yanı", 2003 yılında ODTÜ Kitap Topluluğu'nun düzenlediği hikaye yarışmasında dereceye giren bir hikayenin adı. Hikayenin konusu, uzun yıllar üzerinde çalıştığı projenin ardından hayatını...

PHP ile Paralel Port (LPT) Kontrolü

Bir önceki yazımda Pardus Linux üzerinde LPT kontrolünün nasıl yapılacağını anlatmıştım. Şimdi bu işi bir adım daha ileri götürerek paralel port kontrolünü PHP ile...

Delphi: "Invalid argument to date encode" hatasını gidermek

TIdHttp içinde aniden peydahlanan bu sorun kodun ele aldığı tarih bilgisinin, daha doğrusu tarih formatının önceden varsayıldığı gibi olmamasından kaynaklanıyor. Aslında bu sorunun çözümü...

Varnish, Child not responding to CLI, killing it.

1 haftadır zaman zaman varnish cache sunucusu, çöküyor watcheri bunu algılıyor killiyor, buraya kadar bir sorun yok ama ne hikmetse tekrar başlatmıyor ve servis kapalı kalıyor. Hata...

Java, C, Pascal, C# .Net

Entellektüel bir veryansın mı desem yoksa bilişim alanı üzerine gerçekleştirilen bestelerin öncüsü mü. Bir mühendislik öğrencisinin bestelediği şarkı fena olmamış. Alabilene mesajlar var bu şarkıda. Şarkıyı buradan dinleyebilir, sözlerine de buradan

Delphi ile web sayfasının ekran görüntüsünü almak

About.com birçok konuda olduğu gibi Delphi'de yazılım geliştirme konularıyla ilgili yazılar yayınlıyor. Makaleler ve çeşitli kod örneklerinden oluşan yazılar ele aldığı konuların kullanışlılığı ve anlatımındaki yalınlık ile akılda kalıyor. Aşağıda, benim de zamanında çok aradığım ve bazılarının işine yarayabilecek, web sitelerinin ekran görüntüsünü çekmek için bir kod yer alıyor. Kod TWebBrowser nesnesi ile taranan sayfaların ekran görüntüsünü kaydetmek için kullanılıyor.

2006’nın programlama dilleri

TIOBE Software dünyanın çeşitli yerlerindeki yazılım geliştiriciler ve eğitim kuruluşları ile yaptığı araştırmanın sonuçlarını yayınladı. Aylık araştırmalar şeklinde yapılan incelemenin 2005 yılı ile karşılaştırmalı sonuçları aşağıdaki gibi. Puan hesaplamalarında Google, MSN ve  Yahoo! gibi popüler arama motorlarına da başvurulmuş. TIOBE araştırma sonuçlarının en iyi programlama dilini veya en fazla kod yazılmış dili göstermediğine dikkat çekmiş.

Yazarlar

657 İÇERİKLER53 YORUMLAR
6 İÇERİKLER0 YORUMLAR