Все ленты — последние статьи

*Вычислить расстояние между двумя точками с координатами х1, у1 и х2, у2.

x1:=strtofloat(adit1.text);
x2.........
y1
y2
leng:=sqrt(sqr(x2-x1)+sqr(y2-y1));
edit5.text:=floattostr(leng);
end;

*из строки удалить символы

var
s:string;
{…}
while pos('!',s)<>0 do delete(s,pos('!',s),1);

*Удалить определённую подстроку из строки

Удалить определённую подстроку из строки


var
S, S2 : String;
P1 : Integer;
begin
//Строка.
S := Edit1.Text;
//Искомая подстрока.
S2 := Edit2.Text;

//Удаление всех вхождений заданной подстроки с учётом регистра букв.
S := StringReplace(S, S2, '', [rfReplaceAll]);

//Или:
//Удаление всех вхождений заданной подстроки без учёта регистра букв.
S := StringReplace(S, S2, '', [rfReplaceAll, rfIgnoreCase]);

//Или:
//Удаление только первого воходения подстроки без учёта регистра букв.
S := StringReplace(S, S2, '', [rfIgnoreCase]);

*Время получить и сравнить для таймера

uses DateUtils

var
cHour,cMin: word;
begin
// получить текущее время
cHour := HourOf(Now);
cMin := MinuteOf(Now);

.............

if (cHour = AlHour) and (cMin = AlMin)
// сигнал !
then begin
.....
end;
end;

Из Firebird-Interbase в MySQL

Кажется, что может быть проще перегона данных 1 к 1 из одной релятивной базы в другую? Просто делаеш селект из одной и инсерт в другую. Но тут возникает проблемма с тем, как выбрать например записи с 900 до 1000. Большенство програмистов сразу же предложат запрос SELECT FIRST 1000 SKIP 900 …. (так как в firebird нет LIMIT) и такой запрос выполнится очень быстро, но только при маленьких объёмах данных (до 1 млн. записей). А что делать в случае, если нам необходимо сделать выборку 10 последних строк из 10 000 000 записей? Такой запрос будет выполняться уже около 52 секунд.
Как вы уже могли догадаться, есть и другой метод выборки записей — это выборка по индексу. В данной статье именно такой алгоритм я и хочу описать.

Подробнее: Из Firebird-Interbase в MySQL