SQL Update Sorgusunda String Replace Komutunu Kullanmak:
update dbo.tableName
SET FieldName = REPLACE(CAST(FieldName as nVarchar(4000)), '000', '')
WHERE RID>784
İnsanoğlu hala tüm bilgisayarların en alışılmadık olanıdır. Jhon F.Kennedy
SQL Update Sorgusunda String Replace Komutunu Kullanmak:
update dbo.tableName
SET FieldName = REPLACE(CAST(FieldName as nVarchar(4000)), '000', '')
WHERE RID>784
C# ile SqlClient.SqlBulkCopy Kullanımı:
C# kodları ile yapılan uygulamalarda yüzbinlerce satırlık verinin bir döngü içerisinde Sql Server'daki veritabanına aktarmak başka bir değişle insert etmek oldukça zaman alıcı ve donanım tüketici olmaktadır.
Bu tür durumlarda SqlClient sınıfının SqlBulkCopy özelliğini kullanmak en ideal yöntem olacaktır. Bu yöntemi kullanabilmek için insert işleminin gerçekleşmesi gerektiği hedef tablo ile birebir kaynak tablonun oluşturulması gerekmektedir. Hedef tablo verilerin kalıcı olarak kaydedileceği fiziksel tablo olduğunu düşünürsek kaynak tablo ise onunla birebir aynı olması gereken ve ön bellekte oluşturmamız gereken geçici tablo olacaktır.
- Verilerin aktarılacağı veritabanındaki fiziksel tablo olan hedef tablonun sütun sayısı, sütun adları ve sütun veri tipleri ile birebir olan kaynak tablo aşağıdaki gibi create edilir.
public class Kaynak_TABLE
{
[Key]
public int ID { get; set; }
public string job_code { get; set; }
public string recipe_code { get; set; }
public string recipe_name { get; set; }
public double flotte { get; set; }
public string mach_name { get; set; }
public string tank_name { get; set; }
public DateTime start_time { get; set; }
public DateTime end_time { get; set; }
public int CONNECTLY { get; set; }
// Insert olayı için önbellekte oluşturulması gereken veri kaynağı DataSet'in interface'i aşağıdaki gibidir.
public void InsertMassiveData(IEnumerable<Kaynak_TABLE> Kaynak_List)
{
var table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("job_code", typeof(string));
table.Columns.Add("recipe_code", typeof(string));
table.Columns.Add("recipe_name", typeof(string));
table.Columns.Add("flotte", typeof(float));
table.Columns.Add("mach_name", typeof(string));
table.Columns.Add("tank_name", typeof(string));
table.Columns.Add("start_time", typeof(DateTime));
table.Columns.Add("end_time", typeof(DateTime));
table.Columns.Add("CONNECTLY", typeof(int));
foreach (var itemDetail in Consumptions_List)
{
table.Rows.Add(new object[]
{
itemDetail.ID,
itemDetail.job_code,
itemDetail.recipe_code,
itemDetail.recipe_name,
itemDetail.flotte,
itemDetail.mach_name,
itemDetail.tank_name,
itemDetail.start_time,
itemDetail.CONNECTLY
});
}
//Insert to db..
using (var MSConn = FnSQL.SqlConnectionNew)
{// Sql bağlantının tanımlı olduğu fonksiyonun kullanımı ..
using (SqlTransaction transaction = MSConn.BeginTransaction())
{// Sql Transaction kullanımı..
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(MSConn, SqlBulkCopyOptions.Default, transaction))
{//SqlBulkCopy sınıfının kullanımı..
try
{//DestinationTableName veritabanında tanımlı olan fiziksel tablonun adıdır.
bulkCopy.DestinationTableName = "Hedef_Table";
bulkCopy.WriteToServer(table);
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
MSConn.Close();
}
}
}
}
}
}
Yukarıda oluşturmuş olduğumuz Yapının Kullanımı Aşağıdaki Gibidir:
while (xReaderKaynak_Table.Read())
{
xKaynak_Table = new Kaynak_Table();
xKaynak_Table.ID = kayit;
xKaynak_Table.job_code = FnString.IsNull(xReaderKaynak_Table["jobcode"]);
xKaynak_Table.recipe_code = FnString.IsNull(xReaderKaynak_Table["recipe_code"]);
xKaynak_Table.recipe_name = FnString.IsNull(xReaderKaynak_Table["recipe_name"]);
xKaynak_Table.flotte = Convert.ToDouble(xReaderKaynak_Table["flotte"]);
xKaynak_Table.mach_name = FnString.IsNull(xReaderKaynak_Table["mach_name"]);
xKaynak_Table.tank_name = FnString.IsNull(xReaderKaynak_Table["tankname"]);
xKaynak_Table.start_time = FnDate.IsNull(xReaderKaynak_Table["start_time"]);
if (xKaynak_Table.start_time == DateTime.MinValue)
{
xKaynak_Table.start_time = FnDate.IsNull(xReaderKaynak_Table["start_time"]);
}
xKaynak_Table.end_time = FnDate.IsNull(xReaderKaynak_Table["end_time"]);
if (xKaynak_Table.end_time == DateTime.MinValue)
{
xKaynak_Table.end_time = FnDate.IsNull(xReaderKaynak_Table["end_time"]);
}
Kaynak_Table.Add(xKaynak_Table);
}
- Ve sonuç olarak yukarıda yüzbinlerce verinin önbellekte oluşturulmuş kaynak tablonun içine kaydedildiği DataTable objesi tek bir insert komutuyla gönderimi aşağıdaki gibidir :
Kaynak_Table aKaynak_Table = new Kaynak_Table();
aKaynak_Table.InsertMassiveData(Kaynak_Table);
MsSQL ile Firebird dbLink Oluştuma :
MsSQL üzerinden Firebird tablolarına erişim sağlayabilmek için SQL Server ile Firebird Server arasında veri trafiğini sağlayacak bir link oluşturmamız gerekir. MSSQL ->Server Objects-> Linked Servers altında yeni bir sunucuya nasıl bağlanıldığının adımları aşağıdaki gibidir:
İlk önce kullanıyor olduğumuz SQL Server sunucumuzun versiyonunu ve kaç bit ile çalıştığını aşağıdaki komutlar ile öğreniyoruz.
- SQL Server Version Öğrenme Komutu: select @@VERSION
- SQL Server Bit Desteği Öğrenme Komutu: select serverproperty('edition')
Yukarıda sorguladığımız SQL sunucumuza uyumlu olabilecek Firebird ODBC driver'ı firebirdsql.org sitesinden indiriyoruz. Kullanılan SQL Server 64 bit ise 64 bitlik ODBC, MSSQL 32 bitlik ise firebird ODBC driver kurulumlarının da 32 bitlik olmasına dikkat edilmelidir.
32-bitlik MSSQL ile Firebird driver haberleşmesi üzerinden devam edecek olursak, aşağıdaki adımlar takip edilmelidir;
- 32-bit ODBC Sistem DSN alanında FIREBIRDSRV adında Firebird/InterBase driver tanımladım.
Delphi'de String - Hex Dönüştürme Fonksiyonları:
// String türdeki ifadenin Hexdecimal türüne çevirilmesi aşağıdaki gibidir.
function StringToHex(S: String): string;
var I: Integer;
begin
Result:= '';
for I := 1 to length (S) do
Result:= Result+IntToHex(ord(S[i]),2);
end;
// HexDecimal türdeki ifadenin String türüne çevirilmesi aşağıdaki gibidir.
function HexToString(H: String): String;
var I: Integer;
begin
Result:= '';
for I := 1 to length (H) div 2 do
Result:= Result+Char(StrToInt('$'+Copy(H,(I-1)*2+1,2)));
end;
Delphi'de cxGrid Türkçeleştirme:
- cxGrid filtreleme ve diğer özelliklerin türkçe olması için aşağıdaki unit' i kendi projenize ekleyebilirsiniz.
=============================&&&====================================
unit cxGridToTR;
interface
uses
dxCore, cxGridStrs, cxFilterConsts,
cxFilterControlStrs, cxClasses, cxGridPopupMenuConsts;
procedure cxGridToTrk;
implementation
procedure cxGridToTrk;
begin
{ ******************************************************************** }
{ cxGridStrs }
{ ******************************************************************** }
// scxGridRecursiveLevels = 'You cannot create recursive levels';
cxSetResourceString(@scxGridRecursiveLevels,
'Yinelemeli seviyeler oluşturamazsınız');
// scxGridDeletingConfirmationCaption = 'Confirm';
// cxSetResourceString(@scxGridDeletingConfirmationCaption, 'Onayla');
// scxGridDeletingFocusedConfirmationText = 'Delete record?';
cxSetResourceString(@scxGridDeletingFocusedConfirmationText,
'Kayıt silinsin mi ?');
// scxGridDeletingSelectedConfirmationText = 'Delete all selected records?';
cxSetResourceString(@scxGridDeletingSelectedConfirmationText,
'Seçili tüm kayıtlar silinsin mi ?');
// scxGridNoDataInfoText = '<No data to display>';
cxSetResourceString(@scxGridNoDataInfoText, '<Gösterilecek kayıt yok>');
// scxGridNewItemRowInfoText = 'Click here to add a new row';
cxSetResourceString(@scxGridNewItemRowInfoText,
'Yeni satır eklemek için buraya tıklayın');
// scxGridFilterIsEmpty = '<Filter is Empty>';
cxSetResourceString(@scxGridFilterIsEmpty, '<Filtre boş>');
// scxGridCustomizationFormCaption = 'Customization';
cxSetResourceString(@scxGridCustomizationFormCaption, 'Özelleştirme');
// scxGridCustomizationFormColumnsPageCaption = 'Columns';
cxSetResourceString(@scxGridCustomizationFormColumnsPageCaption, 'Sütunlar');
// scxGridGroupByBoxCaption = 'Drag a column header here to group by that column';
cxSetResourceString(@scxGridGroupByBoxCaption,
'Gruplamak istediğiniz kolonu buraya sürükleyin');
// scxGridFilterCustomizeButtonCaption = 'Customize...';
cxSetResourceString(@scxGridFilterCustomizeButtonCaption, 'Özelleştir');
// scxGridColumnsQuickCustomizationHint = 'Click here to select visible columns';
cxSetResourceString(@scxGridColumnsQuickCustomizationHint,
'Görünür sütunları seçmek için tıklayın');
// scxGridCustomizationFormBandsPageCaption = 'Bands';
cxSetResourceString(@scxGridCustomizationFormBandsPageCaption, 'Bantlar');
// scxGridBandsQuickCustomizationHint = 'Click here to select visible bands';
cxSetResourceString(@scxGridBandsQuickCustomizationHint,
'Görünür bantları seçmek için tıklayın');
// scxGridCustomizationFormRowsPageCaption = 'Rows';
cxSetResourceString(@scxGridCustomizationFormRowsPageCaption, 'Satırlar');
// scxGridConverterIntermediaryMissing = 'Missing an intermediary component!'#13#10'Please add a %s component to the form.';
cxSetResourceString(@scxGridConverterIntermediaryMissing,
'Bulunamayan aracı bileşen!'#13#10'Lütfen bir %s bileşeni forma ekleyin.');
// scxGridConverterNotExistGrid = 'cxGrid does not exist';
cxSetResourceString(@scxGridConverterNotExistGrid, 'cxGrid yok');
// scxGridConverterNotExistComponent = 'Component does not exist';
cxSetResourceString(@scxGridConverterNotExistComponent, 'Bileşen yok');
// scxImportErrorCaption = 'Import error';
cxSetResourceString(@scxImportErrorCaption, 'İçe aktarım hatası');
// scxNotExistGridView = 'Grid view does not exist';
cxSetResourceString(@scxNotExistGridView, 'Grid görünümü yok');
// scxNotExistGridLevel = 'Active grid level does not exist';
// cxSetResourceString(@scxNotExistGridLevel, 'Geçerli grid seviyesi yok');
// scxCantCreateExportOutputFile = 'Can''t create the export output file';
// cxSetResourceString(@scxCantCreateExportOutputFile,'Dışa aktarılacak dosya oluşturulamıyor');
// cxSEditRepositoryExtLookupComboBoxItem = 'ExtLookupComboBox|Represents an ultra-advanced lookup using the QuantumGrid as its drop down control';
// scxGridChartValueHintFormat = '%s for %s is %s'; // series display text, category, value
{ ******************************************************************** }
{ cxFilterConsts }
{ ******************************************************************** }
// // base operators
// cxSFilterOperatorEqual = 'equals';
cxSetResourceString(@cxSFilterOperatorEqual, 'eşit');
// cxSFilterOperatorNotEqual = 'does not equal';
cxSetResourceString(@cxSFilterOperatorNotEqual, 'eşit değil');
// cxSFilterOperatorLess = 'is less than';
cxSetResourceString(@cxSFilterOperatorLess, 'küçük');
// cxSFilterOperatorLessEqual = 'is less than or equal to';
cxSetResourceString(@cxSFilterOperatorLessEqual, 'küçük veya eşit');
// cxSFilterOperatorGreater = 'is greater than';
cxSetResourceString(@cxSFilterOperatorGreater, 'büyük');
// cxSFilterOperatorGreaterEqual = 'is greater than or equal to';
cxSetResourceString(@cxSFilterOperatorGreaterEqual, 'büyük veya eşit');
// cxSFilterOperatorLike = 'like';
cxSetResourceString(@cxSFilterOperatorLike, 'içerir');
// cxSFilterOperatorNotLike = 'not like';
cxSetResourceString(@cxSFilterOperatorNotLike, 'içermez');
// cxSFilterOperatorBetween = 'between';
cxSetResourceString(@cxSFilterOperatorBetween, 'arasında');
// cxSFilterOperatorNotBetween = 'not between';
cxSetResourceString(@cxSFilterOperatorNotBetween, 'arasında değil');
// cxSFilterOperatorInList = 'in';
cxSetResourceString(@cxSFilterOperatorInList, 'içinde olan');
// cxSFilterOperatorNotInList = 'not in';
cxSetResourceString(@cxSFilterOperatorNotInList, 'içinde olmayan');
// cxSFilterOperatorYesterday = 'is yesterday';
cxSetResourceString(@cxSFilterOperatorYesterday, 'dün');
// cxSFilterOperatorToday = 'is today';
cxSetResourceString(@cxSFilterOperatorToday, 'bugün');
// cxSFilterOperatorTomorrow = 'is tomorrow';
cxSetResourceString(@cxSFilterOperatorTomorrow, 'yarın');
// cxSFilterOperatorLastWeek = 'is last week';
cxSetResourceString(@cxSFilterOperatorLastWeek, 'geçen hafta');
// cxSFilterOperatorLastMonth = 'is last month';
cxSetResourceString(@cxSFilterOperatorLastMonth, 'geçen ay');
// cxSFilterOperatorLastYear = 'is last year';
cxSetResourceString(@cxSFilterOperatorLastYear, 'geçen sene');
// cxSFilterOperatorThisWeek = 'is this week';
cxSetResourceString(@cxSFilterOperatorThisWeek, 'bu hafta');
// cxSFilterOperatorThisMonth = 'is this month';
cxSetResourceString(@cxSFilterOperatorThisMonth, 'bu ay');
// cxSFilterOperatorThisYear = 'is this year';
cxSetResourceString(@cxSFilterOperatorThisYear, 'bu sene');
// cxSFilterOperatorNextWeek = 'is next week';
cxSetResourceString(@cxSFilterOperatorNextWeek, 'gelecek hafta');
// cxSFilterOperatorNextMonth = 'is next month';
cxSetResourceString(@cxSFilterOperatorNextMonth, 'gelecek ay');
// cxSFilterOperatorNextYear = 'is next year';
cxSetResourceString(@cxSFilterOperatorNextYear, 'gelecek sene');
// cxSFilterAndCaption = 'and';
cxSetResourceString(@cxSFilterAndCaption, 've');
// cxSFilterOrCaption = 'or';
cxSetResourceString(@cxSFilterOrCaption, 'veya');
// cxSFilterNotCaption = 'not';
cxSetResourceString(@cxSFilterNotCaption, 'değil');
// cxSFilterBlankCaption = 'blank';
cxSetResourceString(@cxSFilterBlankCaption, 'boş');
// // derived
// cxSFilterOperatorIsNull = 'is blank';
cxSetResourceString(@cxSFilterOperatorIsNull, 'boşluk');
// cxSFilterOperatorIsNotNull = 'is not blank';
cxSetResourceString(@cxSFilterOperatorIsNotNull, 'boşluk değil');
// cxSFilterOperatorBeginsWith = 'begins with';
cxSetResourceString(@cxSFilterOperatorBeginsWith, 'ile başlayan');
// cxSFilterOperatorDoesNotBeginWith = 'does not begin with';
cxSetResourceString(@cxSFilterOperatorDoesNotBeginWith, 'ile başlamayan');
// cxSFilterOperatorEndsWith = 'ends with';
cxSetResourceString(@cxSFilterOperatorEndsWith, 'ile biten');
// cxSFilterOperatorDoesNotEndWith = 'does not end with';
cxSetResourceString(@cxSFilterOperatorDoesNotEndWith, 'ile bitmeyen');
// cxSFilterOperatorContains = 'contains';
cxSetResourceString(@cxSFilterOperatorContains, 'içeren');
// cxSFilterOperatorDoesNotContain = 'does not contain';
cxSetResourceString(@cxSFilterOperatorDoesNotContain, 'içermeyen');
// // filter listbox's values
// cxSFilterBoxAllCaption = '(All)';
cxSetResourceString(@cxSFilterBoxAllCaption, 'Hepsi');
// cxSFilterBoxCustomCaption = '(Custom...)';
cxSetResourceString(@cxSFilterBoxCustomCaption, 'Özel...');
// cxSFilterBoxBlanksCaption = '(Blanks)';
cxSetResourceString(@cxSFilterBoxBlanksCaption, '(Boş olanlar)');
// cxSFilterBoxNonBlanksCaption = '(NonBlanks)';
cxSetResourceString(@cxSFilterBoxNonBlanksCaption, '(Boş olmayanlar)');
{ ******************************************************************** }
{ cxFilterControlStrs }
{ ******************************************************************** }
// // cxFilterBoolOperator
// cxSFilterBoolOperatorAnd = 'AND'; // all
cxSetResourceString(@cxSFilterBoolOperatorAnd, 'VE');
// cxSFilterBoolOperatorOr = 'OR'; // any
cxSetResourceString(@cxSFilterBoolOperatorOr, 'VEYA');
// cxSFilterBoolOperatorNotAnd = 'NOT AND'; // not all
cxSetResourceString(@cxSFilterBoolOperatorNotAnd, 'VE DEĞİL');
// cxSFilterBoolOperatorNotOr = 'NOT OR'; // not any
cxSetResourceString(@cxSFilterBoolOperatorNotOr, 'VEYA DEĞİL');
// //
// cxSFilterRootButtonCaption = 'Filter';
cxSetResourceString(@cxSFilterRootButtonCaption, 'Filtre');
// cxSFilterAddCondition = 'Add &Condition';
cxSetResourceString(@cxSFilterAddCondition, '&Koşul ekle');
// cxSFilterAddGroup = 'Add &Group';
cxSetResourceString(@cxSFilterAddGroup, '&Grup ekle');
// cxSFilterRemoveRow = '&Remove Row';
cxSetResourceString(@cxSFilterRemoveRow, '&Satır kaldır');
// cxSFilterClearAll = 'Clear &All';
cxSetResourceString(@cxSFilterClearAll, 'Hepsini &temizle');
// cxSFilterFooterAddCondition = 'press the button to add a new condition';
cxSetResourceString(@cxSFilterFooterAddCondition,
'yeni koşul eklemek için tuşa basın');
// cxSFilterGroupCaption = 'applies to the following conditions';
cxSetResourceString(@cxSFilterGroupCaption, 'aşağıdaki koşulları uygulayın');
// cxSFilterRootGroupCaption = '<root>';
cxSetResourceString(@cxSFilterRootGroupCaption, '<kök>');
// cxSFilterControlNullString = '<empty>';
cxSetResourceString(@cxSFilterControlNullString, '<boş>');
// cxSFilterErrorBuilding = 'Can''t build filter from source';
cxSetResourceString(@cxSFilterErrorBuilding, 'Kaynaktan filtrelenemiyor');
// //FilterDialog
// cxSFilterDialogCaption = 'Custom Filter';
cxSetResourceString(@cxSFilterDialogCaption, 'Özel filtre');
// cxSFilterDialogInvalidValue = 'Invalid value';
cxSetResourceString(@cxSFilterDialogInvalidValue, 'Geçersiz değer');
// cxSFilterDialogUse = 'Use';
cxSetResourceString(@cxSFilterDialogUse, 'Kullan');
// cxSFilterDialogSingleCharacter = 'to represent any single character';
cxSetResourceString(@cxSFilterDialogSingleCharacter,
'tek karakteri temsil etmek için');
// cxSFilterDialogCharactersSeries = 'to represent any series of characters';
cxSetResourceString(@cxSFilterDialogCharactersSeries,
'peş peşe karakterleri temsil etmek için');
// cxSFilterDialogOperationAnd = 'AND';
cxSetResourceString(@cxSFilterDialogOperationAnd, 'VE');
// cxSFilterDialogOperationOr = 'OR';
cxSetResourceString(@cxSFilterDialogOperationOr, 'VEYA');
// cxSFilterDialogRows = 'Show rows where:';
cxSetResourceString(@cxSFilterDialogRows, 'Satırları goster');
// // FilterControlDialog
// cxSFilterControlDialogCaption = 'Filter builder';
cxSetResourceString(@cxSFilterControlDialogCaption, 'Filtre hazırlayıcı');
// cxSFilterControlDialogNewFile = 'untitled.flt';
cxSetResourceString(@cxSFilterControlDialogNewFile, 'isimsiz.flt');
// cxSFilterControlDialogOpenDialogCaption = 'Open an existing filter';
cxSetResourceString(@cxSFilterControlDialogOpenDialogCaption, 'Filtre aç');
// cxSFilterControlDialogSaveDialogCaption = 'Save the active filter to file';
cxSetResourceString(@cxSFilterControlDialogSaveDialogCaption,
'Geçerli filtreyi kaydet');
// cxSFilterControlDialogActionSaveCaption = '&Save As...';
cxSetResourceString(@cxSFilterControlDialogActionSaveCaption,
'&Farklı kaydet');
// cxSFilterControlDialogActionOpenCaption = '&Open...';
cxSetResourceString(@cxSFilterControlDialogActionOpenCaption, '&Aç...');
// cxSFilterControlDialogActionApplyCaption = '&Apply';
cxSetResourceString(@cxSFilterControlDialogActionApplyCaption, '&Uygula');
// cxSFilterControlDialogActionOkCaption = 'OK';
cxSetResourceString(@cxSFilterControlDialogActionOkCaption, 'Tamam');
// cxSFilterControlDialogActionCancelCaption = 'Cancel';
cxSetResourceString(@cxSFilterControlDialogActionCancelCaption, 'İptal');
// cxSFilterControlDialogFileExt = 'flt';
// cxSFilterControlDialogFileFilter = 'Filters (*.flt)|*.flt';
cxSetResourceString(@cxSFilterControlDialogFileFilter,
'Filtreler (*.flt)|*.flt');
// cxGridPopupMenuConsts
cxSetResourceString(@cxSGridNone, 'Yok'); // 'None';
cxSetResourceString(@cxSGridSortColumnAsc, 'Artan Sıralama');
// 'Sort Ascending';
cxSetResourceString(@cxSGridSortColumnDesc, 'Azalan Sıralama');
// 'Sort Descending';
cxSetResourceString(@cxSGridClearSorting, 'Sıralamayı Sil');
// 'Clear Sorting';
cxSetResourceString(@cxSGridGroupByThisField, 'Bu Alana Göre Grupla');
// 'Group By This Field';
cxSetResourceString(@cxSGridRemoveThisGroupItem, 'Gruplamayı Sil');
// 'Remove from grouping';
cxSetResourceString(@cxSGridGroupByBox, 'Gruplama Kutusu'); // 'Group By Box';
cxSetResourceString(@cxSGridAlignmentSubMenu, 'Hizalama'); // 'Alignment';
cxSetResourceString(@cxSGridAlignLeft, 'Sola Hizala'); // 'Align Left';
cxSetResourceString(@cxSGridAlignRight, 'Sağa Hizala'); // 'Align Right';
cxSetResourceString(@cxSGridAlignCenter, 'Ortalı Hizala'); // 'Align Center';
cxSetResourceString(@cxSGridRemoveColumn, 'Sutunu Sil');
// 'Remove This Column';
cxSetResourceString(@cxSGridFieldChooser, 'Alan Seçiçi'); // 'Field Chooser';
cxSetResourceString(@cxSGridBestFit, 'En Uygun Büyüklük'); // 'Best Fit';
cxSetResourceString(@cxSGridBestFitAllColumns,
'En Uygun Büyüklük(Bütün Sutunlar)'); // 'Best Fit (all columns)';
cxSetResourceString(@cxSGridShowFooter, 'Alt'); // 'Footer';
cxSetResourceString(@cxSGridShowGroupFooter, 'Grup Alt'); // 'Group Footers';
cxSetResourceString(@cxSGridSumMenuItem, 'Toplam'); // 'Sum';
cxSetResourceString(@cxSGridMinMenuItem, 'Minimum'); // 'Min';
cxSetResourceString(@cxSGridMaxMenuItem, 'Maximum'); // 'Max';
cxSetResourceString(@cxSGridCountMenuItem, 'Adet'); // 'Count';
cxSetResourceString(@cxSGridAvgMenuItem, 'Avaraj'); // 'Average';
cxSetResourceString(@cxSGridNoneMenuItem, 'Yok'); // 'None';
end;
end.
Delphi'de Sayı Formatlama:
Delphi'de tanımlanan veya girilen sayıların istenilen basamaklara bölünerek formatlanabilmesi için aşağıdaki yollardan biri kullanılabilir:
var
sayi:integer;
s:string;
sayi := 1234567;
label1.Caption:= Format('%.0n', [sayi*1.0]); // --> ' 1.234.567 '
veya
label1.Caption:= Format('%.0n', [sayi*1/0]); // --> ' 1.234.567 '
veya bir string değişkene bağlamak istersek, aşağıdaki formatlardan biri kullanılabilir;
s := Format('%.0n', [I * 1.0]); // --> ' 1.234.567 '
s := Format('%.0n', [I + 0.0]); // --> ' 1.234.567 '