Kategori Arşivi Programlama

Matlab: text dosya içerisinden matrise atama

Bilindiği üzere matlab’de text dosya işlemleri için birçok fonksiyon bulunmaktadır. Uygun olanı kullanmak bazen büyük zaman kazancı sağlıyor. Bu amaçla dlmread fonskiyonundan bahsetmek istiyorum. Bu fonksiyon ile text dosyası içerisine birer aralıklı olarak yazılmış matris direkt olarak bir değişkene atanabiliyor. Kısacası text dosyasıyla uğraşmak zorunda kalmıyorsunuz. Bu işlem için aşağıdaki komutu kullabilirsiniz.

 1 3 4 5 6

 2 7 3 4 1

şeklinde içeriği olan file.txt adında bir text dosyasının içeriğini almak için;

matris = dlmread(‘file.txt’); kodu yeterli olacaktır.

Bu işlemden sonra matris değişkenine yukarıdaki matris atanmış olacaktır. Text dosyanın çalıştığınız dizinde olmasına dikkat etmelisiniz.

PHP dosyalarını parametre göndererek çalıştırma

Ubuntu’da komutla PHP dosyalarının çalıştırılabildiğini biliyorsunuzdur. Geçenlerde parametre göndererek bu işlemi yapmam gerekti. Bunun için öncelikle çağırmak istediğiniz php dosyasının başına aşağıdaki kodu eklemeniz gerekmektedir. Bu kod daha sonra kullanacağınız komutu uygun bir şekilde gönderecektir.

parse_str(implode(‘&’, array_slice($argv, 1)), $_GET);

Örneğin aşağıdaki şekilde tarayıcıdan gönderdiğiniz bir sorguyu altındaki komutu yazarak Ubuntu’dan çalıştırabiliriz.

http://www.example.com/form.php?parametre1=deger1&parametre2=deger2

php -f /…/…./form.php – parametre1=deger1 parametre2=deger2

PHP Warning: exec() has been disabled for security reasons running Register Automation script

Php’de karşılaşılan bu problemi php.ini dosyasını düzenleyerek çözülebilir. Bu dosya sunucunun  konfigürasyon dosyasıdır. Sunucuyla ilgili bir çok ayar ve kısıtlama buradan yapılabilir. Php.ini dosyasının yerini bulmak için bir php dosyası oluşturup phpinfo() fonksiyonunu kullabilirsiniz. Böylelikle sunucu ayarları görüntülenecektir. Php.ini dosyasının yeri görüntülenen sayfada Configuration File(php.ini) Path yazan yerdedir. Konfigürasyon dosyasını açıp orada

disable_functions=system,system_exec,shell,shell_exec,passthru,escapeshellarg…

şeklinde devam eden satıra gelip ilgili fonksiyonu oradan silerek enable duruma getiriyoruz. İstenirse aşağıdaki gibi tüm fonksiyonları silerek tüm fonksiyonları enable duruma getirebiliriz.

disable_functions=

Daha sonra apache web sunucusunu restart ederek değişiklikleri geçerli hale getiriyoruz.

Bing Maps : Map loaded in unsupported Uri Scheme. Please reload page in “http” scheme. Hatası

Bing Maps Silverlight SDK’yı kullanacağınız projeyi oluştururken başlangıçta size bir asp.net application içerisinde host ediyim mi sorusuna ok demeniz faydalı olacaktır.Çünkü böyle yapmadığınızda projeyi her çalıştırdığınızda kendi bir testpage içerine koyup o şekilde çalıştıracaktır.Bu şekilde Visual Studio’da projeyi çalıştırdığınızda Bing Maps : Map loaded in unsupported Uri Scheme. Please reload page in “http” scheme hatasını alırsınız. Expression Blend’de çalıştırdığınızda problem olmayacaktır ama dediğim gibi Visual Studio’da bu problemle karşılaşılıyor. Projeyi oluştururken yapacağınız küçük bir işlemle ilerde sorun çıkmasını önleyebilirsiniz.

bingmapserror

Silverlight – WPF Kendi oluşturduğumuz Brush’a kodla ulaşmak

Expression Blend’de oluşturduğumuz brushların yanındaki kutucuğa tıklayarak Convert to New Source dersek oluşturduğumuz Brushları bir anlamda template haline getiririz ve başka yerlerde kullanma imkanımız olur.Ben de bu şekilde kullanmak istedim ama bir sıkıntıyla karşılaştım. Oluşturduğum brush’a isim verdiğim halde bir türlü ulaşamıyordum. Nette yaptığım araştırmalar sonucunda aşağıdaki gibi bir çözümle problem halloldu.

rectange.Fill = (Brush)FindResource(“olusturdugum_brush_ismi”);

Böylece oluşturduğum brush’ı istediğim yerde kullanabiliyorum.

Cannot convert method group ‘Count’ to non-delegate type ‘int’. Did you intend to invoke the method?

Web service ve Linq’le çalışırken şimdi de  “Cannot convert method group ‘Count’ to non-delegate type ‘int’. Did you intend to invoke the method? …” hatasıyla karşılaştım. Normalde hatasız çalışan kodumda çıkan bu hata, bir önceki postta bahsettiğim hatayla ilgili olabilir aslında. Çünkü aynı anda çıktılar. Normalde doğru çalışması gereken ve önceden çalışan aşağıdaki kodu, alttaki koda çevirince sorun çözüldü. Doğrusu sebebi hala anlamış değilim ama doğru çalışıyor şimdi.

