... ... ... type TForm1 = class(TForm) ListBox1: TListBox; ... ... public procedure ShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo); { Public declarations } end; ... ... ... procedure TForm1.ShowHint(var HintStr: String; var CanShow: Boolean; var HintInfo: THintInfo); var MyItemIndex: Integer; MyString: String; MySize: TSize; MyPos: TPoint; begin with HintInfo do begin if HintControl = ListBox1 then begin CanShow := False; MyItemIndex := ListBox1.ItemAtPos( Point(CursorPos.X, CursorPos.Y), True); if MyItemIndex <> -1 then begin MyString := ListBox1.Items[MyItemIndex]; GetTextExtentPoint32(ListBox1.Canvas.Handle, PChar(MyString), Length(MyString), MySize); MyPos:= ListBox1.ScreenToClient(mouse.CursorPos); MyPos.Y := MyPos.Y - 20; if MySize.cx > ListBox1.ClientWidth then begin HintPos := ListBox1.ClientToScreen(MyPos); HintMaxWidth := MySize.cx + 1; CursorRect := Rect(MyPos.x, MyPos.y, MyPos.x + MySize.cx, MyPos.y + MySize.cy); HintStr := MyString; CanShow := True; end; end; end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.OnShowHint :=ShowHint; end;
Yazılımı oluşturan bileşenlerden daha önce söz etmiştik.
Şimdi bu bileşenlerin neler oldukları üzerinde biraz duralım.
Yazılımı oluşturan bileşenler = Mantık + Veri + Belge + İnsan + Program.
Bu bileşenlerin az çok neler olduğunu, neleri kapsadığını biliyoruz ama
biz yine de kıyısından köşesinden açıklayalım. Zaten bu yazıdaki asıl amaç yazılım bileşenlerinden belgelemenin yerini ve önemi (dökümantasyon) vurgulamak.
Mantık = Yazılım herşeyden önce bir işin bilgisayar aracılığı ile yapılması amacına yöneliktir. Bu nedenle bilgisayarlaştırılmak istenen işin mevcut mantığı bir şekilde yazılıma da yansılıtılmak zorundadır.
Veri = Her tür yazılım mutlaka bir veri üzerinde çalışmak durumundadır. Veri işlemeyen yazılımın geliştirilmesi söz konusu değildir. Söz konusu olan veri dış ortamdan alınabileceği gibi yazılımın içerisinde de üretilebilir. Zaten yazılımın temel amacı veriyi bilgiye dönüştürmektir.
İnsan = Doğal olarak yazılımın insan bileşeni iki boyutludur. Yazıl
Yorumlar