İngiliz tipi saat yapalım…

Ağustos 27, 2014 Yorum yapın

Sosyal ağların İngilizce sayfalarında dolaşırken şöyle bir fotoğraf gördüm ;

 

pTphZRD5TdU

 

Acaba böyle bir saati Lazarus ile yapsak nasıl yaparız şeklinde düşündüm…Zira saat bilgisi 5 dk hassasiyette olacak ve yazılı olarak bilgi vermesi gerekli. Haydi çok düşünmeden önce formu hazırlayayım dedim ve benzeri bir form oluşturdum:

 

english_clock_form

Tamam güzel, ancak bazı şeyler eksik biraz da kodlama gerekli ki şöyle bir şey ortaya çıktı:

unit main;

{$mode objfpc}{$H+}

interface

uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, Grids,
ExtCtrls, StdCtrls;

type

{ TfrmEnglishClock }

TfrmEnglishClock = class(TForm)
lbl_IT: TLabel;
lbl_PAST: TLabel;
lbl_ONE: TLabel;
lbl_THREE: TLabel;
lbl_TWO: TLabel;
lbl_FOUR: TLabel;
lbl_FIVE: TLabel;
lbl_SIX: TLabel;
lbl_SEVEN: TLabel;
lbl_EIGHT: TLabel;
lbl_NINE: TLabel;
lbl_IS: TLabel;
lbl_TEN: TLabel;
lbl_ELEVEN: TLabel;
lbl_TWELVE: TLabel;
lbl_OCLOCK: TLabel;
lbl_HALF: TLabel;
lbl_TEN_: TLabel;
lbl_QUARTER: TLabel;
lbl_TWENTY: TLabel;
lbl_FIVE_: TLabel;
lbl_MINUTES: TLabel;
lbl_TO: TLabel;
pnl_Time: TPanel;
tmr_Clock: TTimer;

procedure EnglishClock(t:TDateTime);
procedure Set_Lbl_color(const cmp:TLabel; clr:TColor);
procedure Set_Hour_Active(hh:word);
procedure Set_Min_Active(mm:word);

