• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Delphi Различные примеры кода, которые можно использовать в приложениях

Sascha Оффлайн

Sascha

Заместитель Администратора
Команда форума
Администратор
Сообщения
1,058
Симпатии
273
Баллы
155
Образцы кода
-

Различные примеры кода, которые можно использовать в приложениях


  • Найти любой компонент в форме или другом элементе управления
  • Получить ширину текста в пикселях
  • Получить буквы дисков
  • Дата для 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;
 
Вверх Снизу