bildirgec.org

warnsdorff hakkında tüm yazılar

Php dil sistemi yazımı

admin | 25 November 2010 21:58

Merhabalar

Bir çoğumuz kurumsal siteler kodlarken firma iki üç dilde olmasını istiyor.Bende size faydası olması için bunu php’de define ile nasıl yaparız onu göstereceğiz.

Öncelikle değişik bir çok yol var ben bu yöntemi kullanıyorum değişik yollarda mevcut.

İndex.php adında bir sayfa oluşturuyoruz bu sayfa içine;

1
2
3
4
5
<?php
echo '<center><title>DIL Kontrol</title>';
echo '<a href="kontrol.php?dil=TR">TÜRKÇE</a><a href="kontrol.php?dil=TR"></a> - <a href="kontrol.php?dil=EN">ENGLISH</a></div>'."<br>";
echo '</center>';
?>

kontrol.php adında bir sayfa oluşturuyoruz bu sayfa içine;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$dil =$_GET["dil"];
include ("$dil.php");
echo '<table width="200" border="1">
<tr>
<th scope="col">'.Ana.'</th>
<th scope="col">'.Dersler.'</th>
<th scope="col">'.Moduller.'</th>
<th scope="col">'.Dokumanlar.'</th>
<th scope="col">'.Haberler.'</th>
</tr>
</table>'
?>

TR.php adında bir sayfa oluşturuyoruz bu sayfa içine;

1
2
3
4
5
6
7
8
<?php
define ("Ana","Anasayfa");
define ("Dersler","Dersler");
define ("Moduller","Modüller");
define ("Dokumanlar","Dökümanlar");
define ("Haberler","Haberler");
?>

EN.php adında bir sayfa oluşturuyoruz bu sayfa içine;

1
2
3
4
5
6
7
<?php
define ("Ana","Home Page");
define ("Dersler","Lessons");
define ("Moduller","Moduls");
define ("Dokumanlar","Documenta");
define ("Haberler","News");
?>

Google açısından diğer sistemlerden daha etkili olduğunu söylebiliriz.

PHP ile iki tarih arasındaki günleri hesaplamak

admin | 25 November 2010 16:58

Bu yazdığım kod ile girilen iki tarih arasındaki günleri tek tek hesaplayarak ekrana basabilirsiniz. Şimdi kodu biraz inceleyelim.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$gelen_yil_1 = "2008";
$gelen_yil_2 = "2010";
$gelen_ay_1 = "10";
$gelen_ay_1 = "12";
$gelen_gun_1 = "05";
$gelen_gun_2 = "30";
$gelen_unix_time_1 = mktime(0, 0, 0, $gelen_ay_1, $gelen_gun_1, $gelen_yil_1);
$gelen_unix_time_2 = mktime(0, 0, 0, $gelen_ay_2, $gelen_gun_2, $gelen_yil_2);
while ($gelen_unix_time_1 <= $gelen_unix_time_2)
{
echo date("d-m-Y", $gelen_unix_time_1);
echo "</br>";
$gelen_unix_time_1 = $gelen_unix_time_1 + 86400;
}
?>

Sırasıyla yaptığımız işlemler söyledir.
Tarih bilgilerimizi giriyoruz. Bu bilgiyi bir form ile alabiliriz.

Django ile ORM ve uygulama geliştirmek

admin | 25 November 2010 14:10

Bir önceki yazımda django kurulumundan bahsetmiştim. Şimdi django ile basit bir application geliştirelim.

Öncelikle komut satırında projemizin bulunacağı dizine gelelim. (Örneğin c:projects)
Burada “python c:python27Scriptsdjango-admin.py startproject sinema” komutunu girelim. Sinema adında bir proje oluşturacaktır. django-admin.py scriptini istediğiniz dizine taşıyabilirsiniz.

Gördüğünüz gibi sinema adında bir klasör oluşturdu. Klasörün içine girdiğimizde 4 adet dosya görmekteyiz.

  • manage.py : projenin genel yönetimini yapacağımız script
  • settings.py : projenin ayarları
  • urls.py : urlleri belirttiğimiz script
  • __init__.py

Projemizi oluşturduk, gelelim yapılandırmaya. Sinema klasörünün içinde settings.py dosyasını düzenleyelim. İlk önce DATABASES dict objesinden veritabanını ayarlayacağız.

Django nedir, nasıl kurulur

admin | 22 November 2010 16:01

