Plazma sayı 1, sayfa 60

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 60

sinus1.vbs Dim i, a Const pi = 3.1415926536

For i = 0 to 255 a = a & sin(i / 128 * pi) & ", " Next MsgBox a

Evet işte oldu... mu? Tam olarak değil. Çünkü çıktıyı artık browser ekranına veremiyoruz. Mesaj kutusu kullanarak ekrana yazdırdık ancak yine sorunlar var. Birincisi mesaj çok uzun olunca tamamı ekrana gelmiyor. İkincisi mesaj olarak ekranda görsek de kes&yapıştır işlemini gerçekleştiremiyoruz. Peki ne yapmamız gerekiyor? En iyi yöntem sonuçları bir dosyaya yazdırmak. Bunun için de artık ActiveX kullanmaya başlayabiliriz.

sinus2.vbs Dim i, a Dim oFSO, tf Const pi = 3.1415926536 Set oFSO = CreateObject("Scripting.FileSystemObject") Set tf = oFSO.CreateTextFile("sonuclar.txt", True) For i = 0 to 255 tf.WriteLine(sin(i / 128 * pi)) Next tf.Close Set tf = Nothing Set oFSO = Nothing

İşte şimdi oldu. Ancak sonuçlara dikkat edecek olursanız bazıları "4,90676743275773E-02" şeklinde biçimlendirilmiş. Bu sorunu gidermek için Visual Basic ve Visual Basic Scripting'in desteklediği FormatNumber fonksiyonunu kullanabiliriz. Bu durumda scriptin son hali;

sinus3.vbs Dim i, a Dim oFSO, tf Const pi = 3.1415926536 Set oFSO = CreateObject("Scripting.FileSystemObject") Set tf = oFSO.CreateTextFile("sonuclar.txt", True) For i = 0 to 255 tf.WriteLine(FormatNumber(sin(i / 128 * pi), 7)) Next tf.Close Set tf = Nothing Set oFSO = Nothing

Bu hale geliyor. Burada FormatNumber'a verdiğimiz ikinci parametre değeriyle virgülden sonra 7 basamağa hassas bir sayı olarak biçimlendirmiş oluyoruz.

ActiveX kullanımıyla birçok şey yapmak, hatta hatta OpenGL, DirectX kullanmak da mümkün ancak Visual Basic Script ya da Java Script'i bu amaçla kullanmak pek de anlamlı olmayacaktır. Bu scripting dillerini bu tür küçük hesaplar için kullanmanızı tavsiye ederim.

TinyPTC:

Aslında TinyPTC yalnızca ekrana nokta basmaya yarayan bir grafik kütüphanesi. Yani çizgi çizmek için bile kendi rutinlerinizi yazmanız gerekiyor. Eğer bu tür şeylerin hazır geldiği bir kütüphane istiyorsanız OpenPTC ya da SDL sizin için daha uygun olacaktır. Ancak kullanımı en basit ve en temel kütüphane olması nedeniyle TinyPTC ile başlamayı uygun gördüm.

TinyPTC yalnızca 3 fonksiyondan oluşuyor.

• ptc_open • ptc_update • ptc_close

Hepsi bu kadar. Kullanımları da oldukça basit. Aşağıda çok basit bir kullanım örneği bulabilirsiniz.

test.c #include "tinyptc.h"

#define WIDTH 320 #define HEIGHT 200 #define SIZE WIDTH*HEIGHT int buffer[SIZE];

int main() { if(!ptc_open("Test Platformu", WIDTH, HEIGHT)) return 1; while(1) { // Programınızı Buraya Yazabilirsiniz ptc_update(buffer); } ptc_close();

Klavyeyle gezinmek için ← ve → tuşları.