- Регистрация
- 9 Май 2015
- Сообщения
- 1,552
- Баллы
- 155
Образцы кода
-
Различные примеры кода, которые можно использовать в приложениях
Найти любой компонент в форме или другом элементе управления
Получить ширину текста в пикселях
Получить буквы дисков
Дата для SQL - преобразование обычной TDate в строковую дату SQL
Если строка содержит пробел
Если строка содержит разделители
Прописать первую букву в строке
-
Различные примеры кода, которые можно использовать в приложениях
- Найти любой компонент в форме или другом элементе управления
- Получить ширину текста в пикселях
- Получить буквы дисков
- Дата для SQL - преобразование обычной TDate в строковую дату SQL
- Если строка содержит пробел
- Если строка содержит разделители
- Прописать первую букву в строке
Найти любой компонент в форме или другом элементе управления
Код:
function FindAnyControl(obj: TWinControl; s: string): TComponent;
var x: integer;
begin
Result := nil;
try
for x := 0 to obj.ComponentCount - 1 do begin
if (AnsiCompareText(s, obj.Components[x].Name) = 0) then
Result := obj.Components[x]
else if obj.Components[x] is TWinControl then
Result := FindAnyControl(TWinControl(obj.Components[x]), s);
if (Result <> nil) then
break;
end;
except
{ eat the exception because we don't care about it }
end
end;
Получить ширину текста в пикселях
Код:
Function GetWidthText(const Text:String; Font:TFont) : Integer;
var
LBmp: TBitmap;
begin
LBmp := TBitmap.Create;
try
LBmp.Canvas.Font := Font;
Result := LBmp.Canvas.TextWidth(Text);
finally
LBmp.Free;
end;
end;
Получить буквы дисков
Код:
procedure GetDriveLetters(AList: TStringList);
var
vDrivesSize: Cardinal;
vDrives : array[0..128] of Char;
vDrive : PChar;
begin
AList.BeginUpdate;
try
// clear the list from possible leftover from prior operations
AList.Clear;
vDrivesSize := GetLogicalDriveStrings(SizeOf(vDrives), vDrives);
if vDrivesSize=0 then Exit; // no drive found, no further processing needed
vDrive := vDrives;
while vDrive^ <> #0 do
begin
AList.Add(StrPas(vDrive));
Inc(vDrive, SizeOf(vDrive));
end;
finally
AList.EndUpdate;
end;
end;
Дата для SQL - преобразование обычной TDate в строковую дату SQL
Код:
function DateForSQL(const date : TDate) : string;
var
y, m, d : word;
begin
DecodeDate(date, y, m, d) ;
result := Format('#%.*d-%.*d-%.*d#',[4, y, 2, m, 2, d]) ;
end;
Если строка содержит пробел
Код:
function ContainsWhiteSpace(const S: string): Boolean;
const
cWhiteSpace = ' '#9#10#11#12#13; // white space characters
begin
Result := ContainsDelims(S, cWhiteSpace);
end;
Go back to the t
Если строка содержит разделители
Код:
function ContainsDelims(const S, Delimiters: string): Boolean;
var
DelimIdx: Integer; // loops thru delimiters
begin
Result := False;
for DelimIdx := 1 to Length(Delimiters) do
if SysUtils.AnsiPos(Delimiters[DelimIdx], S) > 0 then
begin
Result := True;
Break;
end;
end;
Прописать первую букву в строке
Код:
function Capitalize(Texto:String): String;
var
OldStart: Integer;
begin
if Texto <> '' then
begin
Texto := UpperCase(Copy(Texto,1,1))+LowerCase(Copy(Texto,2, Length(Texto)));
Result := Texto;
end;
end;