procedure tmr_ClockTimer(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;

var
frmEnglishClock: TfrmEnglishClock;

implementation

{$R *.lfm}

{ TfrmEnglishClock }

procedure TfrmEnglishClock.EnglishClock(t: TDateTime);
var
hh,mm,ss ,ms : word;
begin
//
DecodeTime(t,hh,mm,ss,ms);

case mm of
0: begin       // c’clock

Set_Lbl_color(lbl_OCLOCK,clLime);
Set_Lbl_color(lbl_HALF,clSilver);
Set_Lbl_color(lbl_PAST,clSilver);
Set_Lbl_color(lbl_TO,clSilver);
Set_Lbl_color(lbl_MINUTES,clSilver);
end;

30:begin       // half past

Set_Lbl_color(lbl_OCLOCK,clSilver);
Set_Lbl_color(lbl_HALF,clLime);
Set_Lbl_color(lbl_PAST,clLime);
Set_Lbl_color(lbl_TO,clSilver);
Set_Lbl_color(lbl_MINUTES,clSilver);
end;

1..29:begin    // past

Set_Lbl_color(lbl_OCLOCK,clSilver);
Set_Lbl_color(lbl_HALF,clSilver);
Set_Lbl_color(lbl_PAST,clLime);
Set_Lbl_color(lbl_TO,clSilver);

if (mm=15) then
Set_Lbl_color(lbl_MINUTES,clSilver)   // exceptional state…
else
Set_Lbl_color(lbl_MINUTES,clLime);

Set_Min_Active(mm);
end;

31..59:begin   // to

Set_Lbl_color(lbl_OCLOCK,clSilver);
Set_Lbl_color(lbl_HALF,clSilver);
Set_Lbl_color(lbl_PAST,clSilver);
Set_Lbl_color(lbl_TO,clLime);

if (mm=45) then
Set_Lbl_color(lbl_MINUTES,clSilver)   // exceptional state…
else
Set_Lbl_color(lbl_MINUTES,clLime);

Set_Min_Active(abs(60-mm));
Set_Hour_Active(abs(hh mod 12)+1);
exit;
end;

end;
Set_Hour_Active(abs(hh mod 12));

end;

procedure TfrmEnglishClock.Set_Lbl_color(const cmp: TLabel; clr: TColor);
begin
cmp.Font.Color := clr;
if clr<>clLime then
cmp.Font.Bold := false
else
cmp.Font.Bold := true;
end;

procedure TfrmEnglishClock.Set_Hour_Active(hh: word);
begin
//

Set_Lbl_color(lbl_ONE,clSilver);
Set_Lbl_color(lbl_TWO,clSilver);
Set_Lbl_color(lbl_THREE,clSilver);
Set_Lbl_color(lbl_FOUR,clSilver);
Set_Lbl_color(lbl_FIVE,clSilver);
Set_Lbl_color(lbl_SIX,clSilver);
Set_Lbl_color(lbl_SEVEN,clSilver);
Set_Lbl_color(lbl_EIGHT,clSilver);
Set_Lbl_color(lbl_NINE,clSilver);
Set_Lbl_color(lbl_TEN,clSilver);
Set_Lbl_color(lbl_ELEVEN,clSilver);
Set_Lbl_color(lbl_TWELVE,clSilver);

case hh of
1 : Set_Lbl_color(lbl_ONE,clLime);
2 : Set_Lbl_color(lbl_TWO,clLime);
3 : Set_Lbl_color(lbl_THREE,clLime);
4 : Set_Lbl_color(lbl_FOUR,clLime);
5 : Set_Lbl_color(lbl_FIVE,clLime);
6 : Set_Lbl_color(lbl_SIX,clLime);
7 : Set_Lbl_color(lbl_SEVEN,clLime);
8 : Set_Lbl_color(lbl_EIGHT,clLime);
9 : Set_Lbl_color(lbl_NINE,clLime);
10 : Set_Lbl_color(lbl_TEN,clLime);
11 : Set_Lbl_color(lbl_ELEVEN,clLime);
12 : Set_Lbl_color(lbl_TWELVE,clLime);
end;
end;

procedure TfrmEnglishClock.Set_Min_Active(mm: word);
begin
Set_Lbl_color(lbl_FIVE_,clSilver);
Set_Lbl_color(lbl_TEN_,clSilver);
Set_Lbl_color(lbl_QUARTER,clSilver);
Set_Lbl_color(lbl_TWENTY,clSilver);
Set_Lbl_color(lbl_OCLOCK,clSilver);
case mm of
1..3 : begin
Set_Lbl_color(lbl_OCLOCK,clLime);
Set_Lbl_color(lbl_TO,clSilver);
Set_Lbl_color(lbl_PAST,clSilver);
Set_Lbl_color(lbl_MINUTES,clSilver);

end;
4..7 : Set_Lbl_color(lbl_FIVE_,clLime);
8..12 : Set_Lbl_color(lbl_TEN_,clLime);
13..17 : begin
Set_Lbl_color(lbl_QUARTER,clLime);
Set_Lbl_color(lbl_MINUTES,clSilver);
end;
19..23 : Set_Lbl_color(lbl_TWENTY,clLime);
24..29 : begin
Set_Lbl_color(lbl_TWENTY,clLime);
Set_Lbl_color(lbl_FIVE_,clLime);
end;
end;
end;

procedure TfrmEnglishClock.tmr_ClockTimer(Sender: TObject);
begin
// show actual time of local system
pnl_Time.Caption := FormatDateTime(‘hh:nn:ss AM/PM’,now) ;
EnglishClock(now);
end;

end.

 

Ve çalıştıralım bakalım nasıl bir sonuç çıkacak:

 

english_clock_runtime

Bu projeyi:

http://sourceforge.net/projects/ezberim/files/englishclock/englishclock.rar/download

adresinden indirebilirsiniz.

Bir ara fırsat olursa Türkçe versiyonunu da yapalım…

İyi kodlamalar

 

 

 

 

Kategoriler:Genel

HERE İstanbul’da !

Haziran 25, 2014 Yorum yapın

Haritaların sokak görünümü çalışmaları gerçekten takdire şayan…

Her an her yerde Here’ın araçlarını görebilirsiniz.

İşin aslı Yandex’in çalışmaları ile yarışabilecek mi bilemiyorum. Bakalım Here’ın bu yeni özelliğini ne zaman inceleyebileceğiz …

 

here_istanbul

Kategoriler:Genel

EzberIM’e yenilikler geldi…

Haziran 4, 2014 Yorum yapın

Merhaba,

 

Uzun süredir eklemek istediğim bir özelliği sonunda ayağa kaldırabilir hale getirebildim. EzberIM yazılımında mevcut cümlelerin doğru dizilişini sağlama yöntemi ile kendinizi test edebileceksiniz.

Örnek alt yapı çalışması şöyle…

make_sentences_new

Doğru şekilde cevaplandırma yapıldığında ise;

make_sentences_correct

Bir hata oluştuğunda ise;

make_sentences

 

Kategoriler:Genel

Kelime Ezberim v1.4g yayında!

Mayıs 20, 2014 Yorum yapın

Merhaba,

 

Uzun süredir EzberIM’e eklemeler yapmak için fırsat kolluyordum, şu üç günlük tatil iyi geldi…

Bir kaç değişiklik ve iyileştirmeler yaptım bunlar;

  • Resimli örnekler , sosyal ağlarda gezinen İngilizce sözlerin olduğu etkileyici resimlerden toparladıklarımı içerisine ekledim. Bu resimler arada sırada kendisini göstermek sureti ile sizi güncel tutacağına inanıyorum.

Show_Pictures_As_Sample

  • Basic paketteki cümle örnekleri güncellendi ayrıca bu güncellenen cümleler flash card ve test ekranında yardımcı Hint olarak ekrana geliyor.

Hint_Of_Flash_CardHint_Of_Test

Yüklemek için:

http://sourceforge.net/projects/ezberim/files/ezberim/ezberim-setup.exe/download

 

NOT: Resimlerde eğer kopyalama ile ilgili problemler olduğunu düşünüyorsanız lütfen mail atınız.

NOT: Sizlerden istediğiniz resimleri göndermenizi isteyeceğim ki yeni versiyonlarda ekleyebilelim.

mehmetul@hotmail.com

 

 

 

Kategoriler:Genel

İki desktop arası oy , kimse görmemiş seni… WinRT 8.1 ve düşünceler…

Mayıs 16, 2014 Yorum yapın

İnsan arada kendi kendine şarkı söyler bilirsiniz. Başlıktaki sözler de oradan geliyor…

Şimdilerde çok moda olmaya çalışan tablet ile PC arası olan işletim sistemini olan Windows’un 8.1 RT versiyonu inceliyordum ki birden aklıma geldi;

Eski yazılımları ile yeni yazılımların arası nasıl olacak? Son kullanıcı gözü ile bir kaç uygulama çalıştırayım dedim.

Windows RT hem desktop’ı hem de ayrı bir desktop olan Runtime kısmını kullanabiliyor çok güzel diyorsunuz değil mi?

Bence çok tehlikeli…

Şöyle diyelim ki bildik desktopta bir bir uygulama size ısrarla imdat diyor ancak siz oturmuş win rt tablet modunda pdf okurken müzik dinliyorsunuz…

Size ulaşabilen mesajları görmüyorsunuz sadece mailler geliyor…

 Image

Bir bakmışsınız ki diğer ekranda aslında neler olmuş neler…

Image

Sanırım Microsoft yine çok düşünmeden bir işletim sistemi çıkarttı umarım iki özelliği bir arada kullanımı konusunda çok fazla zorlayıcı olmaz.

Bir de bunu bir oto kontrol sisteminde kullandığınızı düşünün…

 

Kategoriler:Genel

Hangi geliştirme araçlarını kullanıyorsunuz? Which development tools do you using?

Mayıs 16, 2014 Yorum yapın

Kategoriler:Genel

Yoksa siz de güncelleştiremediklerimizden misiniz?

Nisan 30, 2014 Yorum yapın

Hiç dikkat ettiniz mi her windows güncelleme istiyor her yazılım güncelleme istiyor. Hatta yeni bir versiyon çıkmadığında rahatsız olan kişiler olduğunu düşününce…

Bazen içeriğinde çok fazla yenilik olmayan versiyonlar yükleniyormuş gibi hissediyorum.

Peki her güncellemenin byte maliyetini hiç hesaplayan kişi var mıdır?

Ne yazık ki artık machine to machine (cihazdan cihaza) haberleşmeler insandan insana haberleşmeden çok fazla byte ve zaman harcanmasına vesile oluyor.

Her yapılan yazılımın “framework” sünü kurayım derken iki yıl içinde harddiskinizde yer kalmadığını görebilirsiniz.

Hatta eskiden ben bu harddiski ancak video çekimleri doldurur derken garibim kendi kendisini doldurma çabasında.

Neyse gecenin bir vaktinde ben de “güncel” kalmak için bir yazı uydurayım dedim ;)

 

Güncel bir yaşam dileği ile…

 

Kategoriler:Genel
Takip Et

Her yeni yazı için posta kutunuza gönderim alın.