Yazar |
|
techno
istanbul
Kayıt: 24.12.2006 |
|
Mrb arkadaşlar sormak istedigim sey şu kısaca pek kısa olmasa da..
Calendar Part1
Calendar Part2
Kısaca özetliyorum ;
Bir günlük yani sabah 9 dan aksam 9 a kadarlık bi zaman dilimimiz var.Biz bu zaman dilimlerine istedigimiz gibi aynı zaman diliminde sadece bir event(olay) olmak şartıyla yapılacaklar listesi ekliyoruz.Her event için bir başlangıç zamanı bir event name(id) bir de bitiş zamanı olucak.
12 saat*60 dakika =720 --> yani web sayfasında 720 yüksekliginde düşünebilirz.(her pixel Bir dakika) genişlik maximum 600 pixel
Mesela başlangıç değeri 3 olsun bitiş değeri 100 diyelim.Bunu kullanıcıdan aldıktan sonra 3 den 100e kadar yükseklikte ve 600 px genişlikte bütün alanı kaplayan tek bir event'a sahip olduk.
Eğer başlangıç veya bitiş değeri bunların arasında olursa(3 ile 100) çakışma(overlapping) var demektir ve olay görünümü bu iki çakışan olay arasında ikiye bölünür.Genişligi 300px ilk event alır.Diger 300ü de ikinci event ve her çakışma oldugunda çakışma sayısı kadar yani 5 çakışma varsa 600/5=120px(width) olarak paylaştırılır.Herhangi bir çakışma yoksa zaten 600 genişlikte yazdırılır.(calendar part2 deki resim )
Bizden istenen php yada javascript ile fonksiyon yazmak ilk olarak ve bu fonksiyonu kullanarak resim2 dekine benzer bi görünüm oluşturmak.
örnek: function layOut(id,startTime,endTime){ }
Bu konudaki algoritmik yaklaşımlarınızı bekliyorum arkadaşlar...cünkü cakısma anında kontol edilmesi gereken bi cok durum oluyo farkettiyseniz..
mesela ilk kontrol edilicek durumu ben söyleyim bi kere kullanıcı 0 ile 720 arasında girmelidir.Baslangic bitisten büyük olamaz dogal olarak vs vs vs
Devamı?
ANT?DEPRES?FFEDERALMECBUR??ST?KAMETSAPLANTITUZAKMERAKB?TAP
www.serkankoch.com
|
|
Yazar |
|
akgulozkan
istanbul
Kayıt: 12.12.2006 |
|
forumun düzenle butonu mu bozulmuş? arka arkaya konu açmışsın..
-->öncelikle fonksiyon her girilen değeri bir yerde tutmalı (db olabilir, herhangi bir dizi olabilir, saçma sapan bir dosya olabilir bunu uygulamanın yapısı belirler).
-->daha önce girilmiş olan verilerle karşılaştırma yapılarak çakışma olup olmaması tesbiti yapılır.
***bir veri yapısı oluşturup (ID, başlangıç, bitiş şeklinde değişik tipte değişkenleri olan bir yapı) bu yapılardan oluşan bir yığın şeklinde verilerini tutabilirsin. (eğer db kullanmak istemiyorsan)
--> çakışma sayısını belirlersin (dil ayrıntılarına girmiyorum)
--> ona göre de genişliği bölersin..
aslında senin anlattığından daha fazla bişeye gerek yok.. bence
|
|
Yazar |
|
techno
istanbul
Kayıt: 24.12.2006 |
|
Bende anlamadım neden flood oldugunu ama benden kaynaklanan bi sorun oldugu kadar sitede de sorun var demektir.FLood konusunda..Herneyse soruya gelirsek;
VT kullanmayı düşünmüyorum post metoduyla girilen verileri alcak ve Php-Self olarak sayfa içerisinde dönücek bütün olaylar...
Zorlandıgım kısım 1--->Table kullanarak calendar 2 deki gibi bi şekil oluşturmak biraz imkansız gibi geldi.
2-->Div tagları kullanırsak bide CSS ile ugrasmakta ayrı bi mesele...
3-->Kesin çözümün php image fonksiyonlarıyla grafik çizdirmek oldugu kararına vardım....Ama tek bi hata var aşagıdaki kodlarda onu çözemedim henüz.
Örnek::
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Serkan Koc::Event Processing</title>
</head>
<body>
<table vspace="0" hspace="0" width="610" height="720" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>
<table bgcolor="#888888" height="720" width="10" cellpadding="0" cellspacing="0">
<tr>
<td>9AM</td>
</tr>
<tr>
<td>9.30</td>
</tr>
<tr>
<td>10</td>
</tr>
<tr>
<td>10.30</td>
</tr>
<tr>
<td>11</td>
</tr>
<tr>
<td>11.30</td>
</tr>
<tr>
<td>12PM</td>
</tr>
<tr>
<td>12.30</td>
</tr>
<tr>
<td>1</td>
</tr>
<tr>
<td>1.30</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td>2.30</td>
</tr>
<tr>
<td>3</td>
</tr>
<tr>
<td>3.30</td>
</tr>
<tr>
<td>4</td>
</tr>
<tr>
<td>4.30</td>
</tr>
<tr>
<td>5</td>
</tr>
<tr>
<td>5.30</td>
</tr>
<tr>
<td>6</td>
</tr>
<tr>
<td>6.30</td>
</tr>
<tr>
<td>7</td>
</tr>
<tr>
<td>7.30</td>
</tr>
<tr>
<td>8</td>
</tr>
<tr>
<td>8.30</td>
</tr>
<tr>
<td>9</td>
</tr>
</table>
<td width="600" height="720"><?php
if($_POST[op] !="do") {
echo "
<h1>DAILY EVENT CALENDAR</h1>
<FORM method="POST" action="$_SERVER[PHP_SELF]">
<br>
Start:<input type=text name=startTime size=5 maxlenght=5>
End :<input type=text name=endTime size=5 maxlenght=5>
<input type=hidden name=op value=do>
<p><input type=submit value="ADD EVENT">
</FORM>";
}
else {
$myimage=imagecreate($_POST[startTime],$_POST[endTime]);
$gray=imagecolorallocate($myimage,185,185,185);
imagecolortransparent($myimage,$gray);
header ("Content-Type: image/jpeg"); /* sadece Bu kısım sürekli hata veriyo header() zaten kullanıldı diye bunun çözümü ne olabilir kodların geneli itibariyle.. */
imagejpeg($myimage);
imagedestroy($myimage);
}
?>
</td>
</tr>
</table>
</body>
</html>
ANT?DEPRES?FFEDERALMECBUR??ST?KAMETSAPLANTITUZAKMERAKB?TAP
www.serkankoch.com
|
|
Yazar |
|
blackout
Kayıt: 11.12.2008 |
|
$myimage=imagecreate($_POST[startTime],$_POST[endTime]);
$gray=imagecolorallocate($myimage,185,185,185);
imagecolortransparent($myimage,$gray);
header ("Content-Type: image/jpeg");
imagejpeg($myimage);
imagedestroy($myimage);
Böyle bir kodu sayfa içine koyarak imaj oluşturamazsın. İmajı ayrı bir dosyada oluşturup daha sonra sayfa içerisinden çağırabilirsin.
Örneğin sayfa içinde:
<img src="image.php?startTime=<?php echo $_POST['startTime'];?>&endTime=<?php echo $_POST['endTime'];?>" />
image.php içinde ise:
$myimage=imagecreate($_GET['startTime'],$_GET['endTime']);
$gray=imagecolorallocate($myimage,185,185,185);
imagecolortransparent($myimage,$gray);
header ("Content-Type: image/jpeg");
imagejpeg($myimage);
imagedestroy($myimage);
gibi bir kod kullanarak imaj oluşturabilirsin.
|
|
Yazar |
|
techno
istanbul
Kayıt: 24.12.2006 |
|
Hmm haklısın o zaman header iki defa çağrılmamış olur eyw...
ANT?DEPRES?FFEDERALMECBUR??ST?KAMETSAPLANTITUZAKMERAKB?TAP
www.serkankoch.com
|
|
|
|
-
Del.icio.us
-
Digg
-
Facebook
-
Furl
-
Google
-
Blink
-
Simpy
-
Spurl
-
Y! MyWeb
|
|
| |