Konuyu görüntüle
IUCODERS FORUM > Programlama > Web & Grafik Tasarımı > Ui Puzzle
Yazar
techno


avatar
istanbul
Kayıt: 24.12.2006
23.01.2010-00:47 #66314
Mrb arkadaşlar sormak istedigim sey şu kısaca pek kısa olmasa da..tongue


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 vslaughing

Devamı? idea









ANT?DEPRES?FFEDERALMECBUR??ST?KAMETSAPLANTITUZAKMERAKB?TAP

www.serkankoch.com



Yazar
akgulozkan


avatar
istanbul
Kayıt: 12.12.2006
23.01.2010-00:57 #66315
forumun düzenle butonu mu bozulmuş? arka arkaya konu açmışsın.. raised eyebrow

-->ö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 blushing





Yazar
techno


avatar
istanbul
Kayıt: 24.12.2006
23.01.2010-23:10 #66333
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&nbsp;&nbsp;:<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


avatar

Kayıt: 11.12.2008
23.01.2010-23:28 #66334
$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


avatar
istanbul
Kayıt: 24.12.2006
23.01.2010-23:39 #66336
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