Django python üzerinde geliştirilmiş bir web framework’üdür. Django web programlama işini çok daha keyifli hale getiren bileşenler, yardımcılar barındırmaktadır. Türkiye’de çok fazla kullanılmasa da ileride çok daha yaygın olacağı kesindir. Ayrıca python tabanlı olması, uygulama geliştirme işlemini çok daha basitleştirmektedir. Django ile web uygulaması geliştirirken diğer python kütüphanelerini kullanabilmekteyiz. Örneğin bir sinema sitesi yapacağımızı düşünelim, ve bu sinema sitesine imdb.com gibi sitelerden otomatik veri çektireceğimizi düşünelim. Bunu her dilde olduğu gibi python’da da yazabiliriz. Ama önce bir python’un kütüphanelerine göz atıyoruz. Ve bir de bakıyoruz ki IMDbPy adında bir kütüphanesi var 🙂 Bunun gibi bir çok kolaylık daha…

seçim kutuları için gruplama mantığı (optgroup elemanı)

admin | 13 November 2010 09:39

html bazlı ekran tasarlarken select elemanı içerisine eklenen seçenekler genellikle aynı düzeyde sıralanan değerlerden oluşur.
doğal olarak örneğin bir il-ilçe seçileceği takdirde genellikle sergilenen yaklaşım önce birinci seçim kutusu ile ili seçtirmek, ardından seçilen ile göre diğer kutuyu doldurup kullanıcıdan ilçe seçimini beklemek şeklinde düşünülür.
kimi zaman, özellikle kayıt sayıları büyük rakamlarla ifade edilmediği durumlarda bu gibi işlevleri yerine getirmek için pratik bir metod söz konusu.

elemanlar seçim kutusuna optgroup elemanı kullanarak hiyerarşik biçimde yerleştirildiği takdirde yazılımcı için de, kullanıcı için bir sadelik sağlanabilir.

asterisks ile gizlenmiş şifrelerin öğrenilmesi

admin | 12 November 2010 18:39

formlara girdiğimiz şifrelerin gizli olmasından dolayı * işareti ile gösterildiğini hepimiz biliyoruz. bu * işaretinin altında yatan şifremizi bir gün olur da öğrenmemiz icap ederse diye birileri bir javascript kodu yazmış. aramızda bilenler olabilir, bir zamanlar (disket zamanlarında) “ayna” isimli bir program vardı, o program da bu işe yarardı. yani aslında önümüzde duran ama * işareti ile saklanmış olan şifreleri gün ışığına çıkarmaya yarıyorlar.

kod:

1
javascript:(function(){var s,f,j,f,i; s = ""; f = document.forms; for(j=0; j<f.length; ++j) { f = f[j]; for (i=0; i<f.length; ++i) { if (f[i].type.tolowercase() == "password") s += f[i].value + "n"; } } if (s) alert("passwords in forms on this page:" + s); else alert("there are no passwords in forms on this page.");})();

Image Crop With JCrop Asp.Net

admin | 12 November 2010 15:33

Default.aspx Dosyamızın kod kısmına.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="Css/jquery.Jcrop.css" rel="stylesheet" type="text/css" />
<script src="http://arsiv.pilli.com/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="http://arsiv.pilli.com/Scripts/jquery.Jcrop.js" type="text/javascript"></script>
<script language="Javascript" type="text/javascript">
// Remember to invoke within jQuery(window).load(...)
// If you don't, Jcrop may not initialize properly
jQuery(document).ready(function () {
jQuery('#ImageCrop').Jcrop({
onChange: showCoords,
onSelect: showCoords
});
});
// Our simple event handler, called from onChange and onSelect
// event handlers, as per the Jcrop invocation above
function showCoords(c) {
jQuery('#X').val(c.x);
jQuery('#Y').val(c.y);
jQuery('#X2').val(c.x2);
jQuery('#Y2').val(c.y2);
jQuery('#W').val(c.w);
jQuery('#H').val(c.h);
};
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:Label ID="Status" runat="server"></asp:Label>
<asp:Panel ID="PanelUpload" runat="server">
<span>Dosya Adı</span> <asp:TextBox ID="TextFileName" runat="server"></asp:TextBox>
<asp:FileUpload ID="FU" runat="server" />
<asp:Button ID="UploadBtn" runat="server" onclick="UploadBtn_Click" Text="Upload" />
</asp:Panel>
<asp:Panel ID="PanelResize" runat="server">
<asp:panel ID="PanelCrop" runat="server">
<asp:Image ID="ImageCrop" runat="server"/>
</asp:panel>
<asp:Panel ID="PanelCoords" runat="server">
<asp:TextBox ID="X" runat="server"></asp:TextBox>
<asp:TextBox ID="X2" runat="server"></asp:TextBox>
<asp:TextBox ID="Y" runat="server"></asp:TextBox>
<asp:TextBox ID="Y2" runat="server"></asp:TextBox>
<asp:TextBox ID="W" runat="server"></asp:TextBox>
<asp:TextBox ID="H" runat="server"></asp:TextBox>
</asp:Panel>
<asp:panel ID="PanelControls" runat="server">
<asp:Button ID="CropButton" runat="server" onclick="CropButton_Click" Text="Crop" />
<asp:Button ID="CancelButton" runat="server" Text="Cancel"
onclick="CancelButton_Click" />
</asp:panel>
</asp:Panel>
<asp:Panel ID="PanelSave" runat="server">
<asp:Image ID="ImageCropped" runat="server" />
<asp:TextBox ID="TextSaved" runat="server"></asp:TextBox>
</asp:Panel>
</form>
</body>