int sayı = e.Result.Count;

/* normalde bu şekildeydi ve önceden çalışıyordu. hatadan sonra aşağıda gibi düzelttim ve şu anda sorun yok. */

int sayı = e.Result.Count();

Problem bahsettiğim gibi Linq ve Web Service ikilisinden kaynaklanıyor olabilir.

WPF – Sayfa görünümünü ayarlama

WPF’te yapacağım bir uygulamanın ekranı tamamen kaplaması ve title bar’ın görünmez olması gerekiyordu. Normal windowlarla çalışırken problem olmuyor.

<this.WindowState =  WindowState.Maximized;
      this.WindowStyle = WindowStyle.None;

bu kodlarla olayı çözebiliyoruz. Farklı olarak page’lerle çalışıyorsak bu kodları kullanmak mümkün olmuyor. Bunun yerine uygulama ayarlarının tutulduğu app.xaml dosyasında değişiklik yapmamız gerekiyor. Aşağıdaki kodlarla uygulamamızı düzenlersek uygulamamız tam ekran olarak çalışacak, title bar görünmeyecek ve farenin imleci uygulama çalışırken görünmeyecektir.

 <Application.Resources>
    <!-- Resources scoped at the Application level should be defined here. -->
     <Style x:Key="{x:Type NavigationWindow}" TargetType="{x:Type NavigationWindow}">
        <Setter Property="WindowStyle" Value="None" />
        <Setter Property="ShowsNavigationUI" Value="False" />
        <Setter Property="WindowState" Value="Maximized" />
        <Setter Property="Topmost" Value="True" />
        <Setter Property="Cursor" Value="None" />
     </Style>
 </Application.Resources> 

Bing Maps Silverlight Control SDK – Giriş

Kasım ayı içerisinde Microsoft Bing Maps Silverlight Control SDK’yı yazılımcıların kullanımına sundu. Bu SDK adından da anlaşılacağı üzere Silverlight üzerinden Bing Maps’e erişip kontrol edilmesini sağlıyor. Biraz uğraşılırsa haritalarla alakalı çok güzel projeler çıkartılabilir. Bu SDK’nın kurulumu ve kullanılması hakkında birşeyler yazmaya çalışacağım.

Öncelikle yapacağımız şey altyapıyı kurmak. Silverlight’la proje yapmak için bilgisayarımızda kurulu olması gereken programlar şöyle;

– Visual Studio 2008 ve Visual Studio 2008 Service Pack 1

– Silverlight 3 Tools for Visual Studio 2008 SP1

– Bing Maps Silverlight Control SDK 

Bunlara ek olarak Microsoft Expression Blend 3’ü yükleyerek tasarım kısmı için kullanabilirsiniz. Yukarıdaki programlar sırasıyla kurulduktan sonra altyapımız hazır hale geldi. Son olarak buradaki adresten live adresimizle bağlanarak Bing Maps Developer Account almamız gerekiyor.

Capture5

Artık yeni bir proje açarak Bing Maps’i Silverlight içerisinde kontrol edebiliriz. Şimdi giriş projemize başlayabiliriz. Öncelikle yeni bir Silverlight projesi oluşturuyoruz.

silverlight1Capture2

Ok diyerek projemizi açtık.Şimdi projemize Bing Maps SDK’yı reference olarak eklememiz gerekiyor. Solution Explorer kısmından Reference’a sağ tıklayıp Add Reference diyoruz. Daha sonra Browse’a tıklayıp SDK’yı yüklediğimiz dizine geliyoruz. Default olarak ‘ C:\Program Files\Bing Maps Silverlight Control\V1\Libraries’ kısmına yüklenen kütüphaneleri projemize ekliyoruz.
 capture3
Capture4
Daha sonra Solution Explorer’da MainPage.xaml kısmının aşağıdaki linkte olduğu gibi düzenliyoruz. Projeyi derleyip çalıştırdığımızda aşağıdaki ekran görüntüsü karşımıza gelecektir.
MainPage.xaml (707,00 bytes)

Adsız

Haritamız artık karşımızda.Peki daha başka neler yapabiliriz. Örneğin projemize textboxlar ve buton ekleyip buradan istenen paralel ve meridyende bulunan bir yere konumlanabilir, yine textbox’ın içerisine ismini yazdığımız bir ilçe, semt, ülke vs..’ye konumlanabiliriz. İki yerleşim yeri arası uzaklığı hesaplayabiliriz. İstediğimiz koordinata Pushpin yani raptiye koyarak işaretleyebilirsiniz. Diyebilirsiniz ki zaten ben internet üzerinde Bing Maps kullanarak bunları yapabiliyordum, ama artık kendi projeniz üzerinde yapıyorsunuz. Buna ek olarak haritanın bu saydığım özelliklerini ve daha fazlasını kullanarak çok güzel projeler çıkarılabilir, veritabanından gelen verilerle bu işlemler gerçekleştirilebilir vs. Bu SDK’nın diğer özelliklerine ve bunlara ait kodlara aşağıdaki adresten ulaşabilirsiniz.Kolay gelsin..
http://www.microsoft.com/maps/isdk/silverlight/