Ben bir başkası tarafından yazılmış bir Delphi 4-dönem programın kod tabanı modernize ve hataları düzeltmek üzerinde çalışıyorum. Kodların çoğu modern standartlara göre oldukça korkutucu ve ben yardım edemiyorum ama göremediğim bazı şeyler var mıdır, çünkü orijinal yazar belirli standart kütüphane özelliklerini bilmiyordu, ya da t kullanılabilir. Bütün uygulama üzerinde bkz daha iğrenç "desen"TDataset'in Lookup and Locate yöntemleri ne zamandır var?
biri şuna benzer:
table := TClientDataset.Create;
with table do
begin
CloneCursor(dmDatabase.OriginalTable, false, true);
filtered := true;
active := true;
first;
while not EOF do
begin
if fieldByName('whatever').AsString = 'some criteria' then break;
next;
end;
if EOF then exit;
//do something based on the current row of the dataset
table.free;
end;
Neredeyse bu grupların her biri üzerinde ya Lookup
veya Locate
için tek satırlık çağrı ile değiştirilebilir olabilir Orijinal veri seti, ara CDS'ye gerek yok. Bu beni şaşırtıyor, bu yöntemler D4 günlerinde geri geldi mi? Lookup
ve Locate
ilk ne zaman ekledi?
'Bazı ölçütler' bulunamazsa, 'tablo' serbest bırakılmaz? – JRL
@Jrl: Dediğim gibi, bu kodların bazıları modern standartlara göre oldukça korkutucu. : P Ama bu temelde hafızadan genel bir desen olarak yeniden yaratıldı. sonuncu bloklar aslında mevcut olabilir veya olmayabilir. Bazıları var, ama olması gereken kadar değil. –
Bu, işi yapmak için yeterince delphi öğrenmiş biri tarafından yazılmış bir kod gibi görünüyor ve bir şeyleri yapmak için tam olarak bir tane (kaba kuvvet yolu) biliyordu. Delphi 1'de bile yardımcı bir işlev yazabilirdi ve kopya-yapıştırma-hastalığından kaçındı. –