Bilgisayarınız başında kim ne kadar durmuş?(Python-Webcam)

admin | 06 November 2010 10:29

Son zamanlarda bilgisayarım başına her oturduğumda birşeylerin değişmiş olduğunu farkettim ve aklımdaki “Kim kullanıyor?” , “Ne zaman kullanmış?” gibi soru işaretlerini gidermek için python ile kameradan belirli aralıklarla resim çekip kaydeden bir kaç satır yazdım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from VideoCapture import Device
import time
def cek():
resimadi=time.strftime("%d-%b-%H-%M") #Tarih ve Saati resim adı yapıyoruz
Resim = "resimler/%s.jpg" % (resimadi) #dizini ayarlıyoruz
cam = Device()
cam.saveSnapshot(Resim) #ve resmi çekiyoruz
while True:
cek()
time.sleep(900) #!5 dakikada bir çekmeye ayarlıyoruz

Google Maps Harita Özellikleri

admin | 05 November 2010 15:44

Google Maps Api yazılarıma devam ediyorum. Diğer yazılara yazı sonundaki linklerden ulaşabilirsiniz.
Bu yazıda ise Map nesnesi için girilen “Options” yani me gibi değişiklikler yapabileceğimizden bahsetmeye çalışacağım.
Hemen Api için gerekli kodu “head” etiketleri arasına yerleştiriyoruz.

1
<script type="text/javascript" src="http://arsiv.pilli.com/http://maps.google.com/maps/api/js?sensor=true"></script>

Yine head etiketleri arasına gerekli script imizi koyuyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var map;
function initialize(){
var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var myOptions = {
backgroundColor:"000000",
zoom: 4,
disableDoubleClickZoom:true,
draggable:true,
center: myLatlng,
keyboardShortcuts:false,
mapTypeControl:true,
scrollwheel:true,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
});
}

Burada önemli olan myOptions değişkenine verilen değerlerdir.
backgroundColor; Harita yüklenirken görülecek arkaplan rengi, İngilizce isimleri ya da RGB değerleri girilebilir.
disableDoubleClickZoom; Çift tıklama ile yakınlaşma, true yada false olabilir.
draggable; haritanın tutulup sürüklenebilmesi, true ya da false olabilir.
center; Haritamızın merkezi için gerekli koordinatlar fakat bunun bir LatLng nesnesi olması gerekiyor örneğimizde olduğu gibi,
keyboardShortcuts; Google tarafından konulan klavye kısayolları kullanılabilmesi, true ya da false olabilir.
mapTypeControl; Haritanın sağ üst kısmında gözüken harita tipini değiştirmeye yaran ikonlar, true ya da false olabilir.
scrollwheel; scoll ile yakınlaşma ve uzaklaşma, true ya da false olabilir.
mapTypeId; Harita tipi, alternatifler: HYBRID; sokak ve uydu fotoları karışımı, ROADMAP; sokaklar ve caddeler, SATELLITE; uydu fotoları TERRAIN; fiziki harita zemin ve bitki örtüsü için.
Bu kodlardan sonra “head” etiketi kapatılıp “body” etiketi içine “map_canvas” id’ li bir eleman konur ve çalıştırılır.
Diğer yazılar;
Google Maps Api v3 ile Tıklanan Noktalar Arası Yol Tarifi Alma
Google Maps Api v3 Giriş

Asp.Net ile Online Ziyaretçi Sayısını Bulmak

admin | 03 November 2010 14:10

Online Ziyaretçi Sayısı
Online Ziyaretçi Sayısı

Bu yazıda Asp.Net ile Online Ziyaretçi sayısını bulup web formumuza aktaracağız.
Öncelikle projemize bir tane Global.asax dosyası ekleyelim global.asax dosyamızın;

Uygulama başlangıcı kısmı

1
2
3
4
void Application_Start(object sender, EventArgs e)
{
Application.Add("OnlineZiyaretciSayisi", 0);
}