Aşağıda resimde görülen yapıyı fmx projede, stringgrid ile oluşturmaya çalışıyorum. Bunun için bulduğum yöntemde tıkanıp kaldım. Hangisi doğru olur veya nasıl olmalı diye sizlere danışmak istedim. Bana yol gösterirseniz şimdiden teşekkürler.
Her kart içindeki bilgiyi bir dizi de tutup , gridi oluştururken bu bilgileri eklerim dedim. Böylece gerektiğinde o dizi içinde aradığım rakam varmı yokmu bakabilirdim. Fakat sorun bu şekilde tam 135 adet global dizi tanımlamam gerekiyordu. Bu kadar çok değişken kullanmak doğru bir yol mu, daha farklı nasıl yapabilirim?
Aklıma gelen ikinci yol ise
Text bir dosyanın her satırında aşağıdaki şekilde bilgiyi saklar, örneğin iki nolu kart bilgisini okumak içinde text dosyanın ikinci satırını okuturum. Buradaki sorun text dosyasında istediğim satırı bulmak ve okumak.
49- - - -16- -23-26-28- - - -44- -49- -58-59-61- - - -74-71-80-84-89-
Her kart içindeki bilgiyi bir dizi de tutup , gridi oluştururken bu bilgileri eklerim dedim. Böylece gerektiğinde o dizi içinde aradığım rakam varmı yokmu bakabilirdim. Fakat sorun bu şekilde tam 135 adet global dizi tanımlamam gerekiyordu. Bu kadar çok değişken kullanmak doğru bir yol mu, daha farklı nasıl yapabilirim?
Aklıma gelen ikinci yol ise
Text bir dosyanın her satırında aşağıdaki şekilde bilgiyi saklar, örneğin iki nolu kart bilgisini okumak içinde text dosyanın ikinci satırını okuturum. Buradaki sorun text dosyasında istediğim satırı bulmak ve okumak.
49- - - -16- -23-26-28- - - -44- -49- -58-59-61- - - -74-71-80-84-89-
const KART_1:array[0..26] of string =('1', 'boş', '23', 'boş', '44', 'boş', '61', 'boş', '80', 'boş', '16', '26', 'boş', ' boş', '58', 'boş', '74', '84', 'boş', 'boş ', '28', ' boş', '49', '59', ' boş', '71', '89'); Function TFANA.Grid_Ekle(asahibi: TVertScrollBox; kartNo: Integer ): TStringGrid; var Kolon:TStringColumn; i,satir,sutun:Integer; begin Result := TStringGrid.Create(self); with Result do begin Parent := asahibi; Name:= 'K'+IntToStr(kartNo); Visible := true; Position.X := 0; Position.Y := 0; Width := 253; Height := 100; Enabled := true; Align := TAlignLayout.None; CanFocus := true; DefaultDrawing := true; HitTest :=true; Margins.Bottom :=0; Opacity :=1; Margins.Top:=0; Margins.Right :=0; Margins.Left:=0; Options:=[TGridOption.ColumnResize,TGridOption.ColumnMove,TGridOption.ColLines,TGridOption.RowLines,TGridOption.Tabs,TGridOption.AutoDisplacement ]; RowCount :=3; RowHeight :=30; TabStop:=true; StyledSettings:= []; TextSettings.Font.Family:='Arial'; TextSettings.font.Size:=16; TextSettings.Font.Style:=[TFontStyle.fsBold]; TextSettings.FontColor:= TAlphaColors.Black; TextSettings.HorzAlign:=TTextAlign.Center; TextSettings.Trimming:=TTextTrimming.Word; TextSettings.VertAlign:=TTextAlign.Center; DefaultDrawing := False; Enabled:=true; OnDrawColumnCell:=KRENK_DEGIS; for i := 0 to 8 do begin Kolon:=TStringColumn.Create(self); with Kolon do begin Width:=30; Margins.Bottom:=0; Margins.Left:=0;Margins.Right:=0;Margins.Top:=0; Padding.Bottom:=3; Padding.Left:=3; Padding.Right:=3; Padding.Top:=3; Opacity:=1; Visible:=true; end; AddObject(Kolon); end; for satir:= 0 to RowCount -1 do for sutun := 0 to ColumnCount -1 do begin Cells[sutun,satir]:=KART_1[SATIR]; ///KART_1 DEKİ BİLGİLERİ SIRAYLA AL end; end; Kolon.Free